參考高峻峰 著 循序漸進Linux(第二版)
command [options] [arguments]
command:表示命令的名稱
options:表示命令的選項
arguments:表示命令的參數
例如:
ls -a -l 或 ls -al
在shell的一個命令行中,還可以輸入多個命令,用分好將各個命令分開,例如
#ls -al ; cp mylinux1.txt mylinux2.txt
也可以在多行中輸入一個命令,用“\”將一個命令持續到下一行
#cp -i \ mylinux1.txt \ mylinux2.txt
- shell的通配符
bash中常用的通配符有“*”,"?","[]"
"*":匹配任意一個或多個字符
“?”:匹配任意單一字符
“[]”:匹配任何包含在方括號內的單字符
#ls /dev/sda[12345] 或 #ls /dev/sda[1-5]
- shell的重定向
Linux下系統打開3個文件,即標准輸入,標准輸出,標准錯誤輸出。
用戶的shell將鍵盤設為默認的標准輸入,默認的標准輸出和標准錯誤輸出為屏幕。
所謂的重定向,就是不使用系統默認的標准輸入/輸出而是重新指定。
1.輸入重定向
操作符 “<” 和 “<<”
輸入重定向用於改變命令的輸入源
wc << aa(我沒看懂這條命令是做什么的)
2.輸出重定向
操作符“>” 和 “>>”
#ps -ef > ps.txt
這條命令將ps -ef輸出的系統運行進程信息全部輸入到ps.txt文件
然后通過more命令查看ps.txt文件
#more file1 file2 file3 > file
將file1 file2 file3的內容全部輸出到file文件中,類似於文件內容的合並
如果在“>”后面指定的文件不存在,shell就會自動創建一個;如果文件存在,那么這個文件原有內容將被覆蓋;如果不想覆蓋存在的文件,可以使用">>"操作符。
#ls -la /etc/* >>/root/install.log
將/etc目錄及其子目錄下的所有文件信息追加到/root/install.log文件的后面,文件原來的內容仍然存在
3.錯誤重定向
操作符:“2>” "2>>"
tar zxvf text.tar.gz 2> error.txt
如果text.tar.gz是個損壞的壓縮包,就會把錯誤消息輸出到error.txt文件
- shell的管道
管道可以把很多命令連接起來,管道的作用就是把第一個命令的輸出當作下一個命令的輸入。
管道符 “|”
#ls -la /etc/* |more
- shell中的引用
shell中用於引用的字符有轉義字符“\”,單引號"'",雙引號""""
#mv abc\?\* abc
? * 不在是通配符而只是字符? *
mv C\:\\backup backup
mv 'C:\\backup' backu
如果將字符串放到一對單引號間,那么字符串中所有字符的特殊含義將被忽略
雙引號的引用與單引號基本相同,但仍有一些特殊字符保留自己的特殊含義比如 “$”,"\"和“‘”