皇家方舟
Linux 文件命令精通指南(一)(轉載)
雖然 GUI 桌面(如 KDE 和 GNOME)能夠幫助用戶利用 Linux 特性,而無需關于命令行接口的功能知識,但還是經常會需要更多的功能和靈活性。而且,基本熟悉這些命令對于在 shell 腳本中正確地使某些功能自動化仍然是必需的。
這篇文章是關于 Linux 文件命令的一個“速成教程”,它是為那些剛接觸這個操作系統或者只是需要補充這方面知識的用戶提供的。它包含了對一些更有用的命令的一個簡明的概述以及關于它們的最強大的應用的指導。下面包含的信息 — 結合一些實驗 — 將使您能夠容易地掌握這些基本的命令。(注意:當涉及到一個與 Oracle 集群文件系統 (OCFS) 結合的內核時,這些命令中的某些命令的行為可能會稍微有所不同。在此情況下,Oracle 提供了一個 OCFS 工具集,該工具集可以為文件命令應用提供一個更好的選擇。)
注意,這里包含的所有示例都在 SUSE Linux 8.0 Professional 上進行了測試。雖然沒有理由相信它們在其它的系統上將不能工作,但如果出現問題,您應當查看您的文檔,以了解可能的變化。
背景概念
在深入研究規范之前,讓我們回顧一些基礎知識。
文件和命令
在 Linux/UNIX 操作系統中,所有事物都被當作文件來處理:硬件設備(包括鍵盤和終端)、目錄、命令本身,當然還有文件。這個奇怪的慣例實際上是 Linux/UNIX 的能力和靈活性的基礎。
大多數(幾乎是全部)的命令形式如下:
command [option] [source file(s)] [target file]
獲取幫助
最有用的命令之一是那些提供幫助的命令(特別是對那些學習 Linux 的人而言)。Linux 中的兩個重要的信息來源是聯機參考手冊,或 man 頁面和 whatis 工具。您可以用 whatis 命令來訪問一個不熟悉的命令的 man 頁面。
$ whatis echo
要了解關于這個命令的更多信息,可以使用:
$ man echo
如果您不知道某個特殊任務所需的命令,您可以用 man -k (也稱為 apropos)和一個主題來生成可能的命令。例如:
$ man -k files
一個很有用但常常被忽視的命令可以提供關于使用 man 本身的信息:
$ man man
您可以用 SPACEBAR 來瀏覽任意的 man 頁面;UP ARROW 將向上翻滾文件。.要退出,則輸入 q,!,或 CTRL-Z。
用戶類別
記得那句名言“所有動物一例平等但有些動物比其他動物更加平等”嗎?在 Linux 世界中,根用戶掌管一切。
根用戶可以以另一個用戶名 su (源自 "superuser")登錄。要執行諸如添加一個新用戶、打印機或文件系統之類的任務,必須作為根用戶登錄或者用 su 命令和根用戶密碼切換到超級用戶。系統文件(包括控制初始化過程的系統文件)歸根用戶所有。雖然可能允許普通用戶對它們進行讀操作,但出于系統安全性的原因,編輯的權利將留給根用戶。
BASH shell
雖然提供了其它的 shell,但 BASH (Bourne Again Shell) 是 Linux 的默認 shell。它結合了與它同名的 Bourne shell 的特性和 Korn、C 和 TCSH shell 的特性。
BASH 內置的命令 history 默認記錄最后輸入的 500 條命令。可以通過在命令提示符下輸入 history 來查看它們。要檢索某個特定的命令,可以在命令提示符下按 UP ARROW 或 DOWN ARROW,或在歷史列表中輸入它的編號,并在編號前面加上 "!",例如:
$ !49
您還可以通過一條命令在歷史列表中離位置最靠前的項目的距離來執行該命令:如果在歷史列表中有 53 個事件,$ !-3 將執行事件號 51。
像 UNIX/Linux 世界的其它 shell 一樣,BASH 使用了特殊的環境變量來方便系統管理。例如:
HOME,用戶主目錄
PATH,Linux 用來搜索您輸入的命令的可執行鏡像的搜索路徑
HISTSIZE,系統保存的歷史事件的數量
除了這些保留的關鍵字之外,您還可以定義您自己的環境變量。例如,Oracle 使用 ORACLE_HOME (還有其它一些變量),要使 Oracle 安裝成功完成,必須在您的環境中設置這些變量。
可以在提示符下臨時設置變量:
$HISTSIZE=100
或者,在 /etc/profile (需要根用戶權限)中進行系統范圍的永久設置,或在 .profile 中進行局部永久設置。
可以通過 echo 命令,并用一個 $ 符號來訪問一個環境變量的值,進而查看該值。
$ echo $HOME
/home/bluher
可以用 env 命令來查看當前所有的環境變量。
正則表達式和通配符
許多 Linux 命令使用通配符 * 和 ? 來匹配任意數量的字符或分別匹配任意的單個字符;正則模式匹配表達式利用一個句點 (.) 來匹配除“換行符”之外的任意單個字符。這兩種情況下都使用方括號 ([ ]) 來匹配除“*”號之外的字符組。不過,* 號在各種情況下有類似但不同的意義:雖然它在 shell 中將匹配一個或更多的字符,但在正則表達式中,它匹配上述字符的零個或更多的實例。一些命令(如 egrep 和 awk)使用了一組更廣泛的特殊字符來進行模式匹配。
posted on 2006-09-02 09:56
阿輝
閱讀(230)
評論(0)
編輯
收藏
所屬分類:
linux
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
初學linux
linux 看門狗
linux 腳本
Linux 文件命令精通指南(一)(轉載)
初學Linux必學60個命令文件處理(轉)
新手應該掌握的Linux命令(轉)
Linux 系統命令精通指南(初級)(轉)
必學的Linux系統安全命令(轉)
My Links
BlogJava
首頁
新隨筆
聯系
聚合
管理
Blog Stats
隨筆 - 70
文章 - 0
評論 - 196
Trackbacks - 0
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(1)
給我留言
查看公開留言
查看私人留言
隨筆分類
.NET
(rss)
C#
(rss)
eclipse(5)
(rss)
ERP(5)
(rss)
Hibernate(1)
(rss)
JAVA(7)
(rss)
junit(6)
(rss)
linux(8)
(rss)
swt(1)
(rss)
其它(4)
(rss)
學習日志(17)
(rss)
日記(9)
(rss)
智力題目(6)
(rss)
隨筆檔案
2008年3月 (2)
2008年1月 (1)
2007年7月 (4)
2007年6月 (2)
2007年5月 (3)
2007年4月 (1)
2006年12月 (11)
2006年11月 (7)
2006年10月 (1)
2006年9月 (28)
2006年8月 (1)
搜索
積分與排名
積分 - 62388
排名 - 848
最新評論
1.?re: TestSuite的使用[未登錄]
學習了。
--海納百川
2.?re: 撲克難題 求破解之法
莊家,對A和對10
閑家 ,2一張 K3張 Q3張 對9 對8 對6 對4 一張3
不可出同色的, 閑家先出牌 那個穩贏呢?
--龍
3.?re: 撲克難題 求破解之法
@王剛
--jkdbn
4.?re: 撲克難題 求破解之法
@aimee
你想得美
--zzw
5.?re: 撲克難題 求破解之法
@拉了拉
nbgf
--gfhgfh
閱讀排行榜
1.?撲克難題 求破解之法(4691)
2.?ERP流程圖(從銷售訂單到送貨單)(4606)
3.?智力題集(4443)
4.?Use Case 中 include 與 extend 的區別 (3823)
5.?TestSuite的使用(3650)
評論排行榜
1.?智力題集(106)
2.?撲克難題 求破解之法(32)
3.?TDD 程序代碼(13)(9)
4.?java面試題集(轉) (7)
5.?ERP流程圖(從銷售訂單到送貨單)(4)
Powered by:
BlogJava
Copyright © 阿輝
主站蜘蛛池模板:
通许县
|
固始县
|
新野县
|
佛冈县
|
金乡县
|
金寨县
|
盐池县
|
永安市
|
铜川市
|
绥中县
|
蓝山县
|
宁陵县
|
蒙山县
|
富顺县
|
崇礼县
|
云梦县
|
康马县
|
噶尔县
|
盐池县
|
吉木乃县
|
巴林右旗
|
衢州市
|
普宁市
|
武鸣县
|
齐河县
|
根河市
|
四子王旗
|
开江县
|
桦川县
|
离岛区
|
新乡市
|
永嘉县
|
商洛市
|
高要市
|
漾濞
|
博爱县
|
兴义市
|
溧水县
|
乐清市
|
临湘市
|
日土县
|