第五章【Linux 常用命令之系统管理】
一、 系统管理
1、 查看当前日历:cal
cal命令用于查看当前日历,-y显示整年日历:
master@master-server:~/MasterData/HarmonyOSSharedDir$ cal
十一月 2021
日 一 二 三 四 五 六
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
master@master-server:~/MasterData/HarmonyOSSharedDir$
2、 显示或设置时间:date
设置时间格式(需要管理员权限):
date [MMDDhhmm[[CC]YY][.ss]] +format
CC为年前两位yy为年的后两位,前两位的mm为月,后两位的mm为分钟,dd为天,hh为小时,ss为秒。如: date 010203042016.55。
显示时间格式(date '+%y,%m,%d,%H,%M,%S'):
format格式 |
含义 |
%Y,%y |
年 |
%m |
月 |
%d |
日 |
%H |
时 |
%M |
分 |
%S |
秒 |
3、 查看进程信息:ps
进程是一个具有一定独立功能的程序,它是操作系统动态执行的基本单元。
ps命令可以查看进程的详细状况,常用选项(选项可以不加“-”)如下:
选项 |
含义 |
-a |
显示终端上的所有进程,包括其他用户的进程 |
-u |
显示进程的详细状态 |
-x |
显示没有控制终端的进程 |
-w |
显示加宽,以便显示更多的信息 |
-r |
只显示正在运行的进程 |
[master2@master2-server ~]$ ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.6 183860 11468 ? Ss Nov09 1:15 /usr/lib/systemd/systemd --switched-root --system --deserialize 17
root 2 0.0 0.0 0 0 ? S Nov09 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< Nov09 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< Nov09 0:00 [rcu_par_gp]
root 6 0.0 0.0 0 0 ? I< Nov09 0:00 [kworker/0:0H-events_highpri]
root 9 0.0 0.0 0 0 ? I< Nov09 0:00 [mm_percpu_wq]
root 10 0.0 0.0 0 0 ? S Nov09 0:56 [ksoftirqd/0]
root 11 0.0 0.0 0 0 ? R Nov09 0:12 [rcu_sched]
root 12 0.0 0.0 0 0 ? S Nov09 0:00 [migration/0]
root 13 0.0 0.0 0 0 ? S Nov09 0:00 [watchdog/0]
root 14 0.0 0.0 0 0 ? S Nov09 0:00 [cpuhp/0]
root 16 0.0 0.0 0 0 ? S Nov09 0:00 [kdevtmpfs]
root 17 0.0 0.0 0 0 ? I< Nov09 0:00 [netns]
root 18 0.0 0.0 0 0 ? S Nov09 0:00 [kauditd]
root 19 0.0 0.0 0 0 ? S Nov09 0:00 [khungtaskd]
root 20 0.0 0.0 0 0 ? S Nov09 0:00 [oom_reaper]
root 21 0.0 0.0 0 0 ? I< Nov09 0:00 [writeback]
root 22 0.0 0.0 0 0 ? S Nov09 0:00 [kcompactd0]
root 23 0.0 0.0 0 0 ? SN Nov09 0:00 [ksmd]
root 24 0.0 0.0 0 0 ? SN Nov09 0:05 [khugepaged]
4、 动态显示进程:top
top命令用来动态显示运行中的进程。top命令能够在运行后,在指定的时间间隔更新显示信息。可以在使用top命令时加上-d <interval>来指定显示信息更新的时间间隔。
在top命令执行后,可以按下按键得到对显示的结果进行排序:
按键 |
含义 |
M |
根据内存使用量来排序 |
P |
根据CPU占有率来排序 |
T |
根据进程运行时间的长短来排序 |
U |
可以根据后面输入的用户名来筛选进程 |
K |
可以根据后面输入的PID来杀死进程。 |
q |
退出 |
h |
获得帮助 |
5、 终止进程:kill
kill命令指定进程号的进程,需要配合 ps 使用。
使用格式:
kill [-signal] pid
信号值从0到15,其中9为绝对终止,可以处理一般信号无法终止的进程。
kill 9133 :9133 为应用程序所对应的进程号
有些进程不能直接杀死,这时候我们需要加一个参数“ -9 ”,“ -9 ” 代表强制结束:
6、 后台程序:&、jobs、fg
- 用户可以将一个前台执行的程序调入后台执行,方法为:命令 &
- 如果程序已经在执行,ctrl+z可以将程序调入后台
- jobs查看后台运行程序
- fg编号(编号为通过jobs查看的编号),将后台运行程序调出到前台
7、 关机重启:reboot、shutdown、init
命令 |
含义 |
reboot |
重新启动操作系统 |
shutdown –r now |
重新启动操作系统,shutdown会给别的用户提示 |
shutdown -h now |
立刻关机,其中now相当于时间为0的状态 |
shutdown -h 20:25 |
系统在今天的20:25 会关机 |
shutdown -h +10 |
系统再过十分钟后自动关机 |
init 0 |
关机 |
init 6 |
重启 |
8、 字符界面和图形界面切换
在redhat平台下,可通过命令进行切换:
init 3 |
切换到字符界面 |
init 5 |
切换到图形界面 |
通过快捷键切换(适用大部分平台):
Ctrl + Alt + F2 |
切换到字符界面 |
Ctrl + Alt + F7 |
切换到图形界面 |
9、 检测磁盘空间:df
df命令用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘块的使用情况。
选项 |
含义 |
-a |
显示所有文件系统的磁盘使用情况 |
-m |
以1024字节为单位显示 |
-t <fs> |
显示各指定文件系统的磁盘空间使用情况 |
-T |
显示文件系统 |
[master2@master2-server ~]$ sudo df -m
[sudo] password for master2:
Filesystem 1M-blocks Used Available Use% Mounted on
devtmpfs 894 0 894 0% /dev
tmpfs 909 1 909 1% /dev/shm
tmpfs 909 1 909 1% /run
tmpfs 909 0 909 0% /sys/fs/cgroup
/dev/vda1 120887 3430 112445 3% /
tmpfs 182 0 182 0% /run/user/1000
[master2@master2-server ~]$
10、 检测目录所占磁盘空间:du
du命令用于统计目录或文件所占磁盘空间的大小,该命令的执行结果与df类似,du更侧重于磁盘的使用状况。
du命令的使用格式如下:
du [选项] 目录或文件名
选项 |
含义 |
-a |
递归显示指定目录中各文件和子目录中文件占用的数据块 |
-s |
显示指定文件或目录占用的数据块 |
-b |
以字节为单位显示磁盘占用情况 |
-l |
计算所有文件大小,对硬链接文件计算多次 |
[master2@master2-server ~]$ sudo du -s /home/
172 /home/
[master2@master2-server ~]$ sudo du
4 ./bin
4 ./.config/procps
8 ./.config
4 ./InstallPackgeData
8 ./ProjectShellData
84 ./ProjectData
4 ./MasterData
168 .
[master2@master2-server ~]$
11、 格式化:mkfs
mkfs命令相当于DOS/Windows系统中的格式化命令,用于创建指定的文件系统。
使用格式如下:
mkfs [选项] 设备文件名 [blocks]
选项 |
含义 |
-V |
详细显示模式 |
-t <.fs> |
指定文件系统类型,默认值为 ext2 |
-c |
在创建文件系统的同时,进行磁盘坏块检查 |
blocks |
文件系统块的大小 |
12、 应用软件安装和卸载
在 Linux 操作系统下,几乎所有的软件均通过RPM 进行安装、卸载及管理等操作。RPM 的全称为Redhat Package Manager ,是由Redhat公司提出的,用于管理Linux下软件包的软件。它是一种软件打包发行并且实现自动安装的程序,需要用rpm程序安装的软件包,其后缀是.rpm,并可以对这种程序包进行安装、卸装和维护。
rpm命令的使用格式如下:
rpm [选项] [软件包名]
选项 |
含义 |
-i |
指定安装的软件包 |
-h |
使用“#”显示详细的安装过程及进度 |
-v |
显示安装的详细信息 |
-q |
查询系统是否已安装指定的软件包 |
-a |
查看系统已安装的所有软件包 |
-e |
卸载软件包 |
--nodeps |
配合-e参数使用,强制卸载不检查依赖项 |
--force |
强制操作 如强制安装删除等 |
如果是在ubuntu平台,软件的安装可以通过互联网在线安装,更加方便快捷:
命令 |
含义 |
sudo apt-get update |
获得最新的软件包的列表 |
sudo apt-get install xxx |
从源中安装xxx软件 |
sudo apt-get remove xxx |
删除xxx软件 |
13、 查看或配置网卡信息:ifconfig
如果,我们只是敲:ifconfig,它会显示所有网卡的信息:
[master2@master2-server ~]$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.16.0.15 netmask 255.255.240.0 broadcast 172.16.15.255
inet6 fe80::5054:ff:fe19:3938 prefixlen 64 scopeid 0x20<link>
ether 52:54:00:19:39:38 txqueuelen 1000 (Ethernet)
RX packets 5052098 bytes 698770077 (666.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4660520 bytes 679516405 (648.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 922 bytes 113625 (110.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 922 bytes 113625 (110.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[master2@master2-server ~]$
显示字段 |
说明 |
eth0 |
网络接口名称 |
Link encap |
链路封装协议 |
Hwaddr |
网络接口的MAC地址 |
Inet addr |
IP地址 |
Bcast |
广播地址 |
Mask |
子网掩码 |
UP |
网络接口状态标识,UP已经启用,DOWN已经停用 |
BROADCAST |
广播标识,标识网络接口是否支持广播 |
RUNNING |
传输标识,标识网络接口是否已经开始传输分组数据 |
MULTICAST |
多播标识,标识网络接口是否支持多播 |
MTU,Metric |
MTU:最大传输单位,单位:字节。Metric:度量值,用于RIP建立网络路由用 |
RX bytes |
接收数据字节统计 |
TX bytes |
发送数据字节统计 |
我们可以通过ifconfig配置网络参数:
- 只有root才能用ifconfig配置参数,其他用户只能查看网络配置
- ifconfig 网络接口名称 [地址协议类型] [address] [参数]
- 地址协议类型如:inet(IPv4),inet6(IPv6)等
- 如:ifconfig eth0 inet 192.168.10.254 netmask 255.255.255.0 up
常用参数:
参数 |
功能 |
-a |
显示所有网络接口状态 |
inet [IP地址] |
设置IP地址 |
netmask [子网掩码] |
设置子网掩码 |
up |
启用网络接口 |
down |
关闭网络接口 |
ifconfig配置的网络参数在内存中,计算机重新启动之后就失效了,如果需要持久有效就需要修改网络接口的配置文件:
- redhat修改/etc/sysconfig/network-scripts/ifcfg-eth0文件
IPADDR=IP地址
GATEWAY=默认网关
- ubuntu修改/etc/NetworkManager/system-connections/Wired connection 1文件
14、 测试远程主机连通性:ping
- ping通过ICMP协议向远程主机发送ECHO_REQUEST请求,期望主机回复ECHO_REPLY消息
- 通过ping命令可以检查是否与远程主机建立了TCP/IP连接
使用方法:ping [参数] 远程主机IP地址
参数 |
功能 |
-a |
每次相应时都发出声音警示 |
-A |
表示以实际往返相应时间为间隔,连续发送消息 |
-f |
连续不断发送消息,不管是否收到相应 |
-n |
只显示主机IP,不需要把IP解释成主机名 |
-c |
发送指定次数数据报信息后停止,ping -c 5 192.168.10.254 |
-i |
每次发送消息时间间隔,默认一秒,ping -i 2 192.168.10.254 |
-s |
分组数据大小,默认56字节 |
-w |
以秒为单位的超时值,一旦超时,就立即停止 |
15、 网络路由设置:route
route可以增加,修改,显示路由信息,使用格式如下:
route [-v] [-A family] add default [gw 默认网关地址] [[dev interface]]
参数 |
功能 |
add |
增加路由信息 |
del |
删除路由信息 |
-v |
显示路由信息 |
-A |
指定网络协议inet(IPv4),inet6(IPv6) |
gw |
指定默认网关地址 |
dev |
指定网络接口 |
示例:route add default gw 192.168.1.1 dev eth0
16、 监控网络状态:netstat
netstat命令监控网络状态,包括接口设置,IP路由,各种网络协议的统计,netstat输出信息说明如下:
字段 |
说明 |
Proto |
协议,如:tcp,udp |
Recv-Q |
尚未读取的数据字节数 |
Send-Q |
尚未发送的数据字节数 |
Local_address |
本地主机地址与端口号 |
Foreign_address |
远程主机与端口号 |
State |
网络连接状态 |
RefCnt |
引用计数,表示加接到相应套接字的进程数量 |
Flags |
标志字段 |
Type |
套接字类型,如:(SOCK_DGRAM, SOCK_STREAM,SOCK_RAW) |
State |
套接字状态 |
Path |
套接字路径名 |
netstat常用命令参数:
参数 |
功能 |
-a |
列出所有端口 |
-i |
显示网络接口列表 |
-at |
所有tcp端口 |
-au |
所有udp端口 |
-l |
所有监听端口 |
-lt |
tcp监听端口 |
-lu |
指定网络接口 |
-s |
显示所有协议统计信息 |
-r |
当前路由状态 |
-p |
输出中显示 PID 和进程名称,可以与其它开关一起使用,如:-pt |
- 点赞
- 收藏
- 关注作者
评论(0)