Linux Common Command
Welcome 👋 I have included some common and important Linux Command in this post. Enjoy!
Linux Common Command
By Eric Xu Chi
Last updated: 2023.9.25
version of Linux
lsb_release -a
# 所有版本信息
cat /etc/issue
# 发行版版本信息
cat /proc/version
uname -a
# 操作系统版本信息,内核版本
ls
ls -lh
# all info
ls -l t*
# all start with t
ls | sed "s:^:pwd/:"
# all absolute path excluding hidden file
find $pwd -maxdepth 1 | xargs ls -ld
# all absolute path including hidden file
ls -l | grep "^d" | wc -l
# count subdir number
mkdir
mkdir -p /tmp/test/t1/t
# -p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录。
find
which 查看可执行文件的位置。
# which 是在 PATH 就是指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。使用 which 命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
whereis 查看文件的位置。
locate 配合数据库查看文件位置。
find 实际搜寻硬盘查询文件名称。slow
# find ./ -name '*.log
compress and decompress
gzip 实例:压缩 gzip fileName .tar.gz 和.tgz 解压:gunzip filename.gz 或 gzip -d filename.gz
对应:tar zcvf filename.tar.gz tar zxvf filename.tar.gz
bz2实例:压缩 bzip2 -z filename .tar.bz2 解压:bunzip filename.bz2或bzip -d filename.bz2
对应:tar jcvf filename.tar.gz 解压:tar jxvf filename.tar.bz2
zip [-v] ana.zip anaconda-ks.cfg
unzip -d /tmp/ ana.zip
unzip -v ana.zip
# look into the zip info but not unzip actually
由于安装的zip、rar包等都只能解压或压缩某一种压缩包,这里提供一个小工具,支持解压格式:.tar, .zip, .rar, .7z,支持压缩/打包格式:.zip,.tar
# 下载安装工具
curl -L -o /usr/bin/arc http://autodl-public.ks3-cn-beijing.ksyun.com/tool/arc && chmod +x /usr/bin/arc
# 压缩/打包
arc compress xxx.zip path/to/directory
# 解压
arc decompress xxx.zip
或者解压到指定目录
arc decompress xxx.zip path/to/directory
file and folder size
du -h --max-depth=1
ll -h = ls -lh
process number
ps -aux | grep apache
free
free -m
# 显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。
vim
以下命令请在普通模式执行
1.移动光标
j:向下
20j: 向下移动 20 行
k:向上
h:向左
l:向右
0:到行首
^:到行首第一个字符,如果前面有空格的话
$:到行尾
gg:快速到文件头
G:快速到文件尾
50G:跳转到第 50 行
按「ctrl」+「b」:屏幕往"后"移动一页。
按「ctrl」+「f」:屏幕往"前"移动一页。
按「ctrl」+「u」:屏幕往"后"移动半页。
按「ctrl」+「d」:屏幕往"前"移动半页。
请不要在插入模式进行光标移动,效率很低下。
========================================
2.复制
yy:复制一行
8yy:向下复制8行
yw:复制光标开始的一个单词
y$:复制光标到行尾
yfA:复制光标到第一个大写A中间的内容
y2fA:复制光标到第二个大写A中间的内容
========================================
3.剪切
x:向后剪切一个一个字符,如果是在行尾,则为向前剪切
4x:剪切4个
xp:非行尾交换两个字符,如从bs变成sb
========================================
4.删除
dd:删除一行
100dd:删除100行
dw:删除一个单词
df":删除到出现的第一个双引号
d^:删除至行首
删除的内容会放到剪贴板,按p即可粘贴到其他地方。
========================================
5.粘贴
p:粘贴复制或剪切的内容
5p:将复制或剪切的内容粘贴5次
========================================
6.替换和撤销
r+<待替换字母>:将游标所在字母替换为指定字母
R:连续替换,直到按下Esc
cc:替换整行,即删除游标所在行,并进入插入模式
cw:替换一个单词,即删除一个单词,并进入插入模式
u{n}:撤销一次或n次操作
U(大写):撤销当前行的所有修改
Ctrl+r:redo,即撤销undo的操作
========================================
7.退出编辑器
wq:保存当前文件并退出
wqa:保存所有文件并退出
q!: 不保存,强制退出
qa!: 有多个文件被打开,同时退出
以下命令请在命令模式下执行
在普通模式下,输入:即可进入。
调整文本
%s/$/sth/ :在行尾追加sth
%s/^M//g :替换掉dos换行符,\^M使用ctrl+v + Enter即可输入
:g/^\s$/d* :删除空行以及只有空格的行
%s/#.*//g :删除#之后的字符
没错,这里使用的是正则。
ce:使本行文本内容居中
ri:使本行文本内容靠右
le:使本行文本内容靠左
========================================
查找字符串
在普通模式下,按下/直接进入查找,输入相应的字符串按确定即可
n:查找下一个匹配
N:查找上一个匹配
2n:查找下面第二个匹配