一、 查找定位文件命令
1、pwd
命令
#显示当前用户所处的工作目录
pwd
2、cd
命令
# 切换当前的工作路径 change directory
# 返回上一次工作目录
cd -
# 切换用户的家目录
cd ~ 或者
cd
3、ls
命令
#显示目录中的文件信息 list ls[参数]文件名称
# 查看当前目录所有文件 包括隐藏文件
ls -a
# -l参数可以查看文件属性 大小等详细信息
ls -al
# 查看目录属性信息 添加 -d 参数
ls -ld /etc
4、tree
命令
# 以树状图的形式列出目录内容及结构
tree
sudo apt install tree
5、find
命令
#按照指定条件来查找文件所对应位置 搜索工作 find[查找范围]寻找条件
#Linux系统配置文件会保存在/etc目录中,获取该目录中所有以host开头的文件列表 root用户
find /etc/ -name "host*"
# 在整个系统中搜索权限中包括SUID权限的所有文件,使用-4000
find / -perm -4000 -print
# 在整个文件系统中找出所有归属于syd用户的文件并复制到某个文件夹中 -exec{}\;{}表示find命令搜索出的每一个文件 并且该命令的结尾是\;
find / -user syd -exec cp -a {} /root/ \;
6、locate
命令
# 按照名称快速搜索文件对应的位置 locate 文件名称 find全局搜索虽然准确 但效率更低 第一次使用locate命令之前 先使用updatedb命令来生成索引数据库 然后再进行搜索 root用户
updatedb
ls -l /var/lib/mlocate/mlocate.db
# 使用locate搜索所有包含whereis名称的文件所在的位置
locate whereis
7、whereis
命令
# 按照名称快速搜索二进制程序、命令、源代码以及帮助文件所对应的位置 基于updatedb生成的索引库文件 与locate命令不同是不关心那些相同名称的文件
whereis ls
whereis pwd
8、which
命令
#按照指定名称快速搜索二进制程序命令所对应的位置 既不关心同名文件 也不关心命令所对应的源代码和帮助文件 在PATH变量指定的路径中 搜索命令所在的路径
which locate
which whereis
二、文本文件编辑命令
1、cat
命令
#查看内容较少的纯文本文件 concatenate cat [参数] 文件名称
#查看文本命令时 显示行号 cat后加上 -n
cat -n /etc/profile
2、more
命令
# 查看内容较多的纯文本文件 more[参数]文件名称 可以显示百分比 空格或者回车键进行翻页
more /etc/profile
3、head
命令
# 查看纯文本文件的前N行, head[参数]文件名称
# 查看文本文件的前10行内容
head -n 10 /etc/profile
4、tail
命令
#查看纯文本文件后N行 或者持续刷新文件的最新内容 tail[参数]文件名称
tail -n 10 /etc/profile
# 持续刷新一个文件的内容 tail -f 文件内容
tail -f /var/log/messages
5、tr
命令
# 替换文本内容中的字符 translate tr[原始字符][目标字符]
# 通过cat命令读取待处理的文本 通过管道符把这些文本内容传给tr命令把小写字母全部替换为大写
cat /etc/profile | tr [a-z] [A-Z]
6、wc
命令
#统计指定文本文件的行数 字数 或者字节数 word counts wc[参数]文件名称
-l #只显示行数
-w #只显示单词数
-c # 只显示字节数
wc -l /etc/passwd
7、stat
命令
#查看文件的具体存储细节和时间等信息 status stat 文件名称
#Linux系统文件包含三种状态 Access Time 内容最后一次被访问的时间 Atime Modify Time 内容最后一次被修改的时间 Mtime Change Time 文件属性最后一次被修改的时间 Ctime
stat /etc/passwd
8、grep
命令
#按行提取文本内容 grep[参数]文件名称 -n 显示搜索到的信息的行号 -v 用于反选信息 没有包含关键词的所有信息行 其他参数 man grep 查询即可
grep -n syd /etc/passwd
9、cut
命令
#按列提取文本内容 cut[参数]文件名称 按行搜索只需要关键字即可 但是按列进行搜索需要-f 设置需要查看的列数 也需要 -d 来设置 间隔符号
# 提取第一列 并以冒号进行分割
cut -d : -f 1 /etc/passwd
10、diff
命令
#比较多个文件间的差异 different diff[参数]文件A 文件B --brief确认两个问阿金是否相同 -c参数详细比较多个文件的差异
diff --brief a.txt b.txt
diff -c a.txt b.txt
11、uniq
命令
#去除文本中连续的重复行 非相邻的不会去重 unique uniq [参数]文件名称
uniq a.txt
12、sort
命令
#对文本内容进行再排序 sort[参数]文件名称 默认情况下会按照字母顺序进行排序
sort a.txt
#与uniq不同,sort命令无论内容行之间是否夹杂其他内容 只要有内容相同的行 立马可以用-u进行去重
sort -u a.txt
#对数字进行排序-n
sort -n a.txt
# 对一个文件中以第三个字段进行排序 -t参数指定间隔符 -k 指定第几列 -n参数对数字进行排序
sort -t : -k 3 -n a.txt