linux 运维最常用命令大全
1、帮助命令
man:全拼manual,用来查看系统中自带的各种参考手册。
help:用于显示shell内部命令的帮助信息。
2、文件和目录操作命令
ls:全拼list,列出目录的内容及其内容属性信息。
cd:全拼change directory,切换当前工作目录至dirName(目录参数)。
cp:全拼copy,复制文件或目录。
find:用来在指定目录及目录下查找文件。
mkdir:全拼make directories,创建目录。
mv:全拼move,移动或重命名文件。
pwd:全拼print working directory,显示当前工作目录的绝对路径。
rename:可用字符串替换的方式批量改变文件名。
rm:全拼remove,删除一个或多个文件或目录。必须格外小心地使用该命令。
rmdir:全拼remove empty directories,删除空目录。
touch:修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
chattr:全拼change file attributes,改变文件的扩展属性。
lsattr:全拼list file attributes,显示文件扩展属性。
file:用来识别文件类型。
3、查看文件及内容处理命令
cat:全拼concatenate,用于连接多个文件并且打印到屏幕输出或重定向到指定文件中,可查看文件内容。tac:cat的反向拼写,因此命令的功能为反向显示文件内容。文件内容的最后一行先显示,第一行最后显示。
more:一页一页的形式显示文件内容,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,按 h 。
less:less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
head:显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。
tail:查看文件尾部内容,有一个常用的参数 -f 常用于查阅正在改变的文件。可以看到最新的文件内容。cut:将文件的每一行按指定分隔符分割并输出。
split:分割文件为不同的小片段。
sort:将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序。
uniq:全拼uniqique,用于检查及删除文本文件中重复出现的行列。
wc:统计文件的行数、单词数或字节数等。
diff:全拼difference,diff以逐行的方式比较文件的差异。
rev:全拼reverse,rev命令将文件中的每行内容以字符为单位反序输出,即第一个字符最后输出,最后一个字符最先输出,依次类推。
grep/egrep:全拼(Extend)Global standard Research Expression Print out the line,是一种文本搜索工具,可以通过使用指定的通配符/正则表达式来实现文本搜索功能。
join:用于将两个文件中,指定栏位内容相同的行连接起来。找出两个文件中,指定栏位内容相同的行,并加以合并,再标准输出。
vi/vim:vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器。Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
4、文件压缩及解压缩命令
tar:tar命令是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。
unzip:unzip命令用于解压缩zip文件。
gzip:gzip命令用于压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。
zip:zip命令可以用来将文件压缩成为常用的zip格式。
5、信息显示命令
uname:全拼Unix name,用于显示系统信息。
hostname:hostname命令用于显示和设置系统的主机名称。环境变量HOSTNAME也保存了当前的主机名。在使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,需要同时修改/etc/hosts和/etc/sysconfig/network的相关内容。
stat:全拼status,用于显示文件和文件系统状态属性。
du:全拼disk usage,显示指定的目录或文件所占用的磁盘空间。
df:全拼disk free,用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。
top:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确的说,top命令提供了实时的对系统处理器的状态监视。
free:free命令显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是最经常使用的命令之一。
date:date命令可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式。
cal:全拼calendar,cal命令用来显示公历日历。
6、搜索文件命令
which:which命令用于查找文件。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
find:从磁盘遍历查找文件或目录。
whereis:该指令会在特定目录环境变量PATH路径查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
locate:locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。一般情况我们只需要输入 locate your_file_name 即可查找指定文件。locate与find 不同: find 是去硬盘找,locate 只在资料库中找。locate的速度比find快,它并不是真的查找,而是查数据库。
7、用户管理命令
useradd:建立用户帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。usermod:修改系统已经存在的用户属性。
userdel:userdel命令用于删除用户帐号。若不加参数,则仅删除用户帐号,而不删除相关文件。
groupadd:用于创建一个新的用户工作组。新工作组的信息将被添加到系统文件中。
passwd:全拼password,passwd命令用来更改使用者的密码。
su:全拼Switch User,su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
sudo:sudo命令可以把某些超级用户权限分类有针对性授权给指定的普通用户,并且普通用户不需要知道root密码就可以使用得到的授权。也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。这样用户就可以通过自己的普通帐户登录实现利用root的权限来管理系统了,当然也就不需要有root账号及密码了。
8、基础网络操作命令
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更快速更高效。
nslookup:交互式查询互联网DNS服务器的命令。
dig:常用的域名查询工具,可以用来测试域名系统工作是否正常。
traceroute:显示数据包到主机间的路径。traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。
9、存储类命令
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文件系统大小。
10、系统权限及用户授权相关命令
chmod:全拼Change mode,Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。chmod命令可以控制文件如何被他人所调用。
chown:全拼Change owner,Linux/Unix 是多人多工操作系统,所有的文件皆有拥有者。chown将指定文件的拥有者改为指定的用户或组 。
chgrp:全拼Change group,用于变更文件或目录的所属群组。
umask:显示或设置权限掩码。在linux系统中,我们创建一个新的文件或者目录的时候,这些新的文件或目录都会有默认的访问权限,umask命令与文件和目录的默认访问权限有关。若用户创建一个文件,则文件的默认访问权限为 -rw-rw-rw- ,创建目录的默认权限 drwxrwxrwx ,而umask值则表明了需要从默认权限中去掉哪些权限来成为最终的默认权限值。
11、查看系统用户登陆信息的命令
whoami:显示当前有效的用户名称。
who:显示目前登录系统的用户信息。
last:用于显示用户最近登录信息。
lastlog:显示系统中所有用户最近一次登录信息。
users:显示当前登录系统的所有用户的用户列表。
finger:显示本地主机现在所有的用户的登陆信息。
12、内置命令及其它
echo:打印变量,或直接输出指定的字符串。
printf:将结果格式化输出到标准输出。
rpm:管理rpm包的命令
yum:yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
watch:周期性的执行给定的命令,并将命令的输出以全屏方式显示。
alias:用于设置指令的别名。若仅输入alias,则可列出目前所有的别名设置。alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在/etc/profile(全局生效)或.bashrc(当前用户生效)中设定指令的别名。别名的作用:1)通过给危险命令加一些保护参数,防止人为误操作。2)把很多复杂的字符串或命令变成一个简单的字符串或命令。
unalias:用于删除别名。
date:用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式。
clear:清除屏幕。
history:显示历史记录和执行过的指令命令。
time:用于测量一个命令的运行时间。
nc:一个功能强大的网络工具,通过它不仅可以探测端口,还能作为客户端连接服务。
xargs:全拼extended arguments,给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
exec:用于调用并执行指令的命令。exec命令通常用在shell脚本程序中,可以调用其他的命令。如果在当前终端中使用命令,则当指定的命令执行完毕后会立即退出终端。
export:设置或者显示环境变量。
unset:删除变量或函数。
type:用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令。
13、关机/重启/注销和查看系统信息的命令
shutdown:用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机。
halt:用来关闭正在运行的Linux操作系统。halt命令会先检测系统的runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统。
poweroff:用来关闭计算机操作系统并且切断系统电源
logout:退出当前登录的Shell。
exit:退出当前登录的Shell。
14、进程管理相关命令
kill:用于删除执行中的程序或工作。
killall:用于终止某个指定名称的服务所对应的全部进程。
pkill:通过进程名终止进程。
crontab:用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。
ps:全拼Processes Status,用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
nohup:全拼no hang up,让后台工作在离开操作终端时,也能够正确地在后台执行。