Linux系统小白的成长之路2

统计目录及文件空间占用情况——du

统计指定目录(或文件)所占用磁盘空间的大小
du 【选项】【文件或目录…】
常用选项
①-a —— 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
②-h —— 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
③-s —— 只统计所占用空间总的大小,而不是统计每个子目录、文件的大小
④- -max-depth=n —— 统计所有小于等于第n层的目录的总大小
注:选项-a和-s不可同时使用

创建新目录——mkdir

创建新的空目录
mkdir【选项】目录位置及名称
例:
在当前目录下创建名为public_html的子目录
mkdir public_html
创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc
mkdir -p aa/bb/cc

创建空文件——touch

更新文件的时间标记
经常用于创建多个新的空文件
touch 文件…
例:
touch {a,b}.txt = touch a.txt touch b.txt

创建链接文件——ln

为文件或目录建立链接文件,类似于Windows系统的快捷方式
软连接:ln -s 【源文件或目录】 【名字】
硬链接:ln 【源文件】 【链接名】

软连接和硬链接的区别

文件类型 软连接文件 硬链接文件
删除源文件后 失效 仍然可用(文件占用空间与源文件相同
使用范围 适用于文件或目录 仅适用于文件
保存位置 与源文件可在不同的文件系统中 必须与源文件在同一个文件系统(即同一个分区)中
与源文件的关系 相当于快捷方式 相当于给文件起个别名
inode号码 inode号码不同 inode号码相同

在这里插入图片描述
当一个文件拥有多个硬链接时,对文件内容修改,会影响到所有文件名,但是删除一个文件名,不影响别的文件名的访问。删除一个文件名,只会使得“硬链接数”减“1”
需要注意的时不能对目录做硬链接,在日常工作中,几乎不会建立文件的硬链接

复制文件或目录——cp

将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
cp 【选项】源文件或目录 目标文件或目录

常用选项

-f:覆盖目标同名的文件或目录时不进行提醒,而直接强制复制。
-i:覆盖目标同名的文件或目录时提醒用户确认。
-p:复制时保存文件的权限、属主及时间标记等属性不变。
-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录。
注:复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在

删除文件或目录——rm

删除指定的文件或目录
rm 【选项】 要删除的文件或目录

常用选项

-f:删除文件或目录时不进行提醒,而直接强制删除。
-i:删除文件或目录时提醒用户确认。(y表示删除,n表示不删除)
-r:删除目录时必须使用此选项,表示递归删除整个目录树(谨慎使用)
注:不要直接删除系统中已有的目录或配置文件,以避免出现意外故障。
删除目录下文件时建议最好先切换到目录下再执行rm -rf命令。

移动文件或目录——mv

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

mv命令只能对单个文件重命名,可使用rename命令批量修改文件名
rename 旧字符 新字符 目标文件

查找命令文件存放目录——which

搜索范围由环境变量PATH决定(echo $PATH)
which 命令|程序名 ####默认当找到第一个目标后不再继续查找
which -a 命令|程序名 ####在所有搜索路径中查找
注:使用which查找内部命令时,将找不到对应的程序

查找文件或目录——find

采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
find 【查找范围】【查找条件表达式】

常用查找条件类型

在这里插入图片描述

使用find命令实现多个查找条件

各表达式之间使用逻辑运算符

  • “-a”表示而且(and)
  • “-o”表示或者(or)
    例1:find /boot -size +1024k -a -name “vmlize”
    例2:find /boot -size +1024k -o -name “vmlize”

find之exec用法

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

命令执行的优先级

  • 第一优先级:指定路径的命令。绝对路径 /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/Jun____________/article/details/113098834