一、輸入重定向
- <將文件內容作為輸出流給到命令
- |管道符是將前面命令的輸出作為后面命令的輸入,可多個聯(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