1. 程式人生 > >linux檢視檔案型別

linux檢視檔案型別

d 目錄檔案。
l 符號連結(指向另一個檔案,類似於瘟下的快捷方式)。
s 套接字檔案。
b 塊裝置檔案,二進位制檔案。
c 字元裝置檔案。
p 命名管道檔案。
- 普通檔案,或更準確地說,不屬於以上幾種型別的檔案。
重點注意的是普通檔案,在檢視檔案型別的時候使用file命令和ll命令結合來檢視檔案的型別
裝置檔案分為Block Device Driver和Character Device Drive兩類。Character Device Drive又被稱為字元裝置或裸裝置raw devices; Block Device Driver通常成為塊裝置。而Block Device Driver是以固定大小長度來傳送轉移資料 ;Character Device Driver是以不定長度的字元傳送資料 。且所連線的Devices也有所不同,Block Device大致是可以隨機存取(Random Access)資料的裝置,如硬碟機或光碟機;而Character Device剛好相反,依循先後順序存取資料的裝置,如印表機 、終端機等皆是。


1.字元裝置只能以位元組為最小單位訪問,而塊裝置以塊為單位訪問,例如512位元組,1024位元組等
2.塊裝置可以隨機訪問,但是字元裝置不可以
3.字元和塊沒有訪問量大小的限制,塊也可以以位元組為單位來訪問
The type printed will usually contain one of the words 
text (the file contains only printing characters and a few common control characters and is probably safe to read on an ASCII terminal), 
executable (the file contains the result of compiling a program in a form understandable to some UNIX kernel or another), 

data meaning anything else (data is usually `binary' or non-printable).

Any file that cannot be identified as having been written in any of the character sets listed above is simply said to be ``data''.

1、Linux檔案的副檔名;

一談到檔案型別,大家就能想到Windows的檔案型別,比如file.txt、file.doc、file.sys、file.mp3、file.exe等,根據檔案的字尾就能判斷檔案的型別。但在Linux一個檔案是否能被執行,和字尾名沒有太大的關係,主要看檔案的屬性有關。但我們瞭解一下Linux檔案的字尾名還是有必要的,特別是我們自己建立一些檔案,最好還是加字尾名,這樣做的目的是僅僅是為了我們的在應用時方便。

現在的Linux桌面環境和Windows一樣智慧化,檔案的型別是和相應的程式關聯的。在我們開啟某個檔案時,系統會自動判斷用哪個應用程式開啟。如果從這方面來說,Linux桌面環境和Windows桌面沒有太大的區別。

在Linux中,帶有副檔名的檔案,只能代表程式的關聯,並不能說明檔案是可以執行,從這方面來說,Linux的副檔名沒有太大的意義。

file.tar.gz file.tgz file.tar.bz2 file.rar file.gz file.zip ... ... 這些大家都熟悉,是歸檔檔案。要通過相應的工具來解壓或提取;

file.php 這個大家都知道吧,是能用php語言直譯器進行解釋,能用瀏覽器開啟的檔案;

file.so 這類是庫檔案;

file.doc file.obt 這是OpenOffice 能開啟的檔案;

... ...

用一些工具建立的檔案,其後綴也不相同,就看我們用什麼工具了,比如 Gimp,gedit,OpenOffice 等工具,創建出來的檔案字尾名也不一樣。


2、Linux 檔案型別;

Linux檔案型別和Linux檔案的檔名所代表的意義是兩個不同的概念。我們通過一般應用程式而建立的比如file.txt、file.tar.gz ,這些檔案雖然要用不同的程式來開啟,但放在Linux檔案型別中衡量的話,大多是常規檔案(也被稱為普通檔案)。

Linux檔案型別常見的有:普通檔案、目錄、字元裝置檔案、塊裝置檔案、符號連結檔案等;現在我們進行一個簡要的說明;


2.1 普通檔案;

[[email protected] ~]# ls -lh install.log
-rw-r--r-- 1 root root 53K 03-16 08:54 install.log

我們用 ls -lh 來檢視某個檔案的屬性,可以看到有類似 -rw-r--r-- ,值得注意的是第一個符號是 - ,這樣的檔案在Linux中就是普通檔案。這些檔案一般是用一些相關的應用程式建立,比如影象工具、文件工具、歸檔工具... .... 或 cp工具等。這類檔案的刪除方式是用rm 命令;


2.2 目錄;

[[email protected] ~]# 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

當我們在某個目錄下執行,看到有類似 drwxr-xr-x ,這樣的檔案就是目錄,目錄在Linux是一個比較特殊的檔案。注意它的第一個字元是d。建立目錄的命令可以用 mkdir 命令,或cp命令,cp可以把一個目錄複製為另一個目錄。刪除用rm 或rmdir命令。


2.3 字元裝置或塊裝置檔案;

如時您進入/dev目錄,列一下檔案,會看到類似如下的;

[[email protected] ~]# ls -la /dev/tty
crw-rw-rw- 1 root tty 5, 0 04-19 08:29 /dev/tty
[[email protected] ~]# ls -la /dev/hda1
brw-r----- 1 root disk 3, 1 2006-04-19 /dev/hda1

我們看到/dev/tty的屬性是 crw-rw-rw- ,注意前面第一個字元是 c ,這表示字元裝置檔案。比如貓等串列埠裝置;

我們看到 /dev/hda1 的屬性是 brw-r----- ,注意前面的第一個字元是b,這表示塊裝置,比如硬碟,光碟機等裝置;

這個種類的檔案,是用mknode來建立,用rm來刪除。目前在最新的Linux發行版本中,我們一般不用自己來建立裝置檔案。因為這些檔案是和核心相關聯的。


2.4 套介面檔案;

當我們啟動MySQL伺服器時,會產生一個mysql.sock的檔案。

[[email protected] ~]# ls -lh /var/lib/mysql/mysql.sock
srwxrwxrwx 1 mysql mysql 0 04-19 11:12 /var/lib/mysql/mysql.sock

注意這個檔案的屬性的第一個字元是 s。我們瞭解一下就行了。


2.5 符號連結檔案;

[[email protected] ~]# 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作業系統中的快捷方式有點相似。

符號連結檔案的建立方法舉例;

[[email protected] ~]# 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
[[email protected] ~]# ln -s kernel-2.6.15-1.2025_FC5.i686.rpm  kernel.rpm
[[email protected] ~]# 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


3、關於本文;

   在Linux環境下一個檔案是否能被執行,和字尾名沒有太大的關係,主要看檔案的屬性有關。但我們瞭解一下Linux檔案的字尾名還是有必要的,特別是我們自己建立一些檔案,最好還是加字尾名,這樣做的目的是僅僅是為了我們的在應用時方便。

 現在的Linux桌面環境和Windows一樣智慧化,檔案的型別是和相應的程式關聯的。在我們開啟某個linux檔案時,系統會自動判斷用哪個應用程式開啟。如果從這方面來說,Linux桌面環境和Windows桌面沒有太大的區別。
 在Linux中,帶有副檔名的檔案,只能代表程式的關聯,並不能說明檔案是可以執行,從這方面來說,Linux的副檔名沒有太大的意義。

Linux下常見的副檔名


*.php ------這個大家都知道吧,是能用php語言直譯器進行解釋,能用瀏覽器開啟的檔案;
*.so -------這類是庫檔案;
*.doc  *.obt --------這是OpenOffice 能開啟的檔案;

.bz2 ------bzip2的壓縮檔案

.gz ------gzip的壓縮檔案

.tar ------tar打包檔案(是包檔案不是壓縮檔案)

.tbz------tar打包並用bzip壓縮檔案

.tgz-----tar打包並用gzip壓縮的檔案

.au -----audio檔案

.gif -----gif圖象檔案

.html/.htm-----HTML檔案

.jpg-----JPEG圖象檔案

.pdf------電子文件(PDF格式的)

.png-----PNG圖象檔案

.ps------postscinpt檔案(列印格式檔案)

.txt------純文字檔案

.wav-----audio檔案

.xpm-----圖象檔案

.conf-------配置檔案

.lock-------LOCK檔案(用來判斷一個檔案或裝置是否被使用)

.rpm------REDHATPackage.Manager檔案(套件包或軟體包)

.c -------C源程式程式碼檔案

.cpp------C++源程式程式碼檔案

.h -------C或C++程式的標頭檔案

.o------程式目標檔案

.pl------perl指令碼檔案

.so-----類庫檔案

以下是部分字尾的詳細解釋:

1.*.sh

  sh是linux,unix命令,   用途:呼叫預設 shell。   語法:請參閱 ksh 命令的語法。將 /usr/bin/sh 檔案連結到 Korn shell。   描述:sh 命令呼叫預設 shell 並使用它的語法和標誌。連結到 /usr/bin/sh 路徑的 shell 是預設的 shell。作業系統的標準配置把 /usr/bin/sh 路徑連結到 Korn shell。關於 Korn shell 功能的具體資訊,請參閱《AIX 5L V5.2 系統使用者指南:作業系統與裝置》中的『Korn Shell 或 POSIX Shell 命令』。   標誌:請參閱 Korn shell(ksh 命令)的標誌。

  檔案:/usr/bin/sh 包含 sh 命令。

2.*.cfg

     這只是一個為開發及使用方便而"發明"的一個字尾名。這種檔案沒有固定的格式,用途也僅僅是儲存使用者的設定。一般為只讀,也可以用於讀寫。

     同樣,為了方便起見,裡面的內容大多數時候也確實是文字。可以用任何文字編輯器開啟。本例中用Source insight。

     智慧手機中的檔案:CFG 是一個引導檔案, CFG 和TFS檔案放在同一資料夾中,相當於程式裡的標頭檔案。tfs的cfg檔案,可以用resource manager 生成。

      CFG(Config)指令碼檔案,一般用於程式讀取指定值,以下為常見格式:
例:

102 (Home)
115 (VolumeUp)
114 (VolumeDown)
248 (Reading)
158 (Back)
139 (Menu)
end

3. *.ko

   是Linux 2.6核心使用的動態連線檔案的字尾名,也就是模組檔案,用來在Linux系統啟動時載入核心模組,一般是驅動程式。

   載入:

   modprobe module-name       or          insmod /path-to/module-name.ko
   但要注意的是,該模組在跟你係統環境類似的庫及核心版本下編譯才可以使用,否則會出錯。

4. *.conf

    程式配置檔案,啟動netmeeting

    應用系統中的配置檔案,在類unix系統使用廣泛,大多數同時有windows和類unix系統版本的軟體也使用

5. *.allow和*.deny

/etc/hosts.allow和/etc/hosts.deny
     這兩個檔案是tcpd伺服器的配置檔案,tcpd伺服器可以控制外部IP對本機服務的訪問.這兩個配置檔案的格式如下:
    #服務程序名:主機列表:當規則匹配時可選的命令操作
    server_name:hosts-list[:command]
       /etc/hosts.allow控制可以訪問本機的ip地址,      /etc/hosts.deny控制禁止訪問本機的IP.      如果兩個檔案的配置有衝突,以/etc/hosts.deny為準.下面是一個/etc/hosts.allow的示例:
ALL:127.0.0.1 #允許本機訪問本機所有服務程序
smbd:192.168.0.0/255.255.255.0 #允許192.168.0.網段的IP訪問smbd服務
ALL關鍵字匹配所有情況,EXCEPT匹配除了某些項之外的情況,PARANOID匹配你想控制的IP地址和它的域名不匹配時(域名偽裝)的情況. 6. *.types    在遇到有2個字尾的檔案時,在該檔案中檢查這個有2個字尾的檔案是否被定義了,以便選擇合適的檔案處理方法。    This file controls what Internet media types are sent to the client for given file extension(s).     每遇到一種後雙重字尾名(如xxx.php.rar)的檔案,Apache都會去conf/mime.types 檔案中檢查最後一個字尾, 如果最後一個字尾並沒有在mime.types檔案中定義, 則使用前一個字尾來解釋 , 因為在預設情況下,rar並未在mime.types中定義, 故Apache會使用php字尾來解釋檔案。(這就是漏洞的原因所在) 7. *.rc     VC中以rc為副檔名的檔案稱為資源指令碼檔案, 其中包含了應用程式中用到的所有的windows資源, rc檔案可以直接在VC整合環境中以視覺化的方法進行編輯和修改。
8. *.so    在linux環境下,c++編譯得到庫檔案字尾包括:.so or .a or .la,當然,linux下檔案的型別是不依賴於其後綴名的,字尾及其含義:
.so 為共享庫 : 動態庫(shared library/shared object/dynamic link library) .so.1, .so.6等:後邊的是表示版本而已,這都是動態執行庫,大部分屬於基礎庫,即glibc。 .a為靜態庫 : archive / static library
.la為libtool自動生成的一些共享庫,可以用vi編輯檢視,主要記錄了一些配置資訊。可以用如下命令檢視*.la檔案的格式   file *.la

相關推薦

linux檢視檔案型別

d 目錄檔案。l 符號連結(指向另一個檔案,類似於瘟下的快捷方式)。s 套接字檔案。b 塊裝置檔案,二進位制檔案。c 字元裝置檔案。p 命名管道檔案。- 普通檔案,或更準確地說,不屬於以上幾種型別的檔案。重點注意的是普通檔案,在檢視檔案型別的時候使用file命令和ll命令結

linux 檢視檔案系統型別

linux 檢視檔案系統型別 Linux 檢視檔案系統的方式有多種,列舉如下: mount :~$ mount /dev/sda1 on / type ext4 (rw,errors=remount-ro,user_xattr) proc on /proc type pr

Linux常用命令之——檢視檔案型別file

file命令用來探測給定檔案的型別。file命令對檔案的檢查分為檔案系統、魔法幻數檢查和語言檢查3個過程。語法file(選項)(引數)選項-b:列出辨識結果時,不顯示檔名稱; -c:詳細顯示指令執行過程,便於排錯或分析程式執行的情形; -f<名稱檔案>:指定名稱檔

linux檢視檔案和資料夾大小方法

檢視磁碟的佔用情況: $ sudo df -h udev 3.8G 0 3.8G 0% /dev tmpfs 771M 9.4M 762M 2% /run /dev/sda9 57G 5.1G 49

3s掌握全部Linux檢視檔案命令

cat 檔案   直接把檔案內容顯示完 more 檔案    可以翻頁檢視,enter換行,空格換頁 less 檔案   跟more差不多,只不過多了pageUp pageDown上一頁,下一頁 head   

【1.2.1】Linux學習-檔案型別

檔案型別 - 普通檔案 d 目錄 l 連結檔案(指向另一個檔案) 其它 p 命名管道檔案 b 塊裝置檔案 c 字元裝置檔案 s 套接字檔案 [[email p

linux檢視檔案的前/後幾行

tail -n 20 filename 說明:顯示filename最後20行。 Linux下tail命令的使用方法 linux tail命令用途是依照要求將指定的檔案的最後部分輸出到標準裝置,通常是終端,通俗講來,就是把某個檔案檔案的最後幾行顯示到終端上,假設該檔案有更

Linux檢視檔案常用命令

1、cat:-n,適合小檔案 2、more:Enter鍵顯示檔案下一行,空格鍵顯示下一頁,F鍵顯示下一屏內容,B鍵顯示上一屏內容 3、less:基本同上,使用/GET查詢字串 4、tail:-n最後幾行、-f持續顯示 5、head:顯示檔案開頭 6、sort:-n按順序排、-

linux檢視檔案大小命令DU

du [-abcDhHklmsSx] [-L <符號連線>][-X <檔案>][--block-size][--exclude=<目錄或檔案>] [--max-depth=<目錄層數>][--help][--version][目錄或檔案] 常用引數

Linux 檢視檔案修改時間(精確到秒)

Linux 下檢視檔案時,ls –l 預設是不顯示秒的: $ ls -l total 0 -rw-r--r-- 1 gps gps 0 2012-06-12 16:21 README.txt -rw-r--r-- 1 gps gps 0 2012-06-12 16:21 test.txt 要顯示秒(實

Linux檢視檔案內容的5種方式

目錄 1、more指令 2、less指令  3、head指令 4、tail指令 5、cat指令   1、more指令 more指令會以一頁一頁的形式顯示檔案內容,按空白鍵(space)顯示下一頁內容,按Enter鍵會顯示下一行內容,按 b 鍵就

linux檢視檔案有多少行(WC)

使用wc命令 具體通過wc --help 可以檢視。 如:wc -l filename 就是檢視檔案裡有多少行        wc -w filename 看檔案裡有多少個word。        wc -L filename 檔案裡最長的那一行是多少個字。 wc命令   wc命令的功能為統計指定檔

Linux檢視檔案命令及其檢視檔案頭尾的命令

檢視檔案命令 cat:檢視檔案的所有內容(適合小的檔案) more:分頁檢視檔案 [[email protected] ~]# more install.log 按空格向下翻頁,按q退

Linux---檢視檔案目錄和目錄結構(3)

一、檢視檔案和目錄:    1---檢視當前所在的路徑:pwd                /root:表示是在根目錄下的root目錄裡面(“/”表示根目錄)    2---命令格式:命令 -選項 -引數(目錄)    3---檢視當前路徑下的檔案:ls        -d

linux檢視檔案的使用程序:fuser命令

fuser功能   fuser 可以顯示出當前哪個程式在使用磁碟上的某個檔案、掛載點、甚至網路埠,並給出程式程序的詳細資訊.   fuser顯示使用指定檔案或者檔案系統的程序ID.預設情況下每個檔名後面跟一個字母表示訪問型別。   訪問型別如下:   c 代表當前目錄   e

Linux檢視檔案詳細資訊指令stat

引入 我們知道在終端輸入ll,就可以顯示當前目錄裡的檔案詳細資訊,或者使用ls加上另外的引數就可以顯示其他的一些有用的資訊,如下圖所示。但是,另外還有一個指令可以顯示更多有用的資訊。那就是指令stat。 stat指令:檔案/檔案系統的詳細資訊顯示; 使用格

Linux 檢視檔案許可權命令

[email protected] /opt/hadoop $ ls -l bin -rwxr-xr-x 1 Administrator None 9998 Feb 19 2010 hadoop -rwxr-xr-x 1 Administrator None 1966 Feb 19 2010 h

linux 檢視檔案引用計數

一.在對檔案操作的系統呼叫介面,並沒有提供獲取對檔案引用計數的資訊,所有想要獲取此資訊,有兩種方法:     1.在核心中新增一個系統呼叫.將核心中檔案的引用count計數返回到應用層,這種比較麻煩.不推薦     2.遍歷整個系統中所

linux檢視檔案的某一行命令

轉載自http://blog.sina.com.cn/s/blog_522615cc0100dzuc.html 檢視檔案的第90行到100行, sed -n '90,100p' wang.txt 如果檢視第100行用sed -n '100,1p' wang.txt即可

linux 檢視檔案內容的命令

觀看檔案內容:cat, tac, more, less, head, tail, nl, 剛剛我們提到的都只是在於顯示檔案的外觀,或者是移動與複製一個檔案或目錄而已,那麼如果我們要視察一個檔案的內容時,該如何是好呢?!這裡有相當多有趣的指令可以來分享一下:最常使用的顯示檔案內容的指令可以說是 cat 與 m