参考资料 #
the-art-of-command-line / 命令行的艺术
comm #
命令用于比较两个已排过序的文件。
- -1 不显示只在第 1 个文件里出现过的列。
- -2 不显示只在第 2 个文件里出现过的列。
- -3 不显示只在第 1 和第 2 个文件里出现过的列。
cURL #
不带有任何参数时,curl 就是发出 GET 请求。
curl yindongliang.com
-d
用来发送 post 请求。
-H
用来添加 header
du #
(usage) Linux du (英文全拼:disk usage)命令用于显示目录或文件的大小。 du 会显示指定的目录或文件所占用的磁盘空间。
df #
(file) Linux df(英文全拼:disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。
find #
练习:统计 Python 项目中行数最多的 n 个文件
find . -path ./venv -prune -o -name '*.py' |xargs wc -l|sort -r |tail -n +2|head -n 2|tail -n +5
grep #
head #
ln #
软链接和硬链接的区别
- 软链接指向同一文件名的地址
- 硬链接指向文件内容块的地址
- 删除源文件后软链接失效,硬链接依然有文件
ps #
ps -ef |grep kafka
# 输出格式UID PID PPID C STIME TTY TIME CMD
ps -aux|grep mysql
# 输出格式:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
显示所有包含其他使用者的行程,可以看到 CPU 和内存使用率
sort #
求文件的交集、并集
- -b 忽略每行前面开始出的空格字符。
- -c 检查文件是否已经按照顺序排序。
- -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
- -f 排序时,将小写字母视为大写字母。
- -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
- -m 将几个排序好的文件进行合并。
- -M 将前面3个字母依照月份的缩写进行排序。
- -n 依照数值的大小排序。
- -u 意味着是唯一的(unique),输出的结果是去完重了的。
- -o<输出文件> 将排序后的结果存入指定的文件。
- -r 以相反的顺序来排序。
- -t<分隔字符> 指定排序时所用的栏位分隔字符。
- +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
- –help 显示帮助。
- –version 显示版本信息。
- [-k field1[,field2]] 按指定的列进行排序。
交集
sort a.txt b.txt | uniq -d
并集
sort a.txt b.txt | uniq
差集
a.txt-b.txt:
sort a.txt b.txt b.txt | uniq -u
b.txt - a.txt:
sort b.txt a.txt a.txt | uniq -u
top #
top -p 1234 查看指定进程的状态
tcpdump #
tar #
tar -zxvf
tar -Jxvf filename.tar.xz
tar -Zxvf filename.tar.zip
tail #
systemctl #
service #
su #
su - root 切换用户身份
su 命令和 su - 命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。
ufw #
打开 5432 端口
sudo ufw status
sudo ufw allow 5432
sudo ufw enable
uniq #
uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。
删除文件中重复的行
uniq file1
- -c或–count 在每列旁边显示该行重复出现的次数。
- -d或–repeated 仅显示重复出现的行列。
- -f<栏位>或–skip-fields=<栏位> 忽略比较指定的栏位。
- -s<字符位置>或–skip-chars=<字符位置> 忽略比较指定的字符。
- -u或–unique 仅显示出一次的行列。
- -w<字符位置>或–check-chars=<字符位置> 指定要比较的字符。
- –help 显示帮助。
- –version 显示版本信息。
- [输入文件] 指定已排序好的文本文件。如果不指定此项,则从标准读取数据;
- [输出文件] 指定输出的文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。
wc #
xargs #
awk #
cat table.csv | awk -F ‘,’ print $4