linux文件管理和 对bash的理解
2016-09-24 19:04
155 查看
一 linux的文件管理命令及常用相关实例演示
1常见文件命令: cat,more,less,head,tail,nl,find,grep,touch,mv,cp,rm,chmod,chown,chgrp,
①cat
用法:cat 目标文件
◆列出文件内容的行号
![](http://s3.51cto.com/wyfs02/M00/87/F9/wKioL1fmBK_iuo2BAAAZ3FTrHwU775.png-wh_500x0-wm_3-wmp_4-s_4170954746.png)
②head/tail
◆指定行数查看文件
![](http://s2.51cto.com/wyfs02/M01/87/F9/wKioL1fmBa-CJw-vAAASu4_VjTM918.png-wh_500x0-wm_3-wmp_4-s_691795043.png)
③find 在指定的路径下 查找文件
![](http://s5.51cto.com/wyfs02/M01/87/FD/wKiom1fmDjyyYtxFAAAY5Us8inw479.png-wh_500x0-wm_3-wmp_4-s_3981995108.png)
◆忽略大小写查找
![](http://s2.51cto.com/wyfs02/M00/87/F9/wKioL1fmDxWiF0eIAAAY7IUeodc312.png-wh_500x0-wm_3-wmp_4-s_163368862.png)
◆查看某个目录下所有以.txt 和.cfg 结尾的文件
![](http://s3.51cto.com/wyfs02/M02/87/FD/wKiom1fmH2XhhVuIAAAlc7JcfWM078.png-wh_500x0-wm_3-wmp_4-s_1374786849.png)
◆查看除了以.txt结尾的以外的文件
![](http://s3.51cto.com/wyfs02/M02/87/FD/wKiom1fmIAeBvQDMAAAux1wmluw044.png-wh_500x0-wm_3-wmp_4-s_2759243662.png)
◆根据文件类型进行搜索
![](http://s4.51cto.com/wyfs02/M01/87/FD/wKiom1fmIc2QRzm7AAA_DRtrFUE156.png-wh_500x0-wm_3-wmp_4-s_3108395141.png)
④grep 递归搜索文件或目录 包括文件内容,通常会和其他命令一起用
![](http://s1.51cto.com/wyfs02/M01/87/FD/wKiom1fmIw3wTUSnAAAT_9YH9Zo319.png-wh_500x0-wm_3-wmp_4-s_1134456278.png)
⑤touch用于修改文件或目录的时间属性,如果修改的文件不存在,则会创建一个新文件
◆修改文件的时间属性
![](http://s2.51cto.com/wyfs02/M02/87/FD/wKiom1fmJAyyA4dWAAD31NPFWOs903.png-wh_500x0-wm_3-wmp_4-s_2701176183.png)
⑥mv 移动文件
![](http://s3.51cto.com/wyfs02/M00/87/FD/wKiom1fmJSvBN2ClAAAi93lT-sw034.png-wh_500x0-wm_3-wmp_4-s_2589117992.png)
⑦chmod 赋予文件权限
![](http://s2.51cto.com/wyfs02/M01/87/F9/wKioL1fmJhqjiZbrAAAnwE39Gmg652.png-wh_500x0-wm_3-wmp_4-s_1097485246.png)
⑧chgrp 修改文件所属组
![](http://s1.51cto.com/wyfs02/M00/87/F9/wKioL1fmKCyQqvkwAAAq6IK8ViA839.png-wh_500x0-wm_3-wmp_4-s_3298529461.png)
⑨chown 修改文件拥有者
![](http://s4.51cto.com/wyfs02/M02/87/FD/wKiom1fmKIXDjvBBAAAorW_sPkY615.png-wh_500x0-wm_3-wmp_4-s_2302965144.png)
二 创建目录
①在/tmp 下创建a_c a_d b_c b_d
![](http://s2.51cto.com/wyfs02/M01/87/FE/wKiom1fmNXvQuLAYAAArofCDhzg945.png-wh_500x0-wm_3-wmp_4-s_1758105537.png)
②创建/tmp/mylinux 下的目录 递归创建 使用 -p 参数
![](http://s5.51cto.com/wyfs02/M00/88/16/wKiom1fpGT-gIr20AAAyL0A2giw676.png-wh_500x0-wm_3-wmp_4-s_836921300.png)
递归查看目录 使用-R参数
![](http://s4.51cto.com/wyfs02/M02/87/FE/wKiom1fmObeRkaFzAAAoo1gPNtQ870.png-wh_500x0-wm_3-wmp_4-s_1425595093.png)
![](http://s1.51cto.com/wyfs02/M00/87/FE/wKiom1fmOeOgEq8FAAA-Cf64HNQ676.png-wh_500x0-wm_3-wmp_4-s_3629908412.png)
![](http://s4.51cto.com/wyfs02/M01/87/FA/wKioL1fmOg_Qq5AfAAAk6Ob6sDI889.png-wh_500x0-wm_3-wmp_4-s_160407424.png)
三 bash
①命令执行状态的返回值
每一次输入命令之后,都会对所执行的状态做保留,系统会把执行的状态存在一个变量中,这个变量为特殊变量,用$?来表示。例如 (0表示命令成功 非零表示不成功)
![](http://s1.51cto.com/wyfs02/M01/87/FE/wKiom1fmO7aT4yYbAAAmJZhlXgw682.png-wh_500x0-wm_3-wmp_4-s_1119229754.png)
②命令行展开
◆ ~ 可以用cd切换到用户的家目录
![](http://s1.51cto.com/wyfs02/M02/87/FE/wKiom1fmPPXiwQJOAAAOUsKSJKQ010.png-wh_500x0-wm_3-wmp_4-s_3373467309.png)
◆{ }
![](http://s5.51cto.com/wyfs02/M01/87/FA/wKioL1fmPDezktwRAAArofCDhzg047.png-wh_500x0-wm_3-wmp_4-s_4219605270.png)
四 文件元数据信息
◆ 文件的元数据信息是指文件的访问时间,修改时间,以及文件的大小,属主,属组信息等等。
用stat查看
![](http://s1.51cto.com/wyfs02/M01/87/FA/wKioL1fmP0uiiLBvAABGJk4gD8g162.png-wh_500x0-wm_3-wmp_4-s_790989830.png)
◆修改文件的时间戳信息
用touch命令修改时间戳
修改文件的时间属性(会把三个时间戳都修改)
![](http://s1.51cto.com/wyfs02/M02/87/FE/wKiom1fmQKPhVe1SAADSXoyVaGc900.png-wh_500x0-wm_3-wmp_4-s_413505994.png)
变更时间戳,文件名记错或写错,又不想创建新文件,使用选项c
![](http://s1.51cto.com/wyfs02/M00/87/FA/wKioL1fmQdPiJu5iAAB2o2jsOAQ670.png-wh_500x0-wm_3-wmp_4-s_1719741543.png)
单独修改某个时间戳
修改访问时间 注意:改动时间会发生变化,是因为touch这条命令修改了文件的时间(属性),系统需 要记录这条命令的操作痕迹。此处touch这条命令只作用在访问时间。
![](http://s5.51cto.com/wyfs02/M01/87/FA/wKioL1fmQqyykHZjAAEaX49XZUY730.png-wh_500x0-wm_3-wmp_4-s_63966444.png)
修改自定义时间戳(访问时间和更改时间会发生变化)
![](http://s2.51cto.com/wyfs02/M01/87/FA/wKioL1fmRIjh2WsgAACAYHBP-9E288.png-wh_500x0-wm_3-wmp_4-s_667258485.png)
五 如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果
◆引用另一个命令执行的结果,需要使用$(),或者"(反引号)来使用
![](http://s4.51cto.com/wyfs02/M01/87/FA/wKioL1fmR-uiepVTAABD7PHQr-k567.png-wh_500x0-wm_3-wmp_4-s_1759127523.png)
![](http://s5.51cto.com/wyfs02/M00/87/FE/wKiom1fmSTPxRrtSAAATjGZCq2U469.png-wh_500x0-wm_3-wmp_4-s_1433765436.png)
六 显示/var目录下的所有以l开头,且一个小写字母结尾,且中间至少出现一位数字(可以有其他字符)的文件或目录
![](http://s4.51cto.com/wyfs02/M01/87/FE/wKiom1fmTLHQBtngAAAbl5HhfrE170.png-wh_500x0-wm_3-wmp_4-s_1265384551.png)
七 显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录
![](http://s2.51cto.com/wyfs02/M02/87/FA/wKioL1fmThGBydudAAAgOI5aMz0875.png-wh_500x0-wm_3-wmp_4-s_1270398835.png)
八 显示/etc目录下以非字母开头,后面跟了一个字母以及其他任意其他长度字符的文件或目录
![](http://s4.51cto.com/wyfs02/M00/87/FE/wKiom1fmUZaykVsUAAAexnM6Wxg191.png-wh_500x0-wm_3-wmp_4-s_3315583416.png)
九 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如tilfe-2016-05-27-09-32-22
![](http://s2.51cto.com/wyfs02/M02/87/FA/wKioL1fmUvHgZFb4AAD5c7WW-N8858.png-wh_500x0-wm_3-wmp_4-s_1093436030.png)
十 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/myteat1目录中
![](http://s1.51cto.com/wyfs02/M01/87/FE/wKiom1fmVVzB9PY2AABZBFWpwUY210.png-wh_500x0-wm_3-wmp_4-s_2923223788.png)
十一复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2中
![](http://s5.51cto.com/wyfs02/M01/87/FA/wKioL1fmVguiOMhAAABnULjMgVU562.png-wh_500x0-wm_3-wmp_4-s_2974396500.png)
十二 复制/etc目录下所有以l或m或n开头,以.conf 结尾的文件至/tmp/mytest3中
![](http://s4.51cto.com/wyfs02/M02/87/FA/wKioL1fmVyWhh10-AAA6GOEIzyk735.png-wh_500x0-wm_3-wmp_4-s_1773070432.png)
1常见文件命令: cat,more,less,head,tail,nl,find,grep,touch,mv,cp,rm,chmod,chown,chgrp,
①cat
用法:cat 目标文件
◆列出文件内容的行号
-b | 非空号列出行号 |
-n | 连同空行一起列出行号 |
![](http://s3.51cto.com/wyfs02/M00/87/F9/wKioL1fmBK_iuo2BAAAZ3FTrHwU775.png-wh_500x0-wm_3-wmp_4-s_4170954746.png)
②head/tail
◆指定行数查看文件
![](http://s2.51cto.com/wyfs02/M01/87/F9/wKioL1fmBa-CJw-vAAASu4_VjTM918.png-wh_500x0-wm_3-wmp_4-s_691795043.png)
③find 在指定的路径下 查找文件
![](http://s5.51cto.com/wyfs02/M01/87/FD/wKiom1fmDjyyYtxFAAAY5Us8inw479.png-wh_500x0-wm_3-wmp_4-s_3981995108.png)
◆忽略大小写查找
![](http://s2.51cto.com/wyfs02/M00/87/F9/wKioL1fmDxWiF0eIAAAY7IUeodc312.png-wh_500x0-wm_3-wmp_4-s_163368862.png)
◆查看某个目录下所有以.txt 和.cfg 结尾的文件
![](http://s3.51cto.com/wyfs02/M02/87/FD/wKiom1fmH2XhhVuIAAAlc7JcfWM078.png-wh_500x0-wm_3-wmp_4-s_1374786849.png)
◆查看除了以.txt结尾的以外的文件
![](http://s3.51cto.com/wyfs02/M02/87/FD/wKiom1fmIAeBvQDMAAAux1wmluw044.png-wh_500x0-wm_3-wmp_4-s_2759243662.png)
◆根据文件类型进行搜索
![](http://s4.51cto.com/wyfs02/M01/87/FD/wKiom1fmIc2QRzm7AAA_DRtrFUE156.png-wh_500x0-wm_3-wmp_4-s_3108395141.png)
④grep 递归搜索文件或目录 包括文件内容,通常会和其他命令一起用
![](http://s1.51cto.com/wyfs02/M01/87/FD/wKiom1fmIw3wTUSnAAAT_9YH9Zo319.png-wh_500x0-wm_3-wmp_4-s_1134456278.png)
⑤touch用于修改文件或目录的时间属性,如果修改的文件不存在,则会创建一个新文件
◆修改文件的时间属性
![](http://s2.51cto.com/wyfs02/M02/87/FD/wKiom1fmJAyyA4dWAAD31NPFWOs903.png-wh_500x0-wm_3-wmp_4-s_2701176183.png)
⑥mv 移动文件
![](http://s3.51cto.com/wyfs02/M00/87/FD/wKiom1fmJSvBN2ClAAAi93lT-sw034.png-wh_500x0-wm_3-wmp_4-s_2589117992.png)
⑦chmod 赋予文件权限
![](http://s2.51cto.com/wyfs02/M01/87/F9/wKioL1fmJhqjiZbrAAAnwE39Gmg652.png-wh_500x0-wm_3-wmp_4-s_1097485246.png)
⑧chgrp 修改文件所属组
![](http://s1.51cto.com/wyfs02/M00/87/F9/wKioL1fmKCyQqvkwAAAq6IK8ViA839.png-wh_500x0-wm_3-wmp_4-s_3298529461.png)
⑨chown 修改文件拥有者
![](http://s4.51cto.com/wyfs02/M02/87/FD/wKiom1fmKIXDjvBBAAAorW_sPkY615.png-wh_500x0-wm_3-wmp_4-s_2302965144.png)
二 创建目录
①在/tmp 下创建a_c a_d b_c b_d
![](http://s2.51cto.com/wyfs02/M01/87/FE/wKiom1fmNXvQuLAYAAArofCDhzg945.png-wh_500x0-wm_3-wmp_4-s_1758105537.png)
②创建/tmp/mylinux 下的目录 递归创建 使用 -p 参数
![](http://s5.51cto.com/wyfs02/M00/88/16/wKiom1fpGT-gIr20AAAyL0A2giw676.png-wh_500x0-wm_3-wmp_4-s_836921300.png)
递归查看目录 使用-R参数
![](http://s4.51cto.com/wyfs02/M02/87/FE/wKiom1fmObeRkaFzAAAoo1gPNtQ870.png-wh_500x0-wm_3-wmp_4-s_1425595093.png)
![](http://s1.51cto.com/wyfs02/M00/87/FE/wKiom1fmOeOgEq8FAAA-Cf64HNQ676.png-wh_500x0-wm_3-wmp_4-s_3629908412.png)
![](http://s4.51cto.com/wyfs02/M01/87/FA/wKioL1fmOg_Qq5AfAAAk6Ob6sDI889.png-wh_500x0-wm_3-wmp_4-s_160407424.png)
三 bash
①命令执行状态的返回值
每一次输入命令之后,都会对所执行的状态做保留,系统会把执行的状态存在一个变量中,这个变量为特殊变量,用$?来表示。例如 (0表示命令成功 非零表示不成功)
![](http://s1.51cto.com/wyfs02/M01/87/FE/wKiom1fmO7aT4yYbAAAmJZhlXgw682.png-wh_500x0-wm_3-wmp_4-s_1119229754.png)
②命令行展开
◆ ~ 可以用cd切换到用户的家目录
![](http://s1.51cto.com/wyfs02/M02/87/FE/wKiom1fmPPXiwQJOAAAOUsKSJKQ010.png-wh_500x0-wm_3-wmp_4-s_3373467309.png)
◆{ }
![](http://s5.51cto.com/wyfs02/M01/87/FA/wKioL1fmPDezktwRAAArofCDhzg047.png-wh_500x0-wm_3-wmp_4-s_4219605270.png)
四 文件元数据信息
◆ 文件的元数据信息是指文件的访问时间,修改时间,以及文件的大小,属主,属组信息等等。
用stat查看
![](http://s1.51cto.com/wyfs02/M01/87/FA/wKioL1fmP0uiiLBvAABGJk4gD8g162.png-wh_500x0-wm_3-wmp_4-s_790989830.png)
◆修改文件的时间戳信息
用touch命令修改时间戳
修改文件的时间属性(会把三个时间戳都修改)
![](http://s1.51cto.com/wyfs02/M02/87/FE/wKiom1fmQKPhVe1SAADSXoyVaGc900.png-wh_500x0-wm_3-wmp_4-s_413505994.png)
变更时间戳,文件名记错或写错,又不想创建新文件,使用选项c
![](http://s1.51cto.com/wyfs02/M00/87/FA/wKioL1fmQdPiJu5iAAB2o2jsOAQ670.png-wh_500x0-wm_3-wmp_4-s_1719741543.png)
单独修改某个时间戳
修改访问时间 注意:改动时间会发生变化,是因为touch这条命令修改了文件的时间(属性),系统需 要记录这条命令的操作痕迹。此处touch这条命令只作用在访问时间。
![](http://s5.51cto.com/wyfs02/M01/87/FA/wKioL1fmQqyykHZjAAEaX49XZUY730.png-wh_500x0-wm_3-wmp_4-s_63966444.png)
修改自定义时间戳(访问时间和更改时间会发生变化)
![](http://s2.51cto.com/wyfs02/M01/87/FA/wKioL1fmRIjh2WsgAACAYHBP-9E288.png-wh_500x0-wm_3-wmp_4-s_667258485.png)
五 如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果
◆引用另一个命令执行的结果,需要使用$(),或者"(反引号)来使用
![](http://s4.51cto.com/wyfs02/M01/87/FA/wKioL1fmR-uiepVTAABD7PHQr-k567.png-wh_500x0-wm_3-wmp_4-s_1759127523.png)
![](http://s5.51cto.com/wyfs02/M00/87/FE/wKiom1fmSTPxRrtSAAATjGZCq2U469.png-wh_500x0-wm_3-wmp_4-s_1433765436.png)
六 显示/var目录下的所有以l开头,且一个小写字母结尾,且中间至少出现一位数字(可以有其他字符)的文件或目录
-q | 静默输出,不会把命令的执行结果显示到屏幕上 |
echo $? | 显示命令执行的状态(是否执行成功),执行成功返回0;执行失败返回非零 |
-v | 反选 |
^xx | 匹配以xx开头的行 |
$xx | 匹配以xx结尾的行 |
^$ | 匹配空行 |
![](http://s4.51cto.com/wyfs02/M01/87/FE/wKiom1fmTLHQBtngAAAbl5HhfrE170.png-wh_500x0-wm_3-wmp_4-s_1265384551.png)
七 显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录
![](http://s2.51cto.com/wyfs02/M02/87/FA/wKioL1fmThGBydudAAAgOI5aMz0875.png-wh_500x0-wm_3-wmp_4-s_1270398835.png)
八 显示/etc目录下以非字母开头,后面跟了一个字母以及其他任意其他长度字符的文件或目录
![](http://s4.51cto.com/wyfs02/M00/87/FE/wKiom1fmUZaykVsUAAAexnM6Wxg191.png-wh_500x0-wm_3-wmp_4-s_3315583416.png)
九 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如tilfe-2016-05-27-09-32-22
![](http://s2.51cto.com/wyfs02/M02/87/FA/wKioL1fmUvHgZFb4AAD5c7WW-N8858.png-wh_500x0-wm_3-wmp_4-s_1093436030.png)
十 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/myteat1目录中
![](http://s1.51cto.com/wyfs02/M01/87/FE/wKiom1fmVVzB9PY2AABZBFWpwUY210.png-wh_500x0-wm_3-wmp_4-s_2923223788.png)
十一复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2中
![](http://s5.51cto.com/wyfs02/M01/87/FA/wKioL1fmVguiOMhAAABnULjMgVU562.png-wh_500x0-wm_3-wmp_4-s_2974396500.png)
十二 复制/etc目录下所有以l或m或n开头,以.conf 结尾的文件至/tmp/mytest3中
![](http://s4.51cto.com/wyfs02/M02/87/FA/wKioL1fmVyWhh10-AAA6GOEIzyk735.png-wh_500x0-wm_3-wmp_4-s_1773070432.png)
相关文章推荐
- linux笔记 第三天 Linux目录及文件管理、用户组管理及bash重定向
- linux基础-权限管理,手工添加用户,umask,bash配置文件
- linux目录及文件管理, bash重定向
- 深入理解和管理Linux文件系统
- Linux文件管理与bash特性
- Linux基础入门及系统管理01-bash脚本编程之四文件测试及特殊变量19
- 探秘linux-文件管理(inode理解)及管道和IO重定向
- linux学习入门 基础部分(5)[用户理解 用户涉及到的系统配置文件 用户管理《建立,删除,查看,更改》 权力下放 忘记密码。
- 8-23 linux文件管理常用命令和Bash特性
- Linux的文件管理命令和bash工作特性
- Linux/Unix中的SUID和SGID文件权限和在CVS项目管理中的应用
- Linux c 文件管理简介
- 理解Linux配置文件
- 理解 Linux 配置文件
- 轻松理解Linux下的文件和目录
- Linux用户管理(涉及命令及配置文件)
- Linux基础知识学习笔记(一)--文件系统的权限管理
- 理解 Linux 配置文件
- CTDP linux 程序员手册 (4.8) 一个管理和读文件的例子
- 理解Linux配置文件