Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30691
  • 博文数量: 17
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 186
  • 用 户 组: 普通用户
  • 注册时间: 2023-06-22 08:56
文章分类

全部博文(17)

文章存档

2023年(17)

我的朋友

分类: LINUX

2023-06-22 09:32:15

10.Linux开关机及系统进程命令;Linux系统服务管理与启停
01.Linux系统启动流程
02.关于Linux开机与关机?
03.Linux如何关闭与重启?
04.Linux系统关机常用命令?
05.Linux系统重启常用命令?
06.系统信息与进程类命令
07.涉及到的命令操作演示
    
 
笔记:


01.Linux系统启动流程
1)开机BIOS自检,加载硬盘。
2)读取MBR,进行MBR引导。
3)grub引导菜单(Boot Loader)。
4)加载内核kernel。
5)启动init进程,依据inittab文件设定运行级别
6)init进程,执行rc.sysinit文件。
7)启动内核模块,执行不同级别的脚本程序。
8)执行/etc/rc.d/rc.local
9)启动mingetty,进入系统登陆界面。


总结:开机BIOS自检 -> 读取MBR -> 引导加载程序grub -> 加载内核kernel -> 初始化进程init process -> 用户登录login




02.关于Linux开机与关机?
关于开机与关机?       定义系统的状态,在不同的状态下提供不同的应用(参考/etc/inittab)。
RUNLEVEL 级别      ACTION 说明
0                            系统关机
1                            单用户模式
2                            本地多用户模式(无法使用远程网络)
3                            网络多用户模式          
4                            系统保留未定义
5                            带图形界面的网络多用户模式
6                            系统重启


init 0???????立刻关机
init 6???????立刻重启


03.Linux如何关闭与重启?
Linux是一个多用户多任务的系统,关机时,需要注意以下事项:
观察系统的使用状态,如谁在线,在线的用户在干什么(w)
通知在线使用者关机的相关信息(可选)(wall,write)
使用{BANNED}最佳安全的关机方式(执行关机命令前执行sync将内存数据写入硬盘)


Linux系统安全关机过程:
执行sync命令将内存数据写入硬盘
关机命令下发,通知用户关机
停止系统的所有进程
卸载系统挂载的设备








04.Linux系统关机常用命令?
halt               立刻关机
poweroff       立刻关机
shutdown -h now     立刻关机(root用户)
shutdown -h 10        10分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消关机、也可以取消重启。








05.Linux系统重启常用命令?
reboot    立刻重启
shutdown -r now  立刻重启(root用户使用)
shutdown -r 10    过10分钟自动重启(root用户使用)
shutdown -r 20:35    在时间为20:35时候重启(root用户使用)
如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启








 
06.系统信息与进程类命令(查看命令的实例:Linux命令大全(手册) – 真正好用的Linux命令在线查询网站 (linuxcool.com)


man命令 – 查看帮助信息
1、查看指定命令的帮助信息:  [root@linuxcool ~]# man ls


2、查看指定配置文件的帮助信息:[root@linuxcool ~]# man 5 passwd


(如果即有passwd命令,又有/etc/passwd文件,则需要手动指定帮助信息的编号。编号规则:普通命令为1,函数为2,库文件为3,设备为4,配置文件为5,游戏为6,宏文件为7,系统命令为8,内核程序为9,TK指令为10。)


3、找到某个命令的帮助信息的存储位置:[root@linuxcool ~]# man -w ls


/usr/share/man/man1/ls.1.gz


4、找到某个配置文件的帮助信息的存储位置:[root@linuxcool ~]# man -w 5 passwd


/usr/share/man/man5/passwd.5.gz






su 命令 – 切换用户身份。
eg:  变更至指定用户身份:????????[root@linuxcool ~]# su linuxcool
       完全变更至指定用户身份: [root@linuxcool ~]# su - linuxcool  


who命令 – 查看当前登录用户信息。 
eg:查看当前全部的登录全部用户信息:  [root@linuxcool ~]# who -H -a


w命令 – 显示已登录用户。 
eg: 1、 显示目前登入系统的用户信息:[root@linuxcool ~]# w


2、不打印头信息:                         [root@linuxcool ~]# w -h


3、显示用户从哪登录:                  [root@linuxcool ~]# w -f


4、使用短输出格式:                     [root@linuxcool ~]# w -s




last命令 – 显示用户或终端的登录情况。 
eg: 1、显示近期用户或终端的登录情况:[root@linuxcool ~]# last
      2、简略显示,并指定显示的个数:    [root@linuxcool ~]# last -n 5 -R


      3、显示{BANNED}最佳后一列显示主机IP地址:    [root@linuxcool ~]# last -n 5 -a -i






date命令 – 显示或设置系统日期与时间。 
eg: 1、以默认格式输出系统当前的日期与时间信息:[root@linuxcool ~]# date
Thu May 11 09:14:35 CST 2022


2、按照“年-月-日”的指定格式输出系统当前的日期信息:[root@linuxcool ~]# date "+%Y-%m-%d"


2022-05-11


3、按照“小时:分钟:秒”的指定格式输出系统当前的时间信息:[root@linuxcool ~]# date "%H:%M:%S"  //语法好像不对 date "+%H:%M:%S"


09:14:35


4、设置当前系统为指定的日期和时间:[root@linuxcool ~]# date -s "20221101 8:30:00"


Sun Nov 1 08:30:00 CST 2022






uname命令 – 显示系统内核信息。
eg: 1、显示系统内核名称:[root@linuxcool ~]# uname
Linux


2、显示系统所有相关信息(含内核名称、主机名、版本号及硬件架构):[root@linuxcool ~]# uname -a


Linux linuxcool.com 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux


3、显示系统内核版本号:[root@linuxcool ~]# uname -r


4.18.0-80.el8.x86_64


4、显示系统硬件架构:[root@linuxcool ~]# uname -i


x86_64






reboot    重启计算机,如 reboot;shutdown -r now 停止服务后重启。
 
poweroff     关闭计算机。
shutdown  -h 0    关闭计算机,如 shutdown -h now  表示停止服务后再关闭。


free命令 – 显示系统内存使用量情况。
eg: 1、以默认的容量单位显示内存使用量信息:[root@linuxcool ~]# free
             total        used        free      shared  buff/cache   available


Mem:        2013304     1372796       87432       17620      553076      444040


Swap:       2097148        1804     2095344


2、以MB位单位显示内存使用量信息:[root@linuxcool ~]# free -m


             total        used        free      shared  buff/cache   available


Mem:           1966        1342         123          14         499         434


Swap:          2047           9        2038


3、以易读的单位显示内存使用量信息:[root@linuxcool ~]# free -h


             total        used        free      shared  buff/cache   available


Mem:          1.9Gi       1.3Gi       120Mi        14Mi       500Mi       431Mi


Swap:         2.0Gi       9.0Mi       2.0Gi


4、以易读的单位显示内存使用量信息,每个10秒刷新一次:[root@linuxcool ~]# free -hs 10


             total        used        free      shared  buff/cache   available


Mem:          1.9Gi       1.3Gi       119Mi        14Mi       500Mi       430Mi


Swap:         2.0Gi       9.0Mi       2.0Gi


             total        used        free      shared  buff/cache   available


Mem:          1.9Gi       1.3Gi       119Mi        14Mi       500Mi       430Mi


Swap:         2.0Gi       9.0Mi       2.0Gi






ps命令 – 显示进程状态。
eg: 1、显示系统中全部的进程信息,含详细信息:[root@linuxcool ~]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND


root          2  0.0  0.0      0     0 ?        S    20:05   0:00 [kthreadd]


root          3  0.0  0.0      0     0 ?        I<   20:05   0:00 [rcu_gp]


root          4  0.0  0.0      0     0 ?        I<   20:05   0:00 [rcu_par_gp]


………………省略部分输出信息………………


2、 结合输出重定向,将当前进程信息保留备份至指定文件:[root@linuxcool ~]# ps aux > backup.txt
3、 结合管道操作符,将当前系统运行状态中指定进程信息过滤出来:[root@linuxcool ~]# ps -ef | grep ssh
………………省略输出信息………………


4、 结合管道操作符,将当前系统运行状态中指定用户的进程信息过滤出来:[root@linuxcool ~]# ps -u root
  PID TTY          TIME CMD


    1 ?        00:00:01 systemd


    2 ?        00:00:00 kthreadd


    3 ?        00:00:00 rcu_gp


    4 ?        00:00:00 rcu_par_gp


………………省略部分输出信息………………


5、 结合管道操作符与sort命令,依据处理器使用量(第三列)情况降序排序:[root@linuxcool ~]# ps aux | sort -rnk 3
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND


root       2341  0.4  8.1 4504040 164896 tty2   Sl+  20:05   0:24 /usr/bin/gnome-shell


root       4534  0.3  0.4 220064  8520 ?        Ssl  21:37   0:00 /usr/libexec/nm-dispatcher


gdm        1541  0.1  7.3 4211428 147400 tty1   Sl+  20:05   0:06 /usr/bin/gnome-shell


………………省略部分输出信息………………


6、 结合管道操作符与sort命令,依据内存使用量(第四列)情况降序排序:[root@linuxcool ~]# ps aux | sort -rnk 4
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND


root       2341  0.4  8.1 4503976 164828 tty2   Sl+  20:05   0:27 /usr/bin/gnome-shell


gdm        1541  0.1  7.3 4211428 147556 tty1   Sl+  20:05   0:08 /usr/bin/gnome-shell


root       2661  0.0  3.1 1271636 63004 tty2    Sl+  20:05   0:01 /usr/bin/gnome-software --gapplication-service


………………省略部分输出信息………………








uptime命令 – 查看系统负载。
eg: 1、显示当前系统运行负载情况:[root@linuxcool ~]# uptime
15:23:22 up 2 days,  5:13,  3 users,  load average: 0.12, 0.04, 0.05


2、使用-p参数显示机器正常运行的时间:[root@linuxcool ~]# uptime -p


up 2 days, 5 hours, 15 minutes


3、使用-s参数显示机器启动时间:[root@linuxcool ~]# uptime -s


2019-05-09 10:09:43






top命令 – 实时显示系统运行状态。 
eg: 1、 以默认格式显示系统运行信息:[root@linuxcool ~]# top
top - 02:48:56 up 20 min,  1 user,  load average: 0.00, 0.00, 0.04          


 2848 root      20   0  177712  28820   7700 S   6.2   1.4   0:01.31 sssd_kcm                  


    1 root      20   0  244748  14180   9052 S   0.0   0.7   0:01.10 systemd                    


    2 root      20   0       0      0      0 S   0.0   0.0   0:00.01 kthreadd  


………………省略部分输出信息………………


2、以默认格式显示系统运行信息,但提供完整的进程路径及名称:[root@linuxcool ~]# top -c    


3、以批处理模式显示程序信息:[root@linuxcool ~]# top -b


4、设定每隔5秒刷新一次信息:[root@linuxcool ~]# top -d 5


5、设定总显示次数为3回,随后自动退出命令:[root@linuxcool ~]# top -n 5








kill命令 – 杀死进程。
eg: 1、列出系统支持的全部信号列表:[root@linuxcool ~]# kill -l
1) SIGHUP     2) SIGINT     3) SIGQUIT     4) SIGILL     5) SIGTRAP


6) SIGABRT     7) SIGBUS     8) SIGFPE     9) SIGKILL    10) SIGUSR1


………………省略部分输出信息………………


2、结束某个指定的进程(数字为对应的PID值):[root@linuxcool ~]# kill 1518


3、强制结束某个指定的进程(数字为对应的PID值):[root@linuxcool ~]# kill -9 1518






vmstat命令 – 显示虚拟内存状态。 
eg: 1、显示活动内页:[root@linuxcool ~]# vmstat -a
2、显示启动后创建的进程总数:[root@linuxcool ~]# vmstat -f


3、显示slab信息:[root@linuxcool ~]# vmstat -m


4、头信息仅显示一次:[root@linuxcool ~]# vmstat -n


5、以表格方式显示事件计数器和内存状态:[root@linuxcool ~]# vmstat -s


6、显示指定的硬盘分区状态:[root@linuxcool ~]# vmstat -p /dev/sda1


7、指定状态信息刷新的时间间隔为1秒:[root@linuxcool ~]# vmstat 1






nohup命令 – 后端运行程序。 
eg: 1、以后端模式运行指定脚本程序:  [root@linuxcool ~]# nohup linux.sh &
2、以后端模式执行指定命令,并将输出结果写入到文件:  [root@linuxcool ~]# nohup uptime &> system.txt




jods     查看被挂起和后台运行的进程。 eg: 
Ctrl+Z  进程挂起
Ctrl+C  进程终止
fg   进程恢复到前台继续执行 
bg   进程恢复到后台继续执行






info    与man没有太大的区别。
whatis   获取相关文件简短的信息。




locate命令 – 快速查找文件或目录。 
eg:   1、搜索带有指定关键词的文件:  [root@linuxcool ~]# locate network
/dev/network_latency


/dev/network_throughput


/etc/networks


………………省略部分输出信息………………


2、在指定的目录下,搜索带有指定关键词的文件:  [root@linuxcool ~]# locate /etc/network


/etc/networks












which命令 – 查找命令文件。
eg:  1、查找某个指定命令文件所在位置:[root@linuxcool ~]# which reboot
/usr/sbin/reboot


2、查找多个指定命令文件所在位置:[root@linuxcool ~]# which shutdown poweroff


/usr/sbin/shutdown


/usr/sbin/poweroff






find命令 – 根据路径和条件搜索指定文件。 
eg:   1、全盘搜索系统中所有以.conf结尾的文件:  [root@linuxcool ~]# find / -name *.conf
/run/tmpfiles.d/kmod.conf


/etc/resolv.conf


/etc/dnf/dnf.conf


/etc/dnf/plugins/copr.conf


/etc/dnf/plugins/debuginfo-install.conf


………………省略部分输出信息………………


2、在/etc目录中搜索所有大约1M大小的文件:[root@linuxcool ~]# find /etc -size +1M


/etc/selinux/targeted/policy/policy.31


/etc/udev/hwdb.bin


3、在/home目录中搜索所有属于指定用户的文件:[root@linuxcool ~]# find /home -user linuxprobe


/home/linuxprobe


/home/linuxprobe/.mozilla


/home/linuxprobe/.mozilla/extensions


………………省略部分输出信息………………


4、列出当前工作目录中的所有文件、目录以及子文件信息:[root@linuxcool ~]# find .


.


./.bash_logout


./.bash_profile


………………省略部分输出信息………………


5、在/var/log目录下搜索所有指定后缀的文件,后缀不需要大小写。[root@linuxcool ~]# find /var/log -iname "*.log"


/var/log/audit/audit.log


/var/log/rhsm/rhsmcertd.log


/var/log/rhsm/rhsm.log


………………省略部分输出信息………………


6、在/var/log目录下搜索所有后缀不是.log的文件:[root@linuxcool ~]# find /var/log ! -name "*.log"


/var/log


/var/log/lastlog


/var/log/README


7、搜索当前工作目录中的所有近7天被修改过的文件:[root@linuxcool ~]# find . -mtime +7


./.bash_logout


./.bash_profile


………………省略部分输出信息………………


8、全盘搜索系统中所有类型为目录,且权限为1777的目录文件:[root@linuxcool ~]# find / -type d -perm 1777


/dev/mqueue


/dev/shm


………………省略部分输出信息………………


9、全盘搜索系统中所有类型为普通文件,且可以执行的文件信息:[root@linuxcool ~]# find / -type f -perm /a=x


/boot/vmlinuz-4.18.0-80.el8.x86_64


/boot/vmlinuz-0-rescue-c8b04558503242459d908c6c22a2d481


/etc/X11/xinit/xinitrc.d/50-systemd-user.sh


………………省略部分输出信息………………


10、全盘搜索系统中所有后缀为.mp4的文件,并删除所有查找到的文件:[root@linuxcool ~]# find / -name "*.mp4" -exec rm -rf {} ;








grep命令 – 强大的文本搜索工具。 
eg: 1、搜索某个文件中,包含某个关键词的内容:[root@linuxcool ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash


operator:x:11:0:operator:/root:/sbin/nologin


2、搜索某个文件中,以某个关键词开头的内容:[root@linuxcool ~]# grep ^root /etc/passwd


root:x:0:0:root:/root:/bin/bash


3、搜索多个文件中,包含某个关键词的内容:[root@linuxcool ~]# grep linuxprobe /etc/passwd /etc/shadow


/etc/passwd:linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash


/etc/shadow:linuxprobe:$6$9Av/41hCM17T2PrT$hoggWJ3J/j6IqEOSp62elhdOYPLhQ1qDho7hANcm5fQkPCQdib8KCWGdvxbRvDmqyOarKpWGxd8NAmp3j2Ln00::0:99999:7:::


4、搜索多个文件中,包含某个关键词的内容,不显示文件名称:[root@linuxcool ~]# grep -h linuxprobe /etc/passwd /etc/shadow


linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash


linuxprobe:$6$9Av/41hCM17T2PrT$hoggWJ3J/j6IqEOSp62elhdOYPLhQ1qDho7hANcm5fQkPCQdib8KCWGdvxbRvDmqyOarKpWGxd8NAmp3j2Ln00::0:99999:7:::


5、输出在某个文件中,包含某个关键词行的数量:[root@linuxcool ~]# grep -c root /etc/passwd /etc/shadow


/etc/passwd:2


/etc/shadow:1


6、搜索某个文件中,包含某个关键词位置的行号及内容:[root@linuxcool ~]# grep -n network anaconda-ks.cfg


17:network  --bootproto=static --device=ens160 --ip=192.168.10.10 --netmask=255.255.255.0 --onboot=off --ipv6=auto --activate


18:network  --hostname=linuxcool.com


7、搜索某个文件中,不包含某个关键词的内容:[root@linuxcool ~]# grep -v nologin /etc/passwd


root:x:0:0:root:/root:/bin/bash


sync:x:5:0:sync:/sbin:/bin/sync


shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown


halt:x:7:0:halt:/sbin:/sbin/halt


linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash


8、搜索当前工作目录中,包含某个关键词内容的文件,未找到则提示:[root@linuxcool ~]# grep -l root *


anaconda-ks.cfg


grep: Desktop: Is a directory


grep: Documents: Is a directory


grep: Downloads: Is a directory


initial-setup-ks.cfg


9、搜索当前工作目录中,包含某个关键词内容的文件,未找到不提示:[root@linuxcool ~]# grep -sl root *


anaconda-ks.cfg


initial-setup-ks.cfg


10、递归搜索,不仅搜索指定目录,还搜索其内子目录内是否有关键词文件:[root@linuxcool ~]# grep -srl root /etc


/etc/fstab


/etc/X11/xinit/Xclients


/etc/X11/xinit/xinitrc


/etc/libreport/events.d/collect_dnf.conf


………………省略部分输出信息………………


11、搜索某个文件中,精准匹配到某个关键词的内容(搜索词应与整行内容完全一样才会显示,有别于一般搜索):


[root@linuxcool ~]# grep -x cd anaconda-ks.cfg


[root@linuxcool ~]# grep -x cdrom anaconda-ks.cfg


cdrom


12、判断某个文件中,是否包含某个关键词,通过返回状态值输出结果(0为包含,1为不包含),方便在Shell脚本中判断和调用:


[root@linuxcool ~]# grep -q linuxprobe anaconda-ks.cfg


[root@linuxcool ~]# echo $?


0


[root@linuxcool ~]# grep -q linuxcool anaconda-ks.cfg


[root@linuxcool ~]# echo $?


1


13、搜索某个文件中,空行的数量:[root@linuxcool ~]# grep -c ^$ anaconda-ks.cfg


6




help命令 – 显示帮助信息。 
eg:   1、以默认格式显示指定命令的帮助信息:[root@linuxcool ~]# help cd
cd: cd [-L|[-P [-e]] [-@]] [dir]


   Change the shell working directory.


   


   Change the current directory to DIR.  The default DIR is the value of the


   HOME shell variable.


………………省略部分输出信息………………


2、以短格式显示指定命令的帮助信息:[root@linuxcool ~]# help -s cd


cd: cd [-L|[-P [-e]] [-@]] [dir]


3、以简短格式显示指定命令的帮助信息:[root@linuxcool ~]# help -d cd


cd - Change the shell working directory.


















07.涉及到的命令操作演示
1)Linux开关机
关机命令:
halt
poweroff
shutdown -h 0
shutdown -h 10
shutdown -h now




重启命令:
reboot
shutdown -r now
shutdown -r 10
shutdown -r 20:00






2)进程管理命令
w     显示用户信息
w oracle   查看oracle用户的操作记录
useradd oracle    添加一个oracle用户
passwd  oracle    给oracle用户设置密码为oracle


ps -aus   列出所有内存中的程序
ps -aus  --sort time   列出所有内存中的程序,按时间排序(--sort time)




内存中程序的状态:
S  睡眠
R  运行
I
Z  僵死进程
D
T
P


ps -A    显示所有的进程
ps -u root |more   查看某个用户的进程
ps -ef |grep ssh     查找ssh的进程(常用命令)




ps -aus --sort=-pcpu,+pmem          根据CPU和内存进行排序(-p降序,+p升序)


ps -aux --sort=-pmem |head -5   列出所有内存中的进程,按内存排序显示头5行


kill 杀进程
ps -ef|grep top    查看内存中top进程id,id: 1890
kill -9 1890    杀进程 top的父进程 
cat 1.log 查看1.log的内容 (more 1.log)


tail -100f 1.log  实时显示1.log的前100行


ctrl+Z    挂起进程,后台运行,jobs  查看挂起的进程;如果需要前台显示,fg 1;多个进程的话使用fg+编号,如果要在后台显示的,bg 1


ctrl+C    终止进程


top   性能分析




08.Linux系统服务管理与启停
RHEL/OEL 7.x之前,service命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等。


chkconfig用于查看、设置服务的运行级别。
ntsysv用于直观方便的设置各个服务是否自动启动。


service命令本身是一个shell脚本,它在/etc/init.d目录查找指定的服务脚本,然后调用该服务脚本老完成任务


RHEL/OEL 7.x之后
systemctl是新的系统服务管理命令,该命令是用来替代service和chkconfig两个命令的。
systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。
说明:
启用服务就是在当前“runlevel”的配置文件目录/etc/systemd/system/multi-user.target.wants/里,建立/usr/lib/systemd/sysytem里面对应服务配置文件的软链接;禁用服务就是删除此软链接。


Linux系统服务管理与启停
         任务                             旧指令                                                    新指令
使某服务自动启动              chkconfig --level 3 httpd on                     systemctl enable httpd.service
使某服务不自动启动          chkconfig  --level 3 httpd off                    systemctl disable httpd.service
检查服务状态                    service httpd status                                   systemctl status httpd.service(服务详细信息)
                                                                                                         systemctl is-active httpd.service(仅显示是否Active)
加入自定义服务                 chkconfig --add test                                 systemctl load test.service
删除服务                           chkconfig --del test                                  停掉应用,删除相应的配置文件
显示所有已启动的服务       chkconfig --list                                          systemctl list-units --type=service 
启动某服务                       service httpd start                                      systemctl start httpd.service
停止某服务                       service httpd stop                                      systemctl stop httpd.service
重启某服务                       service httpd restart                                   systemctl restart httpd.service






阅读(480) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~