1. 程式人生 > >8.1 shell介紹 8.2 命令歷史 8.3 命令補全和別名 8.4 通配符 8.5 輸入輸出重

8.1 shell介紹 8.2 命令歷史 8.3 命令補全和別名 8.4 通配符 8.5 輸入輸出重

輸出 一個 路徑 strong 簡單 local 如果 一次 command

8.1 shell介紹

shell是系統跟計算機硬件交互時使用的中間介質,它只是系統的一個工具。
用戶直接面對的不是計算機硬件而是shell,用戶把指令告訴shell,然後shell再傳輸給系統內核,接著內核再去支配計算機硬件去執行各種操作。

8.2 命令歷史

linux是會有記錄的,預設可以記錄1000條歷史命令。這些命令保存在用戶的家目錄中的.bash_history文件中。有一點需要你知道的是,只有當用戶正常退出當前shell時,在當前shell中運行的命令才會保存至.bash_history文件中。

1) !! 連續兩個 ‘!’, 表示執行上一條指令;

[root@localhost ~]# pwd

/root
[root@localhost ~]# !!
pwd
/root
2) !n 這裏的n是數字,表示執行命令歷史中第n條指令,例如 !1002 表示執行命令歷史中第1002個命令;

[root@localhost ~]# history |grep 1002
1002 pwd
1015 history |grep 1002
[root@localhost ~]# !1002
pwd
/root

history 命令如果未改動過環境變量,默認可以把最近1000條命令歷史打印出來。

3) !字符串 (字符串大於等於1),例如 !pw 表示執行命令歷史中最近一次以 ‘pw’ 為開頭的指令。

[root@localhost ~]# !pw
pwd

/root

8.3 命令補全和別名

命令補全就是按tab鍵,它可以幫你補全一個指令,也可以幫你補全一個路徑或者一個文件名。連續按兩次tab鍵,系統則會把所有的指令或者文件名都列出來。

別名

前面也出現過alias的介紹,這個就是bash所特有的功能之一了。我們可以通過alias把一個常用的並且很長的指令別名一個簡潔易記的指令。如果不想用了,還可以用unalias解除別名功能。直接敲alias會看到目前系統預設的alias.

alias語法很簡單, alias [命令別名]=[‘具體的命令‘]
alias lgx=‘pwd‘
lgx
/root
unalias lgx
lgx
bash: lgx: command not found

8.4 通配符

在bash下,可以使用 * 來匹配零個或多個字符,而用 ? 匹配一個字符。

[root@localhost ~]# ls -d test*
test1.txt test2 test3 test.pl test.txt
[root@localhost ~]# ls -d test?
test2 test3

8.5 輸入輸出重定向

輸入重定向用於改變命令的輸入,輸出重定向用於改變命令的輸出。輸出重定向更為常用,它經常用於將命令的結果輸入到文件中,而不是屏幕上。輸入重定向的命令是<,輸出重定向的命令是>,另外還有錯誤重定向2>,以及追加重定向>>.
mkdir /tmp/10
cd /tmp/10
head /etc/passwd > 1.txt
echo "123" >> 1.txt
cat 1.txt

8.1 shell介紹 8.2 命令歷史 8.3 命令補全和別名 8.4 通配符 8.5 輸入輸出重