shell的命令格式


參考高峻峰 著 循序漸進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

如果將字符串放到一對單引號間,那么字符串中所有字符的特殊含義將被忽略

雙引號的引用與單引號基本相同,但仍有一些特殊字符保留自己的特殊含義比如 “$”,"\"和“‘”

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM