本节内容
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:
- 程序立刻停止
- 当程序释放相应资源后再停止
- 程序可能仍然继续运行
实例:
[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、如何查看当前内核版本
答案:
1、init6或 #reboot
2、cp /etc/passwd /tmp
3、tail -3 /etc/paswwd
4、wc -l /etc/passwd
5、touch /tmp/test.conf
6、head -3 /etc/passwd tail -3 /etc/passwd
7、mkdir -p /text/1/2/3/4
8、cd
9、du -sh /etc
10、uname -r