第三十二節(jié)、文件重定向/命令通配符/環(huán)境變量

一、輸入重定向
  • <將文件內容作為輸出流給到命令
  • |管道符是將前面命令的輸出作為后面命令的輸入,可多個聯(lián)合使用
#wc命令作用于文件對象,返回的是統(tǒng)計結果和對象名
[root@localhost sh]# wc -l /etc/passwd
38 /etc/passwd
#文件對象內容作為標準輸出流給到wc命令,只返回統(tǒng)計結果
[root@localhost sh]# wc -l < /etc/passwd
38
#cat讀取文件內容后將內容通過管道符作為對象傳遞給wc,得到統(tǒng)計結果
[root@localhost sh]# cat /etc/passwd|wc -l
38
#下面是直接設置用戶密碼
[root@localhost sh]# echo "linux1234" |passwd --stdin  linuxprobe
#echo 打印輸出的內容就是密碼通過管道符作為后面的輸入
#--stdin直接讀取標準輸入作為用戶linuxprobe的新密碼
二、輸出重定向
  • >表示覆蓋寫入,會清空目標文件內容
  • >>表示追加寫入,保留目標文件內容
    linux系統(tǒng)中命令輸出的信息分為標準信息流和報錯信息
#標準信息流就是命令正確執(zhí)行如下,原本打印在屏幕的信息會被輸入文件2.txt中
[root@localhost sh]# ls a.txt 
a.txt
[root@localhost sh]# ls a.txt >b.txt
#標準六輸出是1,這里是省略不寫
#[root@localhost sh]# ls a.txt 1>b.txt
[root@localhost sh]# cat b.txt 
a.txt
#報錯信息,命令執(zhí)行錯誤系統(tǒng)會在屏幕上返回報錯信息
[root@localhost sh]# ls c.txt
ls: cannot access c.txt: No such file or directory
#錯誤的信息無法被追加到目標文件中而是直接打印在屏幕上
[root@localhost sh]# ls c.txt >b.txt 
ls: cannot access c.txt: No such file or directory
#定義錯誤信息也輸入目標文件,但是這樣定義只有報錯信息才會輸入目標文件
[root@localhost sh]# ls c.txt 2>b.txt
[root@localhost sh]# cat b.txt 
ls: cannot access c.txt: No such file or directory
#正確的命令,標準輸出流沒定義會打印在屏幕上
[root@localhost sh]# ls a.txt 2>b.txt 
a.txt
#下面就是正確錯誤信息都輸出到文件
[root@localhost sh]# ls a.txt &>b.txt 
#將文件的標準和錯誤信息流分別定向到不同文件,一個重定向只能改變它們中的一個
[root@localhost sh]# ll c.txt 1>b.txt 2>d.txt 

command >/dev/null 2>&1
表示把正確錯誤的信息流都輸出到黑洞,不顯示任何信息

向一個文件中追加一段內容,以PHP測試頁面index.php為例
腳本中
cat>/usr/local/nginx/html/index.php<<EOF      #<<EOF是起始標志
<?php
phpinfo();
?>
EOF            #結束標志
三、命令行通配符
  • *可以匹配任意字符,包括空和其他所有字符
  • ?匹配單個字符
  • [0-9]匹配0到9中的一個數(shù)字
#定義變量PRICE
[root@localhost sh]# PRICE=5
#利用$提取變量的值
[root@localhost sh]# echo $PRICE
5
#打印信息事反斜杠\表示轉義,雙引號里面的內容作為一個對象
[root@localhost sh]# echo "This price is \$$PRICE"
This price is $5
#單引號會強制轉義里面的所有內容
[root@localhost sh]# echo 'This price is \$$PRICE' 
This price is \$$PRICE
#反引號``表示執(zhí)行里面命令輸出結果

#######四、環(huán)境變量
變量是計算機系統(tǒng)用于保存可變值的數(shù)據類型。在Linux系統(tǒng)中,變量名稱一般都是大寫的,這是一種約定俗成的規(guī)范。我們可以直接通過變量名稱來提取到對應的變量值。Linux系統(tǒng)中的環(huán)境變量是用來定義系統(tǒng)運行環(huán)境的一些參數(shù),比如每個用戶不同的家目錄、郵件存放位置等

變量名稱 作用
HOME 用戶的主目錄(即家目錄)
SHELL 用戶在使用的Shell解釋器名稱
HISTSIZE 輸出的歷史命令記錄條數(shù)
HISTFILESIZE 保存的歷史命令記錄條數(shù)
MAIL 郵件保存路徑
LANG 系統(tǒng)語言、語系名稱
RANDOM 生成一個隨機數(shù)字
PS1 Bash解釋器的提示符
PATH 定義解釋器搜索用戶執(zhí)行命令的路徑
EDITOR 用戶默認的文本編輯器

[root@localhost sh]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據革命閱讀 13,269評論 2 33
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 100,727評論 9 468
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,635評論 19 139
  • 兇殘的六月終于結束了。 好多人問起七月片單。 這就來。 本來Sir以為—— 六月份攢了好多錢,終于可以在七月份買買...
    Sir電影閱讀 1,599評論 5 12
  • 文/梓星 深夜 我看見一只蝴蝶 漸漸干癟的軀體 它終究會成為美麗的標本 卻再也無法在春天里 為花朵兒跳一支舞 清晨...
    梓莘閱讀 310評論 7 8

友情鏈接更多精彩內容