Linux基础篇学习——常见系统命令:ls,pwd,cd,date,hwclock,passwd,su,clear,who,w,uname,uptime,last,dmesg,free,ps,top

ls 显示指定目录中的内容

ls [OPTION]... [FILE]...

OPTION

-a --all,显示所有文件包括隐藏文件
-l 列出长属性,显示出文件的属性权限等数据信息
-i  列出inode节点号 结合-l使用
-d 显示目录本身,且不列出目录中的列表文件

-h 将文件大小以易读的KB,MB方式显示出来
-A 显示所有文件,但不包括当前目录和上一级目录
-g 和-l类似,显示列表结果,但是不显示文件所属者
-n 和-l类似,只是显示的所属用户和组不是名称而是对应的id
-r --reverse,将排序结果以倒序方式显示
-c 和-lt一起使用,显示列表并且以ctime(文件状态最后改变时间)排序 ls默认以文件名排序
-s 以文件大小排序
-t 以修改时间排序


pwd 显示当前工作目录

pwd [OPTION]...

OPTION

是链接文件时:
-L --logical,直接显示链接文件的路径 默认
-P --physical,显示链接文件所指向的文件(多层连接时,显示最终指向的文件)

实例

[root@localhost ~]# cd /var/mail
[root@localhost mail]# pwd
/var/mail
[root@localhost mail]# pwd -P
/var/spool/mail
[root@localhost mail]# pwd -L
/var/mail

cd 切换目录

OPTION

cd [~]  默认回到用户主目录 即环境变量HOME指定的目录
cd . .  上一级目录
cd -  上一个工作目录
cd .  当前目录

实例

[root@localhost ~]# cd /home
[root@localhost home]# cd /var
[root@localhost var]# cd -
/home
[root@localhost home]# cd /var
[root@localhost var]# cd ..
[root@localhost /]#

date 显示或设置系统时间与日期

date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

OPTION

-d显示字符串所指的日期与时间 字符串前后必须加上双引号
-s 根据字符串来设置日期与时间 字符串前后必须加上双引号,只有root权限才能设置
-u 显示GMT(格林尼治平太阳时间)

FORMAT

%F  显示完整日期
%Y  显示 以四位数来表示
%m 显示 01-12
%d  显示 01-31
%H  显示 00-23
%M  显示 00-60
%S  显示 00-60
%s  显示总秒数 起算时间为1970-01-01 00:00:00 UTC

实例

时间格式化输出

[root@localhost ~]# date +%F
2019-10-05
[root@localhost ~]# date +%Y-%m-%d
2019-10-05
[root@localhost ~]# date +%H:%M:%S
11:32:21

-d 应用

1.显示字符串所指的日期与时间

[root@localhost ~]# date -d "1 day ago" +%Y-%m-%d
2019-10-04
[root@localhost ~]# date +%H:%M:%S;date -d "2 second" +%H:%M:%S
11:36:08
11:36:10

2.字符串格式转换

[root@localhost ~]# date -d "20191212" +%Y-%m-%d
2019-12-12

-s 应用

1.根据字符串来设置日期 但是会将时间设定为00:00:00

[root@localhost ~]# date -s 20190922
Sun Sep 22 00:00:00 CST 2019

2.根据字符串来设置日期与时间

[root@localhost ~]# date -s "20190922 09:25:00"
Sun Sep 22 09:25:00 CST 2019

同步网络时间

[root@localhost ~]# yum install ntpdate -y
[root@localhost ~]# ntpdate ntp.api.bz
 5 Oct 11:45:39 ntpdate[7305]: step time server 114.118.7.161 offset 1131455.609556 sec

hwclock,clock 显示或者设置硬件时钟

hwclock [function] [option...]

OPTION

-s --hctosys,将系统时间调整为和硬件时间一致 以硬件为准
-w --systohc,将硬件时间调整为和系统时间一致 以系统为准

Linux时钟

系统时钟 是指当前Linux Kernel中的时钟
硬件时钟 是主板上由电池供电的时钟,可以在BIOS中进行设置

1.当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作
2.Linux中的所有命令(包括函数)都是采用的系统时钟设置


passwd 设置用户口令

passwd[-k][-l][-u[-f]][-d][-e][-nmindays][-xmaxdays][-wwarndays][-i
inactivedays][-S][--stdin][username]
passwd ;修改当前用户密码
passwd username ;修改指定用户的密码,只有root有权限

OPTION

-d 清除用户密码串
-l 锁定用户
-u 解锁用户
-e DATE 过期期限,日期
-i DAYS 非活动期限
-n DAYS 密码的最短使用期限 只对普通用户有限制,root仍可以修改
-x DAYS 密码的最长使用期限
-w DAYS 警告期限
--stdin echo "PASSWD" | passwd --stdin username


su 变更为其他使用者的身份

su [options...] [-] [user [args...]]

OPTION

-&-l -login,类似于登录操作(登录shell),环境变量、工作目录等都会改变 未指定user,默认切换到root
-m&-p 执行su命令时不改变环境变量
-c command 变更账号为USER的使用者,并执行指令(command)后再变回来

su 会切换root用户,但是当前的环境变量还是以前用户的环境变量(非登录shell)

实例

1.su

[zhao@localhost ~]$ su
Password:
[root@localhost zhao]# echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/zhao/.local/bin:/home/zhao/bin

2.su -&su -l

[zhao@localhost ~]$ su -l
Password:
Last login: Sat Oct  5 16:01:54 CST 2019 on pts/1
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

3.su -c command

[zhao@localhost etc]$ cat shadow
cat: shadow: Permission denied
[zhao@localhost etc]$ su -c "cat shadow" root
Password:
root:$6$G6rrTzzz75OjgLKl$lNe/HfL9IA2rC1LaGX4RxQxLHYtaSqEionyPsTYFdKGJKPBxZWS8oN9A/6uvoya4/J65AxzV/zuV8qeNPXW1T0::0:99999:7:::
……
zhao:$6$66FVAJVw$FyfAM5mGHn3wrcLgNkfQjC1xwGXGlCnF1Le95Lo1SaFfRL93HvoQwSaV9IInaRbaONB4xGnUv1eCLSfh16Wev0:18174:0:99999:7:::

clear 清屏操作(Ctrl+l)


who 显示当前登录到系统中的用户

who [OPTION]... [ FILE | ARG1 ARG2 ]

OPTION

-a --all,处理/run/utmp文件或有全部信息的指定文件 -bdlprtTu
-b最近一次系统启动的日期和时间
-H 显示一个标题
-l 显示登录进程
-m 显示关于当前终端的信息 等同于who am i(I)
-q 打印用户登录清单
-r 显示系统运行级别
-d 显示没有被init重新生成的所有到期的进程


w 显示当前登录到系统中的用户,显示正在运行的程序

 w [options] user [...]

OPTION

-h 省略标题
-f  关闭用户从何处登录系统
-V 显示版本
-i  显示ip信息 默认显示
-s 省略登录时间,cpu的耗时


uname 显示操作系统相关信息

uname [OPTION]...

OPTION

-a 显示完整信息
-s 显示内核名称 uname不加选项默认显示内核名称
-n 显示hostname
-i  显示架构信息
-r  显示内核发行信息

分析 uname -r 结果

[root@localhost ~]# uname -r
3.10.0-957.el7.x86_64

3版本号
10版本号
0  对次版本的修订次数或者补丁包数
957编译的次数
el7  版本的特殊信息,el表示企业版Linux
x86_64系统架构

关于次版本号:
主版本号3以前的次版本号区分奇偶版本,数代表稳定版,数代表测试版;
主版本号3以后的次版本号不再区分奇偶版本,建议安装长期维护版本


uptime 显示当前系统的运行信息

uptime [options]

OPTION

-V 显示版本

分析 uptime 结果

 10:51:25 up  3:05,  2 users,  load average: 0.01, 0.03, 0.05

10:51:25 当前系统时间
up 3:05  累计运行时间,重启后清零
2 users  登录用户数
up 3:05  平均负载量:最近1分钟,5分钟,15分钟 值越低表示系统性能越好

系统的平均负载是指在特定时间间隔内运行队列中的平均进程数


last 列出当前或者之前登陆系统的用户相关信息

last [options]

OPTION

-a 将IP或主机名显示在最后一行
-d 将IP地址转换成主机名称
-n 显示的行数last -n 5
-R 不显示IP或者主机名
-x 显示关机重启以及执行级别的改变等信息


dmesg 显示开机信息


free 显示系统内存状态

free [options]

OPTION

-h 以MBG为单位显示内存使用情况
-b 以Byte为单位显示内存使用情况
-k 以KB为单位显示内存使用情况
-m 以MB为单位显示内存使用情况
-g 以GB为单位显示内存使用情况
-t 显示内存总和列
-s N持续观察内存使用情况 free -s 2

free命令的所有输出值都是从/proc/meminfo中读出的


ps 显示系统进程瞬间的运行动态

ps [options]

OPTION

-A 显示所有进程信息 与-e具有同样效用
-a 显示当前终端下的进程信息,包括其他用户的进程
-u 显示以用户为主的进程状态
-x 列出完整信息 与-a一同使用

-l 较长、较详细的将该PID的信息列出
-j工作的格式
-f 做一个更为完整的输出

分析 ps -l 结果

[root@localhost ~]# ps -l
F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0   8985   8970  0  80   0 - 28860 do_wai pts/0    00:00:00 bash
0 R     0   9102   8985  0  80   0 - 38309 -      pts/0    00:00:00 ps

F 代表这个程序的旗标(flag),4代表使用者为superuser
S 代表这个程序的状态(stat)
UID 代表执行者身份
PID 进程的ID号
PPID进程的ID
C CPU使用的资源百分比
PRI 进程的优先执行权 越小越早被执行
NI 进程的nice值,即可被执行的优先级修正数值
ADDR内核函数,指出该程序在内存的哪个部分 执行程序 -
SZ 使用掉的内存大小
WCHAN 目前这个程序是否正在运作当中 若为 - 表示正在运作
TTY 登入者的终端机位置
TIME 使用掉的CPU时间
CMD 所下达的指令名称


top 实时监测系统处理器状态

last [options]

OPTION

top -d # 页面更新一次的时间间隔s,默认是5秒
top -b # 以批次的方式执行top
top -p pid 指定pid观察
top -n # 与-b配合使用,表示需要进行几次top命令的输出结果

可执行操作

操作 含义
? 显示在top当中可以输入的命令
N 以PID排序
P 以%CPU排序
M 以%MEM排序
T 由进程使用的时间累计排序显示
k 给某一个pid一个信号。可以用来杀死进程
r 给某个pid重新定制一个nice值(即优先级)
q 退出top(用ctrl+c也可以退出top)

分析 top 结果

top - 20:02:18 up  4:05,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  94 total,   1 running,  93 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   995896 total,   703792 free,   135404 used,   156700 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   689064 avail Mem

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
  8739 root      20   0       0      0      0 S  0.3  0.0   0:06.05 kworker/0:3

top - 20:02:18 up 4:05, 2 users, load average: 0.00, 0.01, 0.05


当前系统的运行信息 与uptime显示的信息相同

Tasks: 94 total, 1 running, 93 sleeping, 0 stopped, 0 zombie

表项 含义
94 total 总计进程
1 running 运行进程
93 sleeping 休眠(挂起)进程
0 stopped 停止进程
0 zombie 僵尸进程

%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

表项 含义
0.3 us user用户空间占用cpu的百分比
0.3 sy system内核空间占用cpu的百分比
0.0 ni niced改变过优先级的进程占用cpu的百分比
99.3 id 空闲 cpu百分比
0.0 wa IO wait IO等待输入输出的cpu时间百分比
0.0 hi hardware IRQ 硬中断 占用cpu的百分比
0.0 si software IRQ 软中断 占用cpu的百分比
0.0 st hypervisor偷去的时间

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

表项 含义
PID 进程号
USER 进程所有者
PR 进程优先级
NI nice负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存量,单位kb
RES 进程使用的、未被换出物理内存大小,单位kb
SHR 共享内存,单位kb
S 进程状态
%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计,单位0.01秒
COMMAND 进程名称(命令名/命令行)

S 进程状态表

D R S T Z
不可中断的睡眠状态 运行 睡眠 跟踪/停止 僵尸进程

如有错误,请批评指正,谢谢!

你可能感兴趣的:(Linux基础篇学习——常见系统命令:ls,pwd,cd,date,hwclock,passwd,su,clear,who,w,uname,uptime,last,dmesg,free,ps,top)