Linux常用命令精讲二
一.设置别名-alias
① 通过别名机制简化常用的、比较长的命令
alias命令别名='命令‘ → ”=“两边不能有空格
② 示例
- 设置myls为ls -alh的别名
[root@localhost ~]# alias myls='ls -alh'
- 取消别名
unalias 命令别名
二.统计目录及文件空间占用情况-du
① 统计指定目录(或文件)所占用磁盘空间的大小
du [选项] [文件或目录...]
②常用选项
--max-depth=n
,设置n=1可排查文件大小异常
- 统计出/varllog目录中子目录的大小
du -h --max-depth=1/var/log/
三.创建新目录-mkdir
① 创建新的空目录
mkdir [选项]目录位置及名称… → -p:一次性创建嵌套的多层目录
② 示例
- 在当前目录下创建名为public_html的子目录
mkdir public html
- 创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc
mkdir -p /aa/bb/cc
四.创建空文件-touch命令
① 更新文件的时间标记
② 经常用于创建多个新的空文件
touch 文件...
③ 示例
- 创建两个空文件,文件名分别为aa.txt和bb.txt
touch aa bb
touch {a,b}.txt
五.创建链接文件-In
① 为文件或目录建立链接文件,类似于Windows系统的快捷方式
② 链接文件类型
- 软链接(又称符号链接)
ln [-s] 源文件或目录...链接文件或目标位置
示例
ln -s /bin/bzip2/bin/wx/
- 硬链接
文件类型 | 软链接文件 | 硬链接文件 |
---|---|---|
删除源文件后 | 失效 | 仍然可用(文件占用空间与源文件相同) |
适用范围 | 适用于文件或目录 | 仅适用于文件 |
保存位置 | 与源文件可在不同的文件系统中 | 必须与源文件在同一个文件系统(即同一个分区)中 |
与源文件的关系 | 相当于快捷方式 | 相当于给文件起个别名 |
inode号码 | inode号码不同 | inode号码相同 |
六.复制文件或目录-cp
① 将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
cp [选项]...源文件或目录.….目标文件或目录...
② cp的常用选项:
☛ -f:覆盖目标同名文件或目录时不进行提醒,而直接强制复制
☞ -i:覆盖目标同名文件或目录时提醒用户确认。
☛ -p:复制时保持源文件的权限、属主及时间标记等属性不变。
☞ -r:复制目录时必须使用此选项,表示递归复制所有文件及子目录。
注 : 复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在
cp /etc/host.conf letc/host.conf.bak
cp host.conf{ ,.bak}
mkdir yum bak
cp -r /etc/ yum.repos.d/ /etc/ yum.conf yum bak/
七.删除文件或目录-rm
① 删除指定的文件或目录
rm [选项] 要删除的文件或目录
② 常用选项:
☞ -f:删除文件或目录时不进行提醒,而直接强制删除。
☞ -i:删除文件或目录时提醒用户确认。(y表示删除,n表示不删除)
☞-r:删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。
注:不要直接删除系统中已有的目录或配置文件,以避免出现意外故障。
rm -rf /etc/ yum.repos.d/*
删除目录下文件时建议最好先切换到目录下再执行rm -rf命令(慎用)
cd /etc/ yum.repos.d/
rm -rf ./*
八.移动文件或目录-mv
① 将指定的文件或目录转移位置
② 如果目标位置与源位置相同,则相当于执行重命名操作
mv [选项]....源文件或目录...目标文件或目录
③ 示例
mv mytouch mkfile
mv mkfile public_html/
九.查找命令文件存放目录-which
① 搜索范围由环境变量 PATH 决定 (echo $PATH)
☞ which命令|程序名 //默认当找到第一个目标后不再继续查找
或
☛ which -a 命令|程序名 //在所有搜索路径中查找
② 示例
which ls
which history
十.查找文件或目录-find
① 采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
find [查找范围] [查找条件表达式]
查找范围:查找文件或子目录的目录位置
查找条件表达式:查找条件类型
② 常用查找条件类型
查找类型 | 关键字 | 说明 |
---|---|---|
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用“*”及“?”通配符 |
按文件大小查找 | -size | ①根据目标文件的大小进行查找②一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件③常用的容量单位包括kB(注意k是小写)、MB、GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件©等块设备文件(b):成块读取数据的设备(硬盘,内存,光驱)字符设备文件©︰按单个字符读取数据的设备(键盘,鼠标) |
使用find命令实现多个查找条件
① 各表达式之间使用逻辑运算符
- "-a”表示而且(and)
- “-o”表示或者(or)
② 示例
find /boot -size +1024k -a -name "vmlinuz*"
find /boot -size +1024k -o -name "vmlinuz*"
find之exec用法
① -exec参数后面跟的是Linux命令,它是以分号“;”为结束标志,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杠转义符“\”。
{} 代表前面find查找出来的文件名。
② find命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用ls-l命令将它们列出
find ./ -type f -exec ls -l {}\;