LINUX基本操作命令(二)
统计目录文件空间占用情况-du
◆统计目录指定(或文件)所占用磁盘空间的大小
du [选项] [文件或目录]
◆常用选项
选项 | 说明 |
---|---|
-a | 统计磁盘占用时包括所有的文件,而不仅仅只是目录 |
-h | 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果 |
-s | 只统计所占有空间总的大小,而不是统计每个子,目录,文件的大小 |
- -max-depth=n | 统计所有小于等于第N层的目录的总大小 |
注意:-a和-s不能同时使用
注意:proc文件是系统映射的内核参数,并非正真的内核文件,这个命令无法读取
创建新目录-mkdir
◆创建新的目录
mkdir [选项] 目录位置及名称
注意:mkdir -p:一次性创建嵌套的多层的目录
另外树形结构显示查找命令:yum -y install tree,是一个外部命令,需要加载安装
创建空文件-touch命令
◆更新文件的时间标记
◆经常用于创建多个新的空间文件
touch 文件
touch 文件名称 文件名称
touch {名称,名称}.文件类型
touch 名称.{文件类型1 ,文件类型2}
创建链接文件-ln
◆为文件或目录建立链接文件,类似于windows系统的快捷方式
◆链接文件类型
1.软链接(又称为符号链接)
ln [-s] 源文件或目录 链接文件或目标位置
注意:aa.txt 源文件 abc.txt 是软链接文件
注意:删除源文件,软链接文件还存在,但是查看源文件是不存在的,通过查看隐藏文件软链接还存在,所有只有软链接才是彻底的删除。
2.硬链接
我编辑了其中bb.txt文件,但是查看俩个文件后,内容是一样的,俩个
◆软链接和硬链接区别
文件类型 | 软链接 | 硬链接 |
---|---|---|
删除源文件效果 | 失效 | 仍然可用(文件占用空间于源文件相同) |
使用范围 | 适用文件与目录 | 仅适用于文件 |
保存位置 | 与源文件可在不同的文件系统中 | 必须与源文件在同一个文件系统(即同一个分区)中 |
与源 文件的关系 | 相当于快捷方式 | 相当于给文件起个别名 |
inode号 | inode号不同 | inode号相同 |
◆在Linux中,文件名和文件数据是分开储存的
1.在Linux中,只有文件的硬链接=0才会被删除
2.使用ls-l可以查看一个文件的硬链接的数量
3.在日常工作中,不会建立文件的硬链接
4.当一个文件拥有多个硬链接时,对文件内容修改,会影响到所有文件名,但是删除一个文件名,不会影响别的文件的访问,删除一个文件名,只会使得硬链接数减1,需要注意的是,不能对目录做硬链接,在日常工作中几乎不会建立文件的硬链接
复制文件或目录-cp
◆将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
cp [选项] 源文件或目录 目标文件或目录
◆常见选项
-f:覆盖目标同名的文件或目录时不进行提醒,而直接强制复制
-i:覆盖目标同名的文件或目录时提醒用户确认
-p:复制时保持源文件的权限、属性、时间标记等属性不变
-r:复制目录时必须使用此项,表示递归复制所有文件及子目录
注意:复制多个文件和目录时,目标位置必须是目录,且目标必须已存在
删除文件或目录-rm
删除指定文件或目录
rm [选项] 要删除的文件或目录
◆常见选项
-f :删除文件或目录是不进行提醒,而直接强制删除
-i:删除文件或目录时提醒用户确认,(y表示删除,n表示不删除)
-r:删除目录时必须使用此选项,表示递归删除整个目录数,需要谨慎使用
注意:不要直接删除系统中已有的目录或配置文件,以避免出现意外故障
rm -rf /etc/yum.repos.d/*
rm -rf ./*
移动文件或目录-mv
◆将指定的文件或目录转移位置
◆如果目标位置与源文件位置相同,则相当执行重命名操作
mv [选项] 源文件或目录 目标文件或目录
mv命令只能对单个文件重命名,可使用rename命令批量修改文件名
rename 旧字符 新字符 目标文件
命令执行的优先级
第一优先级:指定路径的命令,绝对路径/boot/pwd.sh或者相对路径。/pwd.sh
第二优先级:别名指定的命令
第三优先级:内部命令
第四优先级:hash 命令
Linux系统下会有一个hash表,当你刚开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样,第一执行命令shell解释器路径下寻找该命令的路径,当你第二次使用该命令时,shell解释器首先会查hash表,有没该命令才会去PATH路径下寻找,hash表能提高命令的调用速率
第五优先级:通过PATH定义的查找顺序查找
查找命令文件存放目录-which
搜索范围由环境变量PATH决定(echo $PATH)
which 命令|程序名 *默认当找到第一个目标后不再继续查找
which -a 命令|程序名 *在所有搜索路径中查找
注意:使用which查找内部命令时,将找不到对应的程序
查找文件或目录-find
采用递归方式,根据目标的名称、类型、大小等不同属性进行精确查找
find [查找范围] [查找条件表达式]
查找范围:查找文件或子目录的目录位置
查找条件表达式:查找条件类型
◆常用查找条件类型
查找类型 | 关键字 | 说明 |
---|---|---|
按名称查找 | -name | 根据文件的名称查找,允许使用*或者?通配符 |
按文件大小查找 | -size | 根据目标文件的大小查找,一般使用+,-设置超过或者小于指定的大小作为的查找条件,常用的容量单位包括kB\MB\GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找,文件类型包括普通文件f、目录d、块设备文件b、字符设备文件c等;块设备文件:成块读取数据的设备如硬盘、内存、光驱;字符设备文件:按单个字符读取数据的设备如键盘、鼠标 |
◆使用find命令实现多个查询条件
各表达式之间逻辑运算符
-a:表示 而且(and)
-o:表示 或者(or)
◆find之exec用法
1.-exec参数后面跟的是Linux命令,它是以分号”;“为结束标志,由于各个系统中分号会由不同的意义,因此在分号前面加上反斜杠转义符”\“
{}表示前面的find查找出来的文件名
2.find 命令匹配到了当前目录下的所有的普通文件,并在-exec选项中使用ls-l命令将它们列出
find ./ -type f exec ls-l {} ;