歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> Linux的基本操作

Linux的基本操作

日期:2017/3/6 14:29:04   编辑:關於Unix
Linux 的基本操作 本章內容: 3.1 基礎知識 3.1.1 文件名 3.1.2 使用不同的目錄 3.1.3 執行一個程序 3.1.4 改變路徑(PATH) 3.1.5 關閉計算機 3.1.6 處理掛起的程序 3.1.7 命令選項 3.2 用戶,密碼,文件訪問權限和 安全 性 3.2.1 主目錄, 根目錄和添加新用 Linux的基本操作

本章內容:

3.1 基礎知識

3.1.1 文件名

3.1.2 使用不同的目錄

3.1.3 執行一個程序

3.1.4 改變路徑(PATH)

3.1.5 關閉計算機

3.1.6 處理掛起的程序

3.1.7 命令選項

3.2 用戶,密碼,文件訪問權限和安全

3.2.1 主目錄, 根目錄和添加新用戶

3.2.2 密碼安全性

3.2.3 忘記了超級用戶密碼怎麼辦

3.2.4 忘記了普通用戶密碼怎麼辦

3.2.5 關閉或刪除一個用戶

3.2.6 文件的所有權和訪問權

3.2.7 設置替代用戶標識(SUID)

3.3 用“&”, “at”, “batch”和“cron”進行作業調度

3.3.1 怎樣在後台執行命令

3.3.2 怎樣在某一特定時間執行命令(使用at”和“batch”)

3.3.3 怎樣設置“cron”

3.4 Shell

3.4.1 什麼是Shell? 需要一個不同的Shell嗎?

3.4.2 怎樣定制自己的Shell

3.4.3 設置文本終端的顏色

3.4.4 在文本模式或 X模式控制台下,如何打印符號

3.4.5 如何編寫簡單的Shell腳本(Script)文件

3.4.6 引號的含義

3.4.7 輸入輸出重定向

3.4.8 Shell的特殊字符(metacharacters)

3.5 如何安裝軟件包(Package)及 rpm 軟件包管理器

3.5.1 如何安裝從Inte.net下載的程序?

3.1ant: normal;"> 基礎知識

3.1.1 文件名

Linux 系統區分英文字符的大小寫。比如,myfile, Myfile 和 myFILE表示的是三個不同的文件。同樣,用戶密碼和登錄名也需要區分大小寫(這裡沿用了Unix 和 C 語言的命名規則)。命名目錄和命名文件的規則是相同的。除非有特別的原因,否則用戶創建的文件和目錄名要使用小寫字符。大多數的 Linux 命令也使用小寫字符。

Linux 系統下的文件名長度最多可到256個字符。通常情況下,文件名的字符包括:字母、數字、"."(點)、"_"(下劃線)和"-"(連字符)。Linux 允許在文件名中使用除上述符號之外的其它符號, 但並不建議用戶這樣做。 有些轉意字符 (即該字符被系統借用,表示某種特殊含義) 在Linux 的 命令解釋器(shell)中有特殊的含義(shell 類似於 DOS下的命令處理器 COMMAND.COM)。這樣的轉意字符有:"?"(問號),"*"(星號), " "(空格), "$"(貨幣符), "&", 擴號等等。在文件名中應盡量避免使用這些字符。文件名中可以有" "(空格),但建議用戶用"_"(下劃線)來替代。

"/" 既可代表目錄樹的根也可作為路徑名中的分隔符(類似DOS下的"\),因此"/"不能出現在文件名中。

和DOS一樣,"." 和 ".." 分別用來表示"當前目錄"和"父目錄", 因此它們也不能作為文件名。

正如DOS 中一樣,我們不能將文件命名為 . 或者 .. (點或者雙點)——它們分別代表當前目錄和當前目錄的父目錄(上一級目錄)。這跟DOS中是完全一致的。

下面列出了一些轉意字符及其意義:

* = 用於匹配任意長度大於等於零的字符序列。以 . (點)開頭的文件名除外。

? = 用於匹配任意單個字符

[abC1] = 用於匹配枚舉集合中任意單個字符。比例中,集合由‘a’,‘b’,C’,‘1’組成。

[a-z] = 用於匹配任意小字字母

[A-F] = 用於匹配任意大寫字母

[0-9] = 用於匹配任意個位數字

[a-zA-Z0-9] = 用於匹配任意字母(大小寫)或者數字。

\ (反斜線)也是一個特殊的字符。它屏蔽後繼特殊字母的特殊含義(轉意),使該字符僅取其符號所代表的字面意義。

例: 下面的命令會列出當前目錄中除了文件名以 . 開頭的文件之外的任何文件。

ls *

與此等價的命令是ls 或者 dir (不需要後跟 “*”)。 文件名以 . 開頭的文件不被列出是因為 “.”是文件名的首字符,它並不與“*”匹配。我們可以把文件名以 . 開頭的文件等價地理解成DOS中隱藏文件。使用ls –a (帶 all 選項的ls 命令)或者 ls .* 命令來查看這些“點”文件。“點”文件在用戶的home目錄中很常見。它們通常是用戶級的配置文件。

以下命令可列出當前目錄中文件名含 . 的任何文件 (文件名以點開頭的除外)。

ls *.*

以下命令可列出當前目錄中文件名含兩個點的任何文件(文件名以點開頭的除外)。

ls *.*.*

請注意Linux中沒有與DOS中文件擴展名相應的概念,但是你可以使用擴展名。例如,一個文件可以命名為 my_text.txt.zip 。另有一些DOS中的命名特色在Linux中是完全找不到的(比方說Micro~1.doc )。

以下的命令會找出擴展名為“htm”後再跟任意一個字符的文件:

locate *.htm?

以下命令可列出當前目錄中所有文件名以a,b或者任意大寫字母開頭的文件:

ls [abA-Z]*

以下命令可列出當前目錄中所有文件名以a開頭,以n結尾的文件:

ls a*n

命令行自動完成是一個有用的功能——使用[Tab]鍵可以極大的節約時間,使處理復雜的長文件名變得輕松。例如,使用自動完成的功能,可以極大的減化輸入以下這個長文件名的工作。

dir Eurosong\ 2000\ Olson\ Brothers\ -\ Fly\ on\ the\ wings\ of\ love\ \(denmark\).mp3

我只要輸入

dir Eu<Tab>

如果沒有其他文件的文件名以Eu 開頭,輸入<Tab>之後,系統會自動輸入文件名的其余部分。

如果還有其他文件的文件名也以Eu開 頭,我們可以查看一下可能的選擇(系統會列出),進一步輸入文件名中的下一兩個字符,從而使文件的選擇唯一化,系統的自動寫成功能就可以啟動完成整個長文 件名的輸入了。文件名中的反斜線作用在於提示系統其後繼的字符“空格”僅取其字面意義,即,文件名中包含的確實是空格。

文件名中的有“怪”字符怎麼辦?大部分問題可以通過自動完成功能解決。 另外,處理文件名中含有轉意字符的文件,我們可以使用成對的‘’(單引號)。由於這些特殊的轉意字符被單引號引用,命令解釋器不會試圖去解釋其特殊意義。例如,給一個名為my file*的文件更名(文件名中含空格和*), 我們可以使用:

mv 'my file*' filename_without_weird_characters.txt

請注意我使用了一對‘’號 (單引號)。使用成對的“”(雙引號)引用通常沒有使用‘’有效。如果你使用“”號(雙引號), 部份轉意字符可能會被命令解釋器加以解釋(這就意味著它們可能被轉意,而不是保持字面意義)。

跟從UNIX的傳統,在Linux上,創建文件時,我們可以在文件名中可以使用幾乎任何字符,包括不可打印字符(控制字符)。但是這情況非常少見。如果你在遇到文件名使用了這些字符,你可能會感覺很異樣。我通常會在適當的位置使用一個轉意字符*對這種文件進行重命名。我會先使用ls命令確認我要重命名的文件的文件名,然後對這個文件進行更名(使用mv 命令):

ls –l myfile*y.html

mv myfile*y.html myfile.html

(此例中我假定非標准字符位於字母e和y之間)

這裡舉一個關於在文件名中使用非常規字符的極端的例子: 創建一個文件名以短橫線 - 開頭的文件,再等它刪除。 用常規的刪除命令似乎沒有辦法(因為短橫錢通常是用來引導命令選項的)。例如:

dir > -junk

以上命令將創建一個以-junk為名的文件(跟DOS類似,符號 > 將dir 命令的輸出重定向到一個名為“-junk”的文件。常規的刪除文件命令無法把這個文件刪除。我們需要使用:

rm ./-junk

文件名前的./ 表示當前目錄。在此其目的是避免文件名把的首字符 - 被命令解釋器當作rm命令的選項引導。事實上沒有必要在文件名中使用這些特殊字符。遵從傳統的命名規則,不會過多地使事情復雜化。

Copyright © Linux教程網 All Rights Reserved