Linux Shell基礎命令
阿新 • • 發佈:2018-12-11
1.基礎命令
命 令 | 說 明 |
---|---|
pwd | 顯示當前目錄 |
passwd | 修改使用者密碼 |
ls | 列出目錄內容 |
cd | 改變當前的工作目錄 |
* | 匹配任意長度的任意字元 |
? | 匹配任意一個字元 |
cat | 顯示輸出檔案的全部內容 |
cp | 複製檔案 |
mv | 移動檔案 |
rm | 刪除檔案 |
mkdir | 建立目錄 |
rmdir | 刪除目錄 |
chown | 修改目錄或檔案所有者 |
chgrp | 修改目錄或檔案使用者組 |
chmod | 修改檔案或目錄的許可權 |
grep | 查詢指定字串 |
find | 查詢指定檔案 |
egrep | 支援正則表示式的grep |
& | 在後臺執行 |
| | 管道符 用於連線多個命令 其中前一命令的輸出為後一命令的輸入 |
2. IO重定向
命令列 | 說明 |
---|---|
命令1 > 檔案1 | 將命令1的輸出結果重定向到檔案1 |
命令1 &> 檔案1 | 將命令1的輸出結果和標準錯誤輸出一起重定向到檔案1 |
命令1 >> 檔案1 | 將命令1的輸出結果追加到檔案1中 |
命令1 2> 檔案1 | 將命令1的標準錯誤輸出的結果重定向到檔案1中 |
命令1 < 檔案1 | 將檔案1作為命令1的標準輸入 |
命令1 << 字串1 | 允許連續輸入資料,直到收到字串1 |
3. 命令連線
3.1 管道(pipe)
#將前一程式的輸出作為後一程式的輸入
命令1 | 命令2 [| 命令3 ...]
#連標準錯誤輸出一起送入管道
命令1 |& 命令2 [|& 命令3 ...]
例:可以使用cat,sort,wc命令,統計student檔案是否有重複的行
# cat student | sort -u |wc -l
3.2執行順序控制
(1)順序的執行多個命令,用分號( ; )分隔
# echo hello shell;pwd;ls
(2)有條件的執行,分為&&和||
- &&:連線兩命令,前一命令執行成功後再執行後一命令,想到與邏輯與
- || :連線兩命令,前一命令執行失敗後再執行後一命令,想到與邏輯或
4. 三種引號用法
-
雙引號(" "):雙引號中的字元,除了$ , " , ’ 和 \ 以外的所有字元都會解釋成字元本身。
-
單引號(’ '):單引號中的所有特殊字元(例如 $ , " , ’ 和 \ )都失去特殊意義成為普通字元。
-
反引號(` `):反引號中的字元都會被解釋成命令,例如`cmd`會被解釋成cmd的執行結果。
[email protected]:~$ echo "$PATH" /home/raki/.local/share/umake/bin:/home/raki/bin:/home/raki/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/arm/4.4.3/bin [email protected]:~$ echo "PATH" PATH [email protected]:~$ echo '$PATH' $PATH [email protected]:~$ echo `ls` a.out apue.2e arm-linux-gcc-4.4.3.tar.gz Desktop Documents Downloads examples.desktop Music opt opt111 Pictures Public spf13-vim.sh src.2e.tar.gz Templates tool Videos wyc [email protected]:~$ echo "I am $USER" I am raki