Linux常用命令-系统管理与信息显示类

1.Linux常用命令(三)

1.信息显示命令

df 查看文件系统磁盘空间的使用情况

  • -h 以人类可读形式显示
  • -i 查看系统inode使用信息
  • -T 查看文件系统类型
[root@aspen ~]# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda3      xfs        99G  1.7G   98G   2% /
devtmpfs       devtmpfs  476M     0  476M   0% /dev
tmpfs          tmpfs     487M     0  487M   0% /dev/shm
tmpfs          tmpfs     487M  7.7M  479M   2% /run
tmpfs          tmpfs     487M     0  487M   0% /sys/fs/cgroup
/dev/sda1      xfs       197M  105M   93M  54% /boot
tmpfs          tmpfs      98M     0   98M   0% /run/user/0
[root@aspen aspen]# df -i 
Filesystem      Inodes IUsed   IFree IUse% Mounted on
/dev/sda3      9174528 63075 9111453    1% /
devtmpfs        121762   373  121389    1% /dev
tmpfs           124487     1  124486    1% /dev/shm
tmpfs           124487   690  123797    1% /run
tmpfs           124487    16  124471    1% /sys/fs/cgroup
/dev/sda1       524288   326  523962    1% /boot
tmpfs           124487     1  124486    1% /run/user/0

du 目录名 计算指定目录磁盘空间使用情况

  • -h 以人类可读形式显示
  • -s 只显示目录汇总信息
[root@aspen aspen]# du -sh /* | sort -h | tail -n 10
du: cannot access ‘/proc/8034/task/8034/fd/4’: No such file or directory
du: cannot access ‘/proc/8034/task/8034/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/8034/fd/4’: No such file or directory
du: cannot access ‘/proc/8034/fdinfo/4’: No such file or directory
80K /home
120K    /root
232K    /tmp
7.6M    /run
20M /backup
32M /etc
32M /opt
95M /boot
341M    /var
1.4G    /usr
[root@aspen aspen]# du -h /* | head -5
20M /backup/10.0.0.201
20M /backup
0   /bin
0   /boot/efi/EFI/centos
0   /boot/efi/EFI

uname 显示操作系统相关信息

  • -a 显示系统内核所有信息
  • -r 查看系统内核版本
  • -m 显示系统硬件架构
[root@aspen aspen]# uname 
Linux
[root@aspen aspen]# uname -a
Linux aspen 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@aspen aspen]# uname -r
3.10.0-957.el7.x86_64
[root@aspen aspen]# uname -m
x86_64

hostname 主机名 显示或修改主机名

  • -I(大写的i) 显示主机网卡的IP地址
hostname命令后面跟主机名为修改系统主机名(临时生效,重新登陆后生效,系统重启后失效);
直接执行hostname命令为显示当前主机名
[root@aspen ~]# hostname
aspen
[root@aspen ~]# hostname Aspen
[root@aspen ~]# hostname
Aspen
[root@aspen aspen]# hostname -I
10.0.0.200 

lscpu 查看系统主机CPU信息
文件主要参数CPU(s)-CPU核心数和Socket(s)-CPU颗数

查看系统主机CPU的详细信息,可查阅/proc/cpuinfo文件
[root@aspen ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1 #CPU核心数
On-line CPU(s) list:   0
Thread(s) per core:    1 
Core(s) per socket:    1
Socket(s):             1 #CPU颗数
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 158
Model name:            Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
Stepping:              10
CPU MHz:               2208.001
BogoMIPS:              4416.00
Hypervisor vendor:     VMware
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              9216K
NUMA node0 CPU(s):     0
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat spec_ctrl intel_stibp arch_capabilities

free 查看系统主机内存信息

  • -h 结果以人类可读形式显示
  • -m 以MB为单位显示
查看系统主机内存的详细信息,可查阅/proc/meminfo文件
[root@aspen ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           972M        133M        596M        7.6M        243M        658M
Swap:          1.5G          0B        1.5G

uptime 显示系统运行时间及负载

负载指标数值越接近CPU核心数量表示系统越繁忙
查看系统主机运行时间及负载可查阅/proc/loadavg文件
load average三个指标,分别代表近1分钟、5分钟、15分钟的系统平均繁忙指标
系统负载指标,主要考核系统主机CPU和磁盘的繁忙程度
[root@aspen ~]# uptime 
 17:36:24 up 1 day,  6:31,  1 user,  load average: 0.00, 0.01, 0.05

top 实时显示系统资源使用情况

[root@aspen aspen]# top
top - 16:53:43 up  2:39,  1 user,  load average: 0.00, 0.01, 0.05
Tasks:  91 total,   1 running,  90 sleeping,   0 stopped,   0 zombie
%Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   995896 total,   420812 free,   125388 used,   449696 buff/cache
KiB Swap:  1572860 total,  1572860 free,        0 used.   643376 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                            
  8411 root      20   0  161880   2200   1564 R  0.3  0.2   0:00.06 top                                                
     1 root      20   0  125552   4068   2564 S  0.0  0.4   0:01.33 systemd                                            
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd                                           
     3 root      20   0       0      0      0 S  0.0  0.0   0:00.16 ksoftirqd/0                                        
......

dmesg 显示开机信息,用于诊断系统故障

[root@aspen aspen]# dmesg | head -4
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.0-957.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Thu Nov 8 23:39:32 UTC 2018

dmidecode 显示系统硬件信息

[root@aspen aspen]# dmidecode |head -5
# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
620 structures occupying 29060 bytes.
Table at 0x000E0010.

stat 文件名 显示文件或文件系统的状态

  • -c%a 取文件的基本权限值
[root@aspen aspen]# stat /etc/passwd
  File: ‘/etc/passwd’
  Size: 1223        Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d  Inode: 17142876    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-05-13 09:23:00.174022000 +0800
Modify: 2019-05-08 16:23:56.825705207 +0800
Change: 2019-05-08 16:23:56.825705207 +0800
 Birth: -
[root@aspen aspen]# stat /etc/passwd -c%a
644

date 显示系统时间

  • +%Y 显示年份
  • +%m 显示月份
  • +%d 显示日期
  • +%w 显示星期几
  • +%W 显示本年第几周
  • +%H 显示小时
  • +%M 显示分钟
  • +%S 显示秒
  • +%N 显示纳秒
+%N常与md5sum连用,用于创建随机密码
  • -d "-/+ 时间" 根据描述显示时间
  • -s "时间" 设置系统时间
+%F == +%Y-%m-%d
+%T == +%H:%M:%S
[root@aspen aspen]# date
Mon May 13 17:02:10 CST 2019
[root@aspen aspen]# date -d "+1 day"
Tue May 14 17:02:37 CST 2019
[root@aspen aspen]# date +%F
2019-05-13
[root@aspen aspen]# date +%Y-%m-%d
2019-05-13
[root@aspen aspen]# date +%T
17:04:21
[root@aspen aspen]# date +%F-%T
2019-05-13-17:04:31

ntpdate 时间服务器域名 根据时间服务器修改系统时间

Cent OS 7中默认没有安装该命令,需使用 yum install -y ntpdate 指令进行安装
[root@aspen aspen]# date -s '20190101'
Tue Jan  1 00:00:00 CST 2019
[root@aspen aspen]# ntpdate ntp1.aliyun.com
13 May 17:08:48 ntpdate[9268]: step time server 120.25.115.20 offset 11466390.339921 sec
[root@aspen aspen]# date
Mon May 13 17:08:55 CST 2019

2.系统管理与性能监视命令

systemctl 管理系统,开启、关闭、重启系统服务

start 服务名 开启某项服务
stop 服务名 停止某项服务
restart 服务名 重启某项服务
enable 服务名 启用某项服务
disable 服务名禁用某项服务
status 服务名 查询某项服务状态
get-default 查询系统默认运行级别
set-default 运行级别 设置系统默认运行级别
[root@aspen ~]# systemctl status firewalld.service 
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
[root@aspen ~]# systemctl get-default 
multi-user.target

hostnamectl 查询或设置主机名

set-hostname 主机名 设置主机名
status 查询主机名状态
[root@aspen ~]# hostnamectl status 
   Static hostname: aspen
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 946c77cba62f44cb9eec13c644d0b030
           Boot ID: f3622f34a065412aab43bf4d95ed42c3
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-957.el7.x86_64
      Architecture: x86-64
[root@aspen ~]# hostnamectl set-hostname Aspen
[root@aspen ~]# hostnamectl status 
   Static hostname: aspen
   Pretty hostname: Aspen
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 946c77cba62f44cb9eec13c644d0b030
           Boot ID: f3622f34a065412aab43bf4d95ed42c3
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-957.el7.x86_64
      Architecture: x86-64

localectl 查询或设置系统字符集

set-locale LANG=语言.字符集 设置系统字符集(重新登录后生效)
status 查询系统字符集
[root@aspen ~]# localectl status 
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us
systemctl / hostnamectl / localectl 是Cent OS 7特有命令

rz 把Windows文件上传到Linux
sz 文件名 把Linux文件下载到Windows

Cent OS 7中默认没有安装该命令,需使用 yum install -y lrzsz 指令进行安装

3.关机/重启/注销和查看系统信息的命令

shutdown

  • -h 时间(单位:分钟) 在几分钟后关闭主机(0或now表示立即执行)
  • -r 时间(单位:分钟) 在几分钟后重启主机(0或now表示立即执行)
  • -c 取消正在进行的关机或重启
[root@aspen ~]# shutdown -r 10
Shutdown scheduled for Thu 2019-04-11 19:46:47 CST, use 'shutdown -c' to cancel.

Broadcast message from root@aspen (Thu 2019-04-11 19:36:47 CST):

The system is going down for reboot at Thu 2019-04-11 19:46:47 CST!

[root@aspen ~]# shutdown -c

Broadcast message from root@aspen (Thu 2019-04-11 19:36:55 CST):

The system shutdown has been cancelled at Thu 2019-04-11 19:37:55 CST!

halt 立即停止系统需手动关闭设备电源
poweroff 立即停止系统并关闭电源
reboot 重启主机
init 运行级别ID 切换系统至指定运行级别

0 系统运行级别-关机
1 系统运行级别-单用户模式(Cent OS 6)或救援模式(Cent OS 7)
2 系统运行级别-多用户模式(无法访问NFS,Cent OS 6特有)
3 系统运行级别-表示命令行界面运行
4 系统运行级别-系统保留,未分配
5 系统运行级别-表示图形化界面运行
6 系统运行级别-系统重启

shutdown -h now == halt == poweroff == init 0
shutdown -r now == reboot == init 6

logout 注销退出当前用户窗口

[root@aspen aspen]# logout 
Connection closing...Socket close.

Connection closed by foreign host.

Disconnected from remote host(笔记机) at 19:28:36.

Type `help' to learn how to use Xshell prompt.
[D:\~]$ 

exit 注销退出当前用户窗口

[root@aspen ~]# exit
logout
Connection closing...Socket close.

Connection closed by foreign host.

Disconnected from remote host(培训笔记机) at 19:29:23.

Type `help' to learn how to use Xshell prompt.
[D:\~]$ 
exit == logout == Ctrl+D

4.进程管理相关命令

ps 显示当前进程的状态

  • a 显示系统所有进程
  • -a 显示同一终端下所有进程
  • -u 指定用户的所有进程
  • -x 显示所有程序(不区分终端机)
aux 显示所有包含其他使用者的进程
  • e 显示系统环境变量
  • -e显示所有进程
  • -f显示程序间的关系
-ef 显示所有进程信息,连同命令行
[root@aspen ~]# ps aux  | head -6
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.4 125552  4112 ?        Ss   14:57   0:04 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2  0.0  0.0      0     0 ?        S    14:57   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    14:57   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S<   14:57   0:00 [kworker/0:0H]
root          7  0.0  0.0      0     0 ?        S    14:57   0:00 [migration/0]
[root@aspen ~]# ps -ef  | head -6
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 14:57 ?        00:00:04 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2      0  0 14:57 ?        00:00:00 [kthreadd]
root          3      2  0 14:57 ?        00:00:00 [ksoftirqd/0]
root          5      2  0 14:57 ?        00:00:00 [kworker/0:0H]
root          7      2  0 14:57 ?        00:00:00 [migration/0]

pkill 进程名 通过进程名终止进程

crontab 定时任务命令

  • -l 查看当前用户的定时任务
crontab -l== cat /var/spool/cron/用户名
  • -e 编辑当前用户的定时任务

定时任务书写规范详见Linux系统启动流程与目录结构

crontab -e == vim /var/spool/cron/用户名
[root@aspen ~]# crontab -l
#backup-etc-cron@2019-05-10 00:00 by aspen
00 00 * * * sh /scripts/bak-etc-cron.sh >/dev/null 2>&1

Linux命令要养成操作前备份,操作后检查的好习惯
未完待续...