shell指令碼 重定向與管道符

2022-08-22 07:18:13 字數 2368 閱讀 4819

重定向與管道符

一、重定向--tr

程式=指令(命令)+資料(由變數提供)

重定向分為三類:標準輸入重定向、標準輸出重定向、錯誤重定向

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

標準輸入:例 useradd cqy; | passwd --stdin 「cqy」(給使用者cqy新增密碼)

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

ls /etc/ >a.txt

fd檔案識別符號 0-9,常用的被定義的為0(標準輸出),1(標準輸入),2(錯誤輸入輸出(標準錯誤))

虛擬檔案系統vfs,用來做翻譯,檔案系統格式ext2、ext2、reiserfs、fat、ntfs、iso9660等。

常見重定向符號

1、標準輸出:>覆蓋重定向【非常危險】(set -c(關閉覆蓋重定向的功能,set +c加上覆蓋重定向的功能;>|強制重定向))set用來檢視環境標量 c

>>追加重定向(不覆蓋)

2、標準輸入:<  tr(替換檔案內容) tr set1 [set2]

<

3456

789cat >> a.txt<

>1

>2

>3

>eof

3、錯誤輸出:2>

2>>

不需要輸出內容,只需要輸出狀態;

ls /etc/ > /dev/null 2> /dev/null

ls /etc/ &> /dev/null(不管前面的結果正確與否,都將結果重定向到/dev/null中)

二、管道-tee

管道符就是前乙個命令的執行結果交給後乙個命令來執行

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

3、文字處理工具-wc,cut,sort,uniq

tee :一路輸入 兩路輸出

tee /tmp/tee.out   //如果沒有檔案會建立,預設如果檔案存在有內容時,會覆蓋;

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

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

活動目錄(域【windows server的精髓】)

域(domain):將網路中多台計算機邏輯上組織到一起,進行集中管理,這種區別於工作組的邏輯環境叫做域(有伺服器和客戶端角色之分,伺服器用來管理客戶端)

域是組織與儲存資源的核心管理單元

工作組:所有的主機都是獨立的,不存在管理關係,沒有角色之分

域控制器(domain controller,簡稱dc):在域中,至少有一台dc,一般情況下乙個域會有多台dc,域控制器中儲存著整個域的使用者賬號和安全資料庫,安裝有active directory的主機,可以對資源進行統一的管理

活動目錄(active director,ad):是儲存網路物件資訊並使網路使用者使用這些資料的方法(相當於資料庫)

活動目錄特點:集中管理

便捷的網路資源訪問(使用者一次登入就可以訪問整個網路資源,網路資源主要包含大量物件(使用者賬戶,組,共享資料夾,印表機等))

域樹(tree):具有連續性的網域名稱空間的多個域

林(forest):林由乙個或多個域樹組成

組織單位(ou):組織單位是活動目錄中最小的管理單元,ou可以建立子物件

利用ou可以建立管理模型

安裝域控制器的條件:安裝者必須具有本地管路員許可權

作業系統版本必須滿足條件(windows server 2008除web版外都滿足)

本地磁碟至少有乙個分割槽是ntfs檔案系統

有tcp/ip設定(ip位址、子網掩碼等)

有相應的dns伺服器支援

有足夠的可用空間

Linux重定向 管道符

輸出重定向 file 重新定向正確輸出到file中 會覆蓋原檔案 2 file 重新定向錯誤輸出到file中 會覆蓋原檔案 file 重新定向所有輸出到file中 會覆蓋原檔案 file 清空file 重新定向會覆蓋原檔案內容 示例 find etc name passwd file 定向正確輸出到...

重定向和管道符

重定向和管道符 1.重定向 程式 指令 資料 命令 變數 在程式中,資料如何輸入?如何輸出?資料輸入 鍵盤 標準輸入,但並不是唯一輸入方式 stdin echo 123456 passwd stdin username 例如 功能新增使用者 useradd.sh txt文字文件1000個使用者 us...

重定向,管道符,黑洞檔案

輸出重定向 將命令的正常輸出結果儲存到指定的檔案,而不是直接顯示到螢幕上語法 檔名 表示將標準輸出的內容,覆蓋寫到後面的檔案中 檔名 表示將標準輸出的內容,追加寫到後面的檔案中 將核心的版本資訊追加到1.txt檔案中 輸入重定向 將命令中接受輸入的路徑由預設的鍵盤改為其他檔案 eof本意是end o...