關於Linux下檔案字尾名和檔案的關係

2021-08-07 13:05:35 字數 3169 閱讀 5234

1.使用檔案拓展名的意義

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

現在的linux桌面環境和windows一樣智慧型化,檔案的型別是和相應的程式關聯的。在我們開啟某個檔案時,系統會自動判斷用哪個應用程式開啟。

如果從這方面來說,linux桌面環境和windows桌面沒有太大的區別。

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

2.linux系統的檔案型別
linux檔案型別常見的有:普通檔案、目錄、字元裝置檔案、塊裝置檔案、符號鏈結檔案等;這些檔案雖然要用不同的程式來開啟,但放在linux檔案型別中衡量的話,大多是常規檔案(也被稱為普通檔案)。

2.1普通檔案

[root@localhost

[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中就是普通檔案。

這些檔案一般是用一些相關的應用程式建立,比如影象工具、文件工具、歸檔工具... .... 或 cp工具等。這類檔案的刪除方式是用rm 命令;

2.2目錄

[root@localhost

[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.rpmdrwxr-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

mydirdrwxr-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目錄,列一下檔案,會看到類似如下的;[root@localhost ~]# ls -la /dev/ttycrw-rw-rw- 1 root tty 5, 0

04-19

08:29 /dev/tty[root@localhost ~]# ls -la /dev/hda1brw-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的檔案。[root@localhost ~]# ls -lh /var/lib/mysql/mysql.socksrwxrwxrwx

1 mysql mysql 0

04-19

11:12 /var/lib/mysql/mysql.sock注意這個檔案的屬性的第乙個字元是 s。我們了解一下就行了。

2.5符號鏈結檔案[root@localhost ~]# ls -lh setup.loglrwxrwxrwx

1 root root 11

04-19

11:18 setup.log ->install.log當我們檢視檔案屬性時,會看到有類似 lrwxrwxrwx,注意第乙個字元是l,這類檔案是鏈結檔案。是通過ln -s 源檔名新檔名。

上面是乙個例子,表示setup.log是install.log的軟鏈結檔案。怎麼理解呢?這和windows作業系統中的快捷方式有點相似。符號鏈結檔案的建立方法舉例;[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.rpmlrwxrwxrwx

1 root root 33

04-19

11:27 kernel.rpm -> kernel-2.6.15-1.2025_fc5.i686.rpm

擷取檔案字尾名

擷取給的檔名的字尾名 在這裡要注意可能出現的檔案是否有字尾名,例如.abc和abc.其實這兩種是沒有字尾名的,所以判斷切片 的索引位置必須有所限制 def foo filename,has dot false 獲取檔名的字尾名 param filename 檔名 param has dot 字尾名是...

獲取檔案字尾名

獲取到filename的字尾 利用lastindexof 從最後面截字尾,找到最後乙個點的索引然後加一,利用substring擷取該索引後的字串 f.getfilename substring f.getfilename lastindexof 1 lastindexof 方法有以下四種形式 pub...

Linux批量更改檔案字尾名

有同學問linux下怎樣批量更改檔案字尾名,這個問題被別人問到三次了,所以這裡給出幾個解決方法 一.rename解決 1.ubuntu系統下 rename s c h 把當前目錄下的字尾名為.c的檔案更改為.h的檔案 2.centos5.5系統下 rename c h c 把當前目錄下的字尾名為.c...