1. 程式人生 > >Linux下的檔案及檔案字尾名

Linux下的檔案及檔案字尾名

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批量修改檔案字尾shell指令碼中匹配檔名稱變數寫法

rename .txt.COMPLETED  .txt   *.txt.COMPLETED 為了完整起見,我這裡再用一些例子加以說明 ${ } 的一些特異功能: 假設我們定義了一個變數為: fi

Linux檔案檔案字尾

1、Linux檔案的副檔名; 一談到檔案型別,大家就能想到Windows的檔案型別,比如file.txt、file.doc、file.sys、file.mp3、file.exe等,根據檔案的字尾就能判斷檔案的型別。但在Linux一個檔案是否能被執行,和字尾名沒有太大的關係,主要看檔案的屬性有關。但我們瞭解一

Linux查詢修改PHP配置檔案ini的路徑[轉載]

##原本地址:http://www.findme.wang/blog/detail/id/278.html 一、查詢PHP配置檔案 說到查詢,當然首先想到的是find命令。執行如下命令,即可查詢到php.ini檔案 find / -name php.ini 可是,找到三個

linux的core檔案路徑檔名設定

方式一、臨時設定 1 、如何生成 coredump 檔案 ? 1)使用ulimit -c命令可檢視core檔案的生成開關。若結果為0,則表示關閉了此功能,不會生成core檔案。 2)使用ulimit -c filesize命令,可以限制core檔案的大小(fil

linux生成圖片檔案列表讀取

一個很簡單的sh檔案就可以搞定 listfilepath=list.txt filepath=./sampledata/ find $filepath -name *.png > $listfilepath 然後在windows下就是使用.bat批處理檔案來進行

linux使用find xargs grep查詢檔案檔案內容

1,在某個路徑下查檔案。 在/etc下查詢“*.log”的檔案 find /etc -name “*.log” 2,擴充套件,列出某個路徑下所有檔案,包括子目錄。 find /etc -name “*” 3,在某個路徑下查詢所有包含“hello abcserve

linux如何檢視檔案編碼格式轉換檔案編碼

常常在Linux中操作windows下的檔案時,會遇到亂碼的情形。常見的比如在Visual Studio 中寫的C\C++程式需要放到Linux主機上編譯,而程式的中文註釋則顯示為亂碼,比較嚴重的是由於編碼原因,linux上的編譯器報錯。 這是由於Windows中預設的檔案

Linux安裝.run檔案

Welcome To My Blog 實踐中學習Linux,今天安裝福昕PDF閱讀器,順便推薦下,很好用,可以任意勾勾畫畫。 官網下載安裝包FoxitReader2.4.1.0609_Server_x64_enu_Setup.run.tar.gz 1. 解壓 tar -zxvf

linux解壓縮檔案中文亂碼問題的解決

在windows上壓縮的檔案,是以系統預設編碼中文來壓縮檔案。由於zip檔案中沒有宣告其編碼,所以linux上的unzip一般以預設編碼解壓,中文檔名會出現亂碼。 雖然2005年就有人把這報告為bug, 但是info-zip的官方網站沒有把自動識別編碼列入計劃,可能他們不認為這是個問題。Sun對java中存在

Linux的二進位制檔案比較工具

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

python 05day --linux啟動過程檔案合併歸檔壓縮vi和vim編輯器

一、linux系統啟動過程 1)核心的引導。 當計算機開啟電源後,首先是BIOS開機自檢,按照BIOS中設定的啟動裝置(通常是硬碟)來啟動。 作業系統接管硬體以後,首先讀入 /boot 目錄下的核心檔案。 2)執行 init。 init 程序是系統所有程序的起點,你可以把它比擬成系統所有程序的老祖宗

Linux檢視隱藏檔案命令

一般的Linux下的隱藏目錄使用命令ls -l是查看不出來的,只能檢視到檔案及資料夾 檢視Linux下的隱藏檔案需要用到命令 ls -al 其他檢視檔案目錄命令: ls -l ll ls -l / 個人網站:http://xudailong.

java上傳檔案linux 的 tomcat 檔案伺服器

linux 安裝 tomcat 伺服器,我安裝的是 tomcat 7,未測試其他版本 linux 安裝 tomcat 連線 https://mp.csdn.net/mdeditor/83987640# 本次使用的阿里雲 linux os7 , tomcat 7 + ssm 1、修改目

LINUX學習—磁碟檔案系統管理

IO裝置,外部裝置,並不是計算機核心裝置 機械式硬碟: U盤,光碟,軟盤,硬碟,磁帶機 如果不劃分分割槽,說明一個磁碟只能儲存一個檔案系統,劃分後,一個分割槽就是一個檔案系統,即邏輯邊界; 固態硬碟 磁頭懸浮在盤面上方,所以硬碟振盪很容易弄壞硬碟, 磁頭(head)數:每個碟

Linux幾種檔案傳輸命令

  Linux下幾種檔案傳輸命令 sz rz sftp scp     最近在部署系統時接觸了一些檔案傳輸命令,分別做一下簡單記錄: 1.sftp Secure Ftp 是一個基於SSH安全協議的檔案傳輸管理工具。由於它是基於SSH的,會在

linux將pdf檔案轉換成swf檔案

用PHP用到了線上瀏覽pdf檔案的功能,js播放外掛需要同時將pdf檔案轉換成swf檔案兩者兼用才能達到效果。 安裝swftools 中文支援安裝: mkdir –p /usr/share/xpdf cd /usr/share/xpdf/ 下載中文支援及字型庫 wget ftp:/

linux 除錯coredump檔案

1、coredump簡介 在linux後臺開發過程中可能一不小心出現訪問非法記憶體而產生段錯誤,面對段錯誤我們有時候可以通過列印定位,但那樣比較慢,我們可以利用linux提供了一種方法,當程式奔潰時核心會儲存程式執行的堆疊資訊到一個coredump檔案,我們可以通過gdb除錯這個coredump

Linux學習筆記-Linux的裝置檔案

在Linux下,有一種檔案的型別叫裝置檔案。 在/dev目錄下的檔案基本上都是裝置檔案,檔案屬性以c或b打頭(charactor, block)   裝置檔案用於代表一個物理裝置 例如,音效卡、顯示卡、鍵盤、滑鼠、攝像頭、印表機、掃描器。  

Linux學習筆記-Linux讀寫檔案

在Linux程式設計需要讀寫檔案時,有兩種方式: (1)ANSIC: 使用stdio.h裡的函式。fopen, fclose, fwrite, fread (2)Linux API:Linux提供了另外一套API用於操作檔案。open, clos

linux 的連結檔案詳解

轉載來自:http://linux.chinaunix.net/techdoc/beginner/2009/08/12/1129972.shtml 轉載來自:(這個哥們加工了的,各種顏色,美化)http://www.cnblogs.com/li-hao/p/4107964.html