0%

linux的常用命令

前言

本文总结了部分个人认为在linux中比较常用的命令。

文件操作类

首先来看看一些关于文件操作的命令。

cd/ls

cd和ls应该是使用频率最高的两个命令,前者用来切换文件目录,后者则用来看当前目录下的文件列表。

cd比较简单:

cd ~ 进入home目录
cd - 进入上一次选择的目录
cd !$ 将上个命令的参数作为这次cd的参数使用,例如:上一个命令是cd -,那么随后使用cd !$ 等价于 cd -

ls相比cd就多了一些参数选择:

ls -a 列出目录所有文件,包含以.开始的隐藏文件
ls -A 列出除.及..的其它文件
ls -r 反序排列
ls -t 以文件修改时间排序
ls -S 以文件大小排序
ls -h 以易读大小显示
ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来

tail/cat/grep

tail,cat,grep这三个命令应该是用来查看日志文件时最常用的命令组合了。

tail

tail是用来显示文件的部分内容,还能将文件的新增内容不断显示出来,是查看日志最好用的命令。

tail [filename] 默认显示文件的最后十行内容
tail -f [filename] 循环读取文件内容,也就是当文件又新增内容会显示出来
tail -c [n] 显示最后n个字节的内容
tail -n [n] 显示最后n行的内容 也可以省略n直接带数字,例如:tail -n 2 等价于 tail -2
tail -n +[n] 显示从第n行到最后一行的内容

cat

cat会将整个文件的内容显示出来,但这只是其中一个用法,他还可以用来创建和合并文件:

cat > [filename] 从键盘创建文件
cat [file1] [file2] … > [fileN] 将几个文件合并成一个新文件,这里多个文件名用空格隔开
cat -n [filename] 输出所有行并带上行号
cat -b [filename] 输出所有行,只对非空行带上行号

grep

grep用于过滤特定关键字的内容,通常会与tail,cat命令组合使用来从日志文件中查询想要的信息。

grep [‘关键字’] 显示带有关键字的行的内容
grep -A [n] [‘关键字’] 显示带有关键字及之后n行的内容
grep -a [‘关键字’] 不忽略二进制的数据
grep -B [n] [‘关键字’] 显示带有关键字及之前n行的内容
grep -b [‘关键字’] 在显示带有关键字的内容前,标示出该行第一个字符的编号
grep -C [n] [‘关键字’] 显示带有关键字及前后n行的内容
grep -c [‘关键字’] 计算带有关键字的行数
grep -E [正则表达式] 可以使用正则表达式来过滤内容
grep -i 忽略字符大小写
grep -v [‘关键字’] 显示不包含关键字的行的内容
grep -w [‘关键字’] 显示能完整匹配关键字的行的内容
例如:类似文本kjkjld,dfdjf>ddd,grep -w ‘>ddd’是无法匹配上的,但是 grep -w ‘ddd’可以
grep -x [‘关键字’] 显示整行匹配关键字的行的内容

以上只列举了grep在筛选文本中常用的参数,这只是他功能的一部分。
比如说,执行命令grep -r ‘kjkjld,dfdjf>ddd’ /Users/rf/myproject,会展示出目录/Users/rf/myproject下所有文件中带有关键字的行的内容。

网络通讯

ping

ping命令通常用来测试本机与目标主机的连通性。

tcpdump

tcpdump用于展示网络传输数据,常用于查询两个ip之间的传输内容,定位问题。