其他基础命令
# 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 [参数] 显示各种网络相关信息。
-llist 显示网络服务信息。
-nnumber 将服务名称显示为端口号。
-ttcp 仅显示tcp网络协议。
-uudp 仅显示udp网络协议。
-pprocess 显示服务进程信息(进程名、PID等)。
-a显示所有连线中的Socket。
ss
ss [参数] 显示处于活动状态的网络服务信息。
-llist 显示处于监听状态的网络服务。
-nnumber 将服务名称显示为端口号。
-ttcp 仅显示tcp网络协议。
-uudp 仅显示udp网络协议。
-pprocess 显示服务进程信息(进程名、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 [服务]仅查看服务是否启动。
--nowenable或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安装软件包,可单独安装软件,但无法解决依赖关系。
-iInstall安装。-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