linux的常用指令(三)
- 将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
常用选项
- -f :覆盖目标同名文件或目录时不进行提醒,而直接强行复制
- -i :覆盖目标同名文件或目录时提醒用户确认
- -p :复制时保持源文件的权限、属主及时间标记等属性不变
- -r :复制目录时必须使用此选项,表示递归复制所有文件及子目录
- 注:复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在
如何强制执行复制 -f
在这里插入代码 1 /bin/cp -f [源] [目的]
在这里插入代码片2 \cp -f [源] [目的]
删除文件或目录:rm
- 删除指定的文件或目录
- 常用选项
-f :删除文件或目录时不进行提醒,而直接强制删除
-i :删除文件或目录时提醒用户确认。(y表示删除,n表示不删除)
-r :删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)
注:不要直接删除系统中已有的目录或配置文件,以避免出现意外故障
在这里插入代码片# rm test.txt
rm:是否删除 一般文件 "test.txt"? y
# rm homework
rm: 无法删除目录"homework": 是一个目录
# rm -r homework
rm:是否删除 目录 "homework"? yse
移动文件和目录:mv
将指定的文件或目录转移位置
- 如果目标位置与源位置相同,则相当于执行重命名操作
-b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
-i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
-f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
-n: 不要覆盖任何已存在的文件或目录。
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作
在这里插入代码片1:rename jpg png *.jpg ##把所有jpg改成png
查找命令文件存放目录-which
- 搜索范围由环境变量PATH决定(echo $PATH)
在这里插入代码片1 which is
2 which history
- 使用which查找内部命令时,将找不到对应程序
查找文件或目录
采用递归方式,根据路标的名称、类型、大小等不同属性进行精细查找
常用查找条件类型
查找类型 | 关键字 | 说明 |
---|---|---|
按名称查找 | name | 根据目标文件的名称进行查找,允许使用"*“及”?"通配符 |
按文件大小查找 | -size | 根据文件的大小进行查找 一般使用"+"、"-"号设置超过或小于指定的大小作为查找条件 常用的容量单位包括kB、MB、GB |
按文件属性查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找 文件的类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等 块设备文件(b):成块读取数据的设备(硬盘、内存、光驱) 字符设备文件(c):按单个字符读取数据的设备(键盘、鼠标) |
使用find实现多个查找条件
1、各表达式之间使用逻辑运算符
- “-a” 表示而且 ##表示需要同时满足
- “-o” 表示或者 ##表示只需要满足其中一个
1、find /boot -size +1024k -a -name "vmlinuz*"
2、find /boot -size +1024k -o -name "vmlinuz*"
find之exec用法
- -exec 参数后面跟的是Linux命令,它是以分号";"为结束标志,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杠转义符“\”。
{}代表前面find查找出来的文件名。 - find 命令匹配到了当前目录下的所有普通文件,并在 -exec 选项中使用 ls-l 命令将它们列出
1、find /boot -name "vm*" -a -type f -exec ls -l {} \;
执行命令的优先级
-
第一优先级
- :指定路径的命令。绝对路径 /root/pwd.sh 或者相对路径 ./pwd.sh
-
第二优先级
- 别名指定的命令 alias pwd=/root/pwd.sh
-
第三优先级
内部命令 -
第四优先级
hash 命令。1):Linux系统下会有一个hash表,当你刚开机时这个hash表为空,每当你执行过一条命令时, hash表会记录下这条命令的路径,就相当于缓存一样。第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令时,shell解释器首先会查看hash表,没有该命令才会去PATH路径下寻找。hash表能提高命令的调用速率。
-
第五优先级
通过 PATH 定义的查找顺序查找 -
如果以上都找不到,就会报“未找到命令…”的错误