1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
(1)cd  改变目录
如:cd.(当前目录)
cd..(上一级目录)
cd - (代表前一个工作目录)
cd /data
进入某个用户的家目录 
cd ~用户
cd ~wu
```
![](http://i2.51cto.com/images/blog/201812/23/2054c67b15ede6e7196f21d391edcc54.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
```
(2)pwd 当前目录 
pwd -P 显示真实路径,不是链接路径
OLDPWD 上一次目录路径
(3)mkdir 
mkdir (建立新目录)
-p:表示递归自动创建目录
-m :表示创建目录时直接指定权限
-v :显示创建时的详细信息
```
![](http://i2.51cto.com/images/blog/201812/23/afc6034deac87d360655805c6fc3df37.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
```
(4)rmdir删除空目录
-p:表示递归删除空目录
-v :显示删除时的详细
```
```
(5)ls:列出当前目录的内容或指定目录
用法: ls [options] [files_or_dirs]
-a 包含隐藏文件
-l 显示额外的信息
-R 目录递归通过
-ld 目录和符号链接信息
-1 文件分行显示
–S 按从大到小排序
–t 按mtime排序
–u 配合-t选项,显示并按atime从新到旧排序
–U 按目录存放顺序显示
–X 按文件后缀排序
```
```
(6)cp 复制文件或目录
-a 保留源文件属性复制;     
-i 若目标文件已存在,覆盖时先询问用户;     
-r 递归持续复制;
```
```
(7)mv
常用选项:
-i: 交互式
-f: 强制
(8)touch
创建空文件和刷新时间
如:touch f1 (创建一个新的文件)
(9)rm
常用选项:
-i: 交互式
-f: 强制删除
-r: 递归
```
```
2、使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z
(1)创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b
命令如下:
[root@centos7 ~]#mkdir -p /tmp/{a1/{a,b},a2}
```
![](http://i2.51cto.com/images/blog/201812/23/dbecd79736e2e009a8a12f9237f112a8.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
```
(2)在/tmp目录下创建目录:x_y, x_z, q_y, q_z
命令如下:
mkdir -p /tmp/{x,q}{_y,_z}
```
![](http://i2.51cto.com/images/blog/201812/23/3f244bc57c2119d6ccfa5497007246d4.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
```
3、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息
答:
(1)元数据既既属性数据,信息包含如下:
file:文件名
size:文件大小              
blocks: 文件占了多少个数据块          
IO Block: 文件所占数据块的块大小  
Device:硬件   
Inode: 节点号          
Links: 链接数
Access (0644/-rw-r--r--) : 权限
Uid:该文件所属的属主
Gid:该文件所属的属组
Access:文件上一次的访问时间
Modify:文件上一次的修改时间
Change:文件上一次属性更改的时间
(2)查看方法:使用stat命令查看
stat +文件名
如:
```
![](http://i2.51cto.com/images/blog/201812/23/5ab59a6739e8241136190981153f6063.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
```
(3)修改文件的时间戳
可以使用touch命令更改文件的时间戳:  
语法:  touch [OPTION]… FILE…  
常用选项:  
-c: 指定的文件路径不存在时不予创建;  
-a: 仅修改access time;  
-m:仅修改modify time;
-t:使用指定的日期时间,而非现在的时间;[[CC]YY]MMDDhhmm[.ss];
```
如:将/data/f1文件的最近更改时间改为2018年12月23日20点10分10秒
```
touch -m -t 201812232010.10 /data/f1
```
![](http://i2.51cto.com/images/blog/201812/23/fc00d9dac0733abc96c4dcbf3e89589a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

```
4、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
```
命令如下:
```
touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`
```
![](http://i2.51cto.com/images/blog/201812/23/2faac2fd01177e71ca10a723bfb38daf.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
```
5、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
命令如下:
\cp -r /etc/p[^[:digit:]] /tmp/mytest1/
```
![](http://i2.51cto.com/images/blog/201812/23/18682c8e273f30f315e1af6399019c86.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
```
6、创建用户tom,指定UID为5001,指定家目录为/tmp/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack`
```
![](http://i2.51cto.com/images/blog/201812/23/967ce4f46acb962239512379dd6a5f14.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)