技术流ken

运维拯救世界

Linux常用命令详解(week1_day1_2)–技术流ken

本节内容

 

alias
unalias
uname
su
hostname
history
which
wc
w
who
whoami
ping
kill
seq
du
df
free
date

命令详解

 

1. alias

设置、’查看别名

实例1:查看别名

复制代码
[root@ken ~]# alias 
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias man='man -M /usr/local/manpage/share/man/zh_CN'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
复制代码

实例2:设置别名

[root@ken ~]# alias "ken=ls -l"
[root@ken ~]# ken
total 85452
-rw-r--r-- 1 root  root       22 Jan 13 12:12 1
-rw-r--r-- 1 root  root       23 Jan 13 12:12 2
drwxr-xr-x 2 root  root        6 Jan 13 12:05 2.txt

实例3:取消别名

[root@ken ~]# unalias ken
[root@ken ~]# ken
-bash: ken: command not found

 

2.uname

显示输出系统信息

-a:显示所有的信息

-r: 显示操作系统发行版本

实例1:

[root@ken ~]# uname -a
Linux ken 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

实例2:

显示内核版本

[root@ken ~]# uname -r
3.10.0-862.el7.x86_64

 

3.su

运行替换用户和组标识的shell

实例1:

-:使得shell为可登录的shell

[root@ken ~]# su - ken
Last login: Fri Jan 11 11:27:19 CST 2019 on pts/0

 

退出

[ken@ken ~]$ exit
logout

 

4. hostname

显示并设置主机名

为什么要修改主机名?

是为了名称解析(/etc/hosts)

 

hostname修改的主机名只是保存在了内存空间,就是说你重启系统就会失效!

实例1:显示主机名

[root@ken ~]# hostname
ken

实例2:设置主机名(重启失效)

[root@ken ~]# hostname ken1

 

5.history

查看历史命令

实例1:

[root@ken ~]# history

实例2:使用!加上上一个命令的缩写可以再次执行

6. which

显示命令的完整路径

实例1:

[root@ken ~]# which ls
alias ls='ls --color=auto'
    /usr/bin/ls

 

7.wc

统计文本信息

常用选项:

-c: 字节

-w: 单词数量

-l: 统计行数

c(haracter) w(ord) l(ine)

实例1:

[root@ken ~]# cat /etc/passwd | wc -l
38

实例2:

[root@ken ~]# echo "this is ken" | wc -c
12

实例3:

[root@ken ~]# echo "this is ken" | wc -w
3

 

8.w

显示已经登录的用户以及他们在做什么

实例:

复制代码
[root@ken ~]# w
 13:04:06 up 2 days,  3:30,  7 users,  load average: 0.61, 0.16, 0.09
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1                      Mon19    3days  1.35s  0.02s -bash
root     pts/0    172.20.10.4      09:47    1:44m  0.16s  0.00s less -s
root     pts/1    172.20.10.4      10:34    1:43m  0.02s  0.02s -bash
root     pts/2    172.20.10.4      12:00   20:38   0.15s  0.15s -bash
root     pts/3    172.20.10.4      12:00   15:02   0.03s  0.03s -bash
root     pts/4    172.20.10.4      13:03    6.00s  0.04s  0.01s w
root     pts/5    172.20.10.4      13:03   11.00s  0.02s  0.02s -bash
复制代码

 

USER:显示登陆系统的用户的帐号名。如果用户重复登录,则该帐号名就会重复显示。

TTY:用户登录的终端代号。登录的形式不同,登录代号也不相同。

FROM:显示用户从何处登录系统。如果是本地登录,则此字段为-,若从远程登录,便会显示远程主机的IP地址或主机名。至于“:0.0”之类的标示,代表该用户是从X Window System以文本模式登录的。

LOGIN@:这是Login At的意思,表示该用户登录系统时的时间(不是登录后经过的时间)。

IDLE:表示用户闲置的时间。这是一个计时器,一旦用户执行任何操作,该计时器便会被重置。

JCPU:以终端的代号区分显示,表示该终端所有相关的进程(process)执行时所消耗的cpu时间。每当进程结束就停止计时,开始新的进程则会重新计时。

PCPU:表示cpu执行程序消耗的时间。

WHAT:表示用户正在执行的程序的名称,如果正在执行文本模式命令,则会显示用户环境的名称。

 

9. who

显示已经登录的用户

复制代码
[root@ken ~]# who
root     tty1         2019-01-07 19:24
root     pts/0        2019-01-13 09:47 (172.20.10.4)
root     pts/1        2019-01-13 10:34 (172.20.10.4)
root     pts/2        2019-01-13 12:00 (172.20.10.4)
root     pts/3        2019-01-13 12:00 (172.20.10.4)
root     pts/4        2019-01-13 13:03 (172.20.10.4)
root     pts/5        2019-01-13 13:03 (172.20.10.4)
复制代码

 

10.whoami

显示当前用户

[root@ken ~]# whoami
root

 

11.ping

向网络主机发送ICMP(检测主机是否在线)

常用选项:

-c: 发送包的数量

-w: 等待时间(当试图检测不可达主机时此选项很有用)

-i<间隔秒数> 指定收发信息的间隔时间。

实例1:

复制代码
[root@ken ~]# ping -c 3 -w 3 www.baidu.com
PING www.a.shifen.com (163.177.151.110) 56(84) bytes of data.
64 bytes from 163.177.151.110 (163.177.151.110): icmp_seq=1 ttl=53 time=81.5 ms
64 bytes from 163.177.151.110 (163.177.151.110): icmp_seq=2 ttl=53 time=97.8 ms
64 bytes from 163.177.151.110 (163.177.151.110): icmp_seq=3 ttl=53 time=90.9 ms

--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 81.522/90.091/97.811/6.686 ms
复制代码

 

12. kill

终止进程(kill后面指定pid号码)

kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序

-9: 强制终止

执行-15:

  1. 程序立刻停止
  2. 当程序释放相应资源后再停止
  3. 程序可能仍然继续运行

实例:

复制代码
[root@ken ~]# ps 
  PID TTY          TIME CMD
23790 pts/4    00:00:00 bash
24269 pts/4    00:00:00 ps
[root@ken ~]# kill -9 23790

Connection closed by foreign host.

Disconnected from remote host(172.20.10.6) at 13:11:32.

Type `help' to learn how to use Xshell prompt.
[d:\~]$
复制代码

实例2:列出所有的信息名称

复制代码
[root@ken ~]# kill -l
 1) SIGHUP     2) SIGINT     3) SIGQUIT     4) SIGILL     5) SIGTRAP
 6) SIGABRT     7) SIGBUS     8) SIGFPE     9) SIGKILL    10) SIGUSR1
11) SIGSEGV    12) SIGUSR2    13) SIGPIPE    14) SIGALRM    15) SIGTERM
16) SIGSTKFLT    17) SIGCHLD    18) SIGCONT    19) SIGSTOP    20) SIGTSTP
21) SIGTTIN    22) SIGTTOU    23) SIGURG    24) SIGXCPU    25) SIGXFSZ
26) SIGVTALRM    27) SIGPROF    28) SIGWINCH    29) SIGIO    30) SIGPWR
31) SIGSYS    34) SIGRTMIN    35) SIGRTMIN+1    36) SIGRTMIN+2    37) SIGRTMIN+3
38) SIGRTMIN+4    39) SIGRTMIN+5    40) SIGRTMIN+6    41) SIGRTMIN+7    42) SIGRTMIN+8
43) SIGRTMIN+9    44) SIGRTMIN+10    45) SIGRTMIN+11    46) SIGRTMIN+12    47) SIGRTMIN+13
48) SIGRTMIN+14    49) SIGRTMIN+15    50) SIGRTMAX-14    51) SIGRTMAX-13    52) SIGRTMAX-12
53) SIGRTMAX-11    54) SIGRTMAX-10    55) SIGRTMAX-9    56) SIGRTMAX-8    57) SIGRTMAX-7
58) SIGRTMAX-6    59) SIGRTMAX-5    60) SIGRTMAX-4    61) SIGRTMAX-3    62) SIGRTMAX-2
63) SIGRTMAX-1    64) SIGRTMAX
复制代码

 

13.seq

生成数列

实例1:指定结束位置

[root@ken ~]# seq 5
1
2
3
4
5

实例2:指定起始位置和结束位置

[root@ken ~]# seq 2 5
2
3
4
5

实例3:指定起始位置和结束位置以及步长

[root@ken ~]# seq 2 2 10
2
4
6
8
10

 

14.du

文件及目录大小

默认显示一个目录下的所有的文件,最后一行会有大小的总和。

常用选项:

-s: 仅显示总和

-h: 人类易读

实例1:

[root@ken ~]# du -s /root
117064    /root

实例2:

[root@ken ~]# du -sh /root
115M    /root

 

15.df

报告文件系统磁盘空间的使用情况

-h:人类易读

实例1:

复制代码
[root@ken ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   17G  5.5G   12G  33% /
devtmpfs                 233M     0  233M   0% /dev
tmpfs                    245M     0  245M   0% /dev/shm
tmpfs                    245M  9.1M  235M   4% /run
tmpfs                    245M     0  245M   0% /sys/fs/cgroup
/dev/sr0                  56M   56M     0 100% /mnt
/dev/sda1               1014M  130M  885M  13% /boot
tmpfs                     49M     0   49M   0% /run/user/0
复制代码

 

第一列指定文件系统的名称

第二列指定一个特定的文件系统1K-块1K是1024字节为单位的总内存。用和可用列正在使用中,分别指定的内存量。

使用列指定使用的内存的百分比

而最后一栏”安装在”指定的文件系统的挂载点。

 

16.free

显示系统中已用和未用的内存空间总和

常用选项:

-m: 以m为单位

-h: 人类易读

-s<间隔秒数>  持续观察内存使用状况。

实例1:

[root@ken ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            488         373          21           1          93          76
Swap:          2047         423        1624

实例2:

[root@ken ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           488M        373M         21M        1.8M         93M         76M
Swap:          2.0G        423M        1.6G

实例3:

复制代码
[root@ken ~]# free -s 2
              total        used        free      shared  buff/cache   available
Mem:        1015828      100988      753768        7252      161072      750276
Swap:       2097148           0     2097148

              total        used        free      shared  buff/cache   available
Mem:        1015828      101012      753744        7252      161072      750252
Swap:       2097148           0     2097148
复制代码

 

17. date

打印或设置系统日期和时间

常用选项:

-s: 根据 STRING 设置时间

 

%Y     年(用 4 位表示) (1970…)

%m     月份(用两位表示) (01..12)

%d     (月份中的)几号(用两位表示) (01..31)

 

%H     小时(按 24 小时制显示,用两位表示) (00..23)

%M     分钟数(用两位表示) (00..59)

%S     秒数(用两位表示)(00..60)

 

%T 时间,按 24 小时制显示(hh:mm:ss)

%F 显示 %Y-%m-%d

 

实例1:

[root@ken ~]# date '+%F %T'
2019-01-13 13:29:56

实例2:

[root@ken ~]# date -s "2019-01-13 13:30:00"
Sun Jan 13 13:30:00 CST 2019
[root@ken ~]# date
Sun Jan 13 13:30:01 CST 2019

 

练习题

 

1、如何通过命令行重启linux操作系统?

2、系统重要文件需要备份,如何把/etc/passwd备份到/tmp目录下?

3、如何查看系统最后创建的3个用户?

4、什么命令可以统计当前系统中一共有多少账户?

5、如何创建/tmp/test.conf文件?

6、如何查看/etc/passwd的头3行和尾3行?

7、如何一次性创建目录/text/1/2/3/4?

8、如何最快的返回到当前账户的家目录?

9、如何查看/etc所占的磁盘空间?

10、如何查看当前内核版本

 

 

发表评论

邮箱地址不会被公开。