一塊兒學shell之(八-2)文件處理

 #----------------------------------------------------------#算法

# ====> 紅色字體 -特指煮酒我的所見。加粗則爲須要重點注意。 #shell

# ====>  藍色加粗 -特指與本文相關人員,包括參與修正的朋友。 #
# ====> 煮酒品茶 -Http://cwtea.blog.51cto.com          #
#----------------------------------------------------------#

煮酒品茶:鬱悶的緊,發佈文章說使用什麼沉餘格式。分兩章寫,作一章看吧。安全

 一塊兒學shell之文件處理之一(八)app

http://cwtea.blog.51cto.com/4500217/876608ide

 

執行命令:xargs工具

--------------------------------------------- 性能

查找以POSIX_OPEN_MAX 符號 字體

[root@localhost test]# grep POSIX_OPEN_MAX /dev/null $(find /usr/include -type f |sort) spa

/usr/include/bits/posix1_lim.h:# define _POSIX_OPEN_MAX 20 設計

/usr/include/bits/posix1_lim.h:# define _POSIX_OPEN_MAX 16

/usr/include/bits/posix1_lim.h:#define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX

-----------------------------------------------

上面有可能報argument list too long錯誤,使用xargs就不會報錯。

[root@localhost test]# find /usr/include -type f |xargs grep POSIX_OPEN_MAX /dev/null

/usr/include/bits/posix1_lim.h:# define _POSIX_OPEN_MAX 20

/usr/include/bits/posix1_lim.h:# define _POSIX_OPEN_MAX 16

/usr/include/bits/posix1_lim.h:#define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX

------------------------------------------------

文件系統的空間信息

Df 磁盤可用空間,

------------------------------------------

[root@localhost test]# df -k

文件系統               1K-塊        已用     可用 已用掛載點

/dev/mapper/VolGroup00-LogVol00

                      39422564   7808928  29578744  21% /

/dev/sda1               101086     12623     83244  14% /boot

tmpfs                   271872         0    271872   0% /dev/shm

[root@localhost test]# df -h

文件系統              容量  已用 可用 已用掛載點

/dev/mapper/VolGroup00-LogVol00

                       38G  7.5G   29G  21% /

/dev/sda1              99M   13M   82M  14% /boot

tmpfs                 266M     0  266M   0% /dev/shm

------------------------------------------------------------------------

 

Du 磁盤空間用量

------------------------------------

[root@localhost test]# du /tmp

8 /tmp/x

4 /tmp/.ICE-unix

4 /tmp/keyring-9ed8eo

4 /tmp/.X11-unix

4 /tmp/keyring-KdKvoo

4 /tmp/svbna.tmp

4 /tmp/keyring-GEGIIR

8 /tmp/gconfd-root

4 /tmp/keyring-DGM6mE

4 /tmp/keyring-vT4uLQ

64 /tmp

[root@localhost test]# du -s /tmp

64 /tmp

[root@localhost test]# du -s /ar

du: 沒法訪問 「/ar沒有那個文件或目錄

[root@localhost test]# du -s /ar

du: 沒法訪問 「/ar沒有那個文件或目錄

[root@localhost test]# du -s /var

4602912 /var

---------------------------------------------------------

[root@localhost test]# du /tmp

8 /tmp/x

4 /tmp/.ICE-unix

4 /tmp/keyring-9ed8eo

4 /tmp/.X11-unix

4 /tmp/keyring-KdKvoo

4 /tmp/svbna.tmp

4 /tmp/keyring-GEGIIR

8 /tmp/gconfd-root

4 /tmp/keyring-DGM6mE

4 /tmp/keyring-vT4uLQ

64 /tmp

[root@localhost test]# du -s /tmp

64 /tmp

[root@localhost test]# du -s /ar

du: 沒法訪問 「/ar沒有那個文件或目錄

[root@localhost test]# du -s /ar

du: 沒法訪問 「/ar沒有那個文件或目錄

[root@localhost test]# du -s /var

4602912 /var

-h 簡易的,更適合。

[root@localhost test]# du -h /var

200K /var/www/manual/p_w_picpaths

8.0K /var/www/manual/style/latex

..............................

184K /var/run

4.4G /var

[root@localhost test]# du -h -s /var

4.4G /var

------------------------------------------------

 

--------------------------------------------------

查看/var/下全部空間使用量。

[root@localhost test]# du -s -k /var/* |sort -k1nr 

4534260 /var/www

48696 /var/lib

15392 /var/cache

......................

--------------------------------------------------

系統配額(quota)

比較文件:

CMPDIFF

----------------------------------

CMP對比

[root@localhost test]# cat one

jlksdddn

d'sdf

sdf

sdf

s

dfs

d

fa

d

fa

df

[root@localhost test]# cat two

jlksdddn

dsdsd'sdf

sdfdsd

sdfdsd

ss123

dfs1231

da daf

fadsf

fa

df

Ajkjlj

[root@localhost test]# cmp one two

one two differ: byte 11, line 2

[root@localhost test]# echo $?

1 #非零爲有不一樣。

DIFF比較不一樣之處

------------------------------------------------

[root@localhost test]# diff one two

2,9c2,8

< d'sdf

< sdf

< sdf

< s

< dfs

< d

< fa

< d

---

> dsdsd'sdf

> sdfdsd

> sdfdsd

> ss123

> dfs1231

> da daf

> fadsf

12c11

---

> ajkjlj

-----------------------------------------

使用DIFF慣例:將舊文件做爲第一個參數。

不一樣的行會之前置左角括號的方式,對應到左邊的(第一個)文件,而前置右角括號則指的是右邊的文件。最前面的2,9c2,8爲輸入文件行編號的簡潔表示方式,指出不一樣之處以及須要編輯的操做,c表示改變,a增長,d冊除的意思。

Diff的輸出是仔細設計過的,所以其它程序可以使用它的輸出數據,例如版本修訂控制系統就使用diff管理文件連續版本之間的差別。

Patch工具程序

Path工具程序可利用diff的輸出,結合原始文件,以重建另外一個文件,由於相異的部分,一般比原始文件小不少,軟件開發人員常會經過email交換相異處的列表,再使用patch應用它。

-----------------------------------------------------

[root@localhost test]# diff -c one two >test.dif

[root@localhost test]# cat test.dif 

*** one 2012-05-24 19:17:59.000000000 +0800

--- two 2012-05-24 19:18:37.000000000 +0800

***************

*** 1,12 ****

  jlksdddn

! d'sdf

! sdf

! sdf

! s

! dfs

! d

! fa

! d

  fa

  df

--- 1,11 ----

  jlksdddn

! dsdsd'sdf

! sdfdsd

! sdfdsd

! ss123

! dfs1231

! da daf

! fadsf

  fa

  df

! ajkjlj

[root@localhost test]# patch < test.dif 

patching file one

[root@localhost test]# cat one 

jlksdddn

dsdsd'sdf

sdfdsd

sdfdsd

ss123

dfs1231

da daf

fadsf

fa

df

ajkjlj

[root@localhost test]# diff one two

-----------------------------------------

文件校驗和匹配:

可使用file checksum取得近似線性的性能,有不少工具可用來計算文件與字符串的校驗和,包括sumcksum,之前checksum,消息摘要工具md5md5sum,安全性散列算法工具shashalsumsha256以及sha384Sum的實例在各平臺間都不相同。CksumOSF/1系統上也不相同。

-------------------------------

比較md5

[root@localhost test]# md5sum one

f1ecea4a79a8c4341df35c324e4893ce  one

-------------------------------

數字簽名認證:

Gpg

<>

相關文章
相關標籤/搜索