国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

UNIX 新手指南,第 1 部分: 文件維護工具

瀏覽:2日期:2024-06-13 15:57:36

開始之前

了解本教程中包含的內容以及如何最好地利用本教程。

關于本系列

這個由四部分組成的文章系列將從用戶的角度出發,介紹 Unix® 的基本知識。對于很久沒有使用類 UNIX 操作系統的用戶來說,這個初始的教程是個很好的溫習。對于具有 Windows® 使用經驗的新的 UNIX 用戶來說,它也很有價值,因為其中引用了 Windows,并將兩者進行了比較。本系列中后續的教程將詳細介紹一些特定的應用程序(例如,vi),并討論 Shell 的訣竅與技巧。

關于本教程

系統管理員可以在命令行中使用各種程序來維護 UNIX 系統中的文件。除了這里演示的基本程序外,還有更多的程序可供使用,但這里介紹的程序都是 UNIX 系統中的基本組成部分。您可以使用 mv 命令對文件和目錄進行移動和重命名。cp 命令可以用來復制一個或多個文件或目錄。有一個稱為 tar 的應用程序,它可以快速地將文件聚集在一起形成一個存檔。本教程還將討論如何遍歷文件系統、處理文件權限和簡單的輸入/輸出,以便為新的 UNIX 用戶順利地使用系統而打下基礎。

目標

本教程的目標是讓新的 UNIX 用戶能夠熟練地使用命令行遍歷系統和處理文件。它重點關注于用來操作文件的一些常用命令行實用程序,但同時也討論了關于文件權限和輸入/輸出的內容,以便向您完整地介紹日常工作中需要使用的命令。

先決條件

要學習本教程,您需要對計算機和文件有基本的認識,但并不一定需要具備使用類 UNIX 操作系統的經驗。您應該知道什么是目錄(文件夾)和文件,并能夠使用您的帳戶登錄到類 UNIX 操作系統中。如果您對 Dos 或 Microsoft® Windows 命令行比較熟悉,那么您將發現其中一些相似之處,但對于從未使用過這些命令行的用戶來說,也可以順利地學習本教程。

系統要求

在任何運行類 Unix 操作系統的計算機上擁有您自己的帳戶,這是完成本教程所需的要求。類 UNIX 操作系統包括 IBM AIX® 操作系統、Linux®、Berkeley Software Distribution (BSD) 和 Mac OS® X(通過終端來訪問命令行),以及其他一些系統。

開始學習之前

在開始學習之前,有一點需要注意:目前可以獲得許多不同的類 UNIX 分發版,從商業分發版(如 AIX)到免費的分發版(如 BSD 和 Linux)。本教程重點關注于所有分發版中都提供的一些命令和命令行選項,如果您發現與自己的分發版相比存在差異,那么請查看您的 man 頁面(稍后將會進行描述)。

請根據您的選擇,登錄到相應的類 UNIX 操作系統,以便開始學習。在登錄之后,您應該自動地開始于您的用戶 home 目錄中。本教程中的示例使用 tuser(測試用戶)用戶名。

man

在開始使用特定的命令之前,需要了解關于 man 的內容。man 表示手冊 (manual),對于那些自信能夠做到自給自足的 UNIX 用戶來說,它是非常關鍵的工具。輸入 man application-name 可以查看關于需要了解的內容的解釋。在本教程的每個頁面中,我們鼓勵您在執行其中指令的同時,查看相應的 man 頁面。

嘗試輸入下面的命令(請注意,$ 在本教程中表示命令提示符,在本教程的示例中,您應該在美元符號后面輸入您所看到的內容):$ man ls

目錄

您需要了解的第一件事情是,如何遍歷和查看文件系統。在 UNIX 中,目錄用來以一種層次結構對文件進行組織。您可以在命令行中使用一系列的命令和列表來查看和遍歷 UNIX 文件系統,而不要單擊目錄進入其中并且用圖標來表示每個文件。

ls

如果您是第一次使用類 UNIX 操作系統,但是曾經使用過 Dos 或 Windows 命令行,那么 ls 基本上相當于 dir。它是列出目錄 (List Directory) 的縮寫。ls 可以與各種命令行選項一同使用,以便獲得詳細的列表、顯示隱藏的文件、遞歸列出子目錄,等等。請輸入下面的示例:$ ls$ ls -l$ ls -a$ ls -R

如果您正在命令行中考慮下一步應該進行什么操作,那么可以執行 ls,它可以幫助您了解現在所處的位置以及正在進行的操作。可以把它看作圖形用戶界面中的屏幕刷新操作,用來讓您了解系統的當前狀態。

cd

要遍歷文件系統,可以使用 cd 來更改目錄。輸入 cd,然后輸入您希望進入的目錄的名稱。如果在開頭使用了 /,那么這個目錄的名稱是絕對 目錄路徑:它從文件系統的根開始。如果在開頭沒有使用 /,那么該目錄是相對 路徑:從您的當前工作 目錄開始。例如,如果您位于自己的 home 目錄 (/home/tuser),并且希望移動到某個子目錄,可以在 cd 的后面輸入希望進入的目錄名稱。例如,如果有一個 Documents 目錄,那么您可以輸入下面的命令:$ cd Documents

因為您開始于 /home/tuser/,所以該命令將使您進入 /home/tuser/Documents/。

與此相反,您可以使用絕對路徑名來指定一個位置。例如,如下所示,您可以移動到 /tmp,然后返回到您的 home 目錄:$ cd /tmp$ cd /home/tuser

特殊目錄名稱

在 Unix 中,使用一些特殊的目錄名稱可以使得對文件系統的遍歷變得簡單。三個最重要的特殊名稱分別指向當前目錄、當前目錄的父目錄和用戶的 home 目錄。當前目錄可以由點號指定。例如,如果您輸入 $ cd .,那么您依然位于當前目錄中,即 /home/tuser/。當您運行當前工作目錄中的可執行文件時,該字符變得特別重要。在缺省情況下,許多 UNIX Shell 會在應用程序目錄中搜索應用程序,但不會搜索當前工作目錄。通常可以在文件名前面使用 ./,以顯式地引用當前工作目錄中的文件和應用程序。父目錄由兩個點號來引用。要遍歷到您的當前工作目錄的父目錄,可以輸入下面的命令:$ cd ..

如果您以前位于 /home/tuser,那么現在就在 /home 中。為了演示第三個特殊目錄名稱,可以使用快捷方法返回您的 home 目錄(波浪符號)。可以輸入下面的命令:$ cd ~

pwd

要查看當前目錄,您可以使用 pwd,它表示打印工作目錄 (Print Working Directory)。它可以告訴您現在位于文件系統中的何處,這將幫助您在指定相對路徑名稱時確定應該使用什么樣的名稱。請嘗試使用這三種特殊目錄名稱、絕對路徑和相對路徑,以遍歷您的文件系統。在每一步驟中,可以使用 pwd 查看當前位置。

查看當前目錄(如果您執行了前面部分中的操作步驟,那么現在應該位于您的 home 目錄):$ pwd

mkdir、rmdir

mkdir 和 rmdir 分別用來創建和刪除目錄。rmdir 僅當該目錄為空有效(它并不刪除文件)。

嘗試使用下面的命令:$ mkdir TUTORIAL$ cd TUTORIAL$ pwd$ ls

您現在位于剛剛創建的 TUTORIAL 目錄,而且該目錄為空。

您還可以使用 ~ 波浪號字符到達該目錄。要進入 /home/tuser/TUTORIAL,可以輸入:$ cd ~/TUTORIAL$ pwd

目錄布局

您已經了解了如何在目錄中移動并獲取清單,現在可以開始研究典型的 Unix 分發版中的目錄布局了。您可以通過幾種不同的方式來組織 UNIX 文件系統。本教程討論了一些在大多數類 UNIX 分發版中常見的根級目錄。當然還有其他一些重要的根級目錄,但下面這些是最常見的:/home (or /users)/etc/bin/sbin/usr/car/tmp

/home 用來存放用戶目錄。例如,tuser 用戶位于 /home/tuser。

/etc 是用來存儲系統范圍設置的目錄,包括啟動腳本和網絡配置文件。該目錄中的大多數文件都需要使用 root 用戶進行編輯。

/bin 和 /sbin 是用來存儲系統可執行文件(比如在本教程中學習的命令)的目錄。/sbin 用于存放系統命令,如 shutdown,而 /bin 用于存放用戶命令。

應用程序通常安裝在 /usr 中。/usr/local/ 中的子目錄通常用來包含一些安裝的應用程序,而這些應用程序并不屬于基本分發版中的一部分。

/var 是用來存放類似日志文件這樣的內容的目錄,需要不斷地對其進行更新和存儲。

臨時文件存儲在 /tmp 中。系統中所有的用戶都可以對該目錄進行寫入,并且在一些系統中,會周期性地刪除其中的舊文件。

文件

既然您已經知道了如何使用命令行在文件系統中移動,那么現在可以開始對文件進行處理了。本部分內容將介紹如何創建示例文件、復制文件、刪除文件,以及查看和更改基本的文件權限。在像 Unix 這樣的多用戶操作系統中,必須了解所有權和權限的概念。

touch

首先,創建一個空文件,您將在本教程中使用到該文件。touch 命令可以用來創建一個空文件(對文件使用 touch 命令,通常用來更新文件的修改日期和訪問日期)。

返回到用戶 home 目錄中的 TUTORIAL 目錄,并輸入下面的命令創建一個文件:$ cd ~/TUTORIAL$ touch example.txt

cp

cp 命令用來復制文件。輸入 cp 加上需要復制的文件的名稱,再加上需要將該文件復制到的目錄(您還可以使用相應的選項來指定新文件的名稱)。例如,嘗試將 example.txt 文件復制到 /tmp/:$ cp example.txt /tmp/$ ls /tmp/

您應該可以在 /tmp/ 中看到 example.txt。現在,將 /tmp/ 中的文件復制回您的當前目錄,但是為它取一個新的名稱:$ cp /tmp/example.txt ./example2.txt$ ls

請注意,這里使用一個點號來指定需要將這個新文件放到您的當前目錄。在本示例中,不需要包括 ./(因為復制操作的缺省路徑就是您的當前工作目錄),但是它可以清楚地說明您要完成的任務。后面的 ls 命令則顯示了在當前工作目錄中有兩個示例文件。

mv

移動(move)文件可以使用 mv 命令來完成。對于移動和復制操作來說,大多數語法和命令行選項都是相同的。如果您希望將新文件 example2.txt 移出當前目錄并放入到 /tmp/,那么可以輸入下面的命令:$ mv example2.txt /tmp/.

請注意,這里再次使用了點號顯式地說明您正在進行的操作。

rm

要對系統進行清理,可以刪除在 /tmp/ 中創建的文件。rm 命令用來從文件系統中刪除文件。這與將文件移動到回收站或垃圾箱不同,該命令刪除了文件指針,所以在使用 rm 命令時應當格外小心。輸入以下命令:$ rm /tmp/example.txt$ rm /tmp/example2.txt$ ls /tmp/

/tmp/ 中的那兩個示例文件都應該消失了。

根據您所使用的類 Unix 操作系統的不同,您還可以使用其他的刪除命令,如 srm 或 can。嘗試輸入 man srm 和 man can 以查看是否存在這些命令。srm 用作安全版本的 rm,它對刪除的文件使用隨機數據進行覆蓋,以防止對其進行恢復。can 在一些方法上與 srm 相反,can 可以保留文件,而將其移動到一個特殊的垃圾箱目錄,類似于 Windows 的回收站。

所有權和權限

在類 UNIX 操作系統中,文件所有權和權限是非常重要的概念。UNIX 從一開始就是多用戶的操作系統。盡管現在新版本的 Windows 也可以用作多用戶系統,但如果追溯到早期的個人計算機和 Dos 時期,Windows 的祖先是單用戶的。即使在今天,有些 Windows 用戶也很少考慮多用戶系統中關于多個帳戶和文件權限的問題。對于 UNIX 用戶來說,理解文件所有權和權限是至關重要的。

chown、chgrp

可以使用 ls -l 查看 Unix 中的文件所有權,可以使用 chown 和 chgrp 對其進行更改。輸入下面的命令:$ ls -l

使用 -l 指定需要查看長格式的文件清單。長格式包括關于權限、所有權、修改日期和文件大小等信息。您應該看到與下面所示類似的內容:tsystem:~/TUTORIAL tuser$ ls -ltotal 0-rw-r--r-- 1 tuser admin 0 Aug 13 15:35 example.txt

當詳細顯示目錄清單時,您可以分別在第 3 和第 4 列中看到文件的用戶所有權和組所有權。該文件由 tuser 用戶和 admin 組所有。現在,暫時不管這個文件,輸入下面的命令可以得到更多的信息:$ man chown$ man chgrp

該命令的基本語法是使用用戶名或組名作為第 1 個輸入,后面是需要進行操作的文件或文件列表。例如:$ chown tuser example.txt$ chgrp admin example.txt

chmod

在 UNIX 中,使用與每個文件相關聯的一組 9 個標志來處理基本文件權限。這些標志分別對應于不同用戶類別(用戶、組和其他用戶)和三種文件操作(讀取、寫入和執行)。輸入下面的命令:$ ls -l

您應該看到與下面所示類似的內容:-rw-r--r-- 1 tuser admin 0 Aug 13 15:35 example.txt

當您閱讀目錄的長格式清單時,其中的第 1 列顯示了文件權限。請注意,該列中有 10 個字符(而不是 9 個)。第 1 個字符表示您正在處理的文件的類型。例如,短橫線 -,告訴您這是一個常規文件。d 表示目錄,而不是普通文件。現在,我們重點關注于其他的 9 個字符,每個字符可以為下列幾種情況其中之一:-、r、w 或 x。如果關閉了某個文件所有的權限,那么它應該與下面所示類似:---------- 1 tuser admin 0 Aug 13 15:35 example.txt

如果打開了某個文件所有的權限,那么它應該與下面所示類似:-rwxrwxrwx 1 tuser admin 0 Aug 13 15:35 example.txt

您可以看到 3 組 rwx。如前所述,有 3 種不同的用戶類別(用戶、組和其他用戶)。每一組 rwx 對應于其中的一個類別:

第 1 組 rwx 表示 user 的權限。換句話說,這可以告訴您,該文件的擁有者可以對其進行哪些操作。

第 2 組對應于 group。這可以告訴您,組成員可以對該文件進行哪些操作。

第 3 組對應于 other。這可以告訴您,系統中所有的用戶可以對該文件進行哪些操作,無論該文件屬于誰。

讓我們更仔細地研究一下 example.txt 文件當前的權限:-rw-r--r-- 1 tuser admin 0 Aug 13 15:35 example.txt

第 1 組三個標志表示該文件的所有者可以對其進行讀取、寫入操作,但是不能執行它(其中有 r 和 w,但沒有 x)。從第 2 組三個標志中您可以看出,擁有該文件的組可以對其進行讀取,但不能寫入或執行(其中有 r,但沒有 w 或 x)。第 3 組三個標志顯示了,所有其他的用戶可以讀取該文件,但不能對其進行寫入或執行操作(其中有 r,但沒有 w 或 x)。這里給出了一個很好的示例,說明了詳細的 man 頁面非常重要。您可以停下來,并輸入下面的命令:$ man chmod

現在,可以考慮一下這樣的可能性,即該文件中保存了私有的信息,而您不希望任何其他的用戶進行讀取。您可能希望刪除其他組和所有其他用戶的讀取權限。可以使用 chmod 更改這些權限。與 Unix 中的許多操作一樣,使用 chmod 的方法很多,本部分內容重點關注其中之一。使用三個字母(u、g 和 o)來表示三種類別(用戶、組和其他用戶)。使用三個字母(r、w 和 x)來表示三種權限(讀取、寫入和執行)。要更改這些權限,可以使用 chmod,加上需要更改的類別的字母,再加上一個加號或減號(分別表示打開或關閉),然后使用相應的字母給出需要更改的權限。最后,加上需要進行更改的文件的名稱。最好通過一個示例來進行說明:$ chmod og-r example.txt$ ls -l

您應該看到下面的結果:-rw------- 1 tuser admin 0 Aug 13 15:35 example.txt

在這個示例中,您指定了其他用戶和組(o 和 g),并使用減號表示希望對這些類別關閉某些權限。然后,使用 (r) 表示需要關閉讀取訪問權限。現在,文件的所有者 tuser 仍然可以對該文件進行讀取和寫入操作,但系統中所有其他的用戶(除了超級用戶之外)都不能訪問該文件。注意:超級用戶 (root) 可以重寫所有的文件權限。

處理多個文件

現在,您已經了解了如何遍歷目錄和處理單個文件。本教程中的下一個內容是,了解如何處理一組文件。幾乎所有的 Unix 命令除了可以處理單個文件外,還可以處理文件列表。通過顯式地輸入需要使用的每個文件的名稱,或使用通配符表示需要使用的、具有共同名稱特征的所有文件,您可以輸入文件的列表。

通配符

對于處理多個文件,最常用的方法就是使用 * 通配符。通過使用 * 來表示任何字符或任何數量的字符,您可以選擇文件列表。為了創建更多的文件以進行演示,可以輸入下列命令:$ cp example.txt example2.txt$ cp example.txt script.sh

現在,輸入下面的命令:$ ls *.txt

您應該僅看到擴展名為 .txt 的文件。接下來,輸入:$ ls exa*

這次,您應該看到兩個示例文件,但不應該看到 script.sh。

任何能夠處理多個文件的命令行應用程序都可以使用通配符。

遞歸

許多用來處理文件的命令行應用程序都具有一個 -R 選項。當使用了 -R 時,該應用程序將遞歸地進入一個目錄及其所有的子目錄,并且針對其中的每個文件執行所需的命令。例如,您可以返回您的 home 目錄,然后復制整個 TUTORIAL 目錄:$ cd ~$ cp -R TUTORIAL /tmp/.$ ls /tmp/TUTORIAL/

現在,可以刪除該目錄,以便對系統進行清理:$ rm -R /tmp/TUTORIAL/$ ls /tmp/

這就刪除了整個目錄,包括其中包含的所有文件。請注意:您可能會比原計劃刪除更多的數據,尤其是當通配符和 -R 一同使用時。

存檔和壓縮

許多日常的文件操作都可以使用單個文件、目錄和通配符來完成,但對于那些對備份、將文件集傳輸給其他用戶、或僅為了節省空間感興趣的用戶來說,了解如何使用存檔和壓縮是非常重要的。Unix 操作系統中有許多用于存檔和壓縮數據的實用程序。

tar

要將多個文件聚集成單個文件(存檔),最常用的方法是使用 tar 命令。tar 是磁盤存檔程序 (Tape Archiver) 的縮寫,這是因為它開始時使用備份磁帶進行存檔,但現在通常用來執行磁盤到磁盤的操作。嘗試對 TUTORIAL 目錄中的內容進行存檔:$ cd ~$ tar cvf /tmp/tutorial.tar TUTORIAL$ ls /tmp/

現在,您應該可以在 /tmp/ 中看到一個名為 tutorial.tar 的文件。該文件包含了目錄 TUTORIAL 以及這個目錄中所包含的文件。這個示例中使用了命令行選項 cvf:

c 表示創建 (create),它用來告訴 tar 創建一個新的存檔。

v 表示詳細 (verbose),它用來告訴 tar 顯示加入到存檔的每個文件的清單。

f 表示文件 (file),它用來告訴 tar 將存檔寫入到文件而不是設備。

然后,進入 /tmp 并提取該存檔的內容:$ cd /tmp/$ ls$ tar cvf tutorial$ ls

請注意,第 1 個 ls 命令顯示了 tutorial.tar,但它并沒有顯示 TUTORIAL 目錄。第 2 個 ls 命令(在 tar 命令之后),它顯示出在 /tmp/ 中有一個 TUTORIAL 目錄。刪除 /tmp/TUTORIAL 目錄,以便對系統進行清理:$ rm -R /tmp/TUTORIAL

標簽: Unix系統
相關文章:
主站蜘蛛池模板: 免费色网址 | 在线免费观看精品 | 欧美精品一区二区三区四区 | 国产精品一区二区久久精品 | 欧美日韩高清性色生活片 | 国产高清在线免费视频 | 日本一区二区不卡久久入口 | 国产成人盗摄精品 | 成人av手机在线观看 | 亚洲精品成人a在线观看 | 一级毛片成人午夜 | 亚洲精选在线 | 欧美日韩国产高清一区二区三区 | 在线综合视频 | 国产jk福利视频在线观看 | 久久久精品免费热线观看 | 国产高清视频a在线大全 | 亚洲三区视频 | 一区视频在线播放 | 国产三级三级三级 | 国产精品看片 | 亚洲网站视频在线观看 | 1204国产成人精品视频 | 在线观看国产一级强片 | 亚洲视频在线观看一区 | 91热视频在线观看 | 一级毛片免费不卡 | 午夜三级理论在线观看视频 | 九九视频只有精品六 | 成年女人看片免费视频播放器 | 久久91亚洲精品中文字幕奶水 | aaaaaaa毛片 | 久久爱一区| 在线观看精品视频一区二区三区 | 毛片1毛片2毛片3毛片4 | 国产成人影院一区二区 | 国产一区影视 | 全部免费毛片免费播放 | 女人张开双腿让男人桶完整 | 亚洲精品99久久一区二区三区 | 亚洲国产成人久久一区二区三区 |