本節內容
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