linux下還可以用顏色來表示文件類型:
藍色文件------------ 目錄
白色文件------------ 一般性文件,如文本文件,配置文件,源碼文件等
淺藍色文件---------- 鏈接文件,主要是使用ln命令建立的文件
綠色文件------------ 可執(zhí)行文件,可執(zhí)行的程序
紅色文件------------ 壓縮文件或者包文件
現(xiàn)在使用 ls -l 命令,查看詳細信息格式的文件列表,您將會看到如下內(nèi)容:
total 5
drwxr-x--- 4 user group 4096 Mar 10 00:37 filename
drwxr-xr-x 21 user group 4096 Mar 10 20:16 文件名
-rw------- 1 user group 524 Mar 10 00:40 a
-rw-r--r-- 1 user group 24 Jun 11 2000 b
drwx------ 2 user group 4096 Mar 9 11:06 c
共顯示了七列信息,從左至右依次為:權(quán)限、文件數(shù)、歸屬用戶、歸屬群組、文件大小、創(chuàng)建日期、文件名稱
其中要特別留意的是第一列:
drwxr-xr-x
一共有10個位置,可以分為4組:
d rwx r-x r-x
第一組只有一個字符:
d 文件夾
- 普通文件
l 鏈接
b 塊設(shè)備文件
p 管道文件
c 字符設(shè)備文件
s 套接口文件
剩下的3組分別為歸屬用戶、歸屬群組、其它用戶或群組對于該文件的權(quán)限。我們看它的格式
rwx rwx rwx
r 可讀
w 可寫
x 可執(zhí)行
它們的順便不能顛倒,某一位置為空(-),則表示不具有相應(yīng)的權(quán)限。
Tip
Linux下的可執(zhí)行文件并不是由擴展名(例如 .exe )決定的,而是由其可執(zhí)行權(quán)限位決定。
查看文件權(quán)限的語句:
在終端輸入:
ls -lh 參數(shù)h可以顯示文件的大小
[root@localhost ~]# ls -lh install.log
-rw-r--r-- 1 root root 53K 03-16 08:54 install.log
ls -l xxx.xxx (xxx.xxx是文件名)
那么就會出現(xiàn)相類似的信息,主要都是這些:
-rw-rw-r--
一共有10位數(shù),其中:最前面那個 - 代表的是類型
中間那三個 rw- 代表的是所有者(user)
然后那三個 rw- 代表的是組群(group)
最后那三個 r-- 代表的是其他人(other)
然后我再解釋一下后面那9位數(shù):
r 表示文件可以被讀(read)
w 表示文件可以被寫(write)
x 表示文件可以被執(zhí)行(如果它是程序的話)
- 表示相應(yīng)的權(quán)限還沒有被授予
現(xiàn)在該說說修改文件權(quán)限了
在終端輸入:
chmod o+w xxx.xxx
表示給其他人授予寫xxx.xxx這個文件的權(quán)限
chmod go-rw xxx.xxx
表示刪除xxx.xxx中組群和其他人的讀和寫的權(quán)限
其中:
u 代表所有者(user)
g 代表所有者所在的組群(group)
o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o
r 表示文件可以被讀(read)
w 表示文件可以被寫(write)
x 表示文件可以被執(zhí)行(如果它是程序的話)
其中:rwx也可以用數(shù)字來代替
r ------------4
w -----------2
x ------------1
- ------------0
行動:
+ 表示添加權(quán)限
- 表示刪除權(quán)限
= 表示使之成為唯一的權(quán)限
當大家都明白了上面的東西之后,那么我們常見的以下的一些權(quán)限就很容易都明白了:
-rw------- (600) 只有所有者才有讀和寫的權(quán)限
-rw-r--r-- (644) 只有所有者才有讀和寫的權(quán)限,組群和其他人只有讀的權(quán)限
-rwx------ (700) 只有所有者才有讀,寫,執(zhí)行的權(quán)限
-rwxr-xr-x (755) 只有所有者才有讀,寫,執(zhí)行的權(quán)限,組群和其他人只有讀和執(zhí)行的權(quán)限
-rwx--x--x (711) 只有所有者才有讀,寫,執(zhí)行的權(quán)限,組群和其他人只有執(zhí)行的權(quán)限
-rw-rw-rw- (666) 每個人都有讀寫的權(quán)限
-rwxrwxrwx (777) 每個人都有讀寫和執(zhí)行的權(quán)限
2.1 普通文件;
[root@localhost ~]# ls -lh install.log
-rw-r--r-- 1 root root 53K 03-16 08:54 install.log
我們用 ls -lh 來查看某個文件的屬性,可以看到有類似 -rw-r--r-- ,值得注意的是第一個符號是 - ,這樣的文件在Linux中就是普通文件。這些文件一般是用一些相關(guān)的應(yīng)用程序創(chuàng)建,比如圖像工具、文檔工具、歸檔工具... .... 或 cp工具等。這類文件的刪除方式是用rm 命令;
2.2 目錄;
[root@localhost ~]# ls -lh
總計 14M
-rw-r--r-- 1 root root 2 03-27 02:00 fonts.scale
-rw-r--r-- 1 root root 53K 03-16 08:54 install.log
-rw-r--r-- 1 root root 14M 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm
drwxr-xr-x 2 1000 users 4.0K 04-04 23:30 mkuml-2004.07.17
drwxr-xr-x 2 root root 4.0K 04-19 10:53 mydir
drwxr-xr-x 2 root root 4.0K 03-17 04:25 Public
當我們在某個目錄下執(zhí)行,看到有類似 drwxr-xr-x ,這樣的文件就是目錄,目錄在Linux是一個比較特殊的文件。注意它的第一個字符是d。創(chuàng)建目錄的命令可以用 mkdir 命令,或cp命令,cp可以把一個目錄復(fù)制為另一個目錄。刪除用rm 或rmdir命令。
2.3 字符設(shè)備或塊設(shè)備文件;
如時您進入/dev目錄,列一下文件,會看到類似如下的;
[root@localhost ~]# ls -la /dev/tty
crw-rw-rw- 1 root tty 5, 0 04-19 08:29 /dev/tty
[root@localhost ~]# ls -la /dev/hda1
brw-r----- 1 root disk 3, 1 2006-04-19 /dev/hda1
我們看到/dev/tty的屬性是 crw-rw-rw- ,注意前面第一個字符是 c ,這表示字符設(shè)備文件。比如貓等串口設(shè)備
我們看到 /dev/hda1 的屬性是 brw-r----- ,注意前面的第一個字符是b,這表示塊設(shè)備,比如硬盤,光驅(qū)等設(shè)備;
這個種類的文件,是用mknode來創(chuàng)建,用rm來刪除。目前在最新的Linux發(fā)行版本中,我們一般不用自己來創(chuàng)建設(shè)備文件。因為這些文件是和內(nèi)核相關(guān)聯(lián)的。
2.4 套接口文件;
當我們啟動MySQL服務(wù)器時,會產(chǎn)生一個mysql.sock的文件。
[root@localhost ~]# ls -lh /var/lib/mysql/mysql.sock
srwxrwxrwx 1 mysql mysql 0 04-19 11:12 /var/lib/mysql/mysql.sock
注意這個文件的屬性的第一個字符是 s。我們了解一下就行了。
2.5 符號鏈接文件;
[root@localhost ~]# ls -lh setup.log
lrwxrwxrwx 1 root root 11 04-19 11:18 setup.log -> install.log
當我們查看文件屬性時,會看到有類似 lrwxrwxrwx,注意第一個字符是l,這類文件是鏈接文件。是通過ln -s 源文件名 新文件名 。上面是一個例子,表示setup.log是install.log的軟鏈接文件。怎么理解呢?這和Windows操作系統(tǒng)中的快捷方式有點相似。
符號鏈接文件的創(chuàng)建方法舉例;
[root@localhost ~]# ls -lh kernel-2.6.15-1.2025_FC5.i686.rpm
-rw-r--r-- 1 root root 14M 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm
[root@localhost ~]# ln -s kernel-2.6.15-1.2025_FC5.i686.rpm kernel.rpm
[root@localhost ~]# ls -lh kernel*
-rw-r--r-- 1 root root 14M 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm
lrwxrwxrwx 1 root root 33 04-19 11:27 kernel.rpm -> kernel-2.6.15-1.2025_FC5.i686.rpm