循序渐进教你学运维-基础命令篇-mv

关机 重启 注销和查看系统信息的命令(6个命令)

  • shutdown命令

shutdown命令:用来系统关机命令。shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。

参数:

-c 当执行“shutdown -h 11:50”指令时,只要按+键就可以中断关机的指令
-f 重新启动时不执行fsck
-F 重新启动时执行fsck
-h 将系统关机
-k 只是送出信息给所有用户,但不会实际关机
-n 不调用init程序进行关机,而由shutdown自己进行
-r shutdown之后重新启动
-t<秒数> 送出警告信息和删除信息之间要延迟多少秒

例子:

#指定现在立即关机:
shutdown -h now
 
#指定5分钟后关机,同时送出警告信息给登入用户:
shutdown +5 "System will shutdown after 5 minutes"
  • halt命令

halt命令:用来关闭正在运行的Linux操作系统。halt命令会先检测系统的runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统。

参数:

-d 不要在wtmp中记录
-f 不论目前的runlevel为何,不调用shutdown即强制关闭系统
-i 在halt之前,关闭全部的网络界面
-n halt前,不用先执行sync
-p halt之后,执行poweroff
-w 仅在wtmp中记录,而不实际结束系统
  • poweroff命令

poweroff命令:用来关闭计算机操作系统并且切断系统电源。

参数:

-n 关闭操作系统时不执行sync操作
-w 不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中
-d 关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录
-f 强制关闭操作系统
-i 关闭操作系统之前关闭所有的网络接口
-h 关闭操作系统之前将系统中所有的硬件设置为备用模式
  • logout命令

logout命令:用于退出当前登录的Shell,logout指令让用户退出系统,其功能和login指令相互对应。

  • exit命令

exit命令:同于退出shell,并返回给定值。

在shell脚本中可以终止当前脚本执行。执行exit可使shell以指定的状态值退出。若不设置状态值参数,则shell以预设值退出。状态值0代表执行成功,其他值代表执行失败。

例子:

# 设置exit返回值为2
[root@xxx ~]# vim 1
[root@xxx ~]# cat 1
exit 2
 
# 运行结束状态值为2
[root@xxx ~]# chmod u+x 1
[root@xxx ~]# bash 1
[root@xxx ~]# echo $?
2
  • ctrl+d

ctrl+d: 退出当前登录的 Shell 的快捷键。

内置命令及其他(19个)

  • cd … :回退到上一层目录
  • help:显示所有内置命令列表,或者显示一个具体命令的用法(如下图所示就是执行help命令之后显示的我的系统下的所有内置命令)
  • echo:用来显示显示一行文字,默认自动换行
  • printf :显格式字符串,格式:printf “格式字符串” 参数
  • history:查看以往使用的所有命令
  • :(冒号命令):空操作
  • . 或者source :后面加上./shell脚本表示可直接执行shell脚本
  • exit:退出当前进程
  • set:列出所有的变量和函数的内容
  • read:从标准输入读取一行数据
  • time:打印设置命令执行的real user sys 时间
  • exec:该命令后面直接跟命令或者程序,执行后即取代了原来的shell执行环境,也就是执行重定向生效例如:exec < +文件名表示所有的由标准输入读入的数据的操作都将更改为由文件读入
  • bg :把作业放到后台
  • bind:显示当前的套接字与函数的绑定情况
  • enable:启用或者禁用shell内置命令
  • dirs :显示当前记录的目录
  • export:设置环境变量
  • kill [-signal process] :想由PID 号或作业号指定的进程发送信号,输入kill -l信号列表
  • test:检查文件类型,并计算条件表达式

查看系统用户登陆信息的命令(7个)

  • whoami:显示当前有效的用户名称,相当于执行id -un命令

命 令:id
功能说明:查看显示目前登陆账户的uid和gid及所属分组及用户名
语  法:id [-gGnru][–help][–version][用户名称]
补充说明:id会显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。若仅指定用户名称,则显示目前用户的ID,这个命令在溢出时经常用到,查看是不是溢出root成功,执行一下id命令,显示uid=0,则成功了。
参  数:

-g或–group 显示用户所属群组的ID
-G或–groups 显示用户所属附加群组的ID
-n或–name 显示用户,所属群组或附加群组的名称
-r或–real 显示实际ID
-u或–user 显示用户ID
-help 显示帮助
-version 显示版本信息
  • who:显示目前登录系统的用户信息

who命令是显示目前登录系统的用户信息。执行who命令可得知目前有那些用户登入系统,单独执行who命令会列出登入帐号,使用的终端机,登入时间以及从何处登入或正在使用哪个X显示器。
语法:who(选项)(参数)
选  项:

-H或–heading 显示各栏位的标题信息列
-i或-u或–idle 显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串
-m 此参数的效果和指定"am i"字符串相同
-q或–count 只显示登入系统的帐号名称和总人数
-s 此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题
-w或-T或–mesg或–message或–writable 显示用户的信息状态栏
–help 在线帮助
–version 显示版本信息
  • w:显示已经登陆系统的用户列表,并显示用户正在执行的指令

w命令用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。执行这个命令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w命令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。

语法格式:w [参数]

常用参数:

-h/–no-header 不打印头信息
-u/–no-current 当显示当前进程和cpu时间时忽略用户名
-s/–short 使用短输出格式
-f/–from 显示用户从哪登录
-o/–old-style 老式输出
-i/–ip-addr 显示IP地址而不是主机名(如果可能)
–help 显示此帮助并退出
-V/–version 显示版本信息
  • last:显示登入系统的用户

作为Linux运维我们常常需要查看最近登录到系统的用户,此时我们可以使用last命令来查看。last命令用于显示用户最近登录信息。单独执行last命令,它会读取/var/log/wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。

语法:last(选项)(参数)
选项:

-a 把从何处登入系统的主机名称或ip地址,显示在最后一行
-d 将IP地址转换成主机名称
-f <记录文件> 指定记录文件
-n <显示列数>或-<显示列数> 设置列出名单的显示列数
-R 不显示登入系统的主机名称或IP地址
-x 显示系统关机,重新开机,以及执行等级的改变等信息

当我们直接执行last时,默认会取出在过去所有的登录信息,如需要取出最后指定的几条比如5条我们可以执行 last -5 命令即可;

命令输出
第一列 : 用户名
第二列:登录终端
第三列:登录IP
第四列:登录时间
第五列:退出时间(在线时间)

[root@xxoo ~]# last -5
root pts/2 192.168.199.226 Wed Oct 10 16:08 still logged in
root pts/1 192.168.199.226 Wed Oct 10 16:07 still logged in
root pts/0 192.168.199.226 Wed Oct 10 16:07 still logged in
root tty1 Wed Oct 10 16:06 still logged in
reboot system boot 3.10.0-862.11.6. Wed Oct 10 16:06 - 16:35 (00:29)
  • lastlog:显示系统中所有用户最近一次登录信息

lastlog文件在每次有用户登录时被查询。可以使用lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log/lastlog的内容。它根据UID排序显示登录名、端口号(tty)和上次登录时间。如果一个用户从未登录过,lastlog显示Never logged。注意需要以root身份运行该命令。

语法:lastlog(选项)

选项:

-b<天数> 显示指定天数前的登录信息
-h 显示召集令的帮助信息
-t<天数> 显示指定天数以来的登录信息
-u<用户名> 显示指定用户的最近登录信息
  • users:显示当前登录系统的所有用户的用户列表

users命令用于显示当前登录系统的所有用户的用户列表。每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示相同的次数。

语法:users(选项)
选项:

–help 显示命令的帮助信息
–version 显示命令的版本信息
  • finger:查找并显示用户信息

finger命令用于查找并显示用户信息。包括本地与远端主机的用户皆可,帐号名称没有大小写的差别。单独执行finger指令,它会显示本地主机现在所有的用户的登陆信息,包括帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话。

语法:finger(选项)(参数)
选项:

-l 列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,还有计划文件和方案文件内容
-m 排除查找用户的真实姓名
-s 列出该用户的帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话
-p 列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,但不显示该用户的计划文件和方案文件内容

进程管理相关命令(15个)

  • bg(back go):将后台的命令,放置后台(back)继续执行
  • fg(fore go):将后台的命令,放置前台(fore)继续执行
  • jobs(选项)(参数)
-p 仅任务对应的显示进程号;
-n 显示任务状态的变化;
-l 显示进程号;
-r 仅输出运行状态(running)的任务;
-s 仅输出停止状态(stoped)的任务;
jobs -l #显示当前系统的任务列表;
  • kill(选项)(进程号)
-l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-a 当处理当前进程时,不限制命令名和进程号的对应关系
-p 指定kill 命令只打印相关进程的进程号,而不发送任何信号
-s 指定发送信号
-u 指定用户
  • killall(参数)(进程名)
-Z 只杀死拥有scontext 的进程
-e 要求匹配进程名称
-I 忽略小写
-g 杀死进程组而不是进程
-i 交互模式,杀死进程前先询问用户
-l 列出所有的已知信号名称
-q 不输出警告信息
-s 发送指定的信号
-v 报告信号是否成功发送
-w 等待进程死亡
–help 显示帮助信息
–version 显示版本显示
  • pkill :pkill和killall 应用方法差不多,也是直接杀死运行中的程式;如果你想杀掉单个进程,请用kill 来杀掉。
    应用方法:#pkill 正在运行的程式名
  • crontab
-e 编辑用户的crontab
-l 列出用户的crontab的内容
-r 删除用户的crontab的内容
-u<用户名称> 指定要设定计时器的用户名称
  • ps
-A 所有的 process 均显示出来,与 -e 具有同样的效用
-a 不与 terminal 有关的所有 process
-u 有效使用者 (effective user) 相关的 process
-x 通常与 -a 这个参数一起使用,可列出较完整信息
-l 较长、较详细的将该 PID 的的信息列出
-j 工作的格式 (jobs format)
-f 做一个更为完整的输出
  • pstree
-a 显示每个程序的完整指令,包含路径,参数或是常驻服务的表示
-c 不使用精简表示法
-G 使用VT100终端机的列绘图字符
-h 列出树状图时,特别标明现在执行的程序
-l 采用长列格式显示树状图
-n 用程序识别码排序,预设是以程序名称来排序
-u 显示用户名称
-U 使用UTF-8列绘图字符
-V 显示版本信息
-p 显示程序识别码
  • nice/renice
nice nice [-n <优先等级>][–help][–version][执行指令]
-n <优先等级>或-<优先等级>或–adjustment=<优先等级>  设置欲执行的指令的优先权等级。等级的范围从-20-19,其中-20最高,19最低,只有系统管理者可以设置负数的等级
–help 在线帮助
–version 显示版本信息
renice renice [优先等级][-g <程序群组名称>…][-p <程序识别码>…][-u <用户名称>…]
-g <程序群组名称>  使用程序群组名称,修改所有隶属于该程序群组的程序的优先权
-p <程序识别码>  改变该程序的优先权等级,此参数为预设值
-u <用户名称>  指定用户名称,修改所有隶属于该用户的程序的优先权
  • nohup

nohup命令:如果你正在运行一个进程,而且希望退出账户时该进程不会结束,那么可以使用nohup命令,该命令可以在你退出账户/关闭终端之后继续运行相应的进程。

nohup就是不挂起的意思(no hang up)
一般在linux下nohup格式
nohup command 或者 nohup command &

  • pgrep
-a或 --text 不要忽略二进制的数据
-A<显示行数> 或 --after-context=<显示行数> 除了显示符合范本样式的那一列之外,并显示该行之后的内容
-b 或 --byte-offset 在显示符合样式的那一行之前,标示出该行第一个字符的编号
-B<显示行数> 或 --before-context=<显示行数> 除了显示符合样式的那一行之外,并显示该行之前的内容
-c 或 --count 计算符合样式的列数
-C<显示行数> 或 --context=<显示行数>或-<显示行数> 除了显示符合样式的那一行之外,并显示该行之前后的内容
-d <动作> 或 --directories=<动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作
-e<范本样式> 或 --regexp=<范本样式> 指定字符串做为查找文件内容的样式
-E 或 --extended-regexp 将样式为延伸的普通表示法来使用
-f<规则文件> 或 --file=<规则文件> 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式
-F 或 --fixed-regexp 将样式视为固定字符串的列表
G 或 --basic-regexp 将样式视为普通的表示法来使用
-h 或 --no-filename 在显示符合样式的那一行之前,不标示该行所属的文件名称
-H 或 --with-filename 在显示符合样式的那一行之前,表示该行所属的文件名称
-i 或 --ignore-case 忽略字符大小写的差别
-l 或 --file-with-matches 列出文件内容符合指定的样式的文件名称
-L 或 --files-without-match 列出文件内容不符合指定的样式的文件名称
-n 或 --line-number 在显示符合样式的那一行之前,标示出该行的列数编号
-q 或 --quiet或–silent 不显示任何信息
-r 或 --recursive 此参数的效果和指定"-d recurse"参数相同
-s 或 --no-messages 不显示错误信息
-v 或 --revert-match 显示不包含匹配文本的所有行
-V 或 --version 显示版本信息
-w 或 --word-regexp 只显示全字符合的列
-x --line-regexp 只显示全列符合的列
-y 此参数的效果和指定"-i"参数相同
  • runlevel
run level 0 系统停机状态,系统默认运行级别不能设为0,否则不能正常启动,关机
run level 1 单用户工作状态,root权限,用于系统维护,禁止远程登陆
run level 2 多用户状态(没有NFS)
run level 3 完全的多用户状态(有NFS),登陆后进入控制台命令行模式。纯命令行模式
run level 4 系统未使用,保留
run level 5 X11控制台,登陆后进入图形GUI模式。含有图形界面模式
run level 6 系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动,重启
  • init
init 0 停机(千万不能把initdefault 设置为0 )
init 1 单用户模式
init 2 多用户,没有 NFS 不联网
init 3 完全多用户模式(标准的运行级)
init 4 没有用到
init 5 X11 (xwindow) 图形化界面模式
init 6 重新启动 (千万不要把initdefault 设置为6 )
  • service:service命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等
service <服务名称> 打印指定服务的命令行使用帮助
service <服务名称> start 启动指定的系统服务
service <服务名称> stop 停止指定的系统服务
service <服务名称> restart 重新启动指定的系统服务,即先停止(stop),然后再启动(start)

系统管理与性能监视命令(9个)

chkconfig 管理Linux系统开机启动项
vmstat 虚拟内存统计
mpstat 显示各个可用CPU的状态统计
iostat 统计系统IO
sar 全面地获取系统的CPU、运行队列、磁盘 I/O、分页(交换区)、内存、 CPU中断和网络等性能数据
ipcs 用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息
ipcrm 用来删除一个或更多的消息队列、信号量集或者共享内存标识
strace 用于诊断、调试Linux用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等
ltrace 命令会跟踪进程的库函数调用,它会显现出哪个库函数被调用

chkconfig命令:检查、设置系统的各种服务。这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。

vmstat命令:显示虚拟内存状态(“Virtual Memory Statistics”),但是它可以报告关于进程、内存、I/O等系统整体运行状态。

mpstat命令:用于多CPU环境下,它显示各个可用CPU的状态系你想。这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息

iostat命令:用于监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

sar命令:Linux下系统运行状态统计工具,它将指定的操作系统状态计数器显示到标准输出设备。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。

ipcs命令:用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息。

ipcrm命令:用来删除一个或更多的消息队列、信号量集或者共享内存标识。

strace命令:一个集诊断、调试、统计与一体的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解应用工作过程的目的。当然strace与专业的调试工具比如说gdb之类的是没法相比的,因为它不是一个专业的调试器。

ltrace命令:用来跟踪进程调用库函数的情况。

发布了44 篇原创文章 · 获赞 20 · 访问量 1801

猜你喜欢

转载自blog.csdn.net/qq_45019159/article/details/104350006