歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

Linux—檔案與目錄管理(1)

[code]Linux一般將檔案可存取的身份分為三個類別(owner/group/others),三種身份各自具有各自的r/w/x權限。
Linux文件類型:
1、普通文件(regular file,符號'-'):
  a、純文本(ASCII):Linux系統中最多的一種文件類型;這類文件內容是我們可以直接讀到的數據(eg:數字、字母)。
  b、二進制文件(binary file):可執行文件(scripts,文字型批吃力文件除外)就是這種類型。
  c、數據格式文件(data file):有些程序在運行的過程中會讀取到某些特定格式的檔案,這些特定檔案可被稱為數據文件;一般用cat查看顯示出來的為一堆亂碼。
2、目錄(directory):符號'd';
3、連接文件(link):符號'l';
4、設備和文件(device):
  a、塊設備文件:存儲文件(eg:硬盤、軟盤等),符號'b';
  b、字符設備文件:串行端口的接口文件(eg:鍵盤、鼠標),符號'c';
5、套接字(sockets):符號's'; 通常用於網絡的數據連接。
6、管道(FIFO,pipe):符號'p',是一種特殊的文件類型,主要目的是解決多個程序同時訪問同一個文件所造成的錯誤問題(first-in-first-out)。
文件的類型介紹完了那麼直觀的來感受一下Linux中的文件。要查看Linux中的文件,有一個重要的指令——ls(查看檔案的指令),使用root身份進入Linux,下達[ls -al]指令,效果如下圖:

[code]第三行前十個字符表示的就是檔案類型權限,數字表示的是連結數,接下來是檔案的擁有者,檔案所屬的群組,檔案的容量,檔案最後被修改的時間,檔名。下面詳細說明前十個字符。
第一個代表的是該文件的文件類型,前面已經介紹過了;然後剩余的九個字符,依次每三個一組,分別為檔案擁有者、檔案所屬群組、其他人的權限。權限總共分為三種,分別為[r]可讀(read)、[w]可寫(write)、[x]可執行(execute)。這三個權限的位置是固定的不會改變,如果沒有該權限則會以'-'替代。下面以[..]檔案為例分別介紹
首先、第一個字符為'd'表明該檔案為目錄文件;
第一組(擁有者權限):該擁有者可讀、可寫並且可執行;
第二組(通群組權限):可讀、可執行但是不可寫;
第三組(其他非本群組權限):可讀、可執行但不可寫。
注意:r/w/x權限對於目錄與檔案的意義並不相同,這是因為目錄與檔案所記錄的數據內容不相同所至。
權限對檔案的重要性:檔案是實際含有數據的地方,包括一般文本文件、數據庫內容文件、二進制可執行文件(binary program)。因此權限對於檔案來說含義如下:
a、[r](read):可取該檔案的實際內容;
b、[w](write):可以編輯、新增或者修改該檔案的內容(沒有刪除);
c、[x](execute):該檔案可以被系統執行。
權限對於目錄的重要性:檔案是存放實際數據的“家”,目錄主要的內容在記錄文件名列表。權限對於目錄的意義如下:
a、[r](read contents in directory):表示具有讀取目錄結構列表的權限,所以當具有(r)權限時,表示可以查詢該目錄下的文件名數據。
b、[w](modify contents of directory):表示具有異動該目錄列表的權限,即就是如下權限:
   1、建立新的文件與目錄;
   2、刪除已經存在的檔案與目錄(不論檔案的權限為何);
   3、靜一靜訊在的檔案或目錄進行重命名;
   4、搬移該目錄內的檔案或目錄的位置
c、[x](access directory):目錄是不可以被執行的,目錄的[x]表示的是用戶能否進入該目錄為工作目錄(work directory)的用途。
Linux檔案擴展名:
Linux的檔案是沒有所謂的擴展名的,一個檔案能不能被執行取決於它的第一欄的十個屬性,與文件名沒有半毛線錢關系。雖然如此,我們仍然希望可以藉由擴展名來了解該檔案是什麼鬼,所以我們還是需要用適當的擴展名來表示該檔案的類型。
Linux檔案長度限制:使用預設的Ext2/Ext3文件系統時,針對檔案名長度的限制為    
  a、單一檔案或目錄的最大容許文件名為255個字符;
  b、包含完整路徑名及目錄(/)的完整檔案名為4096個字符。
Linux文件名限制:一般來說在設定文件名時,最好可以避免一些特殊符號:* ? > < ; & ! [] \ + - ' " () {};因為這些符號在文字接口下具有特殊的含義;以'.'開頭的檔案為隱藏的。
 ls指令:
 -a:來處目錄下的所有文件(包括隱藏文件);
 -b:把文件名中不可出現的字符用反斜槓加字符編號的形式列出;
 -c:輸出文件的i節點的修改時間,並以此排序;
 -d:將目錄像文件一樣的顯示,而不是顯示旗下的文件;
 -f:-U對輸出的文件不進行排序;
 -i:輸出文件的i節點的索引信息;eg:ls -ai 指定文件
 -k:以k字節的形式表示文件的大小;eg:ls -alk 指定文件
 -l:列出文件的詳細信息;
 -m:橫向輸出文件名,並以","作為分隔
 -n:用數字的UID,GID代替名稱;
 -o:顯示文件的除組信息外的詳細信息;
 -F:在每個文件名後面附上一個字符以說明文件的類型,'*'表示可執行的平通文件;'/'表示目錄;'@'表示符號鏈接;'|'表示FIFOs;'='表示套接字;
 -q:用?代替不可輸出的字符;
 -r:對目錄反向排序;
 -s:在l文件名後輸出該文件大小。
 -t:以時間排序;
 -u:以文件上次被訪問的時間排序;
 -x:按列輸出,橫向排列;
 -A:顯示除'.'、'..'外的所有文件;
 -B:不輸出以'~'結尾的備份文件;
 -C:按列輸出,縱向排列;
 -G:輸出文件組的信息;
 -L:列出連接文件名而不是鏈接到的文件;
 -N:不限制文件長度;
 -Q:把輸出的文件名用”“括起來;
 -R:列出所有子目錄下的文件;
 -S:以文件大小排序;
 -X:以文件的擴展名排序;
 -1:一行只輸出一個文件;
 --color=no:不顯示彩色文件名;
 --help:在標准輸出上顯示幫助信息;
 --version:在標准文件上輸出版本信息並退出。

cd命令:用於切換目錄
cd ~:進入用戶目錄;
cd -:返回最近訪問目錄;
cd ..:返回上級目錄;
cd !$:把上個命令的參數作為cd命令的目標參數使用

Copyright © Linux教程網 All Rights Reserved