复制文件或者目录(cp)
将需要复制的文件或者目录(源)重建一份,并保存为新的文件或者目录
cp 选项 源文件或者目录 目标文件或者目录
如: cp 123.txt abc.doc /etc
cp aa/ /etc -r :复制目录
常用选项:
-f:覆盖相同文件、目录时候不提醒,直接复制
-i:覆盖相同文件、目录时候提醒用户确认(cp是cp -i 的别名)
-p:复制时保持源文件的权限、属性与时间标记属性不变
-r:复制目录时必选此项,表示递归复制所有目录与子目录
ps:
1、复制多个文件或者目录时候,目标位置必须是目录,且目标位置得存在
2、复制好后的文件与源文件使用的不同的文件数据
3、如果不想被提示是否覆盖的时候,以绝对路径的方式去进行、如:/bin/cp -f 123.doc /opt/ 或者\cp -f 123.doc /opt/
补充:-a 相当于可以复制目录或者源文件,保持属性不变。此时不用-r了
例如:cp -a .moza /mntz
常用使用场景:备份文件
xxxx.bak备份文件
cp 123.txt 123.txt.bak
或者 cp abc.txt{, .bak}
删除文件和目录(rm)
删除指定文件或者目录
rm 选项 要删除的文件或者目录
常用选项
-f:删除文件、目录时候不提醒,直接强制删除
-r:删除目录时必选此项,表示递归删除所有目录与子目录(删除整个目录树,慎重使用!)
-i:删除文件、目录时候提醒用户确认(yes确认。no取消)
如:
rm -rf 123.txt/grube/
rm -i 123.txt/apg.conf
删除目录下的文件时候最好先切换到该目录下再执行指令rm -fr
移动文件或者目录(mv)
将指定的文件或者目录转移位置 mv 选项 源文件或者目录目标文件或者目录
如果目标位置与原位置相同,则相当于重命名操作(对一个文件进行重命名)
如:mv mytouch mkfile
mv nkfile 123.txt
补充:批量修改命名文件
rename 旧的字符 新字符 目标文件(可以上/*通配符)
查找命令文件存放目录)(which)
(用来找外部命令用的,无法查找内部命令)
搜索范围由环境变量PATH决定(echo $PATH),
此外路径遵从最左原则,从左往右看(新老指令位置)
which 命令/程序名字 (默认找到第一个目标后停止)
wtich -a 命令 /程序名字 (把所有找打的路径全部都找出来)
which ls (能查找)
which history (内部命令找不到)
(图:利用which查找cp)
查找文件或者目录(find)
采用递归方式,根据目标的名称、文件类型、大小等不同属性进行查找
find 查找范围 查找条件表达式
查找范围:查找文件或者子目录的位置
查找条件表达式:查找条件类型
补充:-m 以时间查找 + - 以文件修改的日期来查找
(图;目录下查找grub开头的文件)
粗体
find实现多个查找条件
-a表示且
-o表示或者
如find /boot -size +1024k -a -name "123*‘’表示要满足1M以上且是123开头的
find /boot -size +1024k -o -name "123*‘’表示要满足1M以上或者是是123开头的
find的高级用法:
-exec参数后面跟linux命令,它是以 . 作为结束标志。由于各个系统之间的分号会有不同意义,所以在分号前加一个 \
find匹配到当前目录下的所有普通文件,在-exec选择中选择ls -l命令把他们列出来
find ./ -type f -exec ls -l {} . (图:找到目录下1m以上且为普通文件的,找到后删除)
命令执行的优先级
第一优先级:指定路径的命令。绝对路径 /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定义的查找的顺序查找
如果以上顺序都找不到。就会报“未找到命令....”的错误