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版>>

Linux系统管理和维护常用命令的更多相关文章

  1. linux系统日常维护常用命令

    环境: OS:Red Hat Linux As 5   1.find 11.查找当前目录以及子目录下包含ORA字符的文件 find . -type f|xargs  grep "ORA&qu ...

  2. Linux基础 - 系统优化及常用命令

    目录 Linux基础系统优化及常用命令 Linux基础系统优化 网卡配置文件详解 ifup,ifdown命令 ifconfig命令 ifup,ifdown命令 ip命令 用户管理与文件权限篇 创建普通 ...

  3. Linux基础系统优化及常用命令

    # Linux基础系统优化及常用命令 [TOC] ## Linux基础系统优化 Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. - ...

  4. Linux 文件夹相关常用命令

    Linux 文件夹相关常用命令 查看 ls -la -l 列出详细信息 -a 列出全部,包括.和.. 删除 rm <folder> -rf  -r  就是向下递归,不管有多少级目录,一并删 ...

  5. Linux文件管理和编辑常用命令

    Linux文件管理和编辑常用命令 mkdir 命令 功能说明 mkdir 命令用于创建一个目录,mkdir是make directory的缩写 格式: mkdir [选项] 目录名 mkdir 命令的 ...

  6. Linux课程---4、Linux目录结构及常用命令(目录结构)

    Linux课程---4.Linux目录结构及常用命令(目录结构) 一.总结 一句话总结: 家目录:./root:root用户的家目录 能执行的程序:./bin:所有用户都能执行的程序:./sbin:只 ...

  7. [转帖]「日常小记」linux中强大且常用命令:find、grep

    「日常小记」linux中强大且常用命令:find.grep https://zhuanlan.zhihu.com/p/74379265 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍 ...

  8. Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令

    通过前面两篇博客,我们介绍了Linux系统的权限管理.Linux权限管理之ACL权限 介绍了通过设定 ACL 权限,我们为某个用户指定某个文件的特定权限,这在Linux只能对于一个文件只能有所有者权限 ...

  9. Linux命令整理,用户管理,用户组管理,系统管理,目录管理常用命令

    知识点梳理 Linux课堂笔记 学习目标 能够知道什么是Linux系统以及它的应用场景 能够独立完成安装VMware虚拟机和网络配置 能够独立完成安装CentOS以及远程终端SecureCRT 能够熟 ...

随机推荐

  1. 用xtrabackup2.4备份mysql5.6.30一直显示log scanned up to

    用xtrabackup2.4备份mysql5.6.30一直显示log scanned up to 一直处于log scanned up to,只能ctrl+c强制终止备份 没有大事务 停止xtraba ...

  2. 安装与破解PyCharm专业版

    安装与破解PyCharm专业版(有两种方法) 一.安装与破解PyCharm专业版 1.安装pycharm(建议安装python3) 这是网址:(https://www.jetbrains.com/py ...

  3. 关于vue中eslint规范报错问题

    /* global _ */这样 页面_就不会报错了

  4. spark.yarn.jar和spark.yarn.archive的使用

    启动Spark任务时,在没有配置spark.yarn.archive或者spark.yarn.jars时, 会看到不停地上传jar非常耗时:使用spark.yarn.archive可以大大地减少任务的 ...

  5. [js]javascript中4种异步

    javascript中4种异步: 1.ajax 2.定时器 3.事件绑定 4,回调 定时器 //顺序执行 /* var s = 0; for (var i = 0; i < 10000; i++ ...

  6. 如何在CentOS 7中安装最新Git(源码安装)

    如何在CentOS 7中安装最新Git 2017年05月20日 11:49:53 阅读数:1624 Git是在今天的软件开发行业一个非常有用的版本控制工具.我一直使用Git.于是为Linux公社的读者 ...

  7. Spring Hibernate Transaction示例

    JDBCDAO.java package com.bf; import java.sql.ResultSet; import java.sql.SQLException; import java.ut ...

  8. 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(十)使用JRTPLIB传输RTP数据

    myRtspClient通过简单修改JRTPLIB的官方例程作为其RTP传输层实现.因为JRTPLIB使用的是CMAKE编译工具,这就是为什么编译myRtspClient时需要预装CMAKE. 该部分 ...

  9. js模拟链表

    链表: 每个元素,都有一个指针,指向下一个元素 //链表 function LinkedList(){ var head = null; length = 0; this.append = funct ...

  10. javascript另类方法高效实现htmlencode()与htmldecode()函数

    最常见的做法是采用正则表达式替换的方法,将特殊字符如 < > & 等进行替换,htmlencode的时候这样替换还比较容易,但发过来htmldecode的时候就不一定好用了,因为需 ...