Jerry's WIKIJerry's WIKI
Overview
  • 🐞 Web
  • 📐 Components
  • 💡 Skills
  • 🎱 Specification
  • 🖥 Workflows
  • 🛠 Tools
  • 🌐️ Linux
  • 📦 Container
  • ♨️ Language
Coffee
  • 简体中文
  • English
GitHub
Overview
  • 🐞 Web
  • 📐 Components
  • 💡 Skills
  • 🎱 Specification
  • 🖥 Workflows
  • 🛠 Tools
  • 🌐️ Linux
  • 📦 Container
  • ♨️ Language
Coffee
  • 简体中文
  • English
GitHub
  • 🔧 Package Management
  • 🌈 Common Commands
  • 🖌 Vim Editor
  • ⚓️ Systemctl
  • 🪝 Supervisorctl
  • ⏰ Crontab

Common Commands

Index

  • Decompression
  • Matching and Searching
    • grep params
    • grep example
  • file search
    • find params
    • find example
  • Download
    • wget params
    • wget example
  • Http Request
    • download
    • request
  • Performance Considerations
    • top params
    • Interactive Commands
    • Explanation of Process-Related Fields
  • Viewing File Contents
  • Disk Info
  • Process Viewing Related

Decompression

.tar

# 解包:
tar xvf FileName.tar 
# 打包:
tar cvf FileName.tar DirName

.tar.gz | .tgz

# 解压:
tar zxvf FileName.tar.gz
# 压缩:
tar zcvf FileName.tar.gz DirName

.gz

# 解压:
gunzip FileName.gz
gzip -d FileName.gz
# 压缩:
gzip FileName

.zip

# 解压:
unzip FileName.zip 
# 压缩:
zip FileName.zip DirName
# 压缩一个目录使用 -r 参数,-r 递归。例: $ zip -r FileName.zip DirName

.rar

# 解压:
rar x FileName.rar
# 压缩:
rar a FileName.rar DirName

Matching and Searching

grep params

-a 不要忽略二进制数据。
-A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容。
-b 在显示符合范本样式的那一行之外,并显示该行之前的内容。
-c 计算符合范本样式的列数。
-C<显示列数>或-<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
-d<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作。
-e<范本样式> 指定字符串作为查找文件内容的范本样式。
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
-f<范本文件> 指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式
-F 将范本样式视为固定字符串的列表。
-G 将范本样式视为普通的表示法来使用。
-h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H 在显示符合范本样式的那一列之前,标示该列的文件名称。
-i 忽略字符大小写的差别。
-l 列出文件内容符合指定的范本样式的文件名称
-L 列出文件内容不符合指定的范本样式的文件名称。
-n 在显示符合范本样式的那一列之前,标示出该列的编号
-q 不显示任何信息。
-R/-r此参数的效果和指定“-d recurse”参数相同。
-s 不显示错误信息。
-v 反转查找。
-x 只显示全列符合的列。
-y 此参数效果跟“-i”相同。
-o 只输出文件中匹配到的部分


grep example

# 查询指定内容
grep "xxx" fileName --color
# 反向查找
grep -v "xxx" fileName --color
# 多文件查找
grep "xxx" file1 file2 file3...
# 显示行号查找
grep "xxx" -n fileName
# 多个文件中哪些指定文件存在要查找的内容
grep -l "xxx" file1 file2 file3...
# 严格匹配"词"
grep -w "xxx" fileName
# 递归查找
grep -rn "xxx" dir
# 正则表达式
grep -E "regrex_express" fileName
# 统计出现次数
grep -E "regrex_express" fileName | wc -l
# 只输出文本中匹配到的内容
grep -o "xxx" fileName
# 匹配多个内容
grep -o -e "xxx" -e "sss" fileName
# 指定类型文件搜索
grep "main{}" . -r --include *.{php,html}
# 显示匹配某个结果之后的3行,使用 -A 选项
grep "xxx" -A 3
# 显示匹配某个结果之前的3行,使用 -B 选项
grep "xxx" -B 3
# 显示匹配某个结果前后的3行,使用 -C 选项
grep "xxx" -C 3

file search

find params

find (Searching for a specific file within the file system).

  • 根据 文件或目录名称 搜索
    • find [搜索目录] [-name或者-iname] [搜索字符]
  • 根据 文件大小 搜索
    • find [搜索目录] [-size] [+/- 20K | 50M]
  • 根据时间搜索【在过去N分钟内修改过的文件】
    • find [搜索目录] [-cmin] [+/- 13]
  • 根据时间搜索【再过去N天内被修改的文件】
    • find [搜索目录] [-ctime] [+/- 3]
  • 根据文件权限搜索
    • find [搜索目录] [-perm] [777]
  • 根据文件类型进行搜索
    • find [搜索目录] [-type] [f|l|d|s]

find example

# 查找当前目录下以".txt" 和 ".pdf" 结尾的文件
find . -name "*.txt" -o -name "*.pdf"
# 查找路径
find /usr -path "*local"
# 查找home目录下不是以 ".txt"结尾的文件
find /home ! -name "*.txt"
# 目录深度为3的所有普通文件
find . -maxdepth=3 -type f
# 搜索最近7天被访问过的文件
find . -type f -atime -7
# 搜索超过最近7天内被访问的文件
find . -type f -atime +7
# 搜索访问时间超过10分钟的所有文件
find . -type f -amin +10

Download

wget params

-b:进行后台的方式运行wget;
-d:调试模式运行指令;
-h:显示指令帮助信息;
-q:不显示指令执行过程;
-v:显示详细执行过程;
-c:继续执行上次终端的任务;
-i<文件>:从指定文件获取要下载的URL地址;
-O: 允许动态路由下载

wget example

# 普通单独下载文件
wget http://www.linuxde.net/testfile.zip
# 下载并以不同的文件名保存
wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080
# 限速下载(默认会吃满带宽)
wget --limit-rate=300k http://www.linuxde.net/testfile.zip
# 断点续传
wget -c http://www.linuxde.net/testfile.zip
# 后台下载(大文件时使用,可以使用tail -f wget-log查看进度)
wget -b http://www.linuxde.net/testfile.zip
# 设置重试次数下载
wget --tries=40 http://www.linuxde.net/testfile.zip
# 多文件同步下载
# STEP-1 创建url列表文件
cat urls.txt
#url1
#url2
#url3
# step-2 下载
wget -i urls.txt

Http Request

download

# 显示进度条下载远程文件到localtext.iso
curl http://man.linuxde.net/text.iso -o localtext.iso --progress
# 断点续传
curl -C <offset> http://man.linuxde.net/text.iso
# 分块下载
curl -r 0-1000 -o file_part1.JPG http://www.linux.com/file.JPG
curl -r 1000-2000 -o file_part2.JPG http://www.linux.com/file.JPG
curl -r 2000-3000 -o file_part3.JPG http://www.linux.com/file.JPG
cat file_part* > file.JPG

request

# 设置referer
curl --referer http://www.google.com http://www.baidu.com
# 设置Cookie
curl --cookie "user=root;pwd=123456" http://www.google.com
# 只打印头信息
curl -I http://www.google.com
# 显示错误信息
curl -f http://www.google.com
# 显示声明何种http方法
curl -X [POST|GET|HEAD]
# 显示声明header头(1 多个header多次指定;2 默认x-www-form-urlencode)
curl -H "Content-Type:application/json" -H "X-Requested-With:XMLHttpRequest"
# 添加参数
curl -d '{"name":"jerry","sex":"M"}'
# 不校验SSL
curl -k 
# POST请求
curl -I -H "Content-Type:application/json" -H "X-Requested-With:XMLHttpRequest" -X POST -d '{"name":"jerry","sex":"M"}' http://www.url.com/api.json

Performance Considerations

top params

-b:以批处理模式操作;
-c:显示完整的治命令;
-d:屏幕刷新间隔时间;
-I:忽略失效过程;
-s:保密模式;
-S:累积模式;
-i<时间>:设置间隔时间;
-u<用户名>:指定用户名;
-p<进程号>:指定进程;
-n<次数>:循环显示的次数。

Interactive Commands

【Note】

Upon entering the foreground of 'top', interactive commands can be executed, typically comprising single-letter inputs. It is worth noting that when employing the -s option within the command line, certain commands may become disabled.


k:终止一个进程;
i:忽略闲置和僵死进程,这是一个开关式命令;
q:退出程序;
r:重新安排一个进程的优先级别;
S:切换到累计模式;
s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
f或者F:从当前显示中添加或者删除项目;
o或者O:改变显示项目的顺序;
l:切换显示平均负载和启动时间信息;
m:切换显示内存信息;
t:切换显示进程和CPU状态信息;
c:切换显示命令名称和完整命令行;
M:根据驻留内存大小进行排序;
P:根据CPU使用百分比大小进行排序;
T:根据时间/累计时间进行排序;
w:将当前设置写入~/.toprc文件中;
1:显示多核CPU详细信息。

Explanation of Process-Related Fields

  • PID = (Process Id) 进程Id
  • USER = (User Name) 进程所有者的用户名
  • NI = (Nice value) nice值。负值表示高优先级,正值表示低优先级
  • VIRT = (Virtual Image (kb)) 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
  • RES = (Resident size (kb)) 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
  • S = (Process Status) 进程状态。D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程
  • %CPU = (CPU usage) 上次更新到现在的CPU时间占用百分比
  • %MEM = (Memory usage (RES)) 进程使用的物理内存百分比
  • CODE = (Code size (kb)) 可执行代码占用的物理内存大小,单位kb
  • DATA = (Data+Stack size (kb)) 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
  • COMMAND = (Command name/line) 命令名/命令行
  • SWAP = (Swapped size (kb)) 进程使用的虚拟内存中,被换出的大小,单位kb
  • P = (Last used cpu (SMP)) 最后使用的CPU,仅在多CPU环境下有意义

Viewing File Contents

# 查看文件且带有行号
cat -n
# 以分页形式查看文件(space:下一页;b:上一页;q:退出)
more +20 fileName
# 查看文件头部内容
head fileName
# 查看文件尾部内容
tail fileName

Disk Info

# 硬盘使用情况
df -h 
# 数据盘挂载情况
lsblk
# 查看指定目录文件大小
du -sh * | sort -nr

Process Viewing Related

# 显示进程
ps -aux | less
# 查找进程
ps -aux | grep "XXX"
# 父子进程树状查看
ps -axjf
# 查看进程内的线程
ps -L {PID}
# 按照CPU使用率排序(大->小)
ps -aux --sort -pcpu | less
# 按照MEM使用大小排序(大->小)
ps -aux --sort -pmem | less
Edit this page
Update At:
Contributor: 田朝帆
Prev
Package Management
Next
Vim