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

1)目录如下截图:
第二周作业_第1张图片
2)目录说明:
/bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里
/etc 配置文件
/home 用户家目录
/root 超级用户(系统管理员)的主目录
/sbin 存放二进制可执行文件,超级权限用户才能访问
/dev 设备文件
/mnt 临时文件系统的安装点
/tmp 存放各种临时文件
/boot 存放用于系统引导时使用的各种文件
/lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
/var 用于存放运行时需要改变数据的文件

2、描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?
1)、文件的元数据信息即文件的属性数据,包括文件的大小、权限、inode、访问时间、修改时间、创建时间等信息,可以用stat 命令查看
2)、元数据的含义:
File: ‘profile’ #文件名
Size: 1795 #文件大小
Blocks: 8 #块数量
IO Block: 4096 #IO块的数量
regular file #普通文件
Device: fd03h/64771d #设备
Inode: 13 #inode编号
Links: 2 #硬链接数
Access: (0644/-rw-r--r--) #权限
Uid: ( 0/ root) #文件的属主
Gid: ( 0/ root) #文件属组
Context: unconfined_u:object_r:etc_runtime_t:s0 #环境
Access: 2020-06-15 22:16:35.038901368 +0800 #最近访问时间
Modify: 2020-06-15 22:13:43.610907499 +0800 #最近数据内容修改时间
Change: 2020-06-15 22:14:10.849906525 +0800 #最近元数据修改时间
Birth: - #创建时间

如下截图,修改profile文件属主以后,查看change时间变化了;
第二周作业_第2张图片

3)touch 修改文件的访问时间、修改时间、创建时间
用法:Usage: touch [OPTION]... FILE...
-a change only the access time (只更改访问时间)
-d, --date=STRING parse STRING and use it instead of current time(使用指定字符串替代时间,而非当前时间)
-m change only the modification time(只改变修改时间)
-r, --reference=FILE use this file's times instead of current time(使用文件的时间,而非当前时间)
-t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time(使用指定格式的时间,而非当前时间)
参数用法示例:
touch -a #使用当前时间,只修改文件的访问时间;

第二周作业_第3张图片

touch -d #使用指定时间,而非系统当前时间:
第二周作业_第4张图片

touch -m #使用系统当前时间,修改文件的修改时间:
第二周作业_第5张图片

touch -r #使用file1的时间来修改file2 的时间:

第二周作业_第6张图片
3、总结软连接和硬连接区别,并用实例操作说明。
1)本质:硬连接是同一个文件,多个名字,软连接是不同文件;
说明:通过节点编号就可以区分文件,如下截图:创建的硬连接和源文件的节点编号相同,软连接节点编号跟源文件不同:
第二周作业_第7张图片
2)跨分区:硬连接不支持跨分区,软连接可以;
如下截图:/etc 和/data是两个分区,分别创建软连接和硬连接的情况:
第二周作业
3)目录:硬连接不支持目录创建,软连接可以;
如下截图,硬连接用目录创建会报错,软连接可以正常创建:
第二周作业_第8张图片
4)相互关系:硬连接没有相互依赖关系,而软连接依赖原始文件;
如下截图,删除源文件后,硬连接正常,而软连接报错,无法使用:
第二周作业_第9张图片
5)inode号:硬连接inode号相同,软连接不同;
第二周作业_第10张图片
6)链接数:硬连接的会造成多个链接数,软连接不会;
如下截图:
第二周作业_第11张图片
7)相对路径:硬连接是相对当前目录,软连接中源文件是相对于软连接文件的路径;
如下截图:第二周作业_第12张图片
8)文件类型:软连接时l,硬连接看原始文件;

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

linux 上一切皆文件,在Linux上所有的操作都是针对文件的,所以文件管理累的命令可以分为几种:目录管理命令、文件管理命令、文本管理命令
1)、目录管理命令:ls、mkdir、cd、pwd、rmdir
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、mv、rm
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、more、tac、head、tail、less、nl、rev
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键:退出

nl:显示文件内容
格式:nl [选项]... [文件]...
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);(类似cat -b)
-n :列出行号表示的方法,主要有三种:
-n ln :行号在萤幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。
-p 在逻辑定界符处不重新开始计算。

rev:显示的文件内容是反序的;

5、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符
1)cp /etc/profile /tmp
2) 使用vim /tmp/profile,然后进入到扩展命令模式执行:%s#^ *##

6、在vim中设置tab缩进为4个字符
在家目录中添加.vimrc文件,并且在文件中加入set tabstop=4