Linxu命令
一、基本命令:
1.ifconfig命令
作用: 显示网络设备信息(激活状态的)
语法:ifconfig
例:ifconfig
2. ls命令
作用:显示目录内容或目标列表的內容
语法:ls [选项] [目标或文件]
-a: 显示指定目标下所有子目录与文件,包括隐藏文件
-l:显示文件的详细信息;ls -l 即:ll
-d:显示目录
- 1
- 2
- 3
例:ls -dl /etc
3.more命令
作用: more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。
more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。
语法:该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:–More–(XX%)
可以用下列不同的方法对提示做出回答:
按Space键:显示文本的下一屏内容。
按Enier键:只显示文本的下一行内容。
按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
按H键:显示帮助屏,该屏上有相关的帮助信息。
按B键:显示上一屏内容。
按Q键:退出more命令。
- 1
- 2
- 3
- 4
- 5
- 6
例:more /etc/passwd
4.type命令
作用: 用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令
命令类型:
alias:别名。
keyword:关键字,Shell保留字。
function:函数,Shell函数。
builtin:内建命令,Shell内建命令。
file:文件,磁盘文件,外部命令。
unfound:没有找到。
语法:type [选项] [要显示类型的指令]
-t:输出“file”、“builtin”或者“alias”,分别表示给定的指令为“外部指令”、“内部指令”或者“命令别名”;
-p:如果给出的指令为外部指令,则显示其绝对路径;
-a:在环境变量“PATH”指定的路径中,显示给定指令的信息,包括命令别名。
- 1
- 2
- 3
例:type rm
5.cat命令
作用: cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令。
注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。
语法:cat [选项] [参数]
-n或-number:有1开始对所有输出的行数编号;
-b或--number-nonblank:和-n相似,只不过对于空白行不编号;
-A:显示不可打印字符,行尾显示“$”;
- 1
- 2
- 3
例:
<1>cat file
cat /etc/redhat-release
<2>cat file1 file2
cat /etc/fstab /etc/yum.repos.d/yum.repo
6. cd 命令
作用:用来切换工作目录
语法:cd [目录]
cd /etc
cd ~或cd (返回当前用户家目录)
cd - (返回刚才目录)
cd . (返回当前目录)
cd . .(返回上一级目录)
例:cd . .
7. pwd命令
作用: 以绝对路径显示当前工作目录的路径
语法:pwd
例:pwd
8.date命令
作用:显示或设置系统时间与日期
语法:date [选项] [参数]
选项:
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
参数:
<+时间日期格式>:指定显示时使用的日期时间格式。
日期格式字符串列表:
%F 显示日期,格式为:年-月-日,如:2018-09-21
%T 显示时间,24小时制(hh:mm:ss)
%c 日期和时间(Tue Nov 20 14:12:58 2012)
%X 显示时间的格式(%H:%M:%S)
%H 小时,24小时制(00~23)
%I 小时,12小时制(01~12)
%M 分钟(00~59)
%p 显示出AM或PM
%r 显示时间,12小时制(hh:mm:ss %p)
%s 从1970年1月1日00:00:00到目前经历的秒数
%S 显示秒(00~59)
%Z 显示时区,日期域(CST)
%a 星期的简称(Sun~Sat)
%A 星期的全称(Sunday~Saturday)
%h,%b 月的简称(Jan~Dec)
%B 月的全称(January~December)
%d 一个月的第几天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第几天(001~366)
%m 月份(01~12)
%w 一个星期的第几天(0代表星期天)
%W 一年的第几个星期(00~53,星期一为第一天)
%y 年的最后两个数字(1999则是99)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
例:
<1>.输出当前日期
<2>.输出当前日期和时间
<3>.输出昨天日期
<4>.设定时间
二、系统管理命令
1.su命令
作用: 用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码
语法:su - 用户名
例:su - root
2.clear命令
作用:用于清除当前屏幕终端上的任何信息。
语法:clear
例:直接输入clear命令或ctrl+l,当前终端上的任何信息就可被清除
3.who命令
作用:显示目前登录系统的用户信息;
执行who命令可得知目前有那些用户登入系统,
单独执行who命令会列出登入帐号,使用的终端机,
登入时间以及从何处登入或正在使用哪个X显示器。
- 1
- 2
- 3
语法:who [选项]
-m:此参数的效果和指定"am i"字符串相同;
-q或--count:只显示登入系统的帐号名称和总人数
--version:显示版本信息
- 1
- 2
- 3
例:who
4.whoami命令
作用:用于打印当前有效的用户名称,相当于执行id -un命令。
语法:whoami [选项]
–version:显示版本信息
例:whoami
5.users命令
作用:用于显示当前登录系统的所有用户的用户列表
语法:users
例:users
6.passwd命令
作用:用于设置用户的认证信息,包括用户密码、密码过期时间等
系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。
语法:passwd [选项] [用户名]]
-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号;
--stdin:非交互式修改密码
- 1
- 2
- 3
- 4
- 5
- 6
- 7
例:users
<1>passwd wsd;同样普通用户如果想更改自己的密码,直接运行passwd即可
<2>.非交互式修改密码:echo “123456” | passwd wsd --stdin
7.fdisk命令
作用: 此处只讲fdisk用于观察硬盘实体使用情况
语法:fdisk [选项] [设备文件]
-l:列出指定的外围设备的分区表状况;
-u:搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址;
例:fdisk -lu /dev/sda
8.free命令
作用:用于显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区
语法:free [选项]
-b:以Byte为单位显示内存使用情况;
-k:以KB为单位显示内存使用情况;
-m:以MB为单位显示内存使用情况;
-h:以G为单位显示内存使用情况;
-o:不显示缓冲区调节列;
-s<间隔秒数>:持续观察内存使用状况;
-t:显示内存总和列;
-V:显示版本信息。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
例:free -h
9.uname命令
作用:用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)
语法:uname [选项]
-a或--all:显示全部的信息;
-m或--machine:显示电脑类型;
-n或-nodename:显示在网络上的主机名称;
-r或--release:显示操作系统的发行编号;
-s或--sysname:显示操作系统名称;
-v:显示操作系统的版本;
-p或--processor:输出处理器类型或"unknown";
-i或--hardware-platform:输出硬件平台或"unknown";
-o或--operating-system:输出操作系统名称;
--help:显示帮助;
--version:显示版本信息。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
例:uname -a
10.df命令
作用:用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。
可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
语法:df [选项] [指定文件系统上的文件]
-T或--print-type:显示文件系统的类型;
-h或--human-readable:以K,M,G为单位,提高信息的可读性;
-a或--all:包含全部的文件系统;
--block-size=<区块大小>:以指定的区块大小来显示区块数目;
-H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;
-i或--inodes:显示inode的信息;
-k或--kilobytes:指定区块大小为1024字节;
-l或--local:仅显示本地端的文件系统;
-t<文件系统类型>或--type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
例:df -Th
三、目录文件相关命令
1.mkdir命令
作用:创建一个空白目录
语法:mkdir [选项] [目录名]
-m在创建新目录的同时设置目录权限,默认权限是755
-v,--verbose 每次创建目录都显示信息
-p:在创建新目录时,若创建目录的上层目录尚未建立,则会一并建立上层目录
- 1
- 2
- 3
例:mkdir {a,b}_{1,2}
2.touch命令
作用:修改文件的创建日期或以当前系统日期创建一个空文件
语法:touch file1 file2 …
例:touch a.txt
3.cp命令
作用:把一个或多个原文件复制到目标目录
语法:cp [选项] [原文件或目录] [目标文件或目录]
-f:强制复制,如果目标文件已经存在,不提示而覆盖
-i:覆盖已有文件之前先询问用户
-p:把原文件修改时间和访问权限也复制到新文件中
-r:若原文件是一个目录,将递归复制该目录下所有的子目录和文件,此时目标文件必须为一个目录名
- 1
- 2
- 3
- 4
例:cp -r /etc /root/test/etc_bak
4.mv命令
作用:将文件重命名或将文件由一个目标移动到另一个目录中
语法:mv [选项] [原文件或目录] [目标文件或目录]
-f:如果目标文件已经存在,不提示而覆盖
-i:如果目标文件已经存在,提示是否覆盖
例:mv /tmp/etc_bak/ /root/test/etc_bak1
5.rm命令
作用:删除一个目录中的一个或多个文件或目录
语法:rm [选项] [文件或目录名]
-f 强制删除,不需确认地删除多个文件,可带通配符
-r 将参数中列出的全部目录和子目录均递归地删除
-i 交互式删除,需用户再次确认删除
- 1
- 2
- 3
- 4
- 5
例:rm -rf /root/test/*
6.which 命令
作用:显示应用程序文件的位置;通过PATH环境变量查找可执行文件
语法:which [文件名]
例:which mkdir
7.whereis命令
作用:显示指定命令或文件的帮助信息;通过文件环境变量查找,比which范围大一些
语法:whereis [文件名]
例:whereis mkdir
8.du命令
作用:也是查看使用空间的,但是与df命令不同的是:
df命令用于显示磁盘分区上的可使用的磁盘空间,而du命令是对文件和目录磁盘使用的空间的查看。
语法:du [选项] [文件名]
-s或--summarize 仅显示总计,只列出最后加总的值;
-h或--human-readable 以K,M,G为单位,提高信息的可读性;
-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位;
-a或-all 显示目录中个别文件的大小;
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-k或--kilobytes 以KB(1024bytes)为单位输出。
-m或--megabytes 以MB为单位输出。
-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
--exclude=<目录或文件> 略过指定的目录或文件。
-D或--dereference-args 显示指定符号链接的源文件大小。
-l或--count-links 重复计算硬件链接的文件。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
例:
<1>.显示指定文件所占空间: du -h /etc/passwd
<2>.查看指定目录的所占空间: du -sh /etc/
<3>.显示多个文件或目录所占空间: du -h /etc/passwd /etc/fstab
<4>.只显示总和的大小: du -sh /etc/
四、进程和作业管理命令
1.w命令
作用:用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。
执行这个命令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w命令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。
语法:w [选项] [用户名]
-h:不打印头信息;
-u:当显示当前进程和cpu时间时忽略用户名;
-s:使用短输出格式;
-f:显示用户从哪登录;
- 1
- 2
- 3
- 4
例:w
2.ps命令
作用:用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。
ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。
语法:ps [选项]
-a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
a:显示现行终端机下的所有程序,包括其他用户的程序。
-A:显示所有程序。
-c:显示CLS和PRI栏位。
c:列出程序时,显示每个程序真正的指令名称,而不包含路径,选项或常驻服务的标示。
-C<指令名称>:指定执行指令的名称,并列出该指令的程序的状况。
-d:显示所有程序,但不包括阶段作业领导者的程序。
e:列出程序时,显示每个程序所使用的环境变量。
-f:显示UID,PPIP,C与STIME栏位。
f:用ASCII字符显示树状结构,表达程序间的相互关系。
g:显示现行终端机下的所有程序,包括群组领导者的程序。
-G<群组识别码>:列出属于该群组的程序的状况,也可使用群组名称来指定。
-H:显示树状结构,表示程序间的相互关系。
-j或j:采用工作控制的格式显示程序状况。
-l或l:采用详细的格式来显示程序状况。
L:列出栏位的相关信息。
-m或m:显示所有的执行绪。
n:以数字来表示USER和WCHAN栏位。
-N:显示所有的程序,除了执行ps指令终端机下的程序之外。
-p<程序识别码>:指定程序识别码,并列出该程序的状况。
r:只列出现行终端机正在执行中的程序。
-s<阶段作业>:指定阶段作业的程序识别码,并列出隶属该阶段作业的程序的状况。
s:采用程序信号的格式显示程序状况。
S:列出程序时,包括已中断的子程序资料。
-t<终端机编号>:指定终端机编号,并列出属于该终端机的程序的状况。
-T:显示现行终端机下的所有程序。
u:以用户为主的格式来显示程序状况。
-U<用户识别码>:列出属于该用户的程序的状况,也可使用用户名称来指定。
U<用户名称>:列出属于该用户的程序的状况。
v:采用虚拟内存的格式显示程序状况。
x:显示所有程序,不以终端机来区分。
X:采用旧式的Linux i386登陆格式显示程序状况。
-y:配合选项"-l"使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位
--cols<每列字符数>:设置每列的最大字符数。
--info:显示排错信息。
--lines<显示列数>:设置显示画面的列数。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
例:ps的选项多的离谱!但平时用到的不多:ps
3.pstree命令
作用:以树状图的方式展现进程之间的派生关系,显示效果比较直观
语法:pstree [选项]
-a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示;
-c:不使用精简标示法;
-G:使用VT100终端机的列绘图字符;
-h:列出树状图时,特别标明现在执行的程序;
-H<程序识别码>:此参数的效果和指定"-h"参数类似,但特别标明指定的程序;
-l:采用长列格式显示树状图;
-n:用程序识别码排序。预设是以程序名称来排序;
-p:显示程序识别码;
-u:显示用户名称;
-U:使用UTF-8列绘图字符;
例:pstree
4.pidof命令
作用:用于查找指定名称的进程的进程号id号
语法:pidof [选项] [进程名称]
-s:仅返回一个进程号;
-c:仅显示具有相同“root”目录的进程;
-x:显示由脚本开启的进程;
-o:指定不显示的进程ID。
- 1
- 2
- 3
- 4
例:pidof systemd
5.top命令
作用:实时动态地查看系统的整体运行情况。
是一个综合了多方信息监测系统性能和运行信息的实用工具,通过top命令所提供的互动式界面,用热键可以管理。
语法:top [选项]
-b:以批处理模式操作;
-c:显示完整的治命令;
-d:屏幕刷新间隔时间;
-I:忽略失效过程;
-s:保密模式;
-S:累积模式;
-i<时间>:设置间隔时间;
-u<用户名>:指定用户名;
-p<进程号>:指定进程;
-n<次数>:循环显示的次数。
top交互命令
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽:
h:显示帮助画面,给出一些简短的命令总结说明;
k:终止一个进程;
i:忽略闲置和僵死进程,这是一个开关式命令;
q:退出程序;
r:重新安排一个进程的优先级别;
S:切换到累计模式;
s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
f或者F:从当前显示中添加或者删除项目;
o或者O:改变显示项目的顺序;
l:切换显示平均负载和启动时间信息;
m:切换显示内存信息;
t:切换显示进程和CPU状态信息;
c:切换显示命令名称和完整命令行;
M:根据驻留内存大小进行排序;
P:根据CPU使用百分比大小进行排序;
T:根据时间/累计时间进行排序;
w:将当前设置写入~/.toprc文件中。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
例:top
6.kill命令
作用:用来删除执行中的程序或工作。
kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或job指令查看。
语法:kill [选项] [进程或作业识别号PID ]
a:当处理当前进程时,不限制命令名和进程号的对应关系;
-l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称;
-p:指定kill 命令只打印相关进程的进程号,而不发送任何信号;
-s <信息名称或编号>:指定要送出的信息;
-u:指定用户。
- 1
- 2
- 3
- 4
- 5
只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略,下面是常用的信号:
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
例:kill -9 1240