今日份的五个都是【文件和目录操作命令】
【find】:查找的意思,用于查找目录及目录下的文件。
(1)默认的 find 命令会列出该目录下的所有文件
(2)find 命令的基本结构如下:find [paths] [expression] [actions]
(3)ind 命令中的 -name
选项可以根据文件名称进行检索(区分大小写)。如需要忽略文件名中的大小写,可以使用 -iname
选项。
(4)先find查找的目录途径,分两种情况:“.”代表是当前目录 “/”代表是根目录
(5)find命令文件查询常用的参数及意义有以下几个:
1.find -name:直接根据文件名字来查找,比如,find / -name a.txt:在根目录下查找a.txt文件
2.find -perm:根据文件权限来查找,比如:find / -perm 777,:查找根目录下权限为 777(rwx-rwx-rwx)的文件
3.find -mtine -n(+n):根据文件的更改时间来查找,其中-n代表n天之内的文件,+n 代表n天之前的文件,比如:find / -mtime -1:查找1天内修改过的文件
4.find -type:查找某一类型的文件,后带一些参数:
-d:目录
-p:管道文件
-f:普通文件
-i:符号链接文件
(6)用find命令查找到了文件,输出的方式有2种:
1.find -print:标准输出,比如:find / ‘*.NCT’-print >a.txt,代表将根目录下所 的以nct命名的文件list输入到a.txt中
2.find -exec:对于find命令找到的文件执行该参数所给出的shell命令,比如:find -name test.txt -exec rm -f test.tx {} \;找到test并删除此文件,该命令一定要注意{}和\之间和空格,不要遗漏最后的“;”
【mkdir】:全拼make directories,其功能是创建目录。
(1)命令格式:mkdir [选项] 目录...
(2)常用实例
实例1:创建一个空目录 命令:mkdir test1
实例2:递归创建多个目录 命令:mkdir -p test2/test22
实例3:创建权限为777的目录 命令:mkdir -m 777 test3
实例4:创建新目录都显示信息命令:mkdir -v test4
【mv】全拼move,其功能是移动或重命名文件。
语法
mv [options] source dest mv [options] source... directory
参数说明:
- -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
- -f: 在mv操作要覆盖某已有的目标文件时不给任何指示;
mv参数设置与运行结果
命令格式 | 运行结果 |
---|---|
mv 文件名 文件名 | 将源文件名改为目标文件名 |
mv 文件名 目录名 | 将文件移动到目标目录 |
mv 目录名 目录名 | 目标目录已存在,将源目录 移动到目标目录;目标 目录不存在则改名 |
mv 文件名 文件名/文件名 | 将文件移动到指定目录下并改名 |
【pwd】全拼print working directory,其功能是显示当前工作目录的绝对路径。
【rename】用于重命名文件。这个命令可以批量的修改文件名
(1)rename的一共有三个参数,第一个参数是要修改的部分,第二个参数是修改成什么的部分,第三个是修改哪些文件。
rename arg1 arg2 arg3
rename才是真正的批量重命名命令。而且他是3个参数,不是2个。
arg1:旧的字符串
arg2:新的字符串
arg3:匹配要重命名的文件,可以使用3种通配符,*、?、[char],*表示任意多个字符,?表示单个字符,[char]匹配char单个自定的精确字符,可以填写任意字符,foo[a]*表示只匹配fooa开头的文件名,如果一个文件是foobcc.txt,是不会被匹配的。
值的注意的是,此命令在不同的linux版本也有不同,Debian一系的操作系统别有用法。举例说明:
比如/home下有两个文件 abbcc.txt, addbb.txt , a.txt
我想把a替换为xxx,命令是这样的 : rename “a” “xxx” *.txt
在Ubuntu下执行上面举例的重命名时,命令是这样的:rename ‘s/a/xxx/’ *.txt
图为本人实验的例子。
今天的五个指令就到这里了,明天再见。