您的位置:首页 > 运维架构 > Linux

linux文件管理相关命令详解

2016-07-29 15:58 337 查看
1、文件通配符,可参考“man 7 glob”内容;
(1)常用通配符:

*:表示匹配零个或多个字符
?:表示任何单个字符
~:表示当前用户家目录
~USERNAME:表示某用户的家目录
^:表示取反
[]:表示指定范围内的任意单个字符
[0-9]:表示匹配一个数字范围
[a-z]:表示匹配不包含Z的所有字母
[A-Z]:表示匹配不包含a的所有字母
[:digit:]:表示所有的数字
[:lower:]:表示所有的小写字母
[:upper:]:表示所有的大写字母
[:alpha:]:表示所有的字母
[:alnum:]:表示所有的数字或字母
[:space:]:表示所有呈水平或垂直排列的空白字符
[:blank:]:表示所有呈水平排列的空白字符
[:punct:]:表示所有的标点符号
[:cntrl:]:表示所有的控制字符
[:graph:]:表示所有的可打印字符,不包括空格
[:print:]:表示所有的可打印字符,包括空格
[:xdigit:]:表示所有的十六进制数

(2)使用举例:
a、显示/var目录下所有以l字母开头,以小写字母结尾,且中间出现至少一位数字的文件或目录



b、显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录




c、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录




2、stat命令
该命令可以查看文件的元属性




其中:
Access:访问时间,又称atime,读取文件内容的时间
Modify:修改时间,又称mtime,修改文件数据内容的时间
Change:改变时间,又称ctime,修改文件属性信息的时间

3、touch命令
用法:touch [选项]... 文件...

常用选项:
-a:若文件存在,则改变atime时间,ctime时间也会随之改变
-c:不创建任何文件,若文件存在则更新所有时间
-m:若文件存在,则改变mtime时间,ctime时间也会随之改变
-t:指定创建文件的时间属性,指定时间格式: [[CC]YY]MMDDhhmm[.ss]

4、mkdir命令
用法:mkdir [选项]... 目录...
常用选项:

-v:每次创建新目录都显示信息
-p:需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理(相当于递归创建)

练习:
(1)如何创建 dir1/x , dir1/y , /dir1/x/a , /dir1/x/b , /dir1/y/a , /dir1/y/b 目录

# mkdir -pv dir1/{x/{a,b},y/{a,b}}或
# mkdir -pv dir1/{x/{a,b},y/{a,b}}
(2)如何创建/dir2/x , /dir2/y , /dir2/x/a , /dir2/x/b 目录

# mkdir -pv dir2/{x{a,b},y}
(3)如何创建/dir3 , /dir4 , /dir5 , /dir5/dir6 , /dir5/dir7 目录

# mkdir -pv dir{3,4,5/dir{6,7}}


5、rmdir命令
只能删除空目录

用法:rmdir [选项]... 目录...
常用选项:
-v:输出处理的目录详情
-p:删除指定目录及其上级文件夹(相当于递归删除)

6、cp命令
用法:cp [选项]... [-T] 源文件 目标文件
 或:cp [选项]... 源文件... 目录
 或:cp [选项]... -t 目录 源文件...
(1)若复制的源为一个文件,目标也为一个文件,且目标文件不存在时,则创建以目标文件命名的文件,并将原文件的内容填充至新建文件中(相当于复制并改名)
(2)若复制的源为一个文件,目标也为一个文件,且目标文件已存在时,则覆盖目标文件(相当于覆盖)
(3)若复制单个文件到某目录下,且目标目录下存在与源文件名相同的目录,则会直接复制到同名的同名的目录下
(4)若复制多个文件到一个不存在的文件中,则会报错(源为多个文件时目标必须是目录)
(5)若复制一个目录到一个不存在的文件时,则会以不存在的文件名为目录名创建一个目录,并将源目录下的内容复制到新建目标目录下(也相当于复制并改名,复制目录时必须跟-r选项)
(6)若复制一个目录到另一个目录,且目标目录中存在一个与源目录同名的文件时,将会报错
常用选项说明:
-a:归档,相当于-dR --preserve=all,可以保留源文件的所有属性
-d:等于--no-dereference --preserve=links,不复制源文件,只复制链接文件
-f:若目标文件已存在,则将其移除并重试
-i:覆盖前询问
-n:不覆盖已存在的文件
如果同时制定-i、-n ,仅最后一个生效。
-p:等同于--preserve=mode,ownership,timestamps
--preserve[=ATTR_LIST]
more:权限
ownership:属主属组
timestamps:时间戳
context:环境
links:链接
all:以上全部属性
-r -R:递归复制目录及其子目录内的所有内容
-v:显示过程
练习:
(1)定义别名命令baketc,实现将/etc/目录下所有文件备份到/testdir独立的子目录下,并要求子目录格式为backupyyyy-mm-dd,要求备份过程可见

# alias baketc='cp -va /etc /testdir/backup`date +%F`'
(2)创建/testdir/rootdir目录并复制/root下所有文件到该目录内,要求保留原有权限

# cp -r --preserve=mode /root/ /testdir/rootdir


7、mv命令
将源文件重命名为目标文件,或将源文件移动至指定目录。
用法:mv [选项]... [-T] 源文件 目标文件
 或:mv [选项]... 源文件... 目录
 或:mv [选项]... -t 目录 源文件...
常用选项:
-f:强制移动
-i:覆盖前询问
-n:不覆盖已存在文件
如果指定了-i、-f、-n 中的多个,仅最后一个生效。
-v:详细显示进行的步骤

8、rm命令
用法:rm [选项]... 文件...
常用选项:

-f:强制删除。忽略不存在的文件,不提示确认
-i:在删除前需要确认
-r -R:递归删除目录及其内容
-v:详细显示进行的步骤

9、tree命令
-d:只显示目录
-L level:指定显示的层级数目
-P pattern:只显示由指定pattern匹配的路径

本文出自 “linux运维学习之路” 博客,请务必保留此出处http://fengliang.blog.51cto.com/3453935/1831773
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: