Linux常用命令参考手册
为了大家方便查阅某些命令的用法,作者在此列举了linux系统管理的一些常见命令。包括了命令的详细参数及选项,。关于各命令的更多
选项及详细用法,请参考man手册,这里只做简单的介绍。文章中的命令格式约定如下:
“<>”部分表示必须包含的选项或参数。
“[]”部分表示可选项或参数。
关机与重启
1)shutdown命令——至指定时间正常结束所有进程并关闭或重启系统。
格式:shutdown [选项]
-h:执行关机操作。
-r:执行重启操作。
-c:取消预定义的关机操作。
2)halt命令——终止及关闭系统,执行“poweroff”命令时默认与执行“halt -p”的作用相同。
格式:halt [选项]
-f:不调用shutdown结束进程,直接终止当前系统。
-p:如果硬件支持,则在终止系统后关闭主机电源。
3)reboot命令——重新启动当前系统。
格式:reboot [选项]
-f:不调用shutdown结束进程,直接重启当前系统。
4)init命令——系统初始化的程序,可以通过不同选项切换到不同的系统运行级别。
格式:init [选项]
0:关机。
1:切换到单用户模式。(仅一个命令终端,无需密码即可登录系统)
3:切换到字符模式。(只有命令行界面,不运行任何图形程序)
5:将系统切换到图形界面模式。
6:重启系统。
q:从新检测并读取/etc/inittab配置文件。
5)runlevel命令——查看当前的系统运行级别,并查看进行切换之前的运行级别(N表示没有更改过运行级别)
格式:runlevel
详细命令介绍请参考:RHEL 5基础篇—系统设置及基本操作
查看文件和目录
1)pwd命令——显示当前用户所在的工作目录。
格式:pwd [选项]
-p:如果当前目录是符号链接,则显示链接的真实物理目录。
2)ls命令——查看目录及文件的属性信息。不带任何选项或参数时,默认显示当前目录的内容。
格式:ls [选项] [目录或文件]
-a:列出所有文件和子目录,包括以点"."开头的隐藏文件或目录。
-A:列出所有文件和子目录不包括"."开头的隐藏文件。
-d:只显示目录本身的属性信息,而不显示其中的文件或子目录。
-l:以长格式显示文件或目录的详细信息。
-i:显示文件的i节点编号。
-h:显示信息时使用更人性化的容量大小单位。
-R:递归显示指定目录下各级子目录及文件的内容。
3)cat命令——命令用于显示指定文件的内容,可以同时指定多个文件。
格式:cat [选项] [文件或目录]
-n:显示文件内容时在每一行行首添加行号。
-b:显示文件内容时为非空白行添加行号。
4)tail命令——查看文件末尾指定行数(默认为10行)的内容。
格式:tail [选项] [文件名]
-N:这里的N为用户指定的行数(若不指定,默认10行)
-f:跟踪文件中新增加的内容,多用于观察日志文件变化。
5)head命令——查看文件开头指定行数(默认为10行)的内容。
格式:head [选项] [文件名]
-N:这里的N为用户指定的行数(若不指定,默认10行)
6)more命令——分页显示文件内容,按回车可以逐行下翻,按空格键下翻一页,按b键向上翻一页。
格式:more [选项] [文件名]
-N:指定每屏显示的行数。
7)less命令——分页显示文件内容。与more命令类似,但使用更加灵活。按上下方向键前后逐行滚动查看,空格键或PageDown键向下翻页,按
b键或pageUp键向上翻页,按q键退出。
格式:less [文件名]
8)wc命令——统计文件的行数,单词数和字节数等信息。默认选项为“-lwc”。
格式:wc [选项] [文件名]
-c:统计文件内容中的字节数。
-l:统计文件内容中行数。
-m:统计文件内容中的字符数,若文件内容都是单字节字符则等同于-c。
-w:统计文件内容中的单词个数。
9)file命令——判断并显示文件的类型。
格式:file <文件名>
10)du命令——统计每个文件或目录的磁盘使用情况
格式:du [选项] [文件或目录]
-a:统计指定目录下每个文件及子目录占用的磁盘空间大小。
-s:只统计指定目录或文件总共占用的磁盘空间大小。
-h:显示信息时使用更人性化的容量大小单位。如:KB,MB,GB
--apprentice-size:统计文件或目录的真实大小,而不是占用磁盘空间大小。
详细命令介绍请参考:RHEL 5基础篇—文件和目录管理
检索文件和目录
1)grep命令——在文件中查找并显示包含指定字符串的行,查找字符串可以使用正则表达式匹配。
格式:grep [选项] <查找字符串> [文件名]
-i:查找内容时忽略大小写。
-v:反转查找,即输出与查找条件不相符的行。
2)which命令——在系统中查找命令或程序文件的绝对路径。
格式:which [选项] [命令或程序命令]
-a:列出所有查找到的结果,而不是仅仅是第一个。
3)whereis命令——查找指定名称的二进制文件,帮助文件或源文件所在的位置。
格式:whereis [选项] [文件名]
-b:只查找指定名称的二进制文件的所在位置。
-m:只查找指定名称的帮助文件所在的位置。
-s:只查找指定名称的源文件所在的位置。
4)locate命令——在预先建立的文件系统数据库中查找指定名称的文件或目录,可以使用updatedb命令建立及更新该数据库。
格式:locate [选项] [文件或目录名]
-i:查找时忽略大小写。
5)find命令——根据一定的条件在指定目录范围中递归查找需要的文件或目录。
格式:find <搜索范围> <查找条件>
-name:按文件名称查找,可以使用通配符。
-size:按文件大小查找,可以使用KB,MB,GB等容量单位。
-type:按文件类型查找,类型f,d,l,b,c分别表示普通文件,目录,链接文件,块设备文件,字符设备文件。
详细命令介绍请参考:RHEL 5基础篇—文件和目录管理
管理文件和目录
1)cd命令——更改工作目录,不带任何参数时,默认切换到用户宿主目录。
格式:cd [选项] [目录名]
cd .. :切换到上级目录。
-p :如果指定目录为符号链接,则切换到对应的物理路劲上。
2)mkdir命令——创建新目录
格式:mkdir [选项] <目录名>
-p:递归创建多层目录,即使指定目录存在也不报错。
3)touch命令——更新文件的时间标记,若文件不存在则创建对应的空文件。
格式:touch <文件名>
4)cp命令——复制文件或目录,复制源是目录或多个文件时,目标必须是目录。
格式:cp [选项] <源目录或文件> <目标目录或文件>
-f:覆盖目标同名文件或目录时不进行提醒,而直接强制复制。
-i:覆盖目标同名文件或目录时提醒用户确认。
-l:为源文件建立硬链接,而不是直接复制磁盘数据块。
-p:复制时保持源文件的权限,属主及时间戳等属性不变。
-r:复制目录时使用,递归复制所有文件及子目录。
5)mv命令——移动文件或目录,可以在移动时改名。移动多个文件或目录时,目标必须是目录。
格式:mv [选项] <源文件或目录> <目标文件或目录>
-f:覆盖目标同名文件时不进行提醒,二直接强制移动。
-i:覆盖目标同名文件或目录时提醒用户确认。
6)rm命令——删除指定的文件或目录。
格式:rm [选项] <文件或目录>
-f:在删除文件或目录时不进行提醒,而直接强制删除。
-i:在删除文件或目录时提醒用户确认。
-r:删除目录时使用,递归删除所有文件及子目录。
7)ln命令——为文件或目录建立连接,硬链接不能用于目录,也不能跨硬盘分区。
格式:ln [选项] <源文件或源目录> <链接文件位置>
-s:建立软链接即符号链接文件,默认为硬链接。
-f:若链接文件已存在,则直接强制覆盖。
-i:在覆盖目标链接文件时提醒用户确认。
8)chmod命令——修改文件或目录的访问权限。
格式:chmod [选项] <权限格式> <文件或目录>
-R:递归修改指定目录下的所有文件,子目录的权限。
9)chown命令——修改文件或目录的所有权,可以同时修改文件的属主属组。
格式:chown [选项] <[属主][:属组]> <文件或目录>
-R:递归修改指定目录下的所以文件,子目录的所有权。
10)chattr命令——修改文件的i节点属性,使用lsattr命令可以查看对应的属性,格式
格式:chattr [+|-ia] <文件>
+i:将文件的i节点属性设置为不可变,即i节点锁定。
-i:去除设置的+i锁定标记。
+a:将文件设置为只可追加内容,原有数据不能修改。
-a:去除设置的+a锁定标记。
详细命令介绍请参考:RHEL 5基础篇—文件和目录管理
压缩和备份管理
1)tar命令——将文件或目录备份打包,并通过选项gzip和bzip程序将包文件进行压缩,解压。
格式:tar [选项] <包文件名> <指定备份的文件或目录>
-c:创建.tar格式的包文件。
-C:解包时指定释放的目标文件夹。
-f:表示使用归档文件。
-j:调用bzip2程序进行压缩或解压。
-p:打包时保留文件及目录的权限。
-P:打包时保留文件及目录的绝对路径。
-t:列表查看保内的文件。
-v:输出详细信息。
-x:解开.tar格式的包文件。
-z:调用gzip程序进行压缩或解压。
2)gzip命令——创建.gz格式的压缩文件。
格式:gzip [选项] <文件或目录>
-1:以最快速度优先的模式创建压缩文件。
-9:以最大压缩比优先的模式创建压缩文件。
-d:解压缩.gz格式的压缩文件。
3)bzip2命令——创建.bz2格式的压缩文件。
格式:bzip2 [选项] <文件或目录>
-1:以最快速度优先的模式创建压缩文件。
-9:以最大压缩比优先的模式创建压缩文件。
-d:解压缩.bz2格式的压缩文件。
4)zip——创建.zip格式的压缩文件。
格式:bzip2 [选项] <压缩文件名> <文件或目录>
-1:以最快速度优先的模式创建压缩文件。
-9:以最大压缩比优先的模式创建压缩文件。
-r:递归压缩指定目录及其下所有文件,子目录。
5)unzip命令——解压缩.zip格式的压缩文件。
格式:unzip [选项] <压缩文件名>
-d:解压到指定的文件夹。
详细命令介绍请参考:RHEL 5基础篇—打包、压缩文件或目录
管理RPM软件包
rpm命令——安装、卸载及查询系统中的RPM软件包。
格式:rpm [选项] <软件名>
-i:安装新的RPM软件,参数要求是.rpm格式的软件包文件。
-U:检查更新现有的软件。
-e:卸载指定的RPM软件包,参数要求是已安装的RPM软件包的名称。
-q:查询系统内已安装的软件包相关信息,后面可以跟-l、-f、-p等子查询选项。
-v:输出详细信息。
-h:以“#”好标记显示安装进度百分比。
详细命令介绍请参考:RHEL 5基础篇—使用rpm包安装应用程序
管理用户和组
1)useradd命令——添加指定的系统用户。
格式:useradd [选项] <用户名>
-d:指定用户的宿主目录位置。
-e:指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式。
-g:指定用户的基本组名,也可以使用GID号。
-G:指定用户的附加组名,也可以使用GID号。
-M:不为用户建立并初始化宿主目录。
-s:指定用户的登录shell。
-u:指定用户的UID号,如果该UID已经被使用,则增加-o选项忽略掉并继续执行。
2)passwd命令——设置系统用户的密码,及锁定,解锁用户账户。未指定用户名时及修改当前用户自己的密码。
格式:passwd [选项] [用户名]
-d:清空指定用户的密码,仅使用用户名即可登录系统。
-l:锁定用户账户。
-S:查看用户账户的状态。(是否被锁定)
-u:解锁用户账户。
3)usermod命令——修改指定系统用户的信息,大部分选项与useradd命令中的作用相同。
格式:usermod [选项] <用户名>
-u:修改用户的UID号。
-d:指定用户的宿主目录位置。
-e:指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式。
-g:指定用户的基本组名,也可以使用GID号。
-G:指定用户的附加组名,也可以使用GID号。
-M:不为用户建立并初始化宿主目录。
-s:指定用户的登录shell。
-l:更改用户的登录名称。
-L:锁定用户账户。
-U:解锁用户账户。
4)userdel命令——删除指定的用户账户。
格式:userdel [选项] <用户名>
-r:删除用户后,也将该用户的宿主目录一并删除。
5)groupadd命令——添加一个系统用户组
格式:groupadd [选项] <组名>
-g:为新建的组指定GID组标记号。
6)groupdel命令——删除指定的系统用户组。
格式:groupdel <组名>
7)id命令——输出指定用的省份标志信息,省略用户名参数时则输出当前用户的信息。
格式:id [选项] [用户名]
-u:只显示有效的用户信息。
-g:只显示有效的组信息。
-n:只输出用户名称而不是数字标记。
8)users命令——查看登录到当前主机中的用户。
格式:user
9)su命令——切换为另一个用户登陆shell环境,不指定用户名参数时默认切换为root。
格式:su [-l] [目标用户名]
-l:使用目标用户的登录shell环境,该选项可简写为“-”
详细命令介绍请参考:RHEL 5基础篇—管理用户和组
管理文件系统
1)df命令——查看挂载的文件系统中磁盘空间的使用情况。
格式:df [选项] [分区或挂载点]
-a:输出所有可见文件系统的信息,包括伪文件系统。
-h:显示时使用更人性化的容量大小单位,如KB、MB、GB等。
-i:查看分区中的i节点占用情况。
-t:只查看指定类型的文件系统信息。
-T:输出信息同时显示该分区的文件系统类型。
2)stat命令——显示文件或文件系统的i节点状态。
格式:stat [选项] [文件]
-f:显示文件所属文件系统的i节点状态,而不是文件本身的状态。
3)fdisk命令——查看磁盘分区,以及通过交互式界面为指定的磁盘进行分区设置。
格式:fdisk [选项] [磁盘设备文件]
-l:显示指定磁盘的分区信息。未指定磁盘设备时,则显示已识别的所有磁盘信息。
4)mkfs命令——用户创建文件系统,即多磁盘分区进行格式化。
格式:mkfs [-t 文件系统类型] <分区>
-t:指定需要创建的文件系统类型。
5)fsck命令——检查和修复linux文件系统中的错误。
格式:fsck [-yt 分区类型] <分区>
-y:在所有提示确认的步骤自动回答“yes”。
-t:指定需要检查的分区的文件系统类型。
6)mount命令——挂载磁盘存储设备或网络共享目录。
格式:mount [-t文件系统类型] [-o挂载选项] <设备或网络共享目录> <挂载点目录>
-t:指定设备所使用的文件系统。
-o:指定挂载控制选项,如ro、rw、noexec、loop等。
7)umount命令——卸载已挂载的文件系统。
格式:umount <设备位置或挂载点位置>
8)eject命令——卸载并弹出光盘以及收回光盘托架。
格式:eject [选项]
-t:收回已弹出的光盘托架。
详细命令介绍请参考:RHEL 5基础篇—管理系统磁盘及分区
管理进程与服务
1)ps命令——以静态快照的方式输出当前运行的进程状况统计数据。
格式:ps [选项]
a:显示当前终端下的所有进程信息,包括其他用户的进程。
u:使用以用户为主的格式输出进程信息。
x:显示当前用户在所有终端下的进程信息。
-e:显示系统内的所有进程信息。
-l:使用长格式显示进程信息。
-f:使用完整的格式显示进程信息。
2)top命令:动态显示当前运行的进程信息,默认每3秒刷新一次。
格式:top [选项]
-d:指定动态信息的刷新时间隔,单位为秒,也可以使用ss.tt的格式。
3)pstree命令——以树形结构查看系统中的进程及相互关系。
格式:pstree [选项]
-a:显示进程对应的命令行。
-u:显示进程对应的用户名信息。
-p:显示进程对应的进程号信息。
4)kill命令——终止指定进程号的进程,PID可以通过ps等命令获得。
格式:kill [选项]
-9:强制终止进程。
5)killall命令——终止指定进程名的所有进程,可用于结束同名的多个进程。
格式:killall [选项] <进程名>
-9:强制终止进程。
6)free命令——查看系统的内存、交互空间的使用情况。
格式:free [选项]
-b:以B为单位显示信息。
-k:以KB为单位显示信息。
-M:以MB为单位显示信息。
7)chkconfig命令——设置系统服务在不同的运行级别的自启动状态,以及添加、删除系统服务。
格式:chkconfig [选项] <服务名> [on或off]
--level:指定控制服务的运行级别范围。
--list:查看当前系统中的服务自启动状态。
--add:添加新的系统服务。
--del:删除指定的系统服务。
8)ntsysv命令——提供一个交互的伪图形程序,用于设置各种系统服务在不同运行级别的自启动状态。
格式:ntsysv [选项]
--level:指定对应运行级别,数字选项对应init的不同模式,可以组合使用。
详细命令介绍请参考:RHEL 5基础篇—管理系统服务和进程
网络配置管理
1)ifconfig命令——查看及临时设置网络接口参数,停用或激活网卡。
格式:ifconfig [网卡设备名] [ip地址] [down或up]
2)ping命令——测试到目标主机的网络链接状态。
格式:ping [选项] <目标主机名或ip地址>
-c:设置发送测试数据包的个数。
-s:设置发送测试数据包的大小,以字节为单位。
-i:设置发送每个测试数据包的间隔时间,单位为秒。
3)traceroute命令——跟踪到目标主机的路由途径。
格式:traceroute <目标主机名或ip地址>
4)mtr命令——融合了ping和traceroute命令优点的网络诊断工具,可动态刷新路径信息,按q退出。
格式:mtr <目标主机名或ip地址>
5)netstat命令——查看系统的网络链接状态的统计信息。
格式:netstat [选项]
-a:显示当前所有的网络连接信息。
-n:使用数字形式表示地址,端口信息。
-p:同时显示和每个网络连接关联的进程信息。(PID)
-t:显示TCP协议相关的网络连接信息。
-u:显示UDP协议相关的网络连接信息。
-r:查看系统的路由表信息。
其他常用命令
1)man命令——查看命令、内核函数或配置文件等相关的帮助手册。
man <命令或函数或配置文件>
2)help命令——查看shell内部命令的帮助信息。
格式:help [选项] [内部命令名]
-s:只显示概要帮助信息,通常只输出命令的格式。
3)clear命令——用于清屏,只保留一行命令提示符内容,也可以使用Ctrl+L快捷键。
格式:clear
4)alias命令——查看及设置命令别名,可以简化频繁使用的命令操作。
格式:alias [别名]=[命令字符串]
5)unalias命令——取消已设置的命令别名。
格式:unalias [选项] [别名]
-a:取消所有的命令别名设置。
6)uname命令——显示当前系统主机名,系统平台。硬件平台。内核版本,系统时间等信息。
格式:uname [选项]
-a:显示所有的相关信息。
-i显示硬件的体系结构类型。
-r:显示Linux系统的内核版本号。