linux 文件目录操作,Linux系统下文件与目录操作
與其它操作系統(tǒng)一樣,在Linux系統(tǒng)下用戶的數(shù)據(jù)和程序也是以文件的形式保存的。所以在使用Linux的過程中,是經(jīng)常要對文件與目錄進(jìn)行操作的。現(xiàn)在我們就以一個(gè)Window用戶的立場來學(xué)習(xí)一下Linux下的文件與目錄操作方法。
1. 文件名與文件類型
文件名是一個(gè)文件的標(biāo)識(shí)。從這個(gè)角度來說,文件名的規(guī)則與Windows 9x下的是基本上相同的。它同樣是由字母、數(shù)字、下劃線、圓點(diǎn)組成,最 大的長度是255個(gè)字符。
與Windows 9x一樣,Linux系統(tǒng)中也有普通文件和目錄文件,不過目錄文件在Window中被簡稱為目錄就是了。而在Linux系統(tǒng)中有一種特殊的文件,那就是設(shè)備文件。在Linux系統(tǒng)中,把每一個(gè)I/O設(shè)置都映射成為一個(gè)文件,可以象普通文件一樣處理,這就使得文件與設(shè)備的操作盡可能統(tǒng)一。從用戶的用戶來說,對I/O設(shè)備的使用和一般文件的使用幾乎一樣,這樣就可以不必了解I/O設(shè)備的細(xì)節(jié)。
2. 目錄結(jié)構(gòu)
與Windows下一樣,在Linux中也是通過目錄來組織文件的。但不同的是,在Linux下只有一個(gè)根目錄,而不象Windows那樣一個(gè)分區(qū)一個(gè)根目錄。 如果有多個(gè)分區(qū)的話,就需要將其它分區(qū)mount到根目錄上來用。
大家回憶一下當(dāng)時(shí)為Linux分區(qū)時(shí),有一個(gè)選項(xiàng)要填,那就是Mount Point,我們將其中一個(gè)寫成了“/”,也就是根目錄(這點(diǎn)與Windows相反, 一個(gè)是“\”,一個(gè)是“/”,真是天生冤家)。其它的則可能是/home、/usr。
安裝完系統(tǒng)后,你會(huì)發(fā)現(xiàn)/home、/usr就是根目錄下面的home、usr目錄!對了,整個(gè)分區(qū)就用于該目錄了。
安裝完Linux后,有許許多多的目錄,下面我們就說明一些重要的目錄:
/bin:存放著一百多個(gè)Linux下常用的命令、工具
/dev:存放著Linux下所有的設(shè)備文件!
/home:用戶主目錄,每建一個(gè)用戶,就會(huì)在這里新建一個(gè)與用戶同名的目錄,給該用戶一個(gè)自己的空間
/lost+found:顧名思義,一些丟失的文件可能可以在這里找到
/mnt:外部設(shè)備的掛接點(diǎn),通常用cdrom與floppy兩個(gè)子目錄!它的存在簡化了光盤與軟盤的使用。你只需在塞入光盤后,運(yùn)行: mount /mnt/ cdrom,就可以將光盤上的內(nèi)容Mount到/mnt/cdrom上,你就可以訪問了。不過你使用完成后,應(yīng)該離開該目錄,并執(zhí)行umount /mnt/cdrom。同樣 的,軟盤就是mount /mnt/floppy和umount /mnt/floppy了。
/proc:這其實(shí)是一個(gè)假的目錄,通過這里你可以訪問到內(nèi)存里的內(nèi)容。
/sbin:這里存放著系統(tǒng)級的命令與工具
/usr:通常用來安裝各種軟件的地方
/usr/X11R6 X Window目錄
/usr/bin與/usr/sbin 一些后安裝的命令與工具
/usr/include、/usr/lib及/usr/share 則是存放一些共享鏈接庫
/usr/local 常用來安裝新軟件
/usr/src Linux源程序
/boot:Linux就是從這里啟動(dòng)的
/etc:這里存放在Linux大部分的配置文件
/lib:靜態(tài)鏈接庫
/root:root用戶的主目錄,這就是特權(quán)之一!
/var:通常用來存放一些變化中的東西!
/var/log:存放系統(tǒng)日志
/var/spool:存放一些郵件、新聞、打印隊(duì)列等
另外,要說明的是,在Linux下“當(dāng)前目錄”、“路徑”等概念與Windows下是一樣的。
3. 顯示文件內(nèi)容
使用過DOS命令的人都應(yīng)該知道,我們可以使用type命令來查看一個(gè)文件的內(nèi)容。在Linux下有五個(gè)相關(guān)的命令,功能各有千秋,不過它們都象 type命令一樣,只能用來查看文本文件。
(1) cat命令
cat命令是最象type命令的,使用的方法很簡單:“cat 文件名”。不過比type命令更強(qiáng)大的是,它可以同時(shí)查看多個(gè)文件:“cat 文件名一 文 件名二”。
(2) more命令
如果文本文件比較長,一屏無法顯示完,那么使用cat命令就可能無法看清。這里我們可以簡單地使用more來代替cat命令即可。其效果與 type 文 件名/p類似。使用more命令將一次顯示一屏文本,顯示滿后,停下來,并提示出已顯示全部內(nèi)容的百分比,按空格鍵就可以看到下一屏。
(3) less命令
less命令的功能幾乎和more命令一樣,也是按頁顯示文件,不同之處在于less命令在顯示文件時(shí)允許用戶既可以向前又可以向后翻閱文件。
向前翻:按b鍵;向后翻:按p鍵;指定位置:輸入百分比;退出:q
我經(jīng)常使用more和less,幾乎不使用cat查看文件。
(4) head命令
通過head命令可以僅查看某文件的前幾行,格式為:
head 行數(shù) 文件名
如果未指定行數(shù),則使用默認(rèn)值10。
(5) tail命令
與head命令相對應(yīng)的,我們可以使用tail命令來查看文件尾部的內(nèi)容。通常用來實(shí)時(shí)監(jiān)測某個(gè)文件是否被修改,通常用來觀察日志。如:
tail -f maillog
4. 編輯文件
在Red Hat Linux 7中有許多文字編輯工具,其中最常用的應(yīng)該是vi,這是一個(gè)廣泛應(yīng)用于所有UNIX系統(tǒng)的編輯器。它的使用有些特別:
首先,可以使用命令“vi 文件名”打開一個(gè)文件。
剛啟動(dòng)的時(shí)候,vi處于命令狀態(tài),不能夠輸入任何字符。在這個(gè)狀態(tài)下,可以使用方向鍵進(jìn)行移動(dòng),而需要輸入內(nèi)容時(shí),你需要輸 入“i”或“a”命令進(jìn)入編輯狀態(tài)。編輯完成后,你需要按下“ESC”鍵回到命令狀態(tài)。
在命令狀態(tài)下,你可以輸入“:q!”不存盤退出,輸入“:wq”存盤退出。
5. 文件的復(fù)制、刪除與移動(dòng)
大家都早已熟知在DOS下我們可以使用copy、del、move命令來實(shí)現(xiàn)文件的復(fù)制、刪除與移動(dòng)。下面我們說說如何在Linux系統(tǒng)中做以上操作。
1) cp命令:文件/目錄復(fù)制命令
它的語法格式為:cp [選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄
常用的選項(xiàng)有:
a 該選項(xiàng)常在復(fù)制目錄時(shí)使用,它保留鏈接、文件屬性,并遞歸地復(fù)制目錄,就象DOS中的xcopy /s一樣
f 如果目標(biāo)文件或目錄已存在,就覆蓋它,并且不做提示
i 與f選項(xiàng)正好相反,它在覆蓋時(shí),會(huì)讓用戶回答“Y”來確認(rèn)
p 使用該選項(xiàng),復(fù)制文件時(shí)將保留修改時(shí)間和訪問權(quán)限
r 若給出的源是一個(gè)目錄,那么cp將遞歸復(fù)制該目錄下所有的子目錄和文件,不過這要求目標(biāo)也是一個(gè)目錄名
另外,大家要注意的是,如果源是文件名,目標(biāo)是目錄名的話,那么使用cp命令可以指定多個(gè)源文件名。如:
$ cp a.txt b.txt /home/user1
該命令將把a(bǔ).txt和b.txt文件復(fù)制到/home/usr1目錄中。
2) rm命令:文件/目錄刪除命令
它的語法格式為:rm [選項(xiàng)] 文件 …
常用的選項(xiàng)有:
f 在刪除過程中不給任何指示,直接刪除
r 指示rm將參數(shù)中列出的全部目錄和子目錄都遞歸地刪除
i 交互式的刪除,每個(gè)文件在刪除時(shí)都給出提示
使用rm命令時(shí)一定要小心,特別是以root用戶登錄時(shí),我就看到過一個(gè)朋友在使用rm命令刪除/home/tmp目錄時(shí)將命令“rm -rf /home/tmp”誤輸 成了 “rm -rf / home/tmp”,結(jié)果等他走回電腦面前,整個(gè)系統(tǒng)都被刪除了!
3) mv命令:文件/目錄移動(dòng)命令
它的語法格式為:mv [選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄
常用的選項(xiàng)有:
f 如果操作要覆蓋某已有的目標(biāo)文件時(shí)不給任何指示
i 交互式的操作,如果操作要覆蓋某已有的目標(biāo)文件時(shí)會(huì)詢問用戶是否覆蓋
mv命令的執(zhí)行效果與參數(shù)類型的不同而不同!
第一參數(shù)(源)? ? 第二個(gè)參數(shù)(目標(biāo))? ?? ?? ?? ?結(jié)果
文件名? ?? ?? ?? ?? ? 文件名? ?? ?? ???將源文件名改為目標(biāo)文件名
文件名? ?? ?? ?? ?? ? 目錄名? ?? ?? ???將文件移動(dòng)到目標(biāo)目錄
目錄名? ?? ?? ?? ?? ? 目錄名? ?? ?? ???目標(biāo)目錄已存在:源目錄移動(dòng)到目標(biāo)目錄
目標(biāo)目錄不存在:改名
目錄名 文件名 出錯(cuò)
6. 目錄相關(guān)操作
1) 創(chuàng)建新目錄:mkdir,它的使用與DOS下的md相同:mkdir 目錄名;
2) 刪除空目錄:rmdir,它的使用與DOS下的rd相同:rmdir 目錄名;
3) 改變目錄:cd,它的使用與DOS下的cd命令基本相同,唯一一個(gè)不同的是,不管目錄名是什么,cd與目錄名之間必須有空格,也就是:“cd/”、 “cd..”、“cd.”都是非法的,而應(yīng)該輸入:“cd /”、“cd ..”、“cd .”,如果直接輸入命令“cd”,而不加任何參數(shù),將回到這個(gè)用戶的主目錄。
4) 顯示當(dāng)前目錄:pwd
5) 列目錄命令:ls,相當(dāng)于DOS下的dir
它的語法為:ls [選項(xiàng)] [目錄或文件]
常用的選項(xiàng)有:
a 顯示指定目錄下所有的子目錄與文件,包括隱藏文件;
c 按文件的修改時(shí)間排序
l 采用長格式來顯示文件的詳細(xì)信息,每個(gè)文件一行信息,其內(nèi)容為:文件類型與權(quán)限 鏈接數(shù) 文件屬主 文件屬組 文件大小 最近修改時(shí)間 文件名
7. 文件與目錄的權(quán)限操作
在Linux系統(tǒng)中,每一個(gè)文件和目錄都有相應(yīng)的訪問許可權(quán)限,我們可以用它來確定誰可以通過何種方式對文件和目錄進(jìn)行訪問和操作。文件或目 錄的訪問權(quán)限分為可讀、可寫和可執(zhí)行三種,分別以r,w,x表示,其含義為:
r w x
文件 可讀 可寫 可執(zhí)行
目錄 可列出目錄 可在目錄中做寫操作 可以訪問該目錄
在文件被創(chuàng)建時(shí),文件所有者可以對該文件的權(quán)限進(jìn)行設(shè)置。
對于一個(gè)文件來說,可以將用戶分成三種,并對其分別賦予不同的權(quán)限:
1) 文件所有者
2) 與文件所有者同組用戶
3) 其它用戶
每一個(gè)文件或目錄的訪問權(quán)限都有三組,每組用三位表示,如:
d rwx r-x r--
第一部分:這里的d代表目錄,其它的有:- 代表普通文件 c 代表字符設(shè)備文件;
第二部分:文件所有者的權(quán)限字,這里為r w x表示可讀、可寫、可執(zhí)行 (目錄的可執(zhí)行指的可以進(jìn)入目錄);
第三部分:與文件所有者同組的用戶的權(quán)限字,這里為r - x表示可讀、不可寫、可執(zhí)行。由于同組用戶之間交流較多,讓他看看文件,別亂改就 行了嘛。
第四部分:其它用戶的權(quán)限字,這里為- - -,當(dāng)然給我無關(guān)的人嘛,我的文件當(dāng)然不但不給你寫,也不讓你讀。
1) 文件/目錄權(quán)限設(shè)置命令:chmod
這是Linux系統(tǒng)管理員最常用到的命令之一,它用于改變文件或目錄的訪問權(quán)限。該命令有兩種用法:
用包含字母和操作符表達(dá)式的文字設(shè)定法
其語法格式為:chmod [who] [opt] [mode] 文件/目錄名
其中who表示對象,是以下字母中的一個(gè)或組合:
u:表示文件所有者
g:表示同組用戶
o:表示其它用戶
a:表示所有用戶
opt則是代表操作,可以為:
+:添加某個(gè)權(quán)限
-:取消某個(gè)權(quán)限
=:賦予給定的權(quán)限,并取消原有的權(quán)限
而mode則代表權(quán)限:
r:可讀
w:可寫
x:可執(zhí)行
例如:為同組用戶增加對文件a.txt的讀寫權(quán)限:
chmod g+rw a.txt
用數(shù)字設(shè)定法
而數(shù)字設(shè)定法則更為簡單:chmod [mode] 文件名
關(guān)鍵是mode的取值,一開始許多初學(xué)者會(huì)被搞糊涂,其實(shí)很簡單,我們將rwx看成二進(jìn)制數(shù),如果有則有1表示,沒有則有0表示,那么rwx r-x r- -則可以表示成為:
111 101 100
再將其每三位轉(zhuǎn)換成為一個(gè)十進(jìn)制數(shù),就是754。
例如,我們想讓a.txt這個(gè)文件的權(quán)限為:
自己 同組用戶 其他用戶
可讀? ?是? ?? ? 是? ???是
可寫? ?是? ?? ? 是? ???可執(zhí)行
那么,我們先根據(jù)上表得到權(quán)限串為:rw-rw-r--,那么轉(zhuǎn)換成二進(jìn)制數(shù)就是110 110 100,再每三位轉(zhuǎn)換成為一個(gè)十進(jìn)制數(shù),就得到664,因此我 們執(zhí)行命令:
chmod 664 a.txt
2) 改變文件的屬主命令:chown
語法格式很簡單:chown [選項(xiàng)] 用戶名 文件/目錄名
其中最常用的選項(xiàng)是“R”,加上這個(gè)參數(shù),可以將整個(gè)目錄里的所有子目錄和文件的屬主都改變成指定用戶。
3) 改變文件屬組命令:chgrp
該命令也很簡單:chgrp 組名 文件名
來源:
總結(jié)
以上是生活随笔為你收集整理的linux 文件目录操作,Linux系统下文件与目录操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: magento php 所需模块,Mag
- 下一篇: linux系统分配文件夹内存,详解Lin