Linux 系统管理命令:时间、进程、网络、磁盘、关机重启等

本文链接: https://blog.csdn.net/xietansheng/article/details/80044635

0. 系统管理常用命令

类型举例
日期cal, date
进程ps, top, kill, service
网络ifconfig, ping, netstat
磁盘df, du
关机、重启shutdown, reboot
其他sleep, uname

1. 日期

1.1 查看日历: cal

格式: cal [-options] [value]

参数:
    -3      显示临近3个月的日历
    -j      日期以年中的第几天的形式来显示
    -m      显示指定的月份
    -y      显示指定的年份(默认为当年)

例子:
    cal                 // 显示当前的月份
    cal -j              // 日期以年中的第几天的形式来显示当前月份
    cal -m 10           // 显示当年10月份的日历
    cal -jm             // 日期以年中的第几天的形式来显示当年10月份的日历
    cal -m 10 2018      // 显示2018年10月份的日历
    cal -y 2020         // 显示2020年的日历

1.2 查看/设置时间: date

查看时间:

    格式: 
        date +"时间日期格式"

    例子:
        date +"%Y-%m-%d %H:%M:%S"   // 格式化输入当前时间, 结果示范: 2018-01-01 00:00:00
    
    日期格式化字符:
        %Y  年(20XX)
        %m  月(01 ~ 12%d  日, 月中的第几天(01 ~ 31%H  小时, 24小时制(00 ~ 23%M  分钟(00 ~ 59%S  秒(00 ~ 59%s  时间戳, 单位:%w  十进制数 [0(星期日), 6] 表示的周中日
        %Z  时区名称, 如 CST
        %z  时区偏移, 格式 +HHMM 或 -HHMM,: +0800
        ......

    有时需要输出某些命令的执行时间, 可以用如下代码:
        start=$(date +"%s")
        sleep 3s                // 模拟执行相关耗时命令
        end=$(date +"%s")
        echo "用时: $((end - start)) 秒"


设置系统时间(需要 root 权限):
    
    格式:
        date -s "符合要求的日期时间字符串"
    
    例子:
        date -s "20180201"              // 日期设置为 2018-02-01, 时间设置为 00:00:00
        date -s "20:08:08"              // 把时间设为 20:08:08, 日期不变
        date -s "20180201 20:08:08"     // 把日期时间设置为: 2018-02-01 20:08:08
        date -s "2018-02-01 20:08:08"   // 把日期时间设置为: 2018-02-01 20:08:08
        date -s "20:08:08 20180201"     // 把日期时间设置为: 2018-02-01 20:08:08
        date -s "20:08:08 2018-02-01"   // 把日期时间设置为: 2018-02-01 20:08:08

2. 进程

2.1 查看进程信息: ps

progress, 查看进程信息。

参数:
    -A      显示所有进程
    -a      显示所有终端下执行的进程(包括其他用户执行的)
    a       显示当前终端下执行的所有进程(包括其他用户执行的)
    -T      显示当前终端下执行的所有进程
    -u      显示进程的详细状态
    -x      显示没有控制终端的进程
    -r      只显示当前终端正在运行的进程
    
例子:
    ps -a
    ps -aux                     // 详细显示所有进程
    ps -aux | grep keyword      // 进程通常非常多,可以使用grep过滤

2.2 动态显示进程信息: top

动态显示正在运行的进程。

输入: top<回车>, 动态显示正在运行的进程。

执行 top 命令后, 按下相关按键, 可以对显示进行相关操作:

    M       按内存使用量排序
    P       按 CPU 占有率排序
    T       按进程已运行时间排序
    U/u     按之后输入的用户名筛选进程
    k       按之后输入的 PID 杀死进程
    q       退出
    h       帮助

例子:
	top -d 3    	// 3 秒更新一次
	top -d 1 -n 5  	// 1 秒更新一次, 更新 5 次后退出
	top -b			// Batch Mode (每一次更新都直接输出, 不在原位置覆盖旧内容)

2.3 终止进程: kill

格式: kill [-signal] pid

其中 signal 为信号值, 取值 0~15, 9表示强制终止进程。

例子:
    kill 4848           // 终止 pid 为 4848 的进程
    kill -9 4848        // 强制终止 pid 为 4848 的进程

PS: 一般可以用 ps 或 top 命令查找进程的 pid, 然后用 kill 命令终止进程。

2.4 服务的管理: service

格式: 
    service <服务名称> {start|stop|reload|restart|force-reload|status}
    // 或者
    /etc/init.d/<服务名称> {start|stop|reload|restart|force-reload|status}

3. 网络

如果没有 ifconfigpingnetstat 命令,需要先安装:

命令软件包
ifconfignetstat安装 net-tools 软件包,apt install net-toolsyum install net-tools
ping安装 inetutils-ping (Ubuntu) 或 iputils (CentOS) 软件包

3.1 网卡信息查询与配置: ifconfig

执行 ifconfig 命令, 输出信息大致如下:
/*
eth0      Link encap:以太网  硬件地址 00:1c:42:6e:74:2a  
          inet 地址:10.211.55.10  广播:10.211.55.255  掩码:255.255.255.0
          inet6 地址: fe80::21c:42ff:fe6e:742a/64 Scope:Link
          inet6 地址: fdb2:2c26:f4e4:0:21c:42ff:fe6e:742a/64 Scope:Global
          inet6 地址: fdb2:2c26:f4e4:0:91c7:e35b:106f:8bbd/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1
          接收数据包:531 错误:0 丢弃:0 过载:0 帧数:0
          发送数据包:638 错误:0 丢弃:0 过载:0 载波:0
          碰撞:0 发送队列长度:1000 
          接收字节:76323 (76.3 KB)  发送字节:65422 (65.4 KB)

lo        Link encap:本地环回  
          inet 地址:127.0.0.1  掩码:255.0.0.0
          inet6 地址: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  跃点数:1
          接收数据包:843 错误:0 丢弃:0 过载:0 帧数:0
          发送数据包:843 错误:0 丢弃:0 过载:0 载波:0
          碰撞:0 发送队列长度:0 
          接收字节:80932 (80.9 KB)  发送字节:80932 (80.9 KB)
*/

eth0 表示第一块网卡, 右边是它的相应状态信息; lo 表示主机的会换地址。

启动和关闭指定网卡:
    ifconfig eth0 up
    ifconfig eth0 down

配置和删除网卡的 IP 地址:
    ifconfig eth0 192.168.0.100
    ifconfig eth0 192.168.0.100 netmask 255.255.255.0
    ifconfig eth0 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255

配置和删除网卡的 IPv6 地址:
    ifconfig eth0 add 34dfe:6252:600:1004::2/64
    ifconfig eth0 del 34dfe:6252:600:1004::2/64
PS:
    ifconfig 配置的网卡信息, 在系统重启后失效。如果想要永久保存配置的网卡信息, 需要修改网卡的配置文件。

3.2 检测远程主机连通性: ping

格式: ping [各参数和值] 域名/IP

参数:
    -c      测试次数
    -i      每次的间隔时间, 单位:-q      不显示执行过程, 开头和结尾信息除外
    -s      数据包大小

例子:
    ping www.baidu.com              // ping 百度的主机
    ping -c 5 -i 3 www.baidu.com    // ping 百度的主机, 测试 5 次, 每次间隔 3 秒

3.3 查看网络状态(监听端口): netstat

格式: netstat [-options]

参数:
    -a/--all            显示所有Socket连接
    -t/--tcp            显示所有TCP连线
    -u/--udp            显示所有UDP连线
    -l/--listening      显示所有正在监听的远程Socket连接
    -p/--programs       显示正在使用Socket的程序名称
    -c/--continuous     持续列出网络状态
    -n/--numeric        使用IP地址显示网络地址
    -i/--interfaces     显示网卡信息
    -s/--statistice     显示网络信息统计

例子:
    netstat -a          // 列出所有的网络连接
    netstat -un         // 显示所有 UDP 连接,地址使用 IP 地址显示
    netstat -aup        // 显示所有 UDP 连接和端口的使用情况
    netstat -lp         // 显示所有正在监听的连接,并显示出程序名称
    netstat -tunlp		// 显示正在监听的 TCP/UTP 连接、端口、IP、程序名称

4. 磁盘

4.1 查看磁盘分区的可用空间: df

disk file, 查看磁盘分区的可用空间。

格式: df [-options] [values]

参数:
    -a      all, 显示所有的文件系统
    -l      local, 仅显示本地端的文件系统(默认)
    -T      Type, 显示文件系统的类型
    -t      type, 仅显示指定文件系统类型的文件系统
    -h      human readable, 以可读性较高的方式显示信息, 例如以 KB, MB, GB 等为单位显示大小
    -k      kilobytes, 指定区块大小为 1024 字节, 即以 KB 为单位显示大小
    -m      megabytes, 指定区块大小为 1024*1024 字节, 即以 MB 为单位显示大小

例子:
    df                  // 显示本地端的文件系统
    df -h               // 以可读性高的方式显示本地端的文件系统
    df -a -t ext4       // 显示文件系统类型为 ext4 的所有文件系统
    df -aTh             // 显示所有文件系统, 并显示文件系统类型, 并以可读性高的方式显示大小

4.2 查看文件或目录所占用的空间: du

格式: du [-options] file_or_dir

参数:
    -a      all, 递归显示各文件和子目录的占用大小
    -s      summarize, 仅显示文件或目录的汇总, 不列出目录下文件和目录
    -h      human readable, 以可读性较高的方式显示信息, 例如以 KB, MB, GB 等为单位显示大小
    -k      kilobytes, 指定区块大小为 1024 字节, 即以 KB 为单位显示大小
    -m      megabytes, 指定区块大小为 1024*1024 字节, 即以 MB 为单位显示大小

例子:
    du -s aaDir                 // 汇总显示文件夹 aaDir 所占用的空间
    du -ah bbDir                // 递归显示文件夹 bbDir 下的所有文件和目录, 并以可读性较高的方式显示占用空间大小
    du aa.txt                   // 显示文件 aa.txt 所占用的空间
    du aa.txt bb.txt            // 显示多个文件所占用的空间

5. 关机、重启

5.1 关机: shutdown

格式: shutdown [-option] time

参数:
    -r      关机后重启系统
    -h      指定关机的时机

例子:
    shutdown -r now         // 立即关机, 并重启
    shutdown -h now         // 立即关机, now 相当于时间为 0
    shutowns -h +10         // 10 分钟后自动关机
    shutdown -h 20:00       // 当天 20:00 自动关机
    shutdown -h +5 "System will shutdown after 5 min"       // 5 分钟后自动关机, 并输出警告信息

5.2 重启: reboot

格式: reboot

6. 其他

6.1 延时: sleep

格式: sleep number[时间单位]

时间单位:
    s       秒(默认)
    m       分钟
    h       小时
    d       天

例子:
    sleep 3         // 延时 3秒
    sleep 3s        // 延时 3秒
    sleep 5m        // 延时 5分钟
    sleep 1h        // 延时 1小时
    sleep 1d        // 延时 1天

6.2 查看系统版本: uname

查询 Linux 内核版本:

格式: uname [OPTION]...

参数:
    -a, --all                   以如下次序输出所有信息。其中若 -p 和 -i 的探测结果不可知则被省略:
    -s, --kernel-name           输出内核名称
    -n, --nodename              输出网络节点上的主机名
    -r, --kernel-release        输出内核发行号
    -v, --kernel-version        输出内核版本
    -m, --machine               输出主机的硬件架构名称
    -p, --processor             输出处理器类型(不可移植)
    -i, --hardware-platform     输出硬件平台(不可移植)
    -o, --operating-system      输出操作系统名称
    --help		                显示此帮助信息并退出
    --version                   显示版本信息并退出

示例:
    uname           # 输出: Linux
    uname -a        # 输出: Linux 5ed36eafe908 5.4.0-73-generic #82-Ubuntu SMP Wed Apr 14 17:39:42 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
    uname -r        # 输出: 5.4.0-73-generic
    uname -m        # 输出: x86_64
    uname -o        # 输出: GNU/Linux

查看 Linux 发行版本:

$ cat /etc/os-release 

NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.2 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谢TS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值