成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

利用Unix操作系統重定向

系統 其他OS
在Unix操作系統中,當要把多個文件合并為一個文件時,重定向功能就會顯得特別有用。其次Unix操作系統shell會斷開默認設備。

在我們使用Unix操作系統的時候,可能大家會遇到如下這個問題:在Unix操作系統下需要編譯一個比較大的程序,估計要20分鐘。在編譯過程中可能會出現一些警告或者錯誤信息。系統工程師不可能這二十分鐘都盯著屏幕看。為此系統工程師希望shell能夠把這這些編譯過程中出現的警告或者錯誤信息能夠保存在一個文件中,以供系統工程師或者程序開發人員后續查詢所用。

一、利用重定向功能實現文件的合并。

在Unix操作系統中,當要把多個文件合并為一個文件時,重定向功能就會顯得特別有用。如現在系統管理員希望幫Unix操作系統中的A1.TXT、A2.TXT 文件合并(甚至多個文件)就可以通過重定向功能來實現。在談具體的原理之前,筆者先把這個命令寫出來。

 

  1. Cat A1.TXT、A2.TXT > new.txt7  

這個命令的具體執行過程如下:

首先當shell發現命令行中有特殊字符時,就會把流從它的默認設備上斷開。現在這個命令中有>符號時,系統就會創建一個新的文件new.txt為寫入做準備。不過這里要注意一個問題,如果此時Unix操作系統中已經存在了這個文件,則shell會覆蓋這個文件,而不會給系統管理員任何的提示。所以在利用輸出重定向功能的時候,一定要謹慎。特別是***不要以root身份來運行這個命令。

因為特權用戶對于系統中的所有文件與目錄都有完全控制的權限。為此其運行這個命令的話,萬一這個文件已經存在,則會毫不猶豫的覆蓋這個文件,即使這個文件的所有者不是特權用戶。

其次Unix操作系統shell會斷開默認設備。Cat命令的默認設備通常情況下就是屏幕終端。但是shell在解釋命令的時候看到了命令中有特殊符號,故會斷開其默認設備,而會連接到new.txt這個文件中。即把這個文件當作其默認的顯示設備。

注意這里是斷開默認設備,連接一個新設備;而不是創建一個備份設備。也就是說,此時執行這個命令的時候,因為已經斷開了與屏幕終端的連接,故這兩個文件的內容不會在屏幕上顯示,而直接保存到了new.txt文件中。

第三cat命令打開依次打開文件并讀取數據。這里系統管理員需要弄清楚一個問題,是shell打開了這兩個文件呢還是命令cat打開了這兩個文件?搞清楚這個問題的答案對于后續的學習很有幫助。筆者在后續的文章中會談到這個問題。

在這里Unix操作系統管理員只需要記住,執行這個命令的時候是cat命令打開了這些文件,而不是shell。然后Cat命令會把讀取的數據寫入到已經重定向到new.txt文件的標準輸出。

注意在這個命令的執行過程中,Cat命令并不知道它實際上是把內容寫入到了一個新的文件中。也就是說,任何使用標準輸出的命令都不知道它輸出的目標對象。他們總認為他們是在向默認設備中輸出。.

不過利用上面這個命令來合并文件的時候,還有一個小小的缺陷。即上面的輸出流合并的過程中并沒有顯示合并的文件名。而系統管理員可能希望在new.txt文件的開頭能夠顯示合并的文件名字,以提高文件的閱讀性。要實現這個功能也很簡單。假如現在在當前目錄下有以A開頭的、.txt結尾的文件五個,Unix操作系統管理員希望能夠把他們合并起來,并在新文件的開頭顯示這五個文件的名字,此時就可以通過如下的命令來實現。

 

  1. (ls –x A*.txt;echo;cat A*.txt)> new.txt 

這個命令中ls表示列出所有需要合并文件的名字,通過重定向符號會把這個結果寫入到合并后的文件中。而這個命令中的echo命令是為了在表頭列于C語言代碼之間插入一空行。也就是說,執行這個命令后程序文件名將顯示在表頭列里,這樣代碼列表清單的最前面就好像建立了一個目錄一樣。

在這里***再強調一次,在使用標準輸出重定向功能的時候,當一個命令的輸出被重定向到一個文件時,這個輸出文件由shell在命令執行前創建。

如果輸出文件不存在,則shell 會在命令執行前自動創建它;如果輸出文件已經存在,則shell會覆蓋這個已經存的文件。為此在使用這個功能的時候,***能夠通過ls等命令查看這個文件是否存在,以免因為誤操作而給Unix操作系統用戶帶來不必要的損失。

【編輯推薦】

  1. 查看Unix操作系統內存占用
  2. 讓DOS與Unix文件相互兼容
  3. Unix操作系統與Dos文件差異所在
  4. Unix操作系統管理客戶端
  5. Unix操作系統多個主機的表示方法
責任編輯:小霞
相關推薦

2010-05-04 14:42:33

Unix操作系統

2010-04-14 14:30:28

Unix操作系統

2010-04-14 18:39:24

Unix操作系統

2009-12-10 14:42:22

Linux操作系統

2010-04-13 12:27:44

Unix操作系統

2010-04-15 14:40:26

Unix操作系統

2010-04-08 10:42:28

Unix操作系統

2010-04-08 16:18:22

Unix操作系統工具

2010-04-08 17:56:42

Unix操作系統

2010-04-14 13:59:45

Unix操作系統

2010-04-16 17:19:58

Unix操作系統

2010-04-19 10:54:33

Unix操作系統

2010-04-19 16:57:09

Unix操作系統

2010-04-19 17:39:50

Unix操作系統

2010-04-19 18:18:30

Unix操作系統

2010-04-19 18:31:16

Unix操作系統

2010-04-16 17:49:28

Unix操作系統

2010-04-09 11:24:38

Unix操作系統

2010-04-08 15:21:39

Unix操作系統

2010-05-04 10:16:11

Unix操作系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本免费视频在线观看 | 一区二区在线不卡 | 羞羞的视频在线 | 中国美女撒尿txxxxx视频 | 久久久av一区 | 国产精品国产精品国产专区不卡 | 亚洲精品乱码 | 国产激情视频在线观看 | 九九免费| 黄色a视频| 亚洲性视频网站 | 先锋资源网站 | 一区二区三区在线电影 | 色免费视频 | 夜夜爆操| 久久亚洲欧美日韩精品专区 | 日韩欧美精品在线 | 久久国产精品免费一区二区三区 | 毛片黄片免费看 | 精品国产乱码久久久久久影片 | 国产精品久久久久久久岛一牛影视 | 91在线视频观看免费 | 欧美一区二区三区视频 | 精品视频一区二区 | 成人一区二区三区在线观看 | 怡红院免费的全部视频 | 欧美一区二区在线观看视频 | 国产亚洲精品久久久久久牛牛 | 国产精品久久久久婷婷二区次 | 亚洲日韩中文字幕一区 | 日韩高清一区二区 | 日韩精品视频中文字幕 | 亚洲视频在线观看免费 | 美女在线一区二区 | 欧美一a一片一级一片 | 亚洲欧美在线一区 | 欧美激情a∨在线视频播放 成人免费共享视频 | 黄色一级毛片免费看 | 日本免费网 | 成人在线中文字幕 | 毛片久久久 |