Linux特殊符號

1 管道符|

  • 管道符號 | 用于將一個命令的輸出作為另一個命令的輸入。
  • 這種機制允許將多個命令組合在一起,形成一個數據處理鏈,每個命令處理前一個命令的輸出,從而實現復雜的數據處理任務。
  • 示例
# 查詢/var/log目錄下所有的log文件,并進行分頁顯示,每頁5條
find /var/log -name "*.log" | more -5
# 查找并統計文件中的關鍵詞
grep "error" /var/log/auth.log | wc -l
grep -c "error" /var/log/auth.log

2 重定向符號>和追加重定向符號>>

2.1 重定向符號>

  • 重定向符號 > 用于將命令的輸出重定向到一個文件中。
    • 如果文件不存在,它將創建該文件
    • 如果文件已存在,它將覆蓋文件中的原有內容
  • 示例
# 搜索auth文件中含有error的行,寫入到error.txt中
grep "error" /var/log/auth.log > error.txt
# 查詢當前文件夾下所有txt文件的詳細信息,入wb文件中
ll *.txt > wb
# 查詢lshelp.txt文件的7-10行內容,并覆蓋寫入wb文件
head -10 lshelp.txt | tail -4 > wb

2.2 追加重定向符號>>

追加重定向符號 >> 用于將命令的輸出追加到文件末尾,而不是覆蓋原有內容

  • 示例
# 將一條文本追加到文件末尾
echo "這是一條新的日志信息" >> logfile.txt
# 將date命令的輸出追加到文件中
date >> logfile.txt

2.3 標準輸入

  • 標準輸入在Linux系統中通常用stdin來表示。它指的是程序從用戶或其他來源獲取數據的通道。
  • 通過標準輸入,用戶可以與程序進行交互,輸入數據以驅動程序的運行。

2.4 標準輸出與標準錯誤輸出

  • stdout代表標準輸出,即程序正常輸出數據的通道
  • stderr則表示標準錯誤輸出,用于傳遞程序在執行過程中產生的錯誤信息
  • 通過這兩種數據流,程序能夠清晰地與用戶溝通其運行狀態和結果
  • 將正確的輸出重定向到文件,使用1>符號,其中1代表標準輸出,可以省略
  • 將錯誤輸出重定向到文件,使用2>符號。
  • 示例
# 標準輸出
ls 1> true.txt
ls > true.txt
# 錯誤輸出
lk 2> error.txt
  • 將這兩種輸出合并到同一個文件中,可以使用2>&1
    • 2>&1的含義:將標準錯誤輸出重定向到標準輸出
    • 符號>&是一個整體,不可分開
  • 示例
# 1.txt 2.txt 兩個文件一個存在一個不存在# 標準輸出與錯誤輸出,合并輸出到終端
cat 1.txt 2.txt 2&>1
# 錯誤輸出到終端,標準輸出重定向到文件中
cat 1.txt 2.txt 2&>1 >1.txt
# 標準輸出到終端,錯誤輸出重定向到文件中
cat 1.txt 2.txt 2&>1 >1.txt
# 標準輸出和錯誤輸出,全部重定向到文件中
cat 1.txt 2.txt >1.txt 2&>1

3 后臺執行符&

“&”符號用于將任務放到后臺運行。
通過使用“&”符號,用戶可以在執行命令時不阻塞終端,繼續進行其他操作。
對于需要長時間運行的任務特別有用,因為它允許用戶在等待任務完成的同時,繼續使用終端執行其他命令。

  • 示例
# 在后臺運行一個長時間運行的命令,如文件壓縮
tar -czf archive.tar.gz large_directory &
# 同時啟動多個命令,所有命令都會并行在后臺執行
command1 & command2 &command3
  • 查看后臺任務
    • 使用jobs命令查看當前在后臺運行的任務
    • 格式:jobs
    • jobs命令會列出后臺任務及其對應的作業號
  • 將后臺任務帶到前臺
    • 使用fg命令將后臺任務帶到前臺
    • 格式:fg %1
    • 將作業號為1的后臺任務帶到前臺執行
  • 終止后臺任務
    • 使用kill命令終止后臺任務
    • 格式:kill %1
    • 終止作業號為1的后臺任務

4 邏輯或符號|| 和邏輯與符號&&

4.1 邏輯或符號||

在Linux命令中,“||”表示邏輯“或”關系。
用于指定在前一個命令執行失敗時,才執行其后跟隨的命令。
這種用法類似于一種條件判斷,根據前一個命令的執行結果來決定是否執行后續命令。

  • 示例
# 嘗試創建一個目錄,如果目錄已存在,則顯示一條消息
mkdir aa || echo "目錄已存在"
# 運行一個命令,如果命令不存在或失敗,則提示用戶
mycommand || echo "命令未找到"
# 檢查某個程序是否安裝,如果未安裝,則嘗試安裝它
command -v ifconfig || apt install net-tools

4.2 邏輯與符號&&

在Linux中,&&符號用于實現邏輯與操作。它的作用是,如果前面的命令執行成功(返回零退出狀態),則執行后面的命令。

  • 示例
# 創建一個新目錄,如果創建成功,則進入該目錄
mkdir test && cd test
# 在刪除文件之前,先備份文件,只有備份成功后才刪除原文件
cp lshelp.txt shelp.txt.bak && rm lshelp.txt

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/84827.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/84827.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/84827.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

初識Docker:容器化技術的入門指南

初識Docker:容器化技術的入門指南 一、Docker是什么:容器化技術的核心概念二、Docker的核心優勢2.1 環境一致性2.2 高效部署與快速迭代2.3 資源利用率高 三、Docker的安裝與基本使用3.1 安裝Docker3.2 Docker基本概念3.3 第一個Docker容器體驗 四、Docke…

商務風企業公司推廣培訓計劃PPT模版分享

商務風企業公司推廣培訓計劃PPT模版分享:商務培訓推廣計劃PPT模版https://pan.quark.cn/s/063282eaf739 第1套PPT模版,綠橙配色,幾何圖形拼接背景,有中英文標題和占位文本。 第2套PPT模版是黑金高端商務風格,有匯報人…

深入理解Nginx:詳盡配置手冊

Nginx是一款高性能的HTTP和反向代理服務器,廣泛應用于負載均衡、緩存和Web服務器等場景。隨著互聯網應用的快速發展,掌握Nginx的配置和優化技巧顯得尤為重要。在本篇文章中,我們將深入探討Nginx的配置,幫助你更好地理解和使用這款…

每日leetcode

1572. 矩陣對角線元素的和 - 力扣(LeetCode) 題目 給你一個正方形矩陣 mat,請你返回矩陣對角線元素的和。 請你返回在矩陣主對角線上的元素和副對角線上且不在主對角線上元素的和。 示例 1: 輸入:mat [[1,2,3], …

Server 9 ,在 VMware 虛擬機上安裝 Windows 系統完整指南

目錄 前言 一、準備工作 1.1 準備安裝文件 1.2 安裝VMware軟件 1.3 創建新的虛擬機 1.4 開啟虛擬機 二、注意事項 2.1 調整硬件設置 2.2 啟動順序配置 2.3 固件類型選擇 2.4 安全啟動配置 三、安裝優化 3.1 安裝VMware Tools 3.2 系統更新與激活 四、更多操作 ?…

最終章:終焉之塔 · 前端之道

第一章:HTML基石現實的骨架 第二章:CSS秘典 色彩與布局的力量 第三章:JavaScript引擎 行為之火 第四章:DOM迷宮 掌控頁面之心 第五章:異步幻境 時間與數據的秘密 第六章:事件風暴 用戶的意志 第七章&a…

詳解 .net9 內置 Lock 對象,更加現代化和靈活可控的鎖對象

.NET 9 引入了全新的 System.Threading.Lock 類型,作為更現代、類型安全且具備遞歸支持的同步原語。與傳統的基于 Monitor.Enter/lock(obj) 的方式不同,Lock 是一個具體的類,提供了更靈活的 API 和結構化編程模型。 Lock 類 Lock 是一個具體…

python幾行命令實現快速打包apk

1. ??環境準備? sudo apt update sudo apt install -y python3-pip git zip unzip openjdk-17-jdk sudo apt-get install -y autoconf automake libtool pip install kivy buildozer cython2. ??項目配置? 在項目目錄中初始化Buildozer: buildozer init這會…

實時數倉和離線數倉的區別是什么?企業如何選擇合適的數倉架構?

實時數倉和離線數倉的區別是什么?企業如何選擇合適的數倉架構? 時數倉和離線數倉都是數據倉庫的不同類型,用于存儲和管理企業的數據,但它們在數據處理和使用的時間、速度以及用途方面有明顯的區別。 在介紹實時數倉之前&#xf…

Docker Desktop for Windows 系統設置說明文檔

1. 文檔概述 本文檔旨在詳細說明 Docker Desktop for Windows 應用程序中“設置 (Settings)”界面下的所有可配置選項及其子選項。對于每個配置項,我們將提供其功能描述、推薦配置(如適用)以及相關注意事項,幫助用戶更好地理解和…

精準監測,健康無憂--XC3576H工控主板賦能亞健康檢測儀

在快節奏的現代生活中,亞健康問題逐漸成為困擾人們健康的隱形殺手。疲勞、失眠、免疫力下降等問題頻發,卻往往因難以察覺而延誤調理。智能亞健康檢測儀通過高科技手段,幫助用戶實時了解身體狀況,提前預警潛在健康風險。 其核心功能…

SBT開源構建工具

SBT 的多元定義與核心解釋 SBT(Simple Build Tool)是專為 Scala 和 Java 項目設計的開源構建工具,基于 Scala 語言開發,提供依賴管理、編譯、測試、打包等全流程支持。其核心特點包括: 核心功能與特性: …

npm run build后將打包文件夾生成zip壓縮包

安裝依賴 npm install archiver --save-dev準備compress.js文件 const fs require(fs); const archiver require(archiver);const sourceDir ./dist; //替換為你的文件夾路徑 const outputZip ./dist.zip;console.log(開始壓縮); const output fs.createWriteStream(ou…

力扣 215 .數組中的第K個最大元素

文章目錄 題目介紹題解 題目介紹 題解 法一:基于快速排序的選擇方法 以中間元素pivot為基準進行排序后,右指針 r 的位置就是最終全部排序好后pivot的位置,然后去左邊或右邊遞歸尋找第k個位置(答案)的元素。 代碼如下…

CentOS 7.0重置root密碼

文章目錄 版本:CentOS 7.0內核版本:CentOS Linux, with Linux 3.10.0-123.el7.x86_64 服務器重啟后,等待進入上述頁面,按??鍵,中斷正常啟動。在此頁面按E,進入編輯模式 繼續按?,找到linux16…

Linux之高效文本編輯利器 —— vim

目錄 一、vim的基本概念 二、Vim 的三種基本模式 1. 命令模式(Command Mode) 2. 插入模式(Insert Mode) 3. 底行模式(Last Line Mode) 模式切換方法 IDE例子: 三、vim的基本操作 進入vim…

【STM32】HAL庫 之 CAN 開發指南

基于stm32 f407vet6芯片 使用hal庫開發 can 簡單講解一下can的基礎使用 CubeMX配置 這里打開CAN1 并且設置好波特率和NVIC相關的配置 波特率使用波特率計算器軟件 使用采樣率最高的這段 填入 得到波特率1M bit/s 然后編寫代碼 環形緩沖區 #include "driver_buffer.h&qu…

《Scientific Reports撤稿門技術節分析》——從圖像篡改檢測到學術倫理重建的技術透視

2023年以來,《Scientific Reports》等開放獲取期刊頻繁曝出大規模撤稿事件,涉及數據造假、圖像重復、AI生成內容篡改等技術性學術不端行為。本文以技術視角切入,系統分析撤稿事件背后的技術動因、檢測手段漏洞、學術出版體系的技術短板及應對…

Client請求Grpc服務報錯

現象:err: rpc error: code Unimplemented desc 背景:調用鏈路A->B->C,A是一個Http協議的接口,B也是一個Http協議的接口, 但C是一個Grpc協議的接口。 解決思路:查看C服務對應的proto,比…

機器學習課程設計報告 —— 基于口紅數據集的情感分析

目錄 一、課程設計目的 二、數據預處理及分析 2.1 數據預處理 2.2 數據分析 三、特征選擇 3.1 特征選擇的重要性 3.2 如何進行特征選擇 3.3 特征選擇的依據 3.4 數據集的劃分 四、模型訓練與模型評估 4.1 所有算法模型不調參 4.2 K-近鄰分類模型 4.3 GaussianNB模…