常用Linux命令

整理的 DevOps 人员常用的命令罗列出来,建立了一个速查表供大家参考!方便大家进行快速查看,节省搜索时间!这里只是一些基础的命令,其他内容可以访问命令速查内容更全,而且会持续更新!

线上查询及帮助命令

man 当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可,命令词典,更复杂的还有info,但不常用
help help命令用于显示内置命令的帮助 --help也可使用

文件和目录操作命令

cd 全拼 change directory,命令用于切换当前工作目录至 dirName(目录参数)。
cp 全拼 copy,其功能是复制文件或者目录。
find 查找文件,Linux下非常重要的一条命令,在目录结构中进行搜索
mkdir 全拼 make directories,建立目录
mv 全拼 move 用来移动文件或者将文件改名(move (rename) files),经常用来备份文件或者目录。
pwd 全拼 print working directory,执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称
rename 使用指定的替换项替换其名称中的搜索表达式来重命名给定的文件(可批量重命名)
rm 全拼 remove 用于删除一个文件或者目录。
rmdir 全拼 remove empty directories,删除空目录。
touch 修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
tree 执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件(树状结构)
basename 获取路径中的文件名或路径名,还可以对末尾字符进行删除
dirname 去除包含绝对路径文件中的文件名,返回目录的部分
chattr 查看和改变文件目录属性
lsattr 显示文件属性
file 辨识文件类型
md5sum 计算和校验文件MD5值的工具程序

查看文件及内容处理命令

cat 全拼 concatenate, 命令用于连接文件并打印到标准输出设备上(由第一行开始显示)
tac tac是cat的反向拼写,从最后一行倒序显示内容,并将所有内容输出
more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件
head 见名知意,显示文件的头部,默认显示前 10 行,如果不止一个文件,则在显示的每个文件前面加一个文件名标题。
tail 将某个文件最后几行显示在终端上,如果有更新tail会自动刷新,tail -f实时显示追加的内容
cut 显示每行从开头算起 num1 到 num2 的文字
split 用于将一个文件分割成数个
paste 按照行合并内容
sort 用于将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序。
uniq 用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用
wc 统计文件的行数、单词数量或者是字数。(不是卫生间trollface )
iconv 转换文件的编码格式
dos2unix 将Windows格式文件转换为Unix、Linux格式的实用命令
diff 全拼 difference,最简单的情况下,比较两个文件的不同
vimdiff 命令行可视化文本对比工具,常用于文本对比合并
rev 将文件中的每行内容以字符为单位反序输出,即第一个字符最后输出,最后一个字符最先输出,依次类推。
grep/egrep 过滤字符串,三剑客老三(在文件内查找指定的字符串)
join 根据相同字段合并两个文件
tr 转换或删除文件中的字符
vi/vim 命令文本编辑器(很常用)

文件压缩及解压缩命令

tar 打包压缩
unzip 解压文件
gzip gzip压缩工具
zip 压缩工具

信息显示命令

uname 显示操作系统相关信息的命令
hostname 设置或者显示系统主机名,没有任何参数就会返回gethostname()函数的返回值
dmesg 显示开机信息
uptime 命令告诉你系统启动up了(运行了)多长时间以及系统负载
stat 用于显示文件或文件系统的详细信息
du 显示指定的目录或文件所占用的磁盘空间
df 显示目前在Linux系统上的文件系统的磁盘使用情况统计
top 实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
free 显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存
date 显示或设定系统的日期与时间
cal 显示指定月份的日历

搜索文件命令

which which指令会在环境变量$PATH设置的目录里查找符合条件的文件
find 查找文件,Linux下非常重要的一条命令,在目录结构中进行搜索。
whereis 跟which功能相同,但该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。
locate locate命令要比find -name快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/mlocate/mlocate.db 。这个数据库中含有本地所有文件信息

用户管理命令

useradd 添加用户
usermod 修改用户帐号的各项设定
userdel 删除用户
groupadd 添加用户组
passwd 修改用户密码
chage 修改用户密码有效期
id id会显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。若仅指定用户名称,则显示目前用户的ID。
su 切换用户
vissudo 编辑/etc/sudoers文件的专属命令
sudo 命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。(在 /etc/sudoers 中有出现的使用者)

基础网络操作命令

telnet 执行telnet指令使用TELNET协议登入远端主机
ssh 远程登录用于远程登录上Linux主机
scp 全拼 secure copy,用于不同主机之间复制文件
wget 命令下载文件
ping 测试网络主机之间的连通性
route 显示和设置Linux系统的路由表
ifconfig 查看、配置、启用或者禁用网络接口的命令。(不要跟Windows的ipconfig记混)
ifup 启动网卡
ifdown 关闭网卡
netstat 查看网络状态
ss 跟netstat功能相同

网络操作命令进阶

nmap 全拼 network mapper 是Linux下的网络扫描和嗅探工具包,网络扫描命令
lsof 全拼 list open files 查看进程打开的文件
mail 邮件发送和接收命令
mutt 邮件管理命令
nslookup 查看DNS信息
dig 查询DNS包括NS记录,A记录,MX记录等相关信息
host 查询域名、检查域名解析是否正确
traceroute 跟踪主机路由
tcpdump 对网络上的数据包进行截获的包分析工具

关于磁盘跟文件系统的命令

mount 用于挂载Linux系统外的文件
umount 可卸除目前挂在Linux目录中的文件系统
fsck 检查与修复 Linux 档案系统,可以同时检查一个或多个 Linux 档案系统
dd 指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换
dumpe2fs 查看格式化之后的文件系统信息
dump 使用“备份级别”来实现增量备份,它支持 0~9 共 10 个备份级别(备份分区、文件或目录)
fdisk 创建和维护分区表,兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。适用于2TB以下磁盘分区
parted 规划大小超过2T的分区,也可用于小分区的规划
mkfs 用来在特定的分区建立Linux文件系统(格式化创建Linux文件系统)
partprobe 通知操作系统内核分区表更改,通过请求操作系统重新读取分区表
e2fsck 用于检查使用 Linux ext2 档案系统的 partition 是否正常工作。
mkswap 创建交换分区
swapon 启用交换分区
swapoff 关闭交换分区
sync 用于数据同步,sync命令是在关闭Linux系统时使用的(将内存的数据写入磁盘)
resize2fs 调整ext文件系统的空间大小

关于用户授权跟系统权限的命令

chmod 修改文件或者目录权限
chown 利用 chown 将指定文件的拥有者改为指定的用户或组
chgrp 使用chgrp指令取变更文件与目录所属群组(更改文件用户组)
umask 指定在建立文件时预设的权限掩码(显示或者隐藏)

查看系统用户登录信息命令

whoami 用于显示自身用户名称,相当于执行id -un命令
who 用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等。
w 执行这项指令可得知目前登入系统的用户有哪些人,以及他们正在执行的程序。
last 显示近期用户或终端的登录情况
lastlog 检查某用户上次登录时间
users 显示当前登录系统的所有用户
finger 用来查找并显示用户信息,系统管理员通过使用该命令可以知道某个时候到底有多少用户在使用这台Linux主机。

内置命令及其他

echo 用于字符串的输出
printf 主要作用是输出文本,按照我们指定的格式输出文本
rpm RPM软件包的管理工具
yum 是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器
watch 可以监测一个命令的运行结果
alias 设置系统别名
unalias 取消系统别名
date 查看或者设置系统时间
clear 清屏
history 查看命令执行的历史记录
eject 弹出光驱
time 获取到一个程序的执行时间
nc 实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口(功能强大的网络工具)
xargs 给命令传递参数的一个过滤器,也是组合多个命令的一个工具
exec 调用并执行指令的命令
export 设置或者显示环境变量
unset unset为shell内建指令,可删除变量或函数
type 一般情况下,type命令被用于判断另外一个命令是否是内置命令,但是它实际上有更多的用法
bc 命令行科学计算器

系统管理与性能监视命令

chkconfig 管理Linux系统开机启动项
vmstat 全拼 virtual meomory statistics (虚拟内存缩写)虚拟内存统计
mpstat mpstat是 Multiprocessor Statistics的缩写,是实时系统监控工具
iostat iostat工具将对系统的磁盘操作活动进行监视
sar 全拼 system activity reporter(系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、 系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等
ipcs 提供关于一些进程间通信方式的信息,包括共享内存,消息队列,信号
ipcrm 删除消息队列、信号集、或者共享内存标识
strace strace能帮助你追踪到一个程序所执行的系统调用
ltrace 用来跟踪进程调用库函数的情况

关机\重启\注销和查看系统信息命令

shutdown 关机
halt 与shutdown功能相同
poweroff 关闭电源
logout 退出系统
exit 退出目前的shell
ctrl+d 退出当前登录的Shell的快捷键

进程管理命令

bg 将一个在后台暂停的命令,变成继续执行
fg 将后台中的命令调至前台继续运行
jobs 将当前的程序挂载
kill 发送指定的信号到相应进程
killall 通过进程名终止进程
pkill 给正在运行的程序进程发送信号
crontab 定时任务命令
ps 显示进程快照
pstree 通过树形结构显示进程
nice/renice 调整程序运行时的优先级
nohup 可以将以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端
pgrep 查找匹配条件的进程
runlevel 查看系统当前运行的级别
init 切换运行级别
service 用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等。

后记

将比较常用的 Linux 命令整理归纳出来了!有错误的地方还望大家指正,如果还有其他的常用命令,大家可以在评论区留言进行补充。