Xshell學習第二課 重定向和管道符

2022-07-22 19:27:11 字數 1739 閱讀 6878

重定向和管道符

1.重定向:

程式等於指令加資料

指令就是命令,資料就是變數

在程式中,資料如何輸入,如何輸出?

資料輸入:鍵盤—標準輸入,但是並不是唯一的輸入方式

--stdin

--echo 「123456」 | passwd –stdin 「username」---同一行直接輸入密碼而不進入互動式介面;

--功能新增使用者 useradd.sh user.txt文字文件1000個使用者

./useradd.sh --while line;do

迴圈體$lines

done < /etc/passwd

資料輸出:顯示器---標準輸出,但並不是唯一的輸出方式

ls /etc/ > a.txt

fd  檔案識別符號 0-9 ---相當於給檔案分類;

0   1    2

0----標準輸出

1----標準輸入

2----錯誤輸入輸出(標準錯誤)

常見重定向符號:

1、 標準輸出

>      覆蓋重定向、非常危險,

set -c   去掉覆蓋重定向的功能

>|       強制重定向

>>      追加重定向,不覆蓋

2、 標準輸入

--tr set1 [set2] < file.txt

<

--cat >>a.txt<>1

>2

>3

>eof

3、錯誤輸出

2>.

擴充套件:不需要輸出內容,只需要輸出狀態;

----------ls /etc. > /dev/null 2> /dev/null

if [$? -eq 0];then

fi&> &>> == 2&>1

--ls /etc/ &> /dev/null

2>>

2.管道 – tee

command1 | commend2 | commend3 | ……

前乙個命令的執行結果交給後乙個命令來執行;

【linux思想:結合小功能實現大功能】

管道符:

定位

定位行和列

--free -m | grep 「^mem」 | cut -d』 』 -f19

--free -m | grep 「 ^mem」 | awk 『』

--tee 一路輸入,倆路輸出

--tee /tmp/tee.out

如果沒有檔案,會建立,預設如果檔案存在內容,會覆蓋;

在輸入的時候,會先列印輸出一遍,然後檢視再輸出一邊

練習:將/etc/passwd檔案中的前五行內容轉換成大寫儲存在/tmp/passwd.out檔案中

將登入至當前系統上使用者資訊彙總的後三位資訊轉換為大寫後儲存至/tmp/who.out檔案中

who | tail -2 | cut -d『 』 -f1 | tr [[:lower:]] [[:upper:]] | tee /tmp/who.out

--tail  檢視檔案尾部多少行(預設10行)

-n    指定多少行

-f     實時檢視檔案更新內容

--head 檢視檔案頭部多少行(預設10行)

-n     前n行

取10-20行:head – 20 /etc/passwd | tail -10

linux學習第二課

今天跟著benjamin學習linux的第二課,主講內容 linux作業系統的檔案 一.linux系統下除了一般檔案外,所有的目錄和裝置 光碟機,硬碟等 都是以檔案的形式存在了。所以這裡就出現了乙個問題,我們怎樣才能使用物理裝置中的資料呢,linux系統是將物理裝置掛載 linux中乙個非常重要的概...

Android學習第二課

android技術結構圖 是針對安卓,對linux kernel進行優化 libraries android rumtime core libraries dalvik virtual machine 常用庫應用程式框架方便了我們的開發 手機的應用程式 android的四大元件 activity s...

jQuery學習第二課

1.jquery 物件和dom 物件 2.dom 物件和jquery 物件的互相轉換 3.jquery 與其它js 庫如何共存 一.jquery物件和 dom物件 1.dom物件 1.1.dom 文件物件模型,每乙份 dom都可以表示成一棵樹 1.2.從dom 樹中可以看出各個元素之間的關係 1.3...