Linux_基础知识笔记3

一. -rm 删除文件或者目录

删除指定文件或者目录
rm[选项]要删除的文件或目录
-f 删除文件或者目录不进行提醒,而直接强制删除
-i 删除文件或者目录时提醒用户确认,Y表示删除,n表示不删除
-r 删除目录时必须使用此选项,表示递归删除整个目录树 (谨慎使用)

注:不要直接删除系统中已有的目录或配置文件,以免出现意外

删除目录下文件时建议最好先切换到目录下再执行rm -rf命令。
cd /etc/yum.repos.d/
rm -rf ./*

二. -mv 移动文件或目录

将指定的文件或者目录转移位置
如果目标位置与源位置相同,则相当于执行重命名操作
mv [选项]...源文件或目录...目标文件或目录

mv命令只能对单个文件重命名,可使用rename命令批量修改文件名
rename 旧字符 新字符 目标文件
例:rename b o * .txt

三. -which 查找命令文件存放目录

搜索范围由环境变量PATH决定(echo$PATH)
让系统能识别命令所在文件位置的环境变量PATH
root@localhost opt]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost opt]# 

在这里插入图片描述
使用which,查找内部命令时,将找不到

[root@localhost opt]# which history
/usr/bin/which: no history in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@localhost opt]# which type
/usr/bin/which: no type in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@localhost opt]# which help
/usr/bin/which: no help in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@localhost opt]# 

在这里插入图片描述

which 命令/程序名 //默认当查找到第一个目标后不再继续查找
或者
which -a 命令/程序名 //在所有搜索路径中查找

[root@localhost opt]# which -a mkdir
/usr/bin/mkdir
[root@localhost opt]# 

四. -find 查找文件或目录

采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
find [查找范围(文件或子目录的目录位置)] [查找条件表达式(条件类型)]

常用查找类型

查找类型 关键字 说明
按名称查找 -name 根据目标文件的名称进行查找,允许使用 “*” 及 “?” 通配符
按文件大小查找 -size 根据目标文件的大小进行查找 , 一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件 ,常用的容量单位包括kB(注意k是小写)、MB、GB
按文件属主查找 -user 根据文件是否属于目标用户进行查找
按文件类型查找 -type 根据文件类型进行查找文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等块设备文件(b):成块读取数据的设备(硬件,内存,光驱)字符设备文件(c):按单个字符读取数据的设备(键盘,鼠标)
 各表达式之间使用逻辑运算符
“-a”表示而且(and)
“-o”表示或者(or)
例:find /boot -size +1024k -a -name "vm*"
       find /boot -size +1024k -o -name "vm*"
[root@localhost boot]# find /boot -size +1024k -a -name "vm*"
/boot/vmlinuz-3.10.0-693.el7.x86_64
/boot/vmlinuz-0-rescue-9cc3af631b4f41e79c67bb0952572003
[root@localhost boot]# find /boot -size +1024k -o -name "vm*"
/boot/grub2/fonts/unicode.pf2
/boot/System.map-3.10.0-693.el7.x86_64
/boot/vmlinuz-3.10.0-693.el7.x86_64
/boot/initrd-plymouth.img
/boot/initramfs-0-rescue-9cc3af631b4f41e79c67bb0952572003.img
/boot/vmlinuz-0-rescue-9cc3af631b4f41e79c67bb0952572003
/boot/initramfs-3.10.0-693.el7.x86_64.img
[root@localhost boot]# 

find之exec用法
-exec参数后面跟的是Linux命令,它是以分号;为结束标准,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杆转义符
{}代表前面find查找出来的文件名
find命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用ls -l命令将它们列出
find ./ -type f -exec ls -l {} ;

[root@localhost boot]# find /boot -name "vm*" -a -type f -exec ls -l {} \;
-rwxr-xr-x. 1 root root 5877760 8月  23 2017 /boot/vmlinuz-3.10.0-693.el7.x86_64
-rwxr-xr-x. 1 root root 5877760 1月  24 05:04 /boot/vmlinuz-0-rescue-9cc3af631b4f41e79c67bb0952572003
[root@localhost boot]# 
五.命令执行的优先级

第一优先级:指定路径的命令。绝对路径 /root/pwd.sh 或者相对路径 ./pwd.sh
第二优先级:别名指定的命令 alias pwd=/root/pwd.sh
第三优先级:内部命令
第四优先级:hash命令
——Linux系统下会有一个hash表,当你刚开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样。第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令,shell解释器首先会查看hash表,没有该命令才会去PATH路径下寻找。hash表能提高命令的调用速率。
第五优先级:通过PATH定义的查找顺序查找
如果以上顺序都找不到,就会报“未找到命令…”的错误

猜你喜欢

转载自blog.csdn.net/Wsxyi/article/details/113576906