文件和目录操作命令(18个命令)
ls命令
ls命令:用于显示目录中的文件信息
格式:“ls [选项] [文件] ”。
参数:
参数 | 作用 |
---|---|
“-a”参数 | 看到全部文件(包括隐藏文件), |
“-l”参数 | 查看文件的属性、大小等详细信息。 |
“-d”参数 | 查看目录属性信息 |
cd命令
cd命令:用于切换工作路径
格式:“cd [目录名称]”。
常用方式:
“cd -”命令返回到上一次所处的目录
“cd..”命令进入上级目录
“cd ~”命令切换到当前用户的家目录
“cd ~username”切换到其他用户的家目录
cp命令
cp命令:用于复制文件或目录
格式:“cp [选项] 源文件 目标文件”。
参数:
参数 | 作用 |
---|---|
-p | 保留原始文件的属性 |
-d | 若对象为“链接文件”,则保留该“链接文件”的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于-pdr(p、d、r为上述参数) |
find命令
find命令:用于按照指定条件来查找文件
格式:“find [查找路径] 寻找条件 操作”。
参数:
参数 | 作用 |
---|---|
-name | 匹配名称 |
-perm | 匹配权限(mode为完全匹配,-mode为包含即可) |
-user | 匹配所有者 |
-group | 匹配所有组 |
-mtime -n +n | 匹配修改内容的时间(-n指n天以内,+n指n天以前) |
-atime -n +n | 匹配访问文件的时间(-n指n天以内,+n指n天以前) |
-ctime -n +n | 匹配修改文件权限的时间(-n指n天以内,+n指n天以前) |
-nouser | 匹配无所有者的文件 |
-nogroup | 匹配无所有组的文件 |
-newer f1 !f2 | 匹配比文件f1新但比f2旧的文件 |
--type b/d/c/p/l/f | 匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件) |
-size | 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件) |
-prune | 忽略某个目录 |
-exec …… {}; | 后面可跟用于进一步处理搜索结果的命令(下文会有演示) |
mkdir命令
mkdir命令:用于创建空白的目录
格式:“mkdir [选项] 目录”。
参数:
参数 | 作用 |
---|---|
-p参数 | 递归创建出具有嵌套叠层关系的文件目录 |
mv命令
mv命令:用于剪切文件或将文件重命名
格式:“mv [选项] 源文件 [目标路径|目标文件名]”。
参数:
参数 | 作用 |
---|---|
pwd命令
pwd命令:显示当前工作目录的绝对路径。
rename命令
rename命令:用于重命名文件。
格式:rename [options] expression replacement file...
例子:
touch {1,2,3,4,}.txt
rename .txt .test ?.txt
rm命令
rm命令:删除一个或多个文件或目录。
格式:rm [OPTION]... FILE...
参数
参数 | 作用 |
---|---|
-f参数 | 强制删除,不需要确认消息 |
-r参数 | 删除目录文件 |
rmdir命令
rmdir命令:功能是删除空目录。
格式:rmdir [OPTION]... DIRECTORY...
touch命令
touch命令:创建空白文件或设置文件的时间
格式:“touch [选项] [文件]”。
参数:
参数 | 作用 |
---|---|
-a | 仅修改“读取时间”(atime) |
-m | 仅修改“修改时间”(mtime) |
-d | 同时修改atime与mtime |
tree命令
tree命令:功能是以树形结构显示目录下的内容。
格式:tree [options]
参数:
参数 | 作用 |
---|---|
-L xxx | 显示目录树的最大深度 |
-d | z只显示目录 |
basename命令
basename命令:打印名称,删除任何主导目录组件。如果指定,也要删除尾随后缀。
格式:basename OPTION... NAME...或basename NAME [SUFFIX]
参数:
例子:
//去除文件前的路径
[root@localhost ~]# basename /etc/passwd
passwd
//去除尾随后缀
[root@localhost ~]# basename /etc/man_db.conf
man_db.conf
[root@localhost ~]# basename /etc/man_db.conf .conf
man_db
dirname命令
dirname命令:显示文件或目录路径。
格式:dirname [OPTION] NAME...
例子:
//outPut的.表示当前目录
[root@localhost ~]# dirname man.conf
.
//显示目录路径
[root@localhost ~]# dirname /usr/bin
/usr
chattr命令
chattr命令:用于设置文件的隐藏权限
格式:“chattr [参数] 文件”。
命令后面追加“+参数”,将隐藏功能添加到文件中
命令后面追加“-参数”,则是移除隐藏功能
参数:
参数 | 作用 |
---|---|
i | 无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件 |
a | 仅允许补充(追加)内容,无法覆盖/删除内容(Append Only) |
S | 文件内容在变更后立即同步到硬盘(sync) |
s | 彻底从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域) |
A | 不再修改这个文件或目录的最后访问时间(atime) |
b | 不再修改文件或目录的存取时间 |
---|---|
D | 检查压缩文件中的错误 |
d | 使用dump命令备份时忽略本文件/目录 |
c | 默认将文件或目录进行压缩 |
u | 当删除该文件后依然保留其在硬盘中的数据,方便日后恢复 |
t | 让文件系统支持尾部合并(tail-merging) |
X | 可以直接访问压缩文件中的内容 |
lsattr命令
lsattr命令:用于显示文件的隐藏权限
格式:“lsattr [参数] 文件”。
例子:
[root@localhost ~]# chattr +a 1.test
[root@localhost ~]# lsattr
---------------- ./anaconda-ks.cfg
---------------- ./1.dir
---------------- ./mongodb-linux-x86_64-rhel70-4.0.10.tgz
-----a---------- ./1.test
---------------- ./2.test
---------------- ./3.test
---------------- ./4.test
file命令
file命令:显示文件类型
格式:file [参数] 文件
参数:
参数 | 作用 |
---|---|
-b | 列出文件辨识结果时,不显示文件名称。 |
-c | 详细显示指令执行过程,便于排错或分析程序执行的情形 |
-f | 列出文件中文件名的文件类型 |
-F | 使用指定分隔符号替换输出文件名后的默认的":"分隔符。 |
-i | 输出mime类型的字符串 |
-L | 查看对应软链接对应文件的文件类型 |
-z | 尝试去解读压缩文件的内容 |
--help | 显示命令在线帮助 |
-version | 显示命令版本信息 |
例子:
[root@localhost ~]# file 1.test
1.test: empty
[root@localhost ~]# file 1.test -b
empty
[root@localhost ~]# file 1.test -c
cont offset type opcode mask value desc
md5sum命令
md5sum命令:计算并检查MD5消息摘要
格式: md5sum [OPTION]... [FILE]...
参数:
参数 | 作用 |
---|---|
-b | 以二进制模式读入文件内容 |
-t | 以文本模式读入文件内容 |
-c | 根据已生成的md5值,对现存文件进行校验 |
--status | 不生成错误或正确的提示信息,可以通过命令的返回值来判断。 |
例子:
# 生成文件的MD5
[root@localhost ~]# md5sum 1.test 2.test > filecheck.md5
# 查看文件的MD5值
[root@localhost ~]# cat filecheck.md5
d41d8cd98f00b204e9800998ecf8427e 1.test
d41d8cd98f00b204e9800998ecf8427e 2.test
# 检验文件的MD5
[root@localhost ~]# md5sum --check filecheck.md5
1.test: OK
2.test: OK
# 修改文件的内容
[root@localhost ~]# sudo vim 2.test
[root@localhost ~]# md5sum --check filecheck.md5
1.test: OK
2.test: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
# 不显示校验信息
[root@localhost ~]# md5sum -c filecheck.md5 --status
[root@localhost ~]# md5sum -c filecheck.md5
1.test: OK
2.test: FAILED
md5sum: WARNING: 1 computed checksum did NOT match