最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux處理以Null字節(jié)分隔內(nèi)容的文件技巧

 更新時(shí)間:2025年12月23日 09:27:41   作者:vortex5  
在 Linux 中,有些特殊文件的內(nèi)容不是用換行符 \n 分隔,而是用 null 字節(jié) \0 分隔,本文將介紹一系列處理這類“null-separated”內(nèi)容的實(shí)用小技巧,有需要的可以了解下

在 Linux 中,有些特殊文件(如 /proc/*/environ/proc/*/cmdline、某些二進(jìn)制配置文件)的內(nèi)容不是用換行符 \n 分隔,而是用 null 字節(jié) \0 分隔。這導(dǎo)致直接用 cat 看起來(lái)是空的,用 grep、awk 等常規(guī)工具處理時(shí)會(huì)出錯(cuò)或顯示不全。本文將介紹一系列處理這類“null-separated”內(nèi)容的實(shí)用小技巧。

1. 最常用的三種查看方式

# 方法1:tr 替換 null 為換行(最直觀)
tr '\0' '\n' < /proc/self/environ

# 方法2:xargs -0(專為 null 分隔設(shè)計(jì))
xargs -0 -n1 < /proc/self/environ

# 方法3:strings(自動(dòng)提取可打印字符串)
strings /proc/self/environ

三者效果類似,但細(xì)節(jié)有區(qū)別:

  • tr '\0' '\n':完整保留所有內(nèi)容,包括空字符串。
  • xargs -0 -n1:每條單獨(dú)輸出一行,自動(dòng)跳過(guò)連續(xù)多個(gè) null。
  • strings:只輸出可打印的 ASCII 字符串,過(guò)濾掉二進(jìn)制垃圾。

2. 進(jìn)階組合技巧

排序、去重、統(tǒng)計(jì)

# 排序查看環(huán)境變量
tr '\0' '\n' < /proc/self/environ | sort

# 去重(如果有重復(fù)變量)
tr '\0' '\n' < /proc/self/environ | sort -u

# 統(tǒng)計(jì)有多少個(gè)環(huán)境變量
xargs -0 -n1 < /proc/self/environ | wc -l

搜索特定變量

# 查找包含 PATH 的變量
tr '\0' '\n' < /proc/self/environ | grep PATH

# 或用 xargs + grep
xargs -0 -n1 < /proc/self/environ | grep -i display

# 只看變量名(去掉 = 后面的值)
xargs -0 -n1 < /proc/self/environ | cut -d= -f1

同時(shí)查看多個(gè)進(jìn)程的環(huán)境

echo "=== PID 1 (systemd) ==="
tr '\0' '\n' < /proc/1/environ | sort

echo "=== 當(dāng)前 shell ==="
tr '\0' '\n' < /proc/self/environ | sort | head -20

echo "=== sshd 進(jìn)程(假設(shè) PID 1234)==="
tr '\0' '\n' < /proc/1234/environ | grep SSH

3. 處理 /proc/*/cmdline 的經(jīng)典用法

/proc/*/cmdline 用 null 分隔命令行參數(shù)。

# 查看某個(gè)進(jìn)程的完整命令行(參數(shù)間有空格也能正確顯示)
tr '\0' '\n' < /proc/1234/cmdline | paste -sd " "

# 或者更常見:
xargs -0 < /proc/1234/cmdline

# 列出所有進(jìn)程的命令行(簡(jiǎn)化版 ps)
for pid in /proc/[0-9]*; do
    echo -n "$(basename $pid): "
    tr '\0' ' ' < $pid/cmdline 2>/dev/null || echo
done

4. 其他 null-separated 場(chǎng)景的小技巧

find + -print0 配合 xargs -0(避免文件名含空格/換行問(wèn)題)

# 安全處理文件名含空格、換行的場(chǎng)景
find /path -name "*.txt" -print0 | xargs -0 rm -v
find /path -type f -print0 | xargs -0 ls -l

while read + xargs -0 循環(huán)處理

xargs -0 -n1 < /proc/self/environ | while read line; do
    echo "變量: $line"
done

一行命令導(dǎo)出當(dāng)前環(huán)境到文件(保留 null 分隔)

# 備份當(dāng)前環(huán)境
cp /proc/self/environ myenv.backup

# 恢復(fù)(危險(xiǎn),僅演示)
xargs -0 -n1 < myenv.backup | xargs -0 export

到此這篇關(guān)于Linux處理以Null字節(jié)分隔內(nèi)容的文件技巧的文章就介紹到這了,更多相關(guān)Linux處理文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • httpd.conf 二級(jí)域名設(shè)置方法

    httpd.conf 二級(jí)域名設(shè)置方法

    首先,你的擁有一個(gè)有泛域名解析的頂級(jí)域名,例如: domain.com 其次,在 httpd.conf 中打開 mod_rewrite
    2009-02-02
  • Linux內(nèi)存管理和尋址詳細(xì)介紹

    Linux內(nèi)存管理和尋址詳細(xì)介紹

    大家好,本篇文章主要講的是Linux內(nèi)存管理和尋址詳細(xì)介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Centos7.2 系統(tǒng)上yum安裝lamp環(huán)境

    Centos7.2 系統(tǒng)上yum安裝lamp環(huán)境

    這篇文章主要介紹了centos7.2 系統(tǒng)上yum安裝lamp環(huán)境的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-11-11
  • Centos7 firewall和docker沖突問(wèn)題及解決過(guò)程

    Centos7 firewall和docker沖突問(wèn)題及解決過(guò)程

    本文描述了一個(gè)在CentOS 7上使用firewalld和Docker容器的問(wèn)題,當(dāng)firewalld啟動(dòng)或重啟時(shí),會(huì)從iptables中移除Docker的規(guī)則,導(dǎo)致Docker容器中的服務(wù)無(wú)法訪問(wèn),最終,作者通過(guò)先啟動(dòng)或重啟防火墻,然后重啟Docker服務(wù),并刪除有問(wèn)題的容器,重新創(chuàng)建容器來(lái)解決了問(wèn)題
    2025-12-12
  • Linux下tar解壓錯(cuò)誤:文件損壞與不完整問(wèn)題的解決方案

    Linux下tar解壓錯(cuò)誤:文件損壞與不完整問(wèn)題的解決方案

    在日常的 Linux 系統(tǒng)管理中,我們經(jīng)常需要使用 tar 命令來(lái)壓縮和解壓文件,然而,有時(shí)在解壓過(guò)程中會(huì)遇到諸如“文件損壞”或“意外結(jié)束”等錯(cuò)誤提示,本文將詳細(xì)分析這些問(wèn)題的原因,并提供一套完整的解決方案,需要的朋友可以參考下
    2025-02-02
  • Linux bzip2 命令的使用

    Linux bzip2 命令的使用

    這篇文章主要介紹了Linux bzip2 命令的使用,幫助大家更好的理解和使用Linux系統(tǒng),感興趣的朋友可以了解下
    2020-08-08
  • Linux下日志按日分割的shell

    Linux下日志按日分割的shell

    這篇文章主要介紹了Linux下日志按日分割的shell,需要的朋友可以參考下
    2016-03-03
  • Linux如何在Vim中更改顏色和主題

    Linux如何在Vim中更改顏色和主題

    Vim 是一款免費(fèi)、開源的文本編輯器,它的功能和許多其他的文本編輯器大致相同,比如 Sublime 和 Notepad++ 。這篇文章主要介紹了Linux如何在Vim中更改顏色和主題,需要的朋友可以參考下
    2020-06-06
  • Shell中去除字符串里的空格或指定字符的方法

    Shell中去除字符串里的空格或指定字符的方法

    今天小編就為大家分享一篇關(guān)于Shell中去除字符串里的空格或指定字符的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • Linux安裝Python虛擬環(huán)境virtualenv的方法

    Linux安裝Python虛擬環(huán)境virtualenv的方法

    下面小編就為大家?guī)?lái)一篇Linux安裝Python虛擬環(huán)境virtualenv的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01

最新評(píng)論

苏州市| 乡宁县| 鲁甸县| 黔江区| 黄山市| 丰宁| 施甸县| 栾城县| 长泰县| 定日县| 山阴县| 长沙县| 河东区| 含山县| 随州市| 巴青县| 平原县| 米易县| 伽师县| 桐庐县| 苍溪县| 阿克陶县| 甘南县| 航空| 宁化县| 罗定市| 富民县| 荆门市| 楚雄市| 华蓥市| 莫力| 尼勒克县| 三都| 江阴市| 万安县| 昌平区| 灵寿县| 镇江市| 子洲县| 徐闻县| 依安县|