分享工作和学习中的点点滴滴,包括前端、后端、运维、产品等各个方面,欢迎您来关注订阅!
分类: LINUX
2023-02-13 02:43:41
本文章盘点了 Linux 运维必备 150 个命令,可配合网站使用。定位你需要使用的命令,然后去这个网站查询详细用法即可。
地址:linuxcool.com
线上查询及帮助命令
man:全拼manual,用来查看系统中自带的各种参考手册。
help:用于显示shell内部命令的帮助信息。
文件和目录操作命令
ls:全拼list,列出目录的内容及其内容属性信息。
cd:全拼change directory,切换当前工作目录至dirName(目录参数)。其中dirName表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home目录。另外,“~”也表示为home目录的意思,“.”是表示目前所在的目录,“..”则表示目前目录位置的上一层目录。
cp:全拼copy,复制文件或目录。
find:用来在指定目录及目录下查找文件。
mkdir:全拼make directories,创建目录。
mv:全拼move,移动或重命名文件。
pwd:全拼print working directory,显示当前工作目录的绝对路径。
rename:可用字符串替换的方式批量改变文件名。
rm:全拼remove,删除一个或多个文件或目录。必须格外小心地使用该命令。
rmdir:全拼remove empty directories,删除空目录。
touch:修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
tree:以树状图列出目录的内容。它会列出指定目录下的所有文件,包括子目录里的文件。
basename:显示文件名。用于去掉文件名的目录和后缀。
dirname:显示给定路径的目录部分。
chattr:全拼change file attributes,改变文件的扩展属性。
lsattr:全拼list file attributes,显示文件扩展属性。
file:用来识别文件类型。
md5sum:用于生成和校验文件的md5值。它会逐位对文件的内容进行校验,它常用于检查文件的完整性。
查看文件及内容处理命令
cat:全拼concatenate,用于连接多个文件并且打印到屏幕输出或重定向到指定文件中,可查看文件内容。
tac:cat的反向拼写,因此命令的功能为反向显示文件内容。文件内容的{BANNED}{BANNED}最佳佳后一行先显示,{BANNED}中国{BANNED}中国第一行{BANNED}{BANNED}最佳佳后显示。
more:一页一页的形式显示文件内容,更方便使用者逐页阅读,而{BANNED}{BANNED}最佳佳基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,按 h 。
less:less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
head:显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。
tail:查看文件尾部内容,有一个常用的参数 -f 常用于查阅正在改变的文件。可以看到{BANNED}{BANNED}最佳佳新的文件内容。
cut:将文件的每一行按指定分隔符分割并输出。
split:分割文件为不同的小片段。
paste:用于合并文件的列。paste指令会把每个文件以列对列的方式,一列列地加以合并。
sort:将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序。
uniq:全拼uniqique,用于检查及删除文本文件中重复出现的行列。
wc:统计文件的行数、单词数或字节数等。
iconv:转换文件的编码格式。
dos2unix:是将Windows DOS格式文件转换为Unix、Linux格式的实用命令。Windows格式文件的换行符为\\r\\n ,而Unix&Linux文件的换行符为\\n.。dos2unix命令其实就是将文件中的\\r\\n 转换为\\n。
diff:全拼difference,diff以逐行的方式比较文件的差异。
vimdiff:命令行可视化文件比较工具,常用于文本文件。
rev:全拼reverse,rev命令将文件中的每行内容以字符为单位反序输出,即{BANNED}中国{BANNED}中国第一个字符{BANNED}{BANNED}最佳佳后输出,{BANNED}{BANNED}最佳佳后一个字符{BANNED}{BANNED}最佳佳先输出,依次类推。
grep/egrep:全拼(Extend)Global standard Research Expression Print out the line,是一种文本搜索工具,可以通过使用指定的通配符/正则表达式来实现文本搜索功能。
join:用于将两个文件中,指定栏位内容相同的行连接起来。找出两个文件中,指定栏位内容相同的行,并加以合并,再标准输出。
tr:拼translate,tr命令用于转换或删除文件中的字符。tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。
vi/vim:vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何{BANNED}{BANNED}最佳佳新的文本编辑器。Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
文件压缩及解压缩命令
tar:tar命令是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。
unzip:unzip命令用于解压缩zip文件。
gzip:gzip命令用于压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。
zip:zip命令可以用来将文件压缩成为常用的zip格式。
信息显示命令
uname:全拼Unix name,用于显示系统信息。
hostname:hostname命令用于显示和设置系统的主机名称。环境变量HOSTNAME也保存了当前的主机名。在使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,需要同时修改/etc/hosts和/etc/sysconfig/network的相关内容。
dmesg:全拼diagnostic message,用于显示开机信息,诊断系统故障。kernel会将开机信息存储在ring buffer中。若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。
uptime:显示系统运行时间及负载。
stat:全拼status,用于显示文件和文件系统状态属性。
du:全拼disk usage,显示指定的目录或文件所占用的磁盘空间。
df:全拼disk free,用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。
top:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确的说,top命令提供了实时的对系统处理器的状态监视。
free:free命令显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是{BANNED}{BANNED}最佳佳经常使用的命令之一。
date:date命令可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式。
cal:全拼calendar,cal命令用来显示公历日历。
搜索文件命令
which:which命令用于查找文件。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
find:从磁盘遍历查找文件或目录。
whereis:该指令会在特定目录环境变量PATH路径查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
locate:locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。一般情况我们只需要输入 locate your_file_name 即可查找指定文件。locate与find 不同: find 是去硬盘找,locate 只在资料库中找。locate的速度比find快,它并不是真的查找,而是查数据库。
用户管理命令
useradd:建立用户帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。
usermod:修改系统已经存在的用户属性。
userdel:userdel命令用于删除用户帐号。若不加参数,则仅删除用户帐号,而不删除相关文件。
groupadd:用于创建一个新的用户工作组。新工作组的信息将被添加到系统文件中。
passwd:全拼password,passwd命令用来更改使用者的密码。
chage:全拼change,chage命令是用来修改帐号和密码的有效期限。
id:显示用户以及所属群组的实际与有效ID。
su:全拼Switch User,su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
visudo:visudo编辑/etc/sudoers文件的专属命令。sudoers文件的默认权限是440,即默认无法修改,visudo需要超级用户权限,可以在不更改sudoers文件权限的情况下,直接修改sudoers文件。
sudo:sudo命令可以把某些超级用户权限分类有针对性授权给指定的普通用户,并且普通用户不需要知道root密码就可以使用得到的授权。也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。这样用户就可以通过自己的普通帐户登录实现利用root的权限来管理系统了,当然也就不需要有root账号及密码了。
基础网络操作命令
telnet:telnet命令使用TELNET协议远程登录。执行telnet指令开启终端机阶段作业,并登入远端主机。
ssh:使用SSH加密协议远程登录。
scp:全拼secure copy,用于不同主机之间复制文件。, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
wget:用来从指定的URL下载文件。
ping:测试主机之间网络的连通性。
route:显示和设置linux系统的路由表。
ifconfig:全拼interfaces config,通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具。ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置。
ifup:启动网卡。
ifdown:关闭网卡。
netstat:显示网络状态。利用netstat指令可让你得知整个Linux系统的网络情况。
ss:全拼Socket Statistics,用来获取socket统计信息,它可以显示和netstat类似的内容。ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。
深入网络操作命令
nmap:全拼Network Mapper,是Linux下的网络扫描和嗅探工具包。nmap是在网络安全渗透测试中经常会用到的强大的扫描器。
lsof:全名list open files,列出当前系统打开文件的工具。在linux系统环境下,任何事物都可以以文件形式存在,通过文件不仅可以访问常规的数据,还可以访问网络连接和硬件。
mail:电子邮件发送和接收工具。
mutt:邮件管理命令。
nslookup:交互式查询互联网DNS服务器的命令。
dig:常用的域名查询工具,可以用来测试域名系统工作是否正常。
host:常用的分析域名查询工具,可以用来测试域名系统工作是否正常。
traceroute:显示数据包到主机间的路径。traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。
tcpdump:免费的网络分析工具。TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。
有关磁盘与文件系统的命令(16个)
mount:用于挂载Linux系统外的文件。
umount:用于卸除文件系统。
fsck:全拼file system check,用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。
parted:磁盘分区命令,没有磁盘大小限制。针对大于2TB的硬盘,需要采用GPT分区,使用parted命令进行操作 。
mkfs:全拼make filesystem,格式化创建Linux文件系统。常见的文件系统有ext2,ext3, ext4 , vfat等。
partprobe:从kernel重新读取分区信息。
e2fsck:检查ext2/ext3/ext4类型文件系统。
mkswap:用于设置交换区(swap area)。mkswap可将磁盘分区或文件设为Linux的交换区。
swapon:启用交换分区。
swapoff:关闭交换分区。
sync:在 linux/unix 系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。sync 命令则可用来强制将内存缓冲区中的数据立即写入磁盘。
resize2fs:调整ext2/ext3/ext4文件系统大小。
系统权限及用户授权相关命令
chmod:全拼Change mode,Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。chmod命令可以控制文件如何被他人所调用。
chown:全拼Change owner,Linux/Unix 是多人多工操作系统,所有的文件皆有拥有者。chown将指定文件的拥有者改为指定的用户或组 。
chgrp:全拼Change group,用于变更文件或目录的所属群组。
umask:显示或设置权限掩码。在linux系统中,我们创建一个新的文件或者目录的时候,这些新的文件或目录都会有默认的访问权限,umask命令与文件和目录的默认访问权限有关。若用户创建一个文件,则文件的默认访问权限为 -rw-rw-rw- ,创建目录的默认权限 drwxrwxrwx ,而umask值则表明了需要从默认权限中去掉哪些权限来成为{BANNED}{BANNED}最佳佳终的默认权限值。
查看系统用户登陆信息的命令
whoami:显示当前有效的用户名称。
who:显示目前登录系统的用户信息。
w:显示已经登陆系统的用户列表,并显示用户正在执行的指令。
last:用于显示用户{BANNED}{BANNED}最佳佳近登录信息。
lastlog:显示系统中所有用户{BANNED}{BANNED}最佳佳近一次登录信息。
users:显示当前登录系统的所有用户的用户列表。
finger:显示本地主机现在所有的用户的登陆信息。
内置命令及其它
echo:打印变量,或直接输出指定的字符串。
printf:将结果格式化输出到标准输出。
rpm:管理rpm包的命令。rpm(redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。
yum:yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令。
watch:周期性的执行给定的命令,并将命令的输出以全屏方式显示。
alias:用于设置指令的别名。若仅输入alias,则可列出目前所有的别名设置。alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在/etc/profile(全局生效)或.bashrc(当前用户生效)中设定指令的别名。别名的作用:1)通过给危险命令加一些保护参数,防止人为误操作。2)把很多复杂的字符串或命令变成一个简单的字符串或命令。
unalias:用于删除别名。
date:用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式。
clear:清除屏幕。
history:显示历史记录和执行过的指令命令。
eject:弹出光驱。
time:用于测量一个命令的运行时间。
nc:一个功能强大的网络工具,通过它不仅可以探测端口,还能作为客户端连接服务。
xargs:全拼extended arguments,给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
exec:用于调用并执行指令的命令。exec命令通常用在shell脚本程序中,可以调用其他的命令。如果在当前终端中使用命令,则当指定的命令执行完毕后会立即退出终端。
export:设置或者显示环境变量。
unset:删除变量或函数。
type:用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令。
bc:任意精度计算器语言,通常在linux下当计算器用。
系统管理与性能监视命令
chkconfig:用于检查,设置系统的各种服务。这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。
vmstat:全拼Virtual Memory Statistics,用来显示Linux系统虚拟内存状态,也可以报告关于进程、内存、I/O等系统整体运行状态。
mpstat:全拼Multiprocessor Statistics,实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPU系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。
iostat:用于输出CPU和磁盘I/O相关的统计信息。
sar:全拼System Activity Reporter,目前 Linux 上{BANNED}{BANNED}最佳佳为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告。
ipcs:用于报告linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息。
ipcrm:用来删除一个或更多的消息队列、信号量集或者共享内存标识。
strace:用于诊断、调试Linux用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。
ltrace:用来跟踪进程调用库函数的情况。
关机/重启/注销和查看系统信息的命令
shutdown:用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机。
halt:用来关闭正在运行的Linux操作系统。halt命令会先检测系统的runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统。
poweroff:用来关闭计算机操作系统并且切断系统电源
logout:退出当前登录的Shell。
exit:退出当前登录的Shell。
Ctrl+d:退出当前登录的Shell的快捷键。
进程管理相关命令
bg:将一个在后台暂停的命令,变成继续执行。
fg:将后台中的命令调至前台继续运行。
jobs:查看当前有多少在后台运行的命令。
kill:用于删除执行中的程序或工作。
killall:用于终止某个指定名称的服务所对应的全部进程。
pkill:通过进程名终止进程。
crontab:用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。
ps:全拼Processes Status,用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
pstree:将所有行程以树状图显示。
nice/renice:为未运行命令指定运行时调度优先级的,如果是已运行的命令则需要renice命令。
nohup:全拼no hang up,让后台工作在离开操作终端时,也能够正确地在后台执行。
pgrep:通过程序的名字来查询进程的工具,一般是用来判断程序是否正在运行。
runlevel:查看系统当前运行级别。
init:用于切换到指定的运行级别。
service:用于管理Linux操作系统中服务的命令。它可以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。
END