第五章【Linux 常用命令之系统管理】

Yuchuan 发表于 2021/11/21 21:41:56 2021/11/21
【摘要】 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

55.png

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

获得帮助

56.png

5、 终止进程:kill

kill命令指定进程号的进程,需要配合 ps 使用。

使用格式:

kill [-signal] pid

信号值从015,其中9为绝对终止,可以处理一般信号无法终止的进程。

kill  91339133 为应用程序所对应的进程号

57.jpg

有些进程不能直接杀死,这时候我们需要加一个参数“ -9 ”,“ -9 ” 代表强制结束:

58.jpg

6、 后台程序:&、jobs、fg

  • 用户可以将一个前台执行的程序调入后台执行,方法为:命令 &
  • 如果程序已经在执行,ctrl+z可以将程序调入后台
  • jobs查看后台运行程序
  • fg编号(编号为通过jobs查看的编号),将后台运行程序调出到前台

7、 关机重启:rebootshutdowninit

命令

含义

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

强制操作 如强制安装删除等

58.png

如果是在ubuntu平台,软件的安装可以通过互联网在线安装,更加方便快捷:

命令

含义

sudo apt-get update

获得最新的软件包的列表

sudo apt-get install xxx

从源中安装xxx软件

sudo apt-get remove xxx

删除xxx软件

59.png

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

多播标识,标识网络接口是否支持多播

MTUMetric

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文件

60.jpg

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

以秒为单位的超时值,一旦超时,就立即停止

61.png

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_STREAMSOCK_RAW

State

套接字状态

Path

套接字路径名

 netstat常用命令参数:

参数

功能

-a

列出所有端口

-i

显示网络接口列表

-at

所有tcp端口

-au

所有udp端口

-l

所有监听端口

-lt

tcp监听端口

-lu

指定网络接口

-s

显示所有协议统计信息

-r

当前路由状态

-p

输出中显示 PID 和进程名称,可以与其它开关一起使用,如:-pt

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。