目录
一、复制文件或目录 -cp
将所需要复制的文件或者目录(源)重建一份,并保存为新的文件或者目录:
cp[选项] ...源文件或目录 ...目标文件或目录
常用选项
-f:覆盖目标同名文件或目录不进行提醒,而之间强制复制。
-i:覆盖目标同名文件或目录时提醒用户确认
-p:复制时保持源文件的权限,属主及时间标记等属性不变
-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录
复制opt路径下的abs.txt文件到根目录下:
注意:复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在
复制过程中可以更改文件名称:
复制多个文件:
注意:复制时只能复制到目录中,不然不会生效
复制目录,需要使用-r操作:
强制覆盖文件:
文件覆盖询问用户:
二、删除文件或目录 -rm
删除指定的文件或目录
rm[选项]要删除文件或目录
常用选项
-f:删除文件或目录时不进行提醒,而直接强制删除
-i:删除文件或目录时提醒用户确认,(y表示删除,n表示不删除)
-r:删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。
示例:rm -rf public -html/ grub/
rm -i public -html/apg.conf
cd /etc/yum.repos.d/* //切换到目标目录中
[root@localhost mnt]rm -rf ./* //删除本目录下所有文件,不经过询问(建议禁用这条命令)
注意:不要直接删除系统中已有的目录或配置文件,特别是在生产环境下。
删除目录下文件时建议最好先切换到目录下再执行rm -rf命令
三、移动文件或目录 -mv
- 将指定的文件或目录转移位置
- 若目标位置与源位置相同,则相当于执行重命名操作
mv[选项]...源文件或目录...目标文件或目录
示例
mv mytouch mkfile
mv mkfile public -html/
rename 旧字符 新字符 目标文件
示例
rename jpg gif *jpg
mv 移动文件只能对一个文件进行改名,如果想批量改名的话得使用 rename 这个命令
rename 旧字符 新字符 *.目标文件
示例:
四、查找命令文件存放目录 -which
搜索范围由环境变量PATH 决定(echo $ PATH)
which 命令|程序名字 ###默认当找到第一个目标后不再继续查找
which -a 命令/程序名字 ###在所有搜索路径中查找
示例
which |s which history
注意:使用which查找内部命令时,将找不到对应的程序
which -a会找到所有根目录下符合条件选项,并显示出来
五、查找文件或者目录 -find
采用递归的方式,根据目标的名称、类型、大小等不同属性进行精细查找
find [查找范围] [查找条件表达式]
查找范围:查找文件或者子目录的位置; 查找条件表达式:查找条件类型
查找类型 | 关键字 | 说明 |
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用"*" 及"?"通配符 |
按文件大小查找 | -size | 根据目标文件的大小进行查找 一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件,常用的容量单位包括KB(k是小写)、MB、GB |
按文件的属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件的类型查找 | -type | 文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)、等块设备文件(b):成块读取数据设备(硬盘,内存,光驱) 字符设备文件(c):按单个字符读取数据的设备(键盘、鼠标) |
-m: 以时间查找 + - 以文件修改的日期来查找 ### -mtime
使用find实现多个查找条件
-a 表示而且(and)
-o 表示或者(or)
示例
find /boot -size +1024k -a -name "123*‘’表示要满足1M以上且是123开头的
find /boot -size +1024k -o -name "123*‘’表示要满足1M以上或者是是123开头的
示例:查找大于1024K并且文件类型
-a
-o
find之exec用法
■-exec参数后面跟的是Linux命令, 它是以分号“;"为结束标志,由于各个系统中分号会有不同的意义,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杠转义符“\”。
{}代表前面find查找出来的文件名。
find命令匹配到了当前目录下的所有普通文件,并在-exec选项中 查找命令匹配到了当前目录下的所有普通文件,并在-exec选项中
使用Is -|命令将它们列出
find ./ -type f -exec |s-| {}\
命令执行的优先级
第一优先级:指定路径的命令。绝对路径 /user/bin/ls 或者相对路径 cd /user/bin ./s
第二优先级:别名指定的命令 alias myls=‘/user/bin/ls -alh’
第三优先级:内部命令
第四优先级:hash 命令
linux系统下会有一个hash表,当你刚开机时,这个hash表为空,每当你执行过一条命令时。hash就会记录下这条命令的路径,就相当于缓存一样。第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令时,shell解释器首先查看hash表,没有该命令才会去PATH路径下寻找。hash表能提高命令的调用速度。
第五优先级:通过PATH定义的查找的顺序查找
如果以上顺序都找不到。就会报“未找到命令…”的错误
总结
shell是一种特殊程序
Linux命令的分类、格式及用法
Linux常用命令
- 查看及切换目录(pwd、cd、ls、du)
- 创建目录和文件(mkdir,touch、ln、echo)
- 复制、删除、移动目录和文件(cp、rm、mv)
- 查找目录和文件(which、find)