1.顯示當前使用的shell : echo ${SHELL}
例:[root@localhost ~]# echo $SHELL
/bin/bash
2.顯示當前系統使用的所有shell: cat /etc/shells
例:[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
3.啓用內部命令: enable cmd
例:[root@localhost ~]# enable pwd
禁用內部命令: enable -n cmd
例:[root@localhost ~]# enable -n pwd
查看所有禁用的內部命令:enable -n
例:[root@localhost ~]# enable -n
enable -n echo
enable -n pwd
4.查看路徑: which -a | --skip-alias ; whereis
例:[root@localhost ~]# whereis bash
bash: /bin/bash /usr/share/man/man1/bash.1.gz
6.區分命令是內部命令還是外部命令:type
例:[root@localhost ~]# type rm
rm is aliased to `rm -i'
[root@localhost ~]# type echo
echo is a shell builtin
7.外部命令緩存表:hash
hash 顯示hash緩存
hash -l 顯示hash緩存,可作爲輸出使用
hash -p path name 將命令全路徑path起別名爲name
hash -t name 打印緩存中name的路徑
hash -d name 清除name緩存
hash -r 清除緩存
8.命令別名
顯示當前shell進程所有可用的命令別名:alias
例:[root@localhost /]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
9.定義別名NAME,其相當於執行命令VALUE
alias NAME=’VALUE’
例:[root@localhost /]# alias c='cd /etc/'
[root@localhost etc]# c
撤銷別名: unalas
unalias [-a] name [name...]
-a 取消所有別名
10.日期和時間
顯示和設置系統時間 date
例:[root@localhost etc]# date
Fri Jul 27 22:30:04 CST 2018
-d<字符串>:顯示字符串所指的日期與時間。字符串前後必須加上雙引號;
-s<字符串>:根據字符串來設置日期與時間。字符串前後必須加上雙引號;
%c 日期和時間
11.hwclock ,clock:顯示硬件時鐘
例:[root@localhost etc]# hwclock
Sat 28 Jul 2018 12:41:02 AM CST -1.017374 seconds
root@localhost etc]# clock
Sat 28 Jul 2018 12:41:07 AM CST -0.875766 seconds
-s, --hctosys 以硬件時鐘爲準,校正系統時鐘
-w, --systohc 以系統始終爲準,校正硬件時鐘
顯示日曆:cal -y
12. 關機:half , poweroff , init0
重啓:reboot , init6
-f:強制,不調用shutdown
-p:切斷電源
關機或重啓:shutdown
Shutdown [OPTION]... TIME [MESSAGE]
-r: reboot
-h:halt
-c:cancel
TIME:無指定,默認相當於+1
now: 立刻,相當於+0
+m: 相對時間表示法,幾分鐘之後;例如 +3
hh:mm:絕對時間表示,指明具體時間
13.顯示當前登錄的有效用戶:whoami
例:[root@localhost etc]# whoami
root
14.系統當前所有的登錄會話:who
w:系統當前所有的登陸會話及所做的操作
例:[root@localhost etc]# who -w
root + tty1 2018-07-27 13:12
root + pts/0 2018-07-27 21:11 (192.168.180.1)
root + pts/1 2018-07-27 21:58 (192.168.180.1)
15.回顯功能:echo
語法: echo [-neE][字符串]
-e 激活轉義字符
例:[root@localhost etc]# echo -e 'hello\tword'
hello word
16.括號擴展: {}
{a,b}{c,d} -> ac ad bc bd
17命令行歷史: hitory
例:[root@localhost etc]# history
1 ifconfig
-c:清空當前歷史命令;
-a:將歷史命令緩衝區中命令寫入歷史命令文件中;
-r:將歷史命令文件中的命令讀入當前歷史命令緩衝區;
-w:將當前歷史命令緩衝區命令寫入歷史命令文件中。
18.幫助命令:help 與 man
語法help(選項)(參數)
man(選項)(參數)
19.顯示當前工作目錄:pwd
例:[root@localhost yum]# pwd
/etc/yum
-p 顯示真實物理路徑
-L顯示鏈接路徑(默認)
20.改變目錄 cd
例:[root@localhost yum]# cd /etc/
[root@localhost etc]#
切換至父目錄: cd ..
切換至當前用戶主目錄: cd
切換至以前的工作目錄: cd -
21.列出目錄內容:ls
用法:ls [options] [files_or_dirs]
-a包含隱藏文件
-l 顯示額外的信息
-R目錄遞歸通過
-id目錄和符號鏈接信息
-1 文件分行顯示
-s 按從大到小排序
-t 按mtime排序
-u 配合-t選項,顯示並按atime從新到舊排序
-U 按目錄存放順序顯示
-X 按文件後綴排序
例:[root@localhost /]# ls
bin etc lib64 misc opt sbin sys var
22.查看文件狀態,三個時間戳:stat
例:[root@localhost etc]# stat passwd
Access: 2018-07-27 14:06:51.178250316 +0800
Modify: 2018-07-27 14:05:33.695243595 +0800
Change: 2018-07-27 14:05:33.696243597 +0800
access time:訪問時間,atime,讀取文件內容
modify time:修改時間,mtime,改變文件內容(數據)
change time:改變時間,ctime,元數據發生改變
23.touch命令:
Touch [OPTION]... FILE...
-a 僅改變atime和ctime
-m 僅改變mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的時間戳
-c 如果文件不存在,則不予創建
24.複製文件和目錄:cp
-i :覆蓋前提示
-n :不覆蓋
-r,R:遞歸複製目錄及內部的所有內容
-a:歸檔,相當於-dR --preserv=all
-d:--no-dereference --preserv=liks不復制源文件,只複製鏈接名
--preserv[=ATTR_LIST]
例:[root@localhost /]# cp -r /etc/passwd /home
[root@localhost /]# ls /home/
passwd python test user6 zhang
25.移動和重命名文件:mv
常用選項:
-i:交互式
-f:強制
例:[root@localhost /]# mv /home/passwd /home/pw
[root@localhost /]# ls /home
pw python test user6 zhang
26.刪除:rm
常用選項:
-i:交互式
-f:強制刪除
-r:遞歸
例:[root@localhost /]# rm /home/pw
rm: remove regular file `/home/pw'? y
27.顯示目錄樹:tree
-d:只顯示目錄
-L level 指定顯示的層級數目
-P pattern:只顯示由指定pattern匹配的路徑
例:[root@localhost /]# tree -L 1 /etc
/etc
├── abrt
├── acpi
├── adjtime
28.創建目錄:mkdir
-p:存在於不報錯,但可自動創建所需的各目錄
-v:顯示詳細信息
-m MODE:創建目錄時直接指定權限
例:[root@localhost ~]# mkdir -pv ./a/b/c
mkdir: created directory `./a'
mkdir: created directory `./a/b'
mkdir: created directory `./a/b/c'
29.刪除空目錄:rmdir
-p:遞歸刪除父空目錄
-v:顯示詳細信息
例:[root@localhost ~]# rmdir -pv ./a/b/c
rmdir: removing directory, `./a/b/c'
rmdir: removing directory, `./a/b'
rmdir: removing directory, `./a'
rmdir: removing directory, `.'
rm -r 遞歸刪除目錄樹
30.硬鏈接:不同的文件路徑指向同一個inode
ln filename [linkname]
例:[root@localhost ~]# ln abc.txt ./test
31.軟連接:鏈接路徑不是指向inode,而是指向原始路徑(字符串)
ln -s filename [linkname]