查找定位文件命令

pwd命令

显示用户当前所在目录

例:
显示当前所在目录
pwd

cd命令

切换当前工作路径

例:
切换到/etc目录
cd /etc

例:
返回上一级目录
cd -

ls命令

显示目录文件中文件信息,可搭配-a显示全部文件,-l查看文件属性、大小等详细信息

例:
显示目录中全部文件信息
ls -a

tree命令

以树状图的形式列出目录内容及结构

例:
以树状图的形式列出目录内容及结构
tree

find命令

按照指定条件查找文件所在位置,常用参数如下表所示

参数 含义
-name 匹配名称
-perm 匹配权限(mode为完全匹配,-mode为包含即可)
-user 匹配所有者
-group 匹配所属组
-mtime -n +n 匹配修改内容的时间(-n为n天以内,+n为n天以前)
-atime -n +n 匹配访问文件的时间(-n为n天以内,+n为n天以前)
-ctime -n +n 匹配修改文件权限的时间(-n为n天以内,+n为n天以前)
-nouser 匹配无所有者文件
-nogroup 匹配无所属组的文件
-newer f1 !f2 匹配比文件f1新但比文件f2旧的文件
-type 匹配文件类型(b块设备,d目录,c字符设备,p管道,l链接文件,f文本文件)
-size 匹配文件大小(+50KB为查找超过50KB的文件,-50KB为查找小于50KB的文件)
-prune 忽略某个目录
-exec…… {}\; 后面可跟用于进一步处理搜索结果的命令

例:
搜索所有以host开头的文件
find /etc -name “host*”

locate命令

按照名称快速搜索文件所对应的位置

首次使用locate命令前,需要使用updatedb命令来生成索引数据库
updatedb

例:
搜索所有包含whereis名称的文件所在的位置
locate whereis

whereis命令

按照名称快速搜索二进制程序(命令)、源代码以及帮助文件所对应的位置

例:
查找ls命令所在位置
whereis ls

which命令

按照指定名称快速搜索二进制程序(命令)所对应的位置

例:
查找locate命令所在位置
which locate

文本文件编辑命令

cat命令

查看纯文本文件(内容较少)

例:
查看initial-setup-ks.cfg文件(添加-n可以显示行号)
cat -n initial-setup-ks.cfg

more命令

查看纯文本文件(内容较多)

例:
查看initial-setup-ks.cfg文件
more initial-setup-ks.cfg

head命令

查看纯文本文件的前N行

例:
查看initial-setup-ks.cfg文件前10行
head -n 10 initial-setup-ks.cfg

tail命令

查看纯文本文件的后N行

例:
查看initial-setup-ks.cfg文件(添加-n可以显示行号)
tail -n 10 initial-setup-ks.cfg

tr命令

用于替换文本内容中的字符

例:
将文本中的英文替换为大写
cat anaconda-ks.cfg | tr [a-z] [A-Z]

wc命令

统计指定文本文件的行数、字数或字节数,常用参数如下表所示

参数 含义
-l 只显示行数
-w 只显示单词数
-c 只显示字节数

例:
查看当前系统有多少用户
wc -l /etc/passwd

stat命令

用于查看文件的具体存储细节和时间等信息

例:
查看anaconda-ks.cfg文件信息
stat anaconda-ks.cfg

grep命令

按行提取文本内容,常用参数如下表所示

参数 含义
-b 将可执行文件(binary)当作文本文件(text)来搜索
-c 仅显示找到的行数
-I 忽略大小写
-n 显示行号
-v 反向选择——仅列出没有关键词的行

例:
查看当前系统中不允许登录系统的所有用户信息
grep /sbin/nologin /etc/passwd

cut命令

按列提取文本内容,-f设置需要查看的列数,-d设置间隔符号

例:
提取passwd文件中用户名信息,提取以:为间隔符的第一列内容
cut -d : -f 1 /etc/passwd

diff命令

比较多个文件之间内容的差异,--brief确认两个文件是否相同,-c详细比较多个文件的差异之处

例:
比较fileA.txtfileB.txt内容具体不同
diff -c fileA.txt fileB.txt

uniq命令

去除文本中连续的重复行

例:
去除fileA.txt文件中重复行
uniq fileA.txt

sort命令

对文本内容进行再排序

参数 含义
-f 忽略大小写
-b 忽略缩进与空格
-n 以数值型排序
-r 反向排序
-u 去除重复行
-t 指定间隔符
-k 设置字段范围

例:
默认按照字母顺序排序
sort fileA.txt

文件目录管理命令

touch命令

创建空白文件或设置文件的时间,常用参数如下表所示

参数 含义
-a 仅修改”访问时间”
-m 仅修改”修改时间”
-d 同时修改”访问时间”和”修改时间”

例:
创建文件test
touch test

mkdir命令

创建空白目录,可使用-p参数递归创建具有嵌套层叠关系的文件

例:
创建空目录test
mkdir test

cp命令

复制文件或目录,常用参数如下表所示

参数 含义
-p 保留原始文件属性
-d 若对象为”链接文件”,则保留该”链接文件”的属性
-r 递归持续复制(用于目录)
-i 若目标文件存在则询问是否覆盖
-a 相当于-pdr(以上p、d、r三种效果)

例:
复制test文件
cp test

mv命令

用于剪切或重命名文件

例:
test文件重命名为test.txt
mv test test.txt

rm命令

用于删除文件或目录,常用参数如下表所示

参数 含义
-f 强制执行
-i 删除前询问
-r 删除目录
-v 显示过程

例:
删除test.txt文件
rm test.txt

dd命令

按照指定大小和个数的数据块来复制文件或转换文件,常用参数如下表所示

参数 含义
if 输入的文件名称
of 输出的文件名称
bs 设置每个块的大小
count 设置要复制的块的个数

例:
/dev/zero中取出一个大小10KB的数据块存入test文件中
dd if=/dev/zero of=test count=1 bs=10KB

file命令

用于查看文件类型

例:
查看anaconda-ks.cfg文件类型
file anaconda-ks.cfg

tar命令

用于对文件进行打包压缩或解压,常用参数如下表所示

参数 含义
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有哪些文件
-z 用gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示文件名
-p 保留原始的权限或属性
-P 使用绝对路径来压缩
-C 指定解压到的目录