文件管理
一、创建文件
touch命令
例子
创建空文件readme
[root@bogin tmp]touch readme
二、删除文件
rm命令
选项 | 说明 |
---|---|
-f | 强制删除文件或目录。 |
-i | 删除已有文件或目录之前先询问用户。 |
-r | 递归处理,将指定目录下的所有文件与子目录一并处理。 |
-v | 递归处理,将指定目录下的所有文件与子目录一并处理。 |
三、查看文件
cat命令
选项 | 说明 |
---|---|
-n | 由 1 开始对所有输出的行数编号。 |
-b | 和 -n 相似,只不过对于空白行不编号。 |
-s | 当遇到有连续两行以上的空白行,就代换为一行的空白行。 |
-E | 在每行结束处显示 $。 |
四、识别文件
file命令
例子
显示文件setup.ini的文件类型。
[root@localhost etc]# file /etc/profile
/etc/profile: ASCII English text
[root@localhost etc]# file /etc/system-release
/etc/system-release: symbolic link to `centos-release'
五、查找文件
find命令
find命令可以使用逻辑运算符not,and,or组成的复合条件。
逻辑运算符 | 功能描述 |
---|---|
and | 逻辑与,在命令中使用“-and”或“-a” |
or | 逻辑或,在命令中使用“-or”或“-o” |
not | 逻辑非,在命令中使用“!” |
示例1:列出当前目录及子目录下所有文件和文件夹
[root@bogon tmp]# find .
示例2:在/home目录及子目录下查找以.txt结尾的文件名
[root@bogon tmp]# find /home -name *.txt
或
[root@bogon tmp]# find /home -name "*.txt"
示例3:同上,但忽略大小写
[root@bogon tmp]# find /home -iname "*.txt"
示例4:当前目录及子目录下查找所有以.txt或者.pdf结尾的文件
[root@bogon tmp]# find /home -name "*.txt" -or -name "*.pdf"
示例5:基于正则表达式匹配文件路径,查找文件名以.txt或以.pdf结尾的文件
[root@bogon tmp]# find . -regex ".*\(\.txt\|\.pdf\)$"
示例6:找出/home下不是以.txt结尾的文件
[root@bogon tmp]# find /home ! -name *.txt
find命令还可以根据文件类型进行搜索,类型参数有f普通文件,d目录等。
find -type 类型参数
示例7:搜索出深度距离当前目录至少2个子目录的所有文件
[root@bogon tmp]# find . -mindepth 2 -type f
示例8:当前目录下搜索出权限(-perm)为777的文件(f)
[root@bogon tmp]# find . -type f -perm 777
示例9:找出当前目录下权限不是644的php文件
[root@bogon tmp]# find . -type f -name "*.php" ! -perm 644
示例10:找出根目录下用户lzp的文件
[root@bogon /]# find / -type f -user lzp
六、执行文件路径的变量:$PATH
我们可以在任何目录下执行ls命令,大家是否想过为什么在任何目录下都可以执行/bin/ls这个命令?这是因为环境变量PATH的帮助所致。当我们执行ls命令时,系统会依照PATH的设置去PATH定义的目录下查找文件名为ls的可执行文件,如果在PATH定义的目录中含有多个文件名为ls的可执行文件,那么先查找到的同名命令先被执行。
执行命令:echo $PATH
[root@localhost bin]# echo $PATH
/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
echo有“显示”的意思,PATH前面加的$表示后面接的是变量。
PATH(一定是大写)这个变量的内容由一堆目录所组成,每个目录之间用冒号(:)来隔开,每个目录有顺序之分。
注意:
PATH变量中的路径不加“.”,这一点用Windows的习惯不同。
PATH是可以修改的
使用绝对路径和相对路径直接指定某个命令的文件名来执行,会比查找PATH来的正确
命令应该放到正确的目录下,执行才会比较方便
七,文件的压缩与解压
tar命令
选项 | 命令 |
---|---|
-c | 建立新的压缩文件 |
-x | 从压缩的文件中提取文件 |
-z | 支持gzip压缩和解压文件 |
-t | 显示压缩文件的内容 |
-r | 向压缩文件末尾追加文件 |
-u | 更新原压缩包中的文件 |
-v | 显示操作过程 |
-f | 指定压缩文件 |
例如把所有.jpg的文件打成images.tar的包。
[root@bogon tmp]# tar –cf images.tar *.jpg
例如把所有.gif的文件增加到images.tar包中。
[root@bogon tmp]# tar -rf images.tar *.gif
例如更新原来tar包images.tar中title.jpg文件。
[root@bogon tmp]# tar -uf images.tar title.jpg