久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

RHCSA 系列(二): 如何進(jìn)行文件和目錄管理

 發(fā)如白雪 2015-09-07

在本篇中,我們將回顧一些系統(tǒng)管理員日常任務(wù)需要的技能,。

創(chuàng)建,、刪除、復(fù)制和移動(dòng)文件及目錄

文件和目錄管理是每一個(gè)系統(tǒng)管理員都應(yīng)該掌握的必備技能,。它包括了從頭開(kāi)始的創(chuàng)建,、刪除文本文件(每個(gè)程序的核心配置)以及目錄(你用來(lái)組織文件和其它目錄),以及識(shí)別已有文件的類(lèi)型,。

touch 命令 不僅僅能用來(lái)創(chuàng)建空文件,,還能用來(lái)更新已有文件的訪問(wèn)時(shí)間和修改時(shí)間。

touch 命令示例

你可以使用 file [filename]來(lái)判斷一個(gè)文件的類(lèi)型 (在你用文本編輯器編輯之前,,判斷類(lèi)型將會(huì)更方便編輯),。

file 命令示例

使用rm [filename] 可以刪除文件。

rm 命令示例

對(duì)于目錄,,你可以使用mkdir [directory]在已經(jīng)存在的路徑中創(chuàng)建目錄,,或者使用 mkdir -p [/full/path/to/directory]帶全路徑創(chuàng)建文件夾。

mkdir 命令示例

當(dāng)你想要去刪除目錄時(shí),在你使用rmdir [directory] 前,,你需要先確保目錄是空的,,或者使用更加強(qiáng)力的命令(小心使用它!)rm -rf [directory],。后者會(huì)強(qiáng)制刪除[directory]以及它的內(nèi)容,,所以使用這個(gè)命令存在一定的風(fēng)險(xiǎn)。

輸入輸出重定向以及管道

命令行環(huán)境提供了兩個(gè)非常有用的功能:允許重定向命令的輸入和輸出為另一個(gè)文件,,以及發(fā)送命令的輸出到另一個(gè)命令,,這分別稱(chēng)為重定向和管道。

為了理解這兩個(gè)重要概念,,我們首先需要理解三個(gè)最重要的字符輸入輸出流類(lèi)型,,以 *nix 的話來(lái)說(shuō),它們實(shí)際上是特殊的文件,。

  • 標(biāo)準(zhǔn)輸入 (即 stdin),,默認(rèn)連接到鍵盤(pán)。 換句話說(shuō),,鍵盤(pán)是輸入命令到命令行的標(biāo)準(zhǔn)輸入設(shè)備。

  • 標(biāo)準(zhǔn)輸出 (即 stdout),,默認(rèn)連接到屏幕,。 找個(gè)設(shè)備“接受”命令的輸出,并展示到屏幕上,。

  • 標(biāo)準(zhǔn)錯(cuò)誤 (即 stderr),,默認(rèn)是命令的狀態(tài)消息出現(xiàn)的地方,它也是屏幕,。

在下面的例子中,,ls /var的結(jié)果被發(fā)送到stdout(屏幕展示),ls /tecmint 的結(jié)果也一樣,。但在后一種情況下,,它顯示在標(biāo)準(zhǔn)錯(cuò)誤輸出上。

輸入和輸出命令實(shí)例

為了更容易識(shí)別這些特殊文件,,每個(gè)文件都被分配有一個(gè)文件描述符,,這是用于訪問(wèn)它們的抽象標(biāo)識(shí)。主要要理解的是,,這些文件就像其它的一樣,,可以被重定向。這就意味著你可以從一個(gè)文件或腳本中捕獲輸出,,并將它傳送到另一個(gè)文件,、命令或腳本中,。這樣你就可以在磁盤(pán)上存儲(chǔ)命令的輸出結(jié)果,用于稍后的分析,。

要重定向 stdin (fd 0),、 stdout (fd 1) 或 stderr (fd 2),可以使用如下操作符,。

轉(zhuǎn)向操作 效果
> 重定向標(biāo)準(zhǔn)輸出到一個(gè)文件,。如果目標(biāo)文件存在,內(nèi)容就會(huì)被重寫(xiě),。
>> 添加標(biāo)準(zhǔn)輸出到文件尾部,。
2> 重定向標(biāo)準(zhǔn)錯(cuò)誤輸出到一個(gè)文件。如果目標(biāo)文件存在,,內(nèi)容就會(huì)被重寫(xiě),。
2>> 添加標(biāo)準(zhǔn)錯(cuò)誤輸出到文件尾部。
&> 重定向標(biāo)準(zhǔn)錯(cuò)誤和標(biāo)準(zhǔn)輸出到一個(gè)文件,。如果目標(biāo)文件存在,,內(nèi)容就會(huì)被重寫(xiě)。
< 使用特定的文件做標(biāo)準(zhǔn)輸入,。
<> 使用特定的文件做標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出,。

與重定向相比,管道是通過(guò)在命令后和另外一個(gè)命令前之間添加一個(gè)豎杠(|),。

記得:

  • 重定向是用來(lái)定向命令的輸出到一個(gè)文件,,或把一個(gè)文件發(fā)送作為到一個(gè)命令的輸入。

  • 管道是用來(lái)將命令的輸出轉(zhuǎn)發(fā)到另一個(gè)命令作為其輸入,。

重定向和管道的使用實(shí)例

例1:將一個(gè)命令的輸出到文件

有些時(shí)候,,你需要遍歷一個(gè)文件列表。要做到這樣,,你可以先將該列表保存到文件中,,然后再按行讀取該文件。雖然你可以直接遍歷ls的輸出,,不過(guò)這個(gè)例子是用來(lái)說(shuō)明重定向。

  1. # ls -1 /var/mail > mail.txt

將一個(gè)命令的輸出重定向到文件

例2:重定向stdout和stderr到/dev/null

如果不想讓標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤展示在屏幕上,,我們可以把這兩個(gè)文件描述符重定向到 /dev/null,。請(qǐng)注意對(duì)于同樣的命令,重定向是如何改變了輸出,。

  1. # ls /var /tecmint

  2. # ls /var/ /tecmint &> /dev/null

重定向stdout和stderr到/dev/null

例3:使用一個(gè)文件作為命令的輸入

cat 命令的經(jīng)典用法如下

  1. # cat [file(s)]

您還可以使用正確的重定向操作符發(fā)送一個(gè)文件作為輸入,。

  1. # cat < mail.txt

cat 命令實(shí)例

例4:發(fā)送一個(gè)命令的輸出作為另一個(gè)命令的輸入

如果你有一個(gè)較大的目錄或進(jìn)程列表,并且想快速定位,,你或許需要將列表通過(guò)管道傳送給grep,。

接下來(lái)我們會(huì)在下面的命令中使用管道,,第一個(gè)管道是查找所需的關(guān)鍵詞,第二個(gè)管道是除去產(chǎn)生的 grep command,。這個(gè)例子列舉了所有與apache用戶(hù)有關(guān)的進(jìn)程:

  1. # ps -ef | grep apache | grep -v grep

發(fā)送一個(gè)命令的輸出作為另一個(gè)命令的輸入

歸檔,,壓縮,解包,,解壓文件

如果你需要傳輸,、備份、或者通過(guò)郵件發(fā)送一組文件,,你可以使用一個(gè)存檔(或打包)工具,,如 tar,通常與gzip,,bzip2,,或 xz 等壓縮工具配合使用。

您選擇的壓縮工具每一個(gè)都有自己不同的壓縮速度和壓縮率,。這三種壓縮工具,,gzip是最古老和可以較小壓縮的工具,bzip2提供經(jīng)過(guò)改進(jìn)的壓縮,,以及xz是最新的而且壓縮最大,。通常情況下,使用這些壓縮工具壓縮的文件的擴(kuò)展名依次是.gz,、.bz2或.xz,。

命令 縮寫(xiě) 描述
–create c 創(chuàng)建一個(gè)tar歸檔
–concatenate A 添加tar歸檔到另外一個(gè)歸檔中
–append r 添加非tar歸檔到另外一個(gè)歸檔中
–update u 添加比歸檔中的文件更新的文件
–diff or –compare d 將歸檔中的文件和硬盤(pán)的文件進(jìn)行對(duì)比
–list t 列舉一個(gè)tar壓縮包的內(nèi)容
–extract or –get x 從歸檔中提取文件

操作參數(shù) 縮寫(xiě) 描述
directory dir C 在執(zhí)行操作前更改目錄
same-permissions and same-owner p 分別保留權(quán)限和所有者信息
–verbose v 列舉所有讀取或提取的文件,如果和 --list 參數(shù)一起使用,,也會(huì)顯示文件的大小,、所有權(quán)和時(shí)間戳
exclude file 從存檔中排除文件。在這種情況下,,文件可以是一個(gè)實(shí)際的文件或匹配模式,。
gzip or gunzip z 使用gzip壓縮歸檔
–bzip2 j 使用bzip2壓縮歸檔
–xz J 使用xz壓縮歸檔

例5:創(chuàng)建一個(gè)tar文件,然后使用三種壓縮工具壓縮

在決定使用這個(gè)還是那個(gè)工具之前,,您可能想比較每個(gè)工具的壓縮效率,。請(qǐng)注意壓縮小文件或幾個(gè)文件,結(jié)果可能不會(huì)有太大的差異,,但可能會(huì)給你看出它們的差異,。

  1. # tar cf ApacheLogs-$(date +%Y%m%d).tar /var/log/httpd/* # Create an ordinary tarball

  2. # tar czf ApacheLogs-$(date +%Y%m%d).tar.gz /var/log/httpd/* # Create a tarball and compress with gzip

  3. # tar cjf ApacheLogs-$(date +%Y%m%d).tar.bz2 /var/log/httpd/* # Create a tarball and compress with bzip2

  4. # tar cJf ApacheLogs-$(date +%Y%m%d).tar.xz /var/log/httpd/* # Create a tarball and compress with xz

tar 命令實(shí)例

例6:歸檔時(shí)同時(shí)保存原始權(quán)限和所有權(quán)

如果你正在從用戶(hù)的主目錄創(chuàng)建備份,你需要要存儲(chǔ)的個(gè)人文件與原始權(quán)限和所有權(quán),,而不是通過(guò)改變它們的用戶(hù)帳戶(hù)或守護(hù)進(jìn)程來(lái)執(zhí)行備份,。下面的命令可以在歸檔時(shí)保留文件屬性。

  1. # tar cJf ApacheLogs-$(date +%Y%m%d).tar.xz /var/log/httpd/* --same-permissions --same-owner

創(chuàng)建軟連接和硬鏈接

在Linux中,,有2種類(lèi)型的鏈接文件:硬鏈接和軟(也稱(chēng)為符號(hào))鏈接,。因?yàn)橛叉溄游募皇乾F(xiàn)存文件的另一個(gè)名字,,使用相同的 inode 號(hào),它指向?qū)嶋H的數(shù)據(jù),;而符號(hào)鏈接只是指向的文件名,。

此外,硬鏈接不占用磁盤(pán)上的空間,,而符號(hào)鏈接則占用少量的空間來(lái)存儲(chǔ)的鏈接本身的文本,。硬鏈接的缺點(diǎn)就是要求它們必須在同一個(gè)文件系統(tǒng)內(nèi),因?yàn)?inode 在一個(gè)文件系統(tǒng)內(nèi)是唯一的,。而符號(hào)鏈接沒(méi)有這個(gè)限制,,它們通過(guò)文件名而不是 inode 指向其它文件或目錄,所以可以跨文件系統(tǒng),。

創(chuàng)建鏈接的基本語(yǔ)法看起來(lái)是相似的:

  1. # ln TARGET LINK_NAME #從LINK_NAME到Target的硬鏈接

  2. # ln -s TARGET LINK_NAME #從LINK_NAME到Target的軟鏈接

例7:創(chuàng)建硬鏈接和軟鏈接

沒(méi)有更好的方式來(lái)形象的說(shuō)明一個(gè)文件和一個(gè)指向它的硬鏈接或符號(hào)鏈接的關(guān)系,,而不是創(chuàng)建這些鏈接。在下面的截圖中你會(huì)看到文件和指向它的硬鏈接共享相同的inode,,都是使用了相同的466個(gè)字節(jié)的磁盤(pán),。

另一方面,在別的磁盤(pán)創(chuàng)建一個(gè)硬鏈接將占用5個(gè)字節(jié),,這并不是說(shuō)你將耗盡存儲(chǔ)容量,,而是這個(gè)例子足以說(shuō)明一個(gè)硬鏈接和軟鏈接之間的區(qū)別。

軟連接和硬鏈接之間的不同

在Linux系統(tǒng)上符號(hào)鏈接的典型用法是指向一個(gè)帶版本的文件,。假設(shè)有幾個(gè)程序需要訪問(wèn)文件fooX.Y,,但麻煩是版本經(jīng)常變化(像圖書(shū)館一樣)。每次版本更新時(shí)我們都需要更新指向 fooX.Y 的單一引用,,而更安全,、更快捷的方式是,我們可以讓程序?qū)ふ颐麨?foo 的符號(hào)鏈接,,它實(shí)際上指向 fooX.Y,。

這樣的話,當(dāng)你的X和Y發(fā)生變化后,,你只需更新符號(hào)鏈接 foo 到新的目標(biāo)文件,,而不用跟蹤每個(gè)對(duì)目標(biāo)文件的使用并更新。

總結(jié)

在這篇文章中,,我們回顧了一些基本的文件和目錄管理技能,,這是每個(gè)系統(tǒng)管理員的工具集的一部分。請(qǐng)確保閱讀了本系列的其它部分,,并將這些主題與本教程所涵蓋的內(nèi)容相結(jié)合。

如果你有任何問(wèn)題或意見(jiàn),,請(qǐng)隨時(shí)告訴我們,。我們總是很高興從讀者那獲取反饋.

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多