• Linux系统管理和维护常用命令


    Linux系统管理和维护常用命令

    ls 命令
    1. 功能说明
      ls 命令显示指定工作目录下的内容,列出工作目录所包含的文件及子目录。
      语法结构:
    ls [选项] [路径或文件]
    

    ls 选项及说明

    -a	显示指定目录下的所有文件以及子目录,包含隐藏文件
    -d	只显示目录列表,不显示文件
    -l	除文件名称外,同时将文件或者子目录的权限,使用者和文件大小等详细信息列出
    -s	在每个文件名后输出该文件的大小
    -k	以k字节的形式表示文件的大小
    -u	以文件上次被访问的时间排序
    -t	以时间排序
    -o	显示除组外的详细信息
    -x	按列输出,横向排序
    -r	对目录反向排序
    -q	用“?”代替不可输出的字符
    -m	横向输出文件名,并以“,”作为分隔符
    -S	以文件大小排序
    -R	列出所有子目录下的文件
    -pF	在每个文件名后附上一个字符以说明该文件的类型。“*”表示可执行的普通文件,“/”表示目录,“@”表示符号链接,“|”表示FIFO,“=”表示套接字(socket)
    -C	按列输出,纵向排序
    -Q	把输出的文件名用双引号括起来
    
    1. 简单示例
      列出/home目录下文件及其子目录
    [root@cinder01 ~]# ls -l /home/
    total 142448
    drwxr-xr-x 2 root         root               39 Feb 23  2017 files
    -rw-r--r-- 1 root         root             1486 Feb 23  2017 iperf.sh
    drwxr-xr-x 8 root         root             4096 Feb 17  2017 jdk
    drwx------ 6 jenkins      jenkins           145 Sep 12 17:01 jenkins
    -rw-r--r-- 1 root         root         67025973 Aug 26  2016 op-adapter.war
    -rw-r--r-- 1 root         root         78829122 Aug 26  2016 op-user.war
    drwx------ 2 user001      user001            79 Aug 10 16:18 user001
    

    显示/home/jenkins 下的所有文件以及子目录的详细信息,并显示文件类型标记

    [root@cinder01 jenkins]# ls -alF
    total 20
    drwx------  6 jenkins jenkins  145 Sep 12 17:01 ./
    drwxr-xr-x. 8 root    root    4096 Sep 21 10:33 ../
    -rw-------  1 jenkins jenkins  187 Jul 20 20:04 .bash_history
    -rw-r--r--  1 jenkins jenkins   18 Dec  7  2016 .bash_logout
    -rw-r--r--  1 jenkins jenkins  193 Dec  7  2016 .bash_profile
    -rw-r--r--  1 jenkins jenkins  231 Dec  7  2016 .bashrc
    drwxr-xr-x  3 jenkins jenkins   19 Sep 12 17:01 .groovy/
    drwxr-xr-x  2 jenkins jenkins   39 Sep 12 16:52 .oracle_jre_usage/
    drwx------  2 jenkins jenkins   58 Jul 20 17:49 .ssh/
    drwxr-xr-x  2 root    root      58 Aug  2 10:34 xies03_new/
    

    pwd 命令
    1. 功能说明
      显示当前的工作目录,执行pwd指令可得知目前所在的工作目录的绝对路径名称
      语法结构:
    pwd
    
    1. 简单示例
    [root@cinder01 jenkins]# pwd
    /home/jenkins
    

    cd 命令
    1. 功能说明
      改变当前工作目录
      语法结构:
    cd [目录名]
    

    cd 命令的选项及其说明:

    cd [目录]		   切换到指定目录下
    cd 或者 cd ~	    返回用户的默认工作目录下
    cd ~[用户名]	    返回指定用户的工作目录下
    cd .. 或者 cd../	返回到上级工作目录下
    cd /		        返回到根目录下
    
    1. 简单示例
      切换到/usr/bin目录下
    [root@cinder01 ~]# cd /usr/bin/
    [root@cinder01 bin]# pwd
    /usr/bin
    

    返回到上级目录

    [root@cinder01 bin]# cd ..
    [root@cinder01 usr]# pwd
    /usr
    

    date 命令
    1. 功能说明
      显示或者修改当前的系统时间和日期(root用户才能使用date修改设置系统时间)
      语法结构:
    date [选项] 显示时间格式(以+开头,后面接时间格式)
    

    date 命令的选项及其说明

    -s --set:	设置系统时间
    -d --date:	显示描述的日期
    

    时间显示格式:

    %H	显示小时,表示格式范围00~23
    %I	显示小时,表示格式范围00~12
    %k	显示小时,表示格式范围0~23
    %M	显示分钟,显示格式范围00~59
    %S	显示秒钟,显示格式范围00~59
    %p	显示是AM(上午)还是PM(下午)
    %r	显示时间,格式为 hh:mm:ss AM或者PM
    %T	显示时间,格式为 hh:mm:ss
    %x	显示年份和日期,格式为 mm/dd/yyyy
    %X	显示时间格式,相当于%H:%M:%S的组合
    %a	显示星期几
    %b	显示月份,月份的简称
    %B	显示月份,月份的全称
    %m	显示月份,表示格式为01~12
    %Z	显示时区
    %d	显示一个月的第几天
    %D	显示年份和月份,格式mm/dd/yy
    %Y	显示年份,显示完整的年份
    %y	显示年份,显示年份的最后两个数字
    %c	显示日期和时间格式,相当于“%a%d%b%Y%r%Z”的组合
    
    1. 简单示例:
      不使用格式输出时间
    [root@cinder01 ~]# date
    Tue Sep 26 15:48:43 CST 2017
    

    用制定的格式显示时间和日期

    [root@cinder01 ~]# date "+%Y-%m-%d"
    2017-09-26
    

    修改系统时间

    [root@cinder01 ~]# date -s 20160930
    Fri Sep 30 00:00:00 CST 2016
    

    passwd 命令
    1. 功能说明
      用于设置用户密码
      语法结构:
    passwd [用户名]
    
    1. 简单示例
      普通用户修改密码
    [root@cinder01 ~]# passwd user001
    Changing password for user user001.
    New password: 
    Retype new password: 
    passwd: all authentication tokens updated successfully.
    [root@cinder01 ~]# 
    

    根据提示,连续输入两次密码即可。

    root 用户修改密码

    [root@cinder01 ~]# passwd root
    或:
    [root@cinder01 ~]# passwd
    

    su 命令
    1. 功能说明
      su 命令主要用于改变用户身份
      语法结构:
    su [选项] [用户名]
    

    su 命令的选项及其说明

    -加载相应用户下的环境变量
    -l 使当前的shell成为改变身份后用户默认的shell
    -c 改变身份运行一个指令后就结束
    -m 改变用户身份,但不改变环境变量
    
    1. 简单示例
      普通用户切换超级用户
    [user001@cinder01 ~]$ su -
    Password:
    

    输入root密码后即可进入root的bash shell环境下


    clear 命令
    1. 功能说明
      clear 命令用来清除屏幕信息
      语法结构:
    clear
    

    man 命令
    1. 功能说明
      man命令用来显示制定命令的帮助信息
      语法结构
    man [命令全称]
    
    1. 简单示例
      查看ls命令的帮助信息
    [root@cinder01 ~]# man ls
    LS(1)                                                                      User Commands                                                                     LS(1)
    
    NAME
           ls - list directory contents
    
    SYNOPSIS
           ls [OPTION]... [FILE]...
    
    DESCRIPTION
    

    who 命令
    1. 功能说明
      who 命令显示目前登陆到系统的用户
      语法结构
    who [选项] [file]
    

    who 命令的一般输出格式如下:

    名称 [状态] 终端时间 [活动] [进程标识] (主机名)
    名称:用户的登录名
    状态:表明终端是否对用户都是可写的
    时间:用户登录系统的时间
    活动:某个用户在自己的终端上最后一次活动发生以来到现在的时间
    进程标识:用户登录shell的进程id
    主机名:登陆到linux系统上的客户端机器标识
    

    who 命令的选项及说明:

    -a	列出所有信息,相当于所有选项
    -b	列出系统最近启动的日期
    -l	列车所有可登录的终端信息
    -m	仅列出关于当前zhong
    -q	列出在本地系统上的用户和用户数的清单
    -r	显示当前系统的运行级别
    -s	仅显示名称、终端和时间字段信息(who的默认输出)
    -u	显示当前每个用户的用户名,登录终端、终端活动和进程标识
    -T或-w	显示tty终端的状态,“+”表示对任何人可写,“-”表示仅对root用户或所有者可写,“?”表示遇到终端故障
    
    1. 简单示例:
      查询系统的运行级别
    [root@cinder01 ~]# who -r
     		run-level 3  2017-04-26 00:13
    

    显示系统最近启动日期,以及当前每个用户的登陆详情,终端状态

    [root@cinder01 ~]# who -buT
               system boot  2017-04-26 00:12
    root     + pts/0        2017-08-26 04:16   .         19192 (192.168.180.38)
    

    w 命令
    1. 功能说明
      用于显示登陆到系统的用户信息
      语法结构:
    w [选项] [用户]
    

    w 命令的选项及其说明

    -h	不显示输出信息的标题
    -l	用长格式输出
    -s	用短格式输出,不显示登录时间、JCPU 和 PCPU
    -V	显示版本信息
    

    [用户] 表示当指定用户后,只显示该用户的信息

    1. 简单示例
      显示当前用户登录信息
    [root@cinder01 ~]# w
     04:25:03 up 153 days, 20:03,  1 user,  load average: 0.08, 0.04, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0    192.168.180.38   04:16    7.00s  1.13s  0.95s w
    [root@cinder01 ~]# 
    

    解释:

    • 第一行输出显示当前的系统时间,系统从启动到现在已经运行的时间,登陆到系统中的用户数和系统平均负载
    • USER 表示登录系统的用户
    • TTY 表示用户使用的是TTY名称
    • FROM 表示用户从哪里登录进来,一般显示远程IP的地址或主机名
    • LOGIN@ 用户登录的日期和时间
    • LDLE 表示某个程序上次从终端开始执行到现在所持续的时间
    • JCPU 表示该终端上的所有进程及子进程使用系统的总时间
    • PCPU 当前活动进程使用的系统时间
    • WHAT 当前用户执行的进程名称和选项

    uname 命令
    1. 功能说明
      uname 命令用来显示操作系统相关的信息
      语法结构:
    uname [选项]
    

    uname 命令的选项及其说明

    -a	显示操作系统全部信息
    -m	显示系统CPU类型(32位或64位)
    -n	显示操作系统的主机名
    -s	显示操作系统类型
    -r	显示操作系统内核版本
    
    1. 简单示例
    [root@cinder01 ~]# uname -a
    Linux cinder01 3.10.0-514.2.2.el7.x86_64 #1 SMP Tue Dec 6 23:06:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
    [root@cinder01 ~]# uname -m
    x86_64
    [root@cinder01 ~]# uname -n
    cinder01
    [root@cinder01 ~]# uname -s
    Linux
    [root@cinder01 ~]# uname -r
    3.10.0-514.2.2.el7.x86_64
    

    uptime 命令
    1. 功能说明
      uptime 命令用来输出系统任务队列消息
      语法结构
    uptime
    

    uptime 输出当前系统时间,系统开机到现在运行时间、目前有多少用户在线和系统平均负载
    2. 简单示例

    [root@cinder01 ~]# uptime 
     04:46:21 up 153 days, 20:24,  1 user,  load average: 0.00, 0.01, 0.05
    [root@cinder01 ~]# 
    

    last 命令
    1. 功能说明
      列出当前与过去登入系统的用户相关信息
      语法结构
    last [选项][-n(显示行数)]
    

    last命令选项及其说明

    -a	把登入系统的主机名或IP地址显示在最后一行
    -R	不显示登入系统的主机名或IP地址
    -x	显示系统关机,重新开机以及执行等级的改变信息
    -n	设置列出名单的显示列数
    -d	将显示的IP地址转换成主机名称
    
    1. 简单示例
      显示前5行的登入信息
    [root@cinder01 ~]# last -n 5
    root     pts/0        192.168.180.38   Sat Aug 26 04:16   still logged in   
    root     pts/0        192.168.180.38   Tue Sep 26 15:03 - 02:46 (-31+-12:-17
    root     pts/2        192.168.180.38   Tue Sep 26 10:26 - 13:27  (03:01)    
    root     pts/0        192.168.180.38   Tue Sep 26 09:48 - 12:00  (02:11)    
    root     pts/0        192.168.180.38   Thu Sep 21 17:40 - 19:51  (02:11)    
    
    wtmp begins Tue Dec 20 16:13:46 2016
    [root@cinder01 ~]#
    

    dmesg 命令
    1. 功能说明
      显示开机信息
      语法结构
    dmesg [选项]
    

    dmesg 命令的选项及其说明

    -c	显示开机信息后,清除ring buffer信息
    -s	设置缓冲区大小,默认设置为8192
    -n	设置记录信息的层级
    
    1. 简单示例
      显示开机的详细信息
    [root@cinder01 ~]# dmesg | less
    [    0.000000] Initializing cgroup subsys cpuset
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Initializing cgroup subsys cpuacct
    ......
    

    free 命令
    1. 功能说明
      free 命令用来显示系统内存状态,具体包含系统物理内存,虚拟内存,共享内存和系统缓存
      语法结构:
    free [选项] [-s (间隔秒数)]
    

    free 命令的选项及其说明

    -b	以字节为单位显示内存使用情况
    -m	以MB为单位显示内存使用情况
    -K	以KB为单位显示内存使用情况
    -t	显示内存总和列
    -s	根据指定的间隔秒数持续显示内存使用情况
    -o	不显示系统缓冲区列
    
    1. 简单示例
    [root@cinder01 ~]# free -b
                  total        used        free      shared  buff/cache   available
    Mem:     3975155712  3379781632   207343616    50302976   388030464   277786624
    Swap:    4294963200    15134720  4279828480
    [root@cinder01 ~]# 
    [root@cinder01 ~]# free -m
                  total        used        free      shared  buff/cache   available
    Mem:           3791        3223         197          47         370         264
    Swap:          4095          14        4081
    [root@cinder01 ~]# 
    [root@cinder01 ~]# free
                  total        used        free      shared  buff/cache   available
    Mem:        3881988     3300568      202484       49124      378936      271276
    Swap:       4194300       14780     4179520
    [root@cinder01 ~]# 
    

    ps 命令
    1. 功能说明
      ps 命令显示系统进程在时间的运行动态
      语法结构
    ps [选项]
    

    ps 常用选项介绍

    -a	显示所有用户的进程,包含每个程序的完整路径
    -x	显示所有系统程序,包括没有终端的程序
    -u	显示所有者的名称和起始时间
    -f	详细显示程序执行的路径群
    -c	只显示进程的名称,不显示进程完整路径
    -e	将除内核进程以外所有进程的信息写到标准输出
    
    1. 简单示例
      查看当前所有者的进程
    [root@cinder01 ~]# ps
      PID TTY          TIME CMD
    19192 pts/0    00:00:00 bash
    19261 pts/0    00:00:00 ps
    [root@cinder01 ~]#
    

    解释:

    • PID: 进程的标识号
    • TTY: 是进程所属的终端控制台
    • TIME: 列出进程使用的总CPU时间
    • CMD: 列出正在执行的命令行

    查看系统所有进程

    [root@cinder01 ~]# ps -ef
    UID        PID  PPID  C STIME TTY          TIME CMD
    root         1     0  0 Mar25 ?        00:05:06 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
    root         2     0  0 Mar25 ?        00:00:05 [kthreadd]
    root         3     2  0 Mar25 ?        00:00:04 [ksoftirqd/0]
    root         7     2  0 Mar25 ?        00:00:36 [migration/0]
    root         8     2  0 Mar25 ?        00:00:00 [rcu_bh]
    root         9     2  0 Mar25 ?        00:31:24 [rcu_sched]
    root        10     2  0 Mar25 ?        00:01:15 [watchdog/0]
    root        11     2  0 Mar25 ?        00:01:40 [watchdog/1]
    ......
    
    

    [注]:ps 最常用的命令组合 ps -ef | ps -aux


    top 命令

    top 命令提供对系统处理器状态的实时监控,显示系统的各个进程资源占用状况

    1. 功能说明
      查看即时活跃的进程
      语法格式:
    top [选项]
    

    top 命令的常用选项说明

    -d	指定每两次屏幕信息刷新之间的时间间隔
    -i	不显示闲置或者僵死的进程信息
    -c	显示进程的整个命令路径,而不只显示命令名称
    -s	使top命令在安全模式下运行
    -b	分屏显示输出信息,结合“-n”选项可以将屏幕信息输出到文档
    -n	top输出信息更新的次数,完成后退出top命令
    
    1. 简单示例
      查看当前系统活动的进程
    [root@cinder01 ~]# top
    
    top - 05:27:50 up 153 days, 21:06,  1 user,  load average: 0.00, 0.01, 0.05
    Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.1 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem :  3881988 total,   201788 free,  3300988 used,   379212 buff/cache
    KiB Swap:  4194300 total,  4179520 free,    14780 used.   270844 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                            
      666 root      20   0   24324   1540   1280 S   0.3  0.0   1:31.81 systemd-logind                                                                                     
        1 root      20   0  190676   3260   2088 S   0.0  0.1   5:06.45 systemd                                                                                            
        2 root      20   0       0      0      0 S   0.0  0.0   0:05.54 kthreadd                                                                                           
        3 root      20   0       0      0      0 S   0.0  0.0   0:04.42 ksoftirqd/0                                                                                        
        7 root      rt   0       0      0      0 S   0.0  0.0   0:36.34 migration/0                                                                                        
        8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh                                                                                             
        9 root      20   0       0      0      0 S   0.0  0.0  31:24.74 rcu_sched                                                                                          
       10 root      rt   0       0      0      0 S   0.0  0.0   1:15.65 watchdog/0
    ... ...
    [root@cinder01 ~]#
    

    解释:

    • top - 09:44:56[当前系统时间],
    • 16 days[系统已经运行了16天],
    • 1 user[个用户当前登录],
    • load average: 9.59, 4.75, 1.92[系统负载,即任务队列的平均长度]
    • Tasks: 145 total[总进程数],
    • 2 running[正在运行的进程数],
    • 143 sleeping[睡眠的进程数],
    • 0 stopped[停止的进程数],
    • 0 zombie[冻结进程数],
    • Cpu(s): 99.8%us[用户空间占用CPU百分比],
    • 0.1%sy[内核空间占用CPU百分比],
    • 0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比],
    • 0.2%id[空闲CPU百分比],
    • 0.0%wa[等待输入输出的CPU时间百分比],
    • 0.0%hi[], 0.0%st[], Mem: 4147888k total[物理内存总量],
    • 2493092k used[使用的物理内存总量],
    • 1654796k free[空闲内存总量],
    • 158188k buffers[用作内核缓存的内存量]
    • Swap: 5144568k total[交换区总量],
    • 56k used[使用的交换区总量],
    • 5144512k free[空闲交换区总量],
    • 2013180k cached[缓冲的交换区总量]

    参考自:<<循环渐进linux第2版>>

  • 相关阅读:
    如何在Windows 10 IoT Core中添加其他语言的支持,如中文
    交易应用及网站驱动不兼容Windows 10的解决方案
    五步轻松实现对现代浏览器的兼容
    在Windows 10中开启开发者模式
    Modern.IE,创建现代网站的给力开发工具!
    Visual Studio的 Apache Cordova 插件CTP3.0发布!
    什么开发?什么是编程语言?你能学吗?你能做吗?
    IT'S NOT A JOKE!一篇博客让你玩转IT领域!你说我吹NB?请进来跟着浪一浪
    python为什么慢?
    编译错误 expected class-name before ‘{’ token
  • 原文地址:https://www.cnblogs.com/xieshengsen/p/7598917.html
Copyright © 2020-2023  润新知