linux中輸入輸出和重定向問題

来源:http://www.cnblogs.com/wxfistudy/archive/2016/09/28/5916386.html
-Advertisement-
Play Games

輸入輸出解釋 當我們執行shell的時候,每個進程都和三個打開的文件有關係,並使用文件描述符來引用這些文件。但這些文件不容易記憶,所以shell給了相應的文件名: 0:輸入文件-標準輸入(它的命令是輸入,預設是鍵盤,也可以是文件或者其他命令的輸出) 1:輸出文件-標準輸出(它的命令是輸出,預設是屏幕 ...


輸入輸出解釋  

當我們執行shell的時候,每個進程都和三個打開的文件有關係,並使用文件描述符來引用這些文件。但這些文件不容易記憶,所以shell給了相應的文件名:

  • 0:輸入文件-標準輸入(它的命令是輸入,預設是鍵盤,也可以是文件或者其他命令的輸出)
  • 1:輸出文件-標準輸出(它的命令是輸出,預設是屏幕,也可以是文件)
  • 2:錯誤輸出文件-標準輸出(它的命令是錯誤的輸出,預設是屏幕,也可以是文件)(或許會有疑問,為什麼會定義錯誤輸出,因為很多人喜歡把錯誤單獨輸出,或者在處理大數據文件時,可能產生很多的錯誤,所以定義了此命令

文件重定向

在執行命令的時候,可以指定命令的輸入,輸出和錯誤,要實現這個, 就必須使用文件重定向。

在對標準錯誤進行重定向時,必須使用文件描述符,但是對於標準輸入和輸出來說,則不是必須的。

下麵是幾種寫法的案列:

  • command > filename                  把把標準輸出重定向到一個新文件中
  • command >> filename                   把標準輸出重定向到一個文件中(追加)
  • command 1 > fielname                  把標準輸出重定向到一個文件中
  • command > filename 2>&1            把標準輸出和標準錯誤一起重定向到一個文件中
  • command 2 > filename                  把標準錯誤重定向到一個文件中
  • command 2 >> filename               把標準輸出重定向到一個文件中(追加)
  • command >> filename 2>&1         把標準輸出和標準錯誤一起重定向到一個文件中(追加)
  • command < filename >filename2   把c o m m a n d命令以f i l e n a m e文件作為標準輸入,以f i l e n a m e 2文件作為標準輸出

  • command < filename                   把c o m m a n d命令以f i l e n a m e文件作為標準輸入

  • command << delimiter                把從標準輸入中讀入,直至遇到d e l i m i t e r分界符
  • command <&m                          把文件描述符m作為標準輸入
  • command >&m                          把標準輸出重定向到文件描述符m中
  • command <&-                           把關閉標準輸入

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 其實還是這個老問題: 記一次文件下載丟包填坑之旅 http://www.cnblogs.com/syjkfind/p/5281677.html 即使現在只有haproxy-nginx-磁碟文件 比較少的轉發,但文件特別大,還是偶有文件不完整的問題。 從現象上看,瀏覽器響應是200沒問題,curl命令 ...
  • 介紹 本篇文章主要介紹sudo配置和用法,為了給某個用戶控制許可權比如執行某個命令或者關機操作等,伺服器管理員通常會給這個用戶配置sudo,接下來就來詳細介紹具體的配置方法。 環境:centos6.7 結構說明 可以通過編輯文件/etc/sudoers來配置,通常使用visudo命令來進行修改,因為如 ...
  • 首先貼出出錯提示信息: jello@kali:/usr/local/arm/2.95.3/bin$ arm-linux-arm-linux-addr2line arm-linux-gasp arm-linux-protoizearm-linux-ar arm-linux-gcc arm-linux- ...
  • 介紹 我們的生產伺服器經常會做raid存儲,但是單單做了raid就能保證性能高效和數據安全嗎?答案是否定的,我們一般建議使用帶電池保護的RAID卡,這樣既能保證性能有能保證數據安全,但是也需要經常對電池進行維護;由於成本原因一般的RAID卡會使用鋰電池,因為鋰電池有較強的惰性,它在非充電狀態下會緩慢 ...
  • 本來申請這個博客是為了寫一些Java學習筆記的,但是鑒於我半年內無數次重裝系統的慘痛經歷,所以把win10系統的一些問題總結一些 1.win10取消開機密碼: http://jingyan.baidu.com/article/90bc8fc87bd7e3f652640c49.html 2.讓打開圖片 ...
  • 1、功能描述 1. 安裝支持包,從軟體源下載自定義的NGINX包,創建NGINX用戶和用戶組。 2. 安裝並初始化NGINX配置。 3. 運行NGINX並檢測運行狀態。 2、實現 源碼如下: ...
  • 1、功能描述 1. 連接軟體源伺服器下載.NET Framework 4.0、.NET Framework 4.5。 2. 檢測並判斷當前.NET Framework版本是否小於v4.0,如果小於則進行升級。 3. 安裝IIS組件,安裝完成後刪除軟體及腳本。 在升級.NET Framework時,是 ...
  • 感謝原作者:Vamei 出處:http://www.cnblogs.com/vamei 我在這一系列文章中闡述Linux的基 本概念。Linux操作系統繼承自UNIX。一個操作系統是一套控制和使用電腦的軟體。UNIX是一套規定,所有UNIX系統服從同一個的哲學體系。我 側重於Linux的巨集觀機制, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...