第二周

1、描述Linux发行版的系统目录名称命名规则以及用途。

Linux系统基础目录的命名规则:

       1、遵循FHS(Filesystem Hierarchy Standard)标准

       2、严格区分大小写

       3、目录也是文件,在同一路径下,两个文件不能同名

       4、支持使用除 / 以外的任意字符

       5、最长字符不能超过255个字符

用途

2、描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?

元数据信息

    File 文件名

    Size 文件大小(字节)

    Blocks 文件使用的数据块总数

    IO Block 数据块的大小

    regular file:文件类型(常规文件)

    Device 设备编号

    Inode 文件所在的Inode

    Links 硬链接次数

    Access 权限

    Uid 属主id/用户

    Gid 属组id/组名

    Access Time:简写为atime,表示文件的访问时间。当文件内容被访问时,更新这个时间

    Modify Time:简写为mtime,表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。

    Change Time:简写为ctime,表示文件的状态时间,当文件的状态被修改时,更新这个时间,例如文件的链接数,大小,权限,Blocks数。

查看元数据信息

    stat命令

    语法

    stat [OPTION]... FILE.

    选项

    -L:支持符号连接;

    -f:显示文件系统状态而非文件状态;

    -t:以简洁方式输出信息;

    --help:显示指令的帮助信息;

    --version:显示指令的版本信息。

    参数

    文件:指定要显示信息的普通文件或者文件系统对应的设备文件名。


修改时间戳

touch

命令格式:touch [OPTION]... FILE...

命令参数:

-a 或 --time=atime 或 --time=access 或 --time=use :只修改access time;

-c 或 --no-create :如果文件不存在,则不建立任何文档;

-d:使用指定的日期时间,而非现在的时间;

-m或 --time=mtime 或 --time=modify :只修改modify time;

-r:把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同;

例如:touch -r a.txt b.txt

-t :使用指定的日期时间,而非现在的时间。

例如:touch -t 201912032007.30 a.txt      #指定文件a.txt的atime和mtime的时间戳

touch -mt 202001011010.00 a.txt      #修改文件a.txt的mtime时间为2020年1月1日10:10:00

touch -at 203001011010.00 a.txt      #修改文件a.txt的atime时间为2030年1月1日10:10:00

文件的三个时间戳介绍如下:

atime:读一次文件的内容,这个时间就会更新。比如more、cat等命令;ls、stat命令不会修改atime。

mtime:文件内容最后一次被修改的时间。比如:vim操作后保存文件;ls -l列出的就是这个时间;mtime的改变一定会引起ctime的改变。

ctime:文件的inode节点最后一次被修改的时间。比如:修改文件所有者(chown),修改权限(chmod),重命名文件,移动文件,修改文件内容,这个时间就会更新;

3、总结软连接和硬连接区别,并用实例操作说明。

    链接:一种对文件的引用,分为硬链接和软链接(符号链接)。

    索引节点(inode):在Linux系统中,内核为每一个新创建的文件分配一个inode(索引结点),每个文件都有一个惟一的inode号,我们可以将inode简单理解成一个指针,它永远指向本文件的具体存储位置。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存,从而实现文件的快速访问。系统是通过索引节点(而不是文件名)来定位每一个文件。

硬链接和软链接区别:

    1. 硬链接不会创建inode,即使用的inode都是一样的。软链接会创建新的inode。

    2. 硬链接的访问属性和源文件一模一样,没有l的标识。软链接的访问属性写明了是l,且访问权限不能设置,只能是777,真正的权限取决于源文件。

    3. 如果移动源文件,则软链接找不到,而硬链接则没有这个问题,因为软链接存的是文件的位置。

    4. 硬链接是一种引用关系,一个源文件建立1个硬链接,引用计数加1,删除一个文件(硬链接文件或者源文件),引用计数减1,当引用计数为0时,真正删除文件。删除源文件软链接只是找不到了目标文件。

    5. 不能创建目录的硬链接,不能在不同的文件系统的文件间建立硬链接,软链接则没有这些限制。

    创建一个文件,并创建软连接和硬链接,软连接文件标识为l,权限为777,硬链接和源文件inode节点相同

# cp /etc/passwd a.txt

    # ln -s a.txt b.txt

    # ln a.txt c.txt

    # ll -i


    目录不能做硬链接

    # mkdir a

    # ln a b


    将源文件名字删除后,软连接将失效,硬链接不受影响

    # rm -rf a.txt




4、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

    ls:列出指定目录下的内容格式:

    ls [OPTION]... [FILE]...

    -a:显示所有文件包括隐藏文件

    -A:显示除.和..之外的所有文件

    -l,--long:显示文件的详细属性信息

    -h:对文件大小进行单位换算,可能影响精度

    -d:查看目录本身而非其内部的文件

    -r:逆序显示文件

    -R:递归显示文件

    示例:ls -lah / --详细显示/目录下的所有文件(包括隐藏文件)

    ls -ldh /etc --详细显示/etc目录本身

    ls -lhv / --倒序显示/目录下所有文件(包括隐藏文件)

    ls -R /etc    --递归显示/etc下所有文件

    mkdir:创建目录格式:

    mkdir [OPTION]... DIRECTORY...

    -p:自动按需创建父目录

    -m:创建目录时给定权限

    示例:mkdir -p /data/test/A/B --在/data目录下递归创建/test/A/B三个目录

    mkdir -m 711 -p /data/MODE/A --在/data目录下递归创建MODE/A两个目录同时指定目录A的权限为711

    rmdir:删除目录格式:

    rmdir [OPTION]... DIRECTORY...

    -p:删除目录后如果其父目录为空,则一并删除

    示例:rmdir -p /data/test/A --删除A目录后,test目录为空,一并删除

    cd:切换目录

    示例:cd ..:切换到上级目录

    cd ~:切换回自己的家目录

    cd -:在上一次目录与当前目录直接来回切换

    pwd:显示当前目录

    (2)文件管理命令——

    cp:复制

    格式:单源复制:cp [OPTION]... [-T] SOURCE DEST(如果DEST不存在则创建,存在则覆盖)

    多源复制:cp [OPTION]... SOURCE... DIRECTORY(DEST必须为directory)

    -i:交互式复制,即覆盖前提醒用户确认

    -f:强制覆盖目标文件

    -r,-R:递归复制目录

    示例:cp -if /data/[1-3].txt /data/test --test必须为目录,把三个文件一起复制到test中

    cp -r /data /practice --把data目录及目录下的内容一起复制到practice中

    mv:剪切

    格式:单源复制:mv [OPTION]... [-T] SOURCE DEST(如果DEST不存在则创建,存在则覆盖)

    多源复制:mv [OPTION]... SOURCE... DIRECTORY(DEST必须为directory)

    -i:交互式复制,即覆盖前提醒用户确认

    -f:强制覆盖目标文件

    示例:mv -i /data/[1-3].txt /practice --把/data目录下三个txt文件剪切到/practice下

    rm:删除

    格式:rm [OPTION]... FILE...

    -i:交互式复制,即覆盖前提醒用户确认

    -f:强制覆盖目标文件

    -r,-R:递归处理,将制定目录下的所有文件包括目录一并删除

    示例:rm -rf /practice --递归删除/practice目录

    (3)文本内容管理命令

    cat:正向查看文本内容

    格式:cat [OPTION]... [FILE]...

    -n:给显示的文本行编号

    -E:显示行结束符号$

    示例:cat -n /etc/fstab --查看/etc/fatab内容并显示行号

    tac:倒叙查看文本内容

    格式:tac [OPTION]... [FILE]...

    示例:tac /etc/passwd --倒叙查看文本内容

    head:显示文本内容,默认显示头10行

    格式:head [OPTION]... [FILE]...

    -n #:显示文本头#行内容

    示例:head -5 /etc/passwd --显示/etc/passwd文件头5行内容

    tail:显示文本内容,默认显示后10行

    格式:tail [OPTION]... [FILE]...

    -n #:显示文本后#行内容

    -f:查看文件尾部内容结束后不退出,跟随显示新增的行

    示例:tail -8 /etc/passwd --显示/etc/passwd文件后8行内容

    more:分屏显示文本内容,每次显示一屏显示完停止

    格式:more [options] file [...]

    Space键:显示文本下一屏内容

    Enter键:只显示文本下一行内容

    b键:显示文本上一屏内容

    q键:退出

    less:分屏显示文本内容,不主动退出

    格式:less [options] file [...]

    Space键:显示文本下一屏内容

    Enter键:只显示文本下一行内容

    b键:显示文本上一屏内容

    q键:退出

5、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符

sed -i 's/^[[:space:]]\+//' profile

6、在vim中设置tab缩进为4个字符

在/etc/vimrc,或~/.vimrc

set tabstop=4

你可能感兴趣的:(第二周)