Linux命令備忘例項(13) 檔案操作

2021-09-30 13:10:49 字數 2312 閱讀 3941

如果為了測試程式,需要生成包含隨機資料的檔案時,需要使用指定大小的檔案作為輸入,或者時分割檔案等。建立特定大小的檔案最簡單的方法就是dd命令。

dd命令轉殖給定的輸入內容,然後輸出乙份副本到輸出。stdin、裝置檔案、普通檔案都可以作為dd的輸入;stdout、裝置檔案、普通檔案也都可以作為dd的輸出。

user@ubuntu

:~$ dd if=/dev/zero of=junk.data bs=1m count=1

上述命令會建立乙個1m大小的junk.data檔案。

- if:輸入檔案(input file)

- of:輸出檔案(output file)

- bs:以位元組為單位的大小(block size)

- count:需要複製的塊數,最終檔案大小為 bs*count

快大小可以使用通用的單位來指定,c(1byte)、w(2bytes)、b(512bytes)、k、m、g等。不指定if引數時預設從stdin接收輸入。不指定of缺省會輸出到stdout。另外可以使用dd命令傳輸大量資料來測試記憶體的操作速度。

user@ubuntu:~$ comm a b

column1 column2 column3

...

輸出的第一列包含只出現在a中的行,第二列包含只在b出現的行,第三列包含a和b中相同的行,各列以tab鍵分割。

只有三個選項進行控制,-1用來刪除第一列,-2刪除第二列,-3刪除第三列。

touch可以用來生成空白檔案,如果檔案存在,就會修改檔案的時間戳。

for name in (1...100).txt

do touch $

done

file命令用來輸出檔案的型別資訊,可以輸出檔案的基本資訊。linux中的檔案型別資訊不是由副檔名決定的,而是由檔案頭決定的。file可以方便的檢視:

user@ubuntu

:~$ file test

test:

ascii text

user@ubuntu

:~$ file /usr/bin/bc

/usr/bin/bc:

elf32-bit lsb executable, intel

80386, version 1 (sysv), dynamically linked (uses shared libs), for

gnu/linux

2.6.24, buildid[sha1]=0x16db821a3043f96564c984920984be43465ddfeb, stripped

使用find命令可以配合得到制定目錄下的檔案統計資訊:

#!/bin/bash

if [ $#

-ne1 ];

then

echo

$0 basepath;

fipath=$1

declare -a statarr

while

read line;

do ftype=`file -b "$line"`

let statarr["$ftype"]++;

done

<< (find $path -type f -print)

echo **********== file types and count ***************

for ftype in

"$";

doecho

$ftype : $

done

對於乙個檔案有多個版本時,如果需要檢視各個版本都有哪些變化,那麼使用diff命令可以生成差異檔案。

$ diff -u ver1.txt ver2.txt > ver.patch
上述命令將diff生成的不同點儲存到ver.patc**件中,當使用ver1.txt時就可以得到ver2.txt,使用ver2.txt時就會得到ver1.txt。

dff能以遞迴形式作用於目錄。會對目錄中所有內容生成差異輸出:

-n:將所有缺失檔案視為空白文靜

-a:將所有檔案視為文字檔案

-u:生成一體化輸出

-r:遍歷目錄下的所有檔案

$ patch -p1 ver1.txt

< ver.patch

patching file ver1.txt

上述命令使得ver1.txt檔案與ver2.txt內容完全相同。如果再次執行上述命令,就會恢復ver1.txt檔案到之前的版本。

13 檔案系統

檔案系統 檔案系統是作業系統用於管理磁碟上檔案的方法和資料結構,簡單來說就是磁碟上如何組織檔案的方法 常用的兩種檔案系統ntfs和fat32區別 ntfs fat32 磁碟分割槽容量 2t 32g 單個檔案容量 4g以上 最大4g efs加密 支援 不支援 磁碟配額 支援 不支援ntfs和fat32...

13 檔案I O緩衝

key word 使用者空間緩衝區 核心緩衝區快取記憶體 write 將資料從使用者空間記憶體傳遞到核心空間的緩衝區中,在後續某個時刻,核心會將其從緩衝區中的資料寫入磁碟中。read 核心從磁碟中讀取資料並儲存到核心緩衝區中,read 將從該緩衝區中讀取資料。include int setvbuf ...

python基礎(13) 檔案

檔案的基本方法 可使用函式open,它位於自動匯入的模組io中。1.open函式將檔名作為唯一必不可少的引數,返回乙個可讀取的檔案物件 open a.py a.py mode r encoding cp936 2.如果要寫入檔案,必須通過指定模式來顯式地指出這一點 3.若不存在該檔案,則會產生如下錯...