欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

shell常用重定向?qū)嵗v解

 更新時間:2014年07月29日 08:47:43   投稿:junjie  
這篇文章主要介紹了shell常用重定向?qū)嵗v解,I/O(輸入/輸出)常用的重定向命令詳細介紹,需要的朋友可以參考下

每個打開的文件都會被分配一個文件描述符.stdin (鍵盤), stdout (屏幕), 和 stderr (錯誤消息輸出到屏幕上)的文件描述符分別是0, 1, 和 2. 對于正在打開的額外文件, 保留了描述符3到9.

文件描述符是文件系統(tǒng)為了跟蹤這個打開的文件而分配給它的一個數(shù)字。

下面以實例說明

1,>的用法

復(fù)制代碼 代碼如下:

[zhangy@localhost ~]$ echo "11111" > 1.txt
[zhangy@localhost ~]$ cat 1.txt
11111
[zhangy@localhost ~]$ echo "11111" 1> 1.txt    //這個用法和上面的用法是一樣
[zhangy@localhost ~]$ cat 1.txt
11111
[zhangy@localhost ~]$ echo "22222" >1.txt
[zhangy@localhost ~]$ cat 1.txt
22222

這種用法我想大家都非常的熟悉,因為這是我經(jīng)常會用到的。echo "11111" > 1.txt 時,>前面是有一個1的,是默認(rèn)的。>重定向到文件時,會將文件清空,在寫入。

復(fù)制代碼 代碼如下:

[zhangy@localhost ~]$ > 1.txt 
[zhangy@localhost ~]$ :> 1.txt 

上面的這個例子,可以把1.txt文件中的內(nèi)容清空,其實也很好理解,清空后,不輸入內(nèi)容當(dāng)然為空了。

2,>>的用法

復(fù)制代碼 代碼如下:

[zhangy@localhost ~]$ echo "2222" >> 2.txt
[zhangy@localhost ~]$ cat 2.txt
2222
[zhangy@localhost ~]$ echo "2222" >> 2.txt
[zhangy@localhost ~]$ cat 2.txt
2222
2222

從上面的這個例子我們可以看出,>>重定向到文件時,會將輸出寫到文件的結(jié)尾。這一點和>完全不同的。

3,0,1,2 到9,以及&

復(fù)制代碼 代碼如下:

[zhangy@localhost ~]$ cat 1.txt
 333
 111
 222
 444
 [zhangy@localhost ~]$ grep "22" 0< 1.txt  //把1.txt中的內(nèi)容讀取出來
 222
 [zhangy@localhost ~]$ ls tank 2>> 1.txt   //將錯誤信息放到文件的結(jié)尾
 [zhangy@localhost ~]$ cat 1.txt
 333
 111
 222
 444
 ls: tank: 沒有那個文件或目錄                 //這個就是 2>> 1.txt產(chǎn)生的內(nèi)容
 [zhangy@localhost ~]$ (ls tank ;pwd) &>1.txt   //將錯誤信息,以及輸出內(nèi)容放到1.txt文件中,&(stderr,stdout)
 [zhangy@localhost ~]$ cat 1.txt
 ls: tank: 沒有那個文件或目錄
 /home/zhangy

i>&j重定向文件描述符i 到 j.指向i文件的所有輸出都發(fā)送到j(luò)中去. i和j呢是0-9這間的數(shù)字

復(fù)制代碼 代碼如下:

[zhangy@localhost ~]$ ls tank 2>&1|egrep \* 1> 2.txt  //在這里我把錯誤信息重定向到了1,在這里1就會輸出錯誤,根賦值差不多
[zhangy@localhost ~]$ cat 2.txt
ls: tank: 沒有那個文件或目錄

4,<>的用法
<這個符號是讀取,>這個符號是輸出,放在一起就打開并且讀取,

復(fù)制代碼 代碼如下:

[zhangy@localhost ~]$ echo 123546 > 2.txt
[zhangy@localhost ~]$ exec 4<> 2.txt     //打開2.txt并將內(nèi)容讀取到&4中
[zhangy@localhost ~]$ read -n 4 <&4      //從&4中讀取4個字符
[zhangy@localhost ~]$ echo -n . >&4      //在向&4寫入一個點
[zhangy@localhost ~]$ exec 4>&-          //關(guān)閉輸出文件描述符4
[zhangy@localhost ~]$ cat 2.txt
1235.6

能過上面的這個例子,就可以很清楚了解<>他的作用

5,n<&-關(guān)閉輸入文件描述符n         n>&關(guān)閉輸出文件描述符n

復(fù)制代碼 代碼如下:

[zhangy@localhost ~]$ ls tank          //會提示錯誤
ls: tank: 沒有那個文件或目錄
[zhangy@localhost ~]$ ls tank 2>&-     //我把錯誤關(guān)閉后,什么也不輸出了

6,|管理命令

這個命令也是我們常用的,是典型的,把一個命令的輸出,當(dāng)作另一個命令的輸入

復(fù)制代碼 代碼如下:

[zhangy@localhost ~]$ echo tank | wc -w
 1

表示tank是一個輸出,但它又是wc的輸入,不然就不會有統(tǒng)計出現(xiàn)了。

相關(guān)文章

  • shell腳本編程Makefile的使用

    shell腳本編程Makefile的使用

    本文主要介紹了shell腳本編程Makefile的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 檢查linux網(wǎng)絡(luò)狀態(tài)的兩個腳本

    檢查linux網(wǎng)絡(luò)狀態(tài)的兩個腳本

    檢查linux網(wǎng)絡(luò)狀態(tài)的兩個腳本,包括通過定時收發(fā)email檢測網(wǎng)絡(luò)連通性、定時檢測網(wǎng)絡(luò)狀態(tài)通過email發(fā)送,有需要的朋友可以參考下
    2013-02-02
  • shell流程控制語句腳本編程解析

    shell流程控制語句腳本編程解析

    這篇文章主要為大家介紹了shell流程控制語句腳本編程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • 自己常用的一些shell腳本分享

    自己常用的一些shell腳本分享

    這篇文章主要介紹了自己常用的一些shell腳本分享,包含20多個腳本實例,需要的朋友可以參考下
    2014-08-08
  • shell腳本開頭#!/bin/bash的作用詳解

    shell腳本開頭#!/bin/bash的作用詳解

    在Shell腳本中,#!/bin/bash 是指定腳本使用 Bash 解釋器的 shebang 語句,它出現(xiàn)在腳本的第一行,并告訴操作系統(tǒng)使用 Bash 解釋器來執(zhí)行該腳本,這篇文章主要介紹了shell腳本開頭#!/bin/bash的作用詳解,需要的朋友可以參考下
    2023-12-12
  • Shell腳本自動部署項目的方法步驟

    Shell腳本自動部署項目的方法步驟

    本文主要介紹了Shell腳本自動部署項目的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 利用Shell 腳本解決DDOS攻擊問題

    利用Shell 腳本解決DDOS攻擊問題

    這篇文章主要介紹了利用Shell 腳本解決DDOS攻擊問題的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • linux腳本實現(xiàn)自動發(fā)送和收取郵件的設(shè)置方法

    linux腳本實現(xiàn)自動發(fā)送和收取郵件的設(shè)置方法

    這篇文章主要是介紹linux下通過腳本自動發(fā)送和收取郵件的設(shè)置方法,有需要的朋友可以參考下
    2013-05-05
  • jenkins 實現(xiàn)shell腳本化定時執(zhí)行任務(wù)的方法

    jenkins 實現(xiàn)shell腳本化定時執(zhí)行任務(wù)的方法

    這篇文章主要介紹了jenkins 實現(xiàn)shell腳本化定時執(zhí)行任務(wù),解決訪問是jenkins構(gòu)建好之后將jar遠程推送到生產(chǎn)服務(wù)器,提前退出后臺執(zhí)行服務(wù)器遠程腳本,腳本通過ngnx提前切走nginx代理auction sleep 1800s,半小時后執(zhí)行更新重啟,具體操作過程跟隨小編一起看看吧
    2022-01-01
  • Linux輸出內(nèi)容到指定文件的解決方案

    Linux輸出內(nèi)容到指定文件的解決方案

    這篇文章主要介紹了Linux輸出內(nèi)容到指定文件的解決方案,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07

最新評論