91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Linux中xargs命令簡介和選項說明

Linux愛好者 ? 來源:csdn ? 作者:戀貓大鯉魚 ? 2021-03-11 16:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.命令簡介

xargs 可以將 stdin 中以空格或換行符進行分隔的數(shù)據(jù),形成以空格分隔的參數(shù)(arguments),傳遞給其他命令。因為以空格作為分隔符,所以有一些文件名或者其他意義的字符串內(nèi)含有空格的時候,xargs 可能會誤判。簡單來說,xargs 的作用是給其他命令傳遞參數(shù),是構(gòu)建單行命令的重要組件之一。

之所以要用到 xargs,是因為很多命令不支持使用管道 | 來傳遞參數(shù),例如:

find /sbin -perm +700 | ls -l # 這個命令是錯誤,因為標準輸入不能作為ls的參數(shù)

find /sbin -perm +700 | xargs ls -l # 這樣才是正確的

2.命令格式

xargs [OPTIONS] [COMMAND]

3.選項說明

注意,長選項的強制性參數(shù)對于短選項也是強制的。

-0, --null

如果輸入的 stdin 含有特殊字符,例如反引號 `、反斜杠 、空格等字符時,xargs 將它還原成一般字符。為默認選項

-a, --arg-file=FILE

從指定的文件 FILE 中讀取輸入內(nèi)容而不是從標準輸入

-d, --delimiter=DEL

指定 xargs 處理輸入內(nèi)容時的分隔符。xargs 處理輸入內(nèi)容默認是按空格和換行符作為分隔符,輸出 arguments 時按空格分隔

-E EOF_STR

EOF_STR 是 end of file string,表示輸入的結(jié)束

-e, --eof[=EOF_STR]

作用等同于 -E 選項,與 -E 選項不同時,該選項不符合 POSIX 標準且 EOF_STR 不是強制的。如果沒有 EOF_STR 則表示輸入沒有結(jié)束符

-I REPLACE_STR

將 xargs 輸出的每一項參數(shù)單獨賦值給后面的命令,參數(shù)需要用指定的替代字符串 REPLACE_STR 代替。REPLACE_STR 可以使用 {} $ @ 等符號,其主要作用是當 xargs command 后有多個參數(shù)時,調(diào)整參數(shù)位置。例如備份以 txt 為后綴的文件:find 。 -name “*.txt” | xargs -I {} cp {} /tmp/{}.bak

-i, --replace[=REPLACE_STR]

作用同 -I 選項,參數(shù) REPLACE_STR 是可選的,缺省為 {}。建議使用 -I 選項,因為其符合 POSIX

-L MAX_LINES

限定最大輸入行數(shù)。隱含了 -x 選項

-l, --max-lines[=MAX_LINES]

作用同 -L 選項,參數(shù) MAX_LINES 是可選的,缺省為 1。建議使用 -L 選項,因為其符合 POSIX 標準

-n, --max-args=MAX_ARGS

表示命令在執(zhí)行的時候一次使用參數(shù)的最大個數(shù)

-o, --open-tty

在執(zhí)行命令之前,在子進程中重新打開stdin作為/dev/TTY。如果您希望xargs運行交互式應用程序,這是非常有用的

-P, --max-procs=MAX_PROCS

每次運行最大進程;缺省值為 1。如果 MAX_PROCS 為 0,xargs 將一次運行盡可能多的進程。一般和 -n 或 -L 選項一起使用

-p, --interactive

當每次執(zhí)行一個 argument 的時候詢問一次用戶

--process-slot-var=NAME

將指定的環(huán)境變量設置為每個正在運行的子進程中的唯一值。一旦子進程退出,將重用該值。例如,這可以用于初始負荷分配方案

-r, --no-run-if-empty

當 xargs 的輸入為空的時候則停止 xargs,不用再去執(zhí)行后面的命令了。為默認選項

-s, --max-chars=MAX_CHARS

命令行的最大字符數(shù),指的是 xargs 后面那個命令的最大命令行字符數(shù),包括命令、空格和換行符。每個參數(shù)單獨傳入 xargs 后面的命令

--show-limits

顯示操作系統(tǒng)對命令行長度的限制

-t, --verbose

先打印命令到標準錯誤輸出,然后再執(zhí)行

-x, --exit

配合 -s 使用,當命令行字符數(shù)大于 -s 指定的數(shù)值時,退出 xargs

--help

顯示幫助信息并退出

--version

顯示版本信息并退出

4.常用示例

(1)將 Shell 的特殊字符反引號還原為一般字符。

echo ‘`0123`4 56789’ | xargs -t echo

echo `0123`4 56789

`0123`4 56789

如果直接進行如下操作,會報無法找到命令 01234 的錯誤,因為反引號在 Shell 中會將 01234 作為一個命令來執(zhí)行,但是 01234 不是一個命令。-t 表示先打印命令,然后再執(zhí)行。

echo `01234` 56789

-bash: 01234: command not found

56789

(2)設置 xargs 讀入?yún)?shù)時的結(jié)束標識,以逗號結(jié)束。這里要注意結(jié)束標志必須要是單獨的字段,即以空格或者換行符分隔的字段。

echo 01234 , 56789 | xargs -E “,”

01234

(3)使用 rm、mv 等命令同時操作多個文件時,有時會報 “argument list too long” 參數(shù)列表過長的錯誤,此時可以使用 xargs 來解決。xargs 將標準輸入的字符串分隔后,作為參數(shù)傳遞給后面的命令。例如,給當前目錄的所有文件添加后綴名。

ls | xargs -t -i mv {} {}.bak

# 選擇符合條件的文件

ls | grep -E “201701|201702|201703” | xargs -I {} mv {} {}.bak

(4)設置命令行的最大字符數(shù)。參數(shù)默認一個一個單獨傳入命令中執(zhí)行。

echo “01234 56789” | xargs -t -s 11

echo 01234

01234

echo 56789

56789

(5)設置標準輸入中每次多少行作為命令的參數(shù),默認是將標準輸入中所有行的歸并到一行一次性傳給命令執(zhí)行。

echo -e “01234

56789

01234” | xargs -t -L 2 echo

echo 01234 56789

01234 56789

echo 01234

01234

(6)將文件內(nèi)容以空格分隔合并為一行輸出。

# 列出文件內(nèi)容

cat test.txt

a b c d e

f g h i j

k l m n o

# 多行輸入合并為一行輸出

cat test.txt | xargs

a b c d e f g h i j k l m n o

(7)與 ps、grep、awk 和 kill 結(jié)合,強制終止指定進程。

ps -ef | grep spp | awk ‘{printf “%s ”,$2}’ | xargs kill -9

ps -ef|grep spp用于查找包含 spp 的進程,awk ‘{printf “%s ”,$2,F(xiàn)NR}將目標進程 ID 打印輸出,xargs kill -9則將目標進程 ID 作為參數(shù)傳遞給kill -9用于殺死進程。

原文標題:每天一個 Linux 命令(134):xargs 命令

文章出處:【微信公眾號:Linux愛好者】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

責任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    88

    文章

    11760

    瀏覽量

    219032

原文標題:每天一個 Linux 命令(134):xargs 命令

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Linux新手必看!3個命令搞定所有“求助”,再也不用到處查文檔

    其實根本不用慌——Linux 早就自帶了 “說明書”,學會 3 個核心幫助命令,就能解決 90% 的操作疑問,比百度還快!
    的頭像 發(fā)表于 02-03 15:28 ?705次閱讀
    <b class='flag-5'>Linux</b>新手必看!3個<b class='flag-5'>命令</b>搞定所有“求助”,再也不用到處查文檔

    Linux 下開發(fā)嵌入式必備命令速查表

    在嵌入式開發(fā),Linux系統(tǒng)幾乎成為必備的開發(fā)環(huán)境。不管你是在做STM32、RaspberryPi、還是基于ARM的板子,熟練掌握Linux命令不僅能加快開發(fā)效率,還能讓你在調(diào)試、交
    的頭像 發(fā)表于 01-19 09:06 ?883次閱讀
    <b class='flag-5'>Linux</b> 下開發(fā)嵌入式必備<b class='flag-5'>命令</b>速查表

    Linux13個基本Cat命令示例

    的參數(shù)cat命令如上所示。 # cat rumenz.txt | more # cat rumenz.txt | less 5、在文件顯示行號 和-n選項你可以看到一個文件的行號rumenz.txt在
    發(fā)表于 12-26 06:09

    飛凌嵌入式ElfBoard-Linux系統(tǒng)基礎入門-文件操作相關shell命令

    :2.5.4 cp文件復制命令命令:cp英文全拼:copy功能:實現(xiàn)文件的復制操作參數(shù):cp [選項] 源文件/目錄目的文件/目錄選項說明-
    發(fā)表于 09-30 09:46

    飛凌嵌入式ElfBoard ELF 1板卡-Linux系統(tǒng)基礎入門-目錄相關shell命令

    示例:rmdir刪除空目錄命令:rmdir英文全拼:remove directory功能:刪除空目錄或多級空目錄,無法刪除非空目錄參數(shù):選項說明-p遞歸刪除目錄,當子目錄刪除后其父目錄為空時,也一同
    發(fā)表于 09-29 10:12

    shell基本介紹及常用命令之shell基本介紹

    的shell命令Linux命令一般由三部分組成:Command [option] [parameter]。說明:1.[]部分的內(nèi)容是可
    發(fā)表于 09-28 09:05

    測試工程師都在用的Linux命令清單(建議收藏)

    作為一名工程師,熟練掌握Linux命令是基本功的基本功。無論是日常工作的系統(tǒng)維護,還是面試時的技術(shù)考核,Linux
    的頭像 發(fā)表于 08-08 10:06 ?699次閱讀
    測試工程師都在用的<b class='flag-5'>Linux</b><b class='flag-5'>命令</b>清單(建議收藏)

    Linux基礎命令which詳解

    Linux系統(tǒng),which命令用于查找并顯示指定命令的可執(zhí)行文件路徑。這對于系統(tǒng)管理員和開發(fā)人員來說是一個非常有用的工具,可以幫助定位命令
    的頭像 發(fā)表于 07-29 17:58 ?852次閱讀

    一文掌握Linux命令

    作為一名運維工程師,熟練掌握Linux命令是基本功的基本功。無論是日常工作的系統(tǒng)維護,還是面試時的技術(shù)考核,Linux
    的頭像 發(fā)表于 07-22 15:23 ?619次閱讀

    make dtb命令找不到

    : function strtonum never defined xargs: echo: terminated by signal 13 cp pwd/../Targets/ls3a5000_7a/conf
    發(fā)表于 07-14 18:56

    詳解Linux網(wǎng)絡管理的關鍵命令

    本文檔概述了網(wǎng)絡管理的關鍵命令,如ifconfig配置網(wǎng)絡接口,ip管理路由,ping測試連通性,以及nmap進行安全掃描。還介紹了nslookup和dig用于域名解析,tcpdump抓包分析,以及arp操作和nmap的深入應用。
    的頭像 發(fā)表于 07-04 11:37 ?1152次閱讀
    詳解<b class='flag-5'>Linux</b>網(wǎng)絡管理<b class='flag-5'>中</b>的關鍵<b class='flag-5'>命令</b>

    淺談wsl --update` 命令選項無效的解決方案

    PS C:\Users\Administrator> wsl --update >> 命令選項無效: --update
    的頭像 發(fā)表于 06-27 10:28 ?1.1w次閱讀

    allegro軟件走線命令下參數(shù)不顯示如何解決

    在PCB設計,走線命令是頻繁使用的功能之一。執(zhí)行走線命令后,通常會在Options面板顯示線寬、層、角度等設置選項,用于調(diào)整走線參數(shù)。然
    的頭像 發(fā)表于 06-05 09:30 ?2026次閱讀
    allegro軟件走線<b class='flag-5'>命令</b>下參數(shù)不顯示如何解決

    如何使用Traceroute命令

    以下是如何使用 traceroute 命令的詳細指南,包括其語法、選項和實際示例。
    的頭像 發(fā)表于 06-04 11:28 ?2239次閱讀

    Linux常用命令大全

    Linux常用命令是指在Linux操作系統(tǒng)中廣泛使用的命令工具,這些命令工具可以完成各種不同的任務,如管理文件和目錄、操作進程、網(wǎng)絡通信、軟
    的頭像 發(fā)表于 05-03 18:08 ?1866次閱讀