其他基础命令
# Linux快捷键
Tab
补全命令。
ESC + .
调取上次命令的最后一个部分。
Ctrl + L
清空屏幕。
Ctrl + C
终止命令。
Ctrl + D
退出登录当前用户 同等于exit。
Ctrl + A
光标置最前。
Ctrl + E
光标置最后。
Ctrl + W
以空格为分隔符 剪切一段字符串。
Ctrl + U
剪切光标前所有字符。
Ctrl + K
剪切光标后所有字符。
Ctrl + Y
粘贴剪切的字符。
Ctrl + S
启动锁定方式。
Ctrl + Q
解除锁定方式,解锁后锁定时输入的命令会执行。
Ctrl + R
快速搜索历史命令。
# 网络管理类
# 查看
ip
ip address
或 ip a
显示网卡配置信息 IP、MAC等。
ping
ping [网址]
检查是否能连通网络。
netstat
netstat [参数]
显示各种网络相关信息。
-l
list 显示网络服务信息。
-n
number 将服务名称显示为端口号。
-t
tcp 仅显示tcp网络协议。
-u
udp 仅显示udp网络协议。
-p
process 显示服务进程信息(进程名、PID等)。
-a
显示所有连线中的Socket。
ss
ss [参数]
显示处于活动状态的网络服务信息。
-l
list 显示处于监听状态的网络服务。
-n
number 将服务名称显示为端口号。
-t
tcp 仅显示tcp网络协议。
-u
udp 仅显示udp网络协议。
-p
process 显示服务进程信息(进程名、PID等)。
# 操作
nmtui
nmtui
简写为network manager tui,用于配置网卡信息。
ifdown
ifdown [网卡名]
禁用网卡(网络接口)。
ifup
ifup [网卡名]
启动网卡(网络接口)。
route
route -n
查看或配置路由表。
配置静态默认路由:
route add default gw 10.0.0.2
增加一个路由条目。
route del default gw 10.0.0.2
删除一个路由条目。
- default 指定默认静态路由。
- gw 指定网关。
- 10.0.0.2 指定的网关地址。
配置静态网段路由:
临时修改:
route add -net [目标网段] network [子网掩码] gw [下一跳接口地址]
route del -net [目标网段] network [子网掩码] gw [下一跳接口地址]
配置静态主机路由:
route add -host 10.0.3.1 dev eth1
route del -host 10.0.3.1 dev eth1
# 下载
wget
wget [参数] [文件链接]
下载网络中的文件。
wget [文件链接]
下载文件到当前所在目录。
-O
下载到指定目录与文件名。
-P
下载到指定目录 不存在的目录会自动创建。
-b
后台下载。
lrzsz
该软件能使用ZMODEM协议,实现在终端软件上远程上传/下载文件。
rz -y
从client发送数据到server中。
sz -y
从server发送数据到client中。
curl
curl [参数] [网址]
利用URL规则在命令行下工作的文件传输工具。
curl -o [文件名] [网址]
下载文件到指定位置指定名。
curl -O [网址]
下载文件到当前位置。
-v
跟踪URL的HTTP连接信息。
-u username:password
用户验证的连接。
-s
沉默模式 仅输出网页内容,不输出其他信息,可用于提取页面内容。
# 系统管理类
# 查看
ps
ps [参数]
用于查看进程。
-a
显示所有进程(包括其他用户的进程)。
-u
用户以及其他详细信息。
-x
显示没有控制终端的进程。
pstree
pstree
以树状图的形式展示进程之间的关系。
top
top
动态的监视进程与系统信息。
uname
uname [参数]
用于显示系统的主机名、内核版本号、硬件架构等。
-a
查看所以信息
-r
仅显示内核信息
# 操作
systemctl
systemctl
用于管理系统服务。
systemctl start [服务]
启动服务。
systemctl restart [服务]
重启服务。
systemctl stop [服务]
停止服务。
systemctl status [服务]
查看服务状态。
systemctl enable [服务]
加入开机自启。
systemctl disable [服务]
移出开机自启。
systemctl is-enabled [服务]
仅查看是否开启自启。
systemctl is-active [服务]
仅查看服务是否启动。
--now
enable或disable加上该参数后,会立即启动或停止服务。
kill
kill [参数] [PID]
杀死指定进程。
kill [PID]
杀死一个进程,默认是-15参数。
kill -9 [PID]
强行杀死一个进程。
hostname
hostname
查看或临时修改主机名。
hostname
查看主机名。
hostname [主机名]
临时修改主机名,重启后还原,永久修改需要修改/etc/hostname文件。
hostnamectl
hostnamectl
可以查看系统信息或永久修改主机名。
hostnamectl
查看系统信息。
hostnamectl set-hostname [主机名]
永久修改主机名。
setenforce
setenforce [参数]
临时开启或关闭SELinux。
setenforce [Enforcing/1]
都代表开启。
setenforce [Permissive/0]
都代表关闭。
shutdown
系统关机或重启。
shutdown -r now
立即重启。shutdown 一分钟之后关机。
shutdown -h now 立即关机。
shutdown -c
取消定时关机。
reboot
reboot
立即重启。
poweroff
poweroff
立即关机。
# 常规命令类
echo
输出信息到屏幕。
echo "hello world!"
打印文字。
echo $BASH
打印变量。
echo -e "123\n456"
扩展使\n等生效。
export
export [变量设置]
表示后面的变量定义为环境变量,对所以用户生效。
例如:
export PATH=$PATH:/bin/private
。
source
source [目标文件]
使系统重新加载配置文件,立即生效某些配置。
locale
locale [参数]
多语言环境的设置或查看接口。
-a 查看所以已安装语言包。
localectl
localectl [参数]
控制系统的本地化与键盘布局。
set-locale
参数设置系统的本地环境变量,例如localectl set-locale LANG=""
。
wc
wc [参数] [文件]
统计指定文件中的字节数、字数、行数
wc -l 仅统计行数。
dig
dig [参数] [域名]
查询或追踪DNS解析过程。
+trace
参数追踪解析过程。
vi/vim
vi [文件]
编辑或查看文件。
进入编辑模式(插入模式)。
i
键,在光标所在字符前开始插入。
Shift + I
键,在光标所在行的行首开始插入。
o
键,在光标所在行的下面新起一行插入。
Shift + O
键,在光标所在行的上面新起一行插入。
a
键,在光标所在后一个字符开始插入。
Shift + A
键,在光标所在行的行尾开始插入。
cc
键,将光标所在行整行剪切然后开始插入。
Shift + C
键,将光标到行尾的内容进行剪切然后开始插入。
ESC
键,退出插入模式到命令模式。
命令模式。
u
键,撤销。
Ctrl + r
键,恢复。
dd
键,剪切一行。
Ndd
键,剪切N行,N替换成数字。
dG
键,剪切当前行下面所有行。
dgg
键,剪切当前行上面所有行。
yy
键,复制一行。
Nyy
键,复制n行。
p
键,粘贴。
np
键,粘贴n次。
Shift + G
键,将光标切换到内容结尾。
gg
键,将光标切换到内容开头。
Ngg
键,将光标移动到第n行。
$
键,将光标移动到行尾
0
键或Shift + 6(即^)
键,将光标移动到行首。r 替换当前位置的字符。
: 或 / 或 ?
键,从命令模式进入末行模式。
末行模式。
保存&关闭文档。
:w
保存。
:q
退出。
:wq
保存并退出。
:wq!
强制保存并退出。行号。
:set nu
显示行号。
:set nonu
取消行号。忽略大小写信息。
:set ic
忽略。
:set noic
关闭忽略。搜索。
:noh
取消搜索高亮。
/[搜索内容]
自上而下搜索。
?[搜索内容]
自下而上搜索。
搜索内容后添加\c
忽略大小写搜索,例如:/内容\c
。
n
到下一个搜索结果。移动某行到某行下面。
:1,3move5
移动第1-3行到第5行后面。
:1move5
移动第1行到第5行后面。复制某行到某行下面。
:1,3copy5
复制第1-3行到第5行后面。
:1copy5
复制第1行到第5行后面。替换文本。
替换部分内容,仅替换指定某行到某行。
1,3s#欲替换文本#内容#g
将第1行到第3行匹配的内容做替换。替换部分内容,仅替换指定某行到结尾。
3,$s#欲替换文本#内容#g
将第3行到最后匹配的内容做替换。替换文本所有匹配的内容。
%s#欲替换文本#内容#g
%代表全部替换。
批量添加信息 (比如注释)。
- 将鼠标放在指定行,按Ctrl + V进入视图模式。
- 用方向键向下选中要替换的内容。
- 进行编辑修改:Shift + I。
- 编辑第一行,加上#。
- 执行批量修改,按ESC键。
批量删除信息
- 视图模式选中要删除的行。
- 按小写d或者小写x批量删除信息。
diff
diff [文件1] [文件2]
检查指定的文件内容是否相同。
# 软件&命令类
man
man [命令]
或 命令 [--help、-help、--h、-h]
查看命令说明书。
说明书结构:
命令的作用说明
命令的使用方法
命令的参数解释
help
help
命令用于显示shell内部命令的帮助信息。
type
type [命令名]
命令可判断命令是内置指令还是外置指令。
yum
yum [参数] [软件名]
可简单快捷的管理安装程序。
yum install [软件名]
安装软件。
yum remove [软件名]
卸载软件,会连同依赖库也卸载,所以不建议。
yum provides [命令名]
查询命令大概属于的包。
yum repolist
检查并更新可用的yum源信息。
yum grouplist
查看可安装和已安装的软件包组。
yum groupinstall [软件包组名]
安装软件包组。
yum update [指定软件名]
升级软件包、软件、内核版本。
yum upgrade [指定软件名]
升级软件包,不升级软件和内核版本。
yum check-update [指定软件名]
检查是否有更新的软件包。
-y
自动确认。
rpm
rpm [参数] [软件包]
用于管理Linux下软件包的软件。
-qa
查询所有的软件包 或 查询是否有某软件包。
-ql
显示软件包的文件列表 (有哪些文件或命令)。
-qf
查询命令或文件属于哪个软件包。
-ivh
安装软件包,可单独安装软件,但无法解决依赖关系。
-i
Install安装。-v
显示安装过程。-h
以人类易读方式显示信息。
-U
升级软件包。
-e --nodeps [软件包名]
卸载软件包,不卸载依赖库。
# 文件目录类
# 查看
ls
ls [参数] [目录路径]
list的简写,查看目录的文件信息,目录是特殊的文件。
ls
显示目录内的文件。
ls -d
不展开目录 只显示目录自身。
ls -i
查询文件inode。
ls -ld
查看指定目录属性。
ls -a
查看全部文件,包括隐藏文件。
ls -l
显示文件的详细信息。
ls -t
按修改时间进行排序显示。
ls -r
反转显示排序。
ls -h
以人类易读方式显示文件大小。
pwd
pwd
查看当前登录用户的所在命令。
tree
tree [参数] [目标目录]
以树状图的形式展示文件之间的关系。
tree -L n [目标目录]
只显示n层目录(n为数字)。
tree -d [目标目录]
只显示目录,不显示其他文件。
# 查找
find
find [路径范围] [参数]
查找文件所在路径。
-type
查找指定类型文件 (f、d、c、b、l)。
-name
查找指定文件名称。
-iname
忽略大小写查找指定文件名称。
-size [+/-]size[c/k/M/G]
根据数据大小,+表示大于size,-表示小于size,无符号表示刚好size。
-perm
根据权限位值进行查找,例如:777。
-delete
将找到的文件直接删除。
-maxdepth [层级数]
指定搜索的最大深入层级数。
-exec [命令] [参数] {} \;
将找到的内容作为迭代对象使用。
-[a/c]time [+/-]num
按照时间查找文件, +表示num以前,-表示num以内,无符号表示往前第num天。
-inum [inode号]
按inode查找硬链接文件。
# 创建
mkdir
mkdir [参数] [目录]
创建空白目录。
mkdir [目录名]
创建一个空白目录。
-p
创建多级嵌套目录。
touch
touch [参数] [目标文件]
创建一个空文件或修改文件时间。
修改文件时间例如:
touch -d "2021-01-01 01:01:01" test.txt
-a
仅修改读取时间。
-m
仅修改修改时间。
-d
同时修改atime与mtime。
# 操作
vimdiff
vimdiff [文件1] [文件2]
可对比查看文件不同处。
cd
cd [目录路径]
切换当前目录。
cd
不加任意为切换到登录用户home目录。
cd -
切换到上次目录。
cd .. o或 cd ../
切换到上级目录。
cd ~[用户名]
切换到其他用户的Home目录。
cd [目标目录]
切换到指定目录,加/是绝对路径,不加是相对路径。
cp
cp [参数] [源文件] [目标文件或目录]
复制文件或目录,目标名称可以与源不同。如果目标是目录,则将源文件复制到该目录下。如果目标不是目录,则会者直接复制并重命名。如果目标存在,会提示是否覆盖。
cp [源] [目标文件或目录]
复制一个文件或目录。
-t
指定目标目录(用于管道符执行等)。
-r
递归(用于目录)。
-i
若目标文件存在则询问是否覆盖。
-d
用于复制链接文件。
-a
等价于“dpr”选项。
mv
mv [参数] [源文件] [目标文件]
剪切或重命名文件。
mv /dir1 ./
移动,将dir1文件移动到当前目录。
mv test1 test2
重命名,将test1重命名为test2。
rm
rm [参数] [目标文件]
删除文件或目录。
-f
强制执行。
-r
删除目录。
-v
显示过程。
tar
tar [参数] [目标路径] [要压缩的文件]
用于压缩和解压和查看压缩包,一般以.tar.gz为后缀,压缩文件指定时最好使用./相对路径进行,绝对路径可能会有多余的目录结构。
-z
以zip方式压缩。
-c
创建压缩包。
-x
解压压缩包。
-v
显示压缩的过程。
-f
指定压缩包文件路径 (基本必带),和其他参数组合使用时f应当放在最后面。
-t
列出压缩包中的内容。
-h
压缩软链接文件时,压缩其源文件。
--exclude=文件路径
排除指定文件。
- 源文件用相对路径,则此时应该也用相同的相对路径,反之绝对路径也是一样。
- 例如../rrr内有一个test文件要排除,则此时路径填../rrr/test,即便你就在rrr文件夹内也要这么用。
--exclude-from=文件路径
排除指定文件的内容中指定路径的文件。
- 例如:/test.txt文件内容里有一行/etc/hosts,则可以test文件,会排除指定的hosts文件。
批量打包
find ./ -maxdepth 1 -type f -name "test*" | xargs tar czvf ./zip.tar.gz
tar czvf ./zip.tar.gz `find ./ -maxdepth 1 -type f -name "test*"`
rename
rename [名称中源信息] [目标信息] [匹配的文件]
批量重命名命令。
例如:rename .txt .jpg test*.txt