linux文件管理

文件管理

linux在根目錄下保存有很多文件夾,每個文件夾都有相對應的作用:

1,bin:裝着系統的二進制程序,來供所有用戶使用。
2,sbin: 裝着僅供管理員使用的程序。
3,boot: 裏面裝的是系統的加載程序,這裏面的內存不能夠裝滿,必須預留的有空間,否則系統無法啓動。
4,home: 這個是普通用戶的家目錄,一旦創建普通用戶後,它默認的家目錄就在home下。
5,dev: 裝的是系統的硬件設備文件,比如硬盤,光盤等等。
6,erc: 這個裝的是系統的配置文件。
7,tmp: 裝的是系統的臨時文件,相當於Windows的回收站,這個目錄下的文件,系統會定時清理。
8,mnt,media:這兩個是給其他硬件設備掛載用的,是它們的掛載點。一般建議cd,usb,hard等設備文件都掛載在mnt目錄下,方便查看到。
9,opt: 當系統安裝一些程序時,一般會安裝在這個目錄下。
10,lib: 程序啓動時依賴的基本共享庫以及內核模塊文件。
11,srv: 當前主機的一些服務的數據。
12,usr: 全局共享的只讀文件的路徑。

注:可用ls命令查看,ls命令默認有別名,查看不同的文件時會顯示不同的顏色,可以用轉義符\來取消別名

linux中文件名最長有255字節,加上路徑文件名稱最長4095個字節

linux中默認的文件類型:

- 普通文件 
d 目錄文件 
b 塊設備 
c 字符設備 
l 符號鏈接文件 
p 管道文件
s 套接字文件

絕對路徑與相對路徑區別:

1,絕對路徑前有/,相對路徑沒有
2,絕對路徑相當於從根目錄開始尋找文件,相對路徑是指相對當前目錄而言

取基名:basename
取目錄名:dirname

常用字符類通配符:

[:digit:]:任意數字,相當於0-9  
[:lower:]:任意小寫字母  
[:upper:]: 任意大寫字母  
[:alpha:]: 任意大小寫字母  
[:alnum:]:任意數字或字母  
[:blank:]:水平空白字符  
[:space:]:水平或垂直空白字符  
[:punct:]:標點符號  
[:print:]:可打印字符

文件管理常用的命令:mv,cp,rm,cd,file,stat,touch,mkdir,rmdir

mv:
      -i  交互式        
      -f  強制       
      -b 目標存在,覆蓋前先備份 

cp:
    ?-p 複製權限?
      -v --verbose 顯示拷貝的過程?
      -f --force 強制覆蓋?
      -u --update 只複製源比目標更新文件或目標不存在的文件 ?
      -b 目標存在,覆蓋前先備份,形式爲 filename~ ?
      --backup=numbered 目標存在,覆蓋前先備份加數字後綴 

rm:
      -i 交互式  
      -f 強制刪除  
      -r 遞歸

mkdir:    
      -p: 存在於不報錯,且可自動創建所需的各目錄      
      -v: 顯示詳細信息      
      -m: 創建目錄時直接指定權限 

rmdir:   
      -p: 遞歸刪除父空目錄       
      -v: 顯示詳細信息 

touch:
      -a: 更改存取時間
      -m: 更該變動時間
      -t: 更改成指定時間,格式年月日時分.秒

stat:查看文件的詳細信息

file: 查看文件類型

i節點: 一個i節點包含這個文件的所有信息。如文件類型:文件類型,權限,UID,GID,鏈接數..

特徵:每個分區都有一套屬於這個分區i節點,一個目錄是目錄下的文件名和文件inode號之間的映射
查看:
    1,ls -i
    2,stat

i節點指針分類:
        直接指針:有12個指針,指向一個磁盤簇,最多表示48K
        間接指針:有1024個,最多表示4M
        雙重間接指針:最多表示4G
        三重間接指針,四重間接指針...

硬鏈接與軟鏈接:

創建命令:ln(硬鏈接)
      ln -s(軟鏈接)

區別:
    1,軟鏈接可以跨系統,而硬鏈接只能在當前系統分區下創建
    2,硬鏈接的創建時間和原始文件的時間一樣,軟鏈接和當前創建的時間一樣
    3,硬鏈接的節點號和軟鏈接的一樣,而軟鏈接則不同
    4,硬鏈接把原始文件刪除後,不會影響硬鏈接的訪問。而軟鏈接把原始文件刪除後,軟鏈接無法打開
    5,硬鏈接不支持文件夾,而軟鏈接支持文件夾

注:linux系統中刪除文件夾的原理:

在刪除文件夾時,只是刪除文件夾的文件名,而其中的文件並沒有刪除,而是將文件變成了free狀態。當有數據寫入時,寫入的數據覆蓋掉原始文件

標準輸入與標準輸出:

標準輸入:0
標準輸出:1
標準錯誤:2

輸出重定向與輸入重定向:

>:將正確輸出重定向到文件中,但是錯誤輸出顯示到屏幕上
2>: 將錯誤輸出重定向到文件中,正確輸出顯示到屏幕上
&>:將正確和錯誤輸出都定向到文件或設備之中

追加與覆蓋

>:將輸出覆蓋到源文件之中,源文件內容消失
>>:將輸出追加到源文件的末尾
注:用set -C 禁止覆蓋源文件,可用>|強制進行覆蓋

當把多個文件重定向到一個文件中時,可以用(cmd;cmd)> file.txt。利用;號做爲命令的分隔符

常用的字符替換和刪除命令tr:

-c 取字符集的補集   
-d 刪除所有屬於第一字符集的字符   
-s 把連續重複的字符以單獨一個字符表示   
-t 將第一個字符集對應字符轉化爲第二字符集對應的字符

注:tr命令可以對文件內容進行簡單加密,且tr命令接受輸入重定向

向系統中的用戶發送郵件,可以用自帶的郵件系統mail來實現

mail:
    -s:指定郵件的主題

注:mail只可向系統內部發送郵件

管道符:|

linux中可以用管道符來連接多個命令,並把前一個命令的輸出當做後一個命令的輸入,從而達到由小程序組合成複雜功能的目的。
如常用的文件查看命令more,less等等
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章