嚴(yán)格的來講,Linux 不算是一個操作系統(tǒng),只是一個 Linux 系統(tǒng)中的內(nèi)核, 即計算機(jī)軟件與硬件通訊之間的平臺;Linux的全稱是GNU/Linux,這才算是一個真正意義上的Linux系統(tǒng)。GNU是Richard Stallman組織的一個項目,世界各地的程序員可以變形GNU程序,同時遵循GPL協(xié)議,允許任何人任意改動。但是,修改后的程序必須遵循GPL協(xié) 議。
Linux 是一個多用戶多任務(wù)的操作系統(tǒng),也是一款自由軟件,完全兼容POSIX標(biāo)準(zhǔn),擁有良好的用戶界面,支持多種處理器架構(gòu),移植方便。
為程序分配系統(tǒng)資源,處理計算機(jī)內(nèi)部細(xì)節(jié)的軟件叫做操作系統(tǒng)或者內(nèi)核。
用戶通過Shell與Linux內(nèi)核交互。Shell是一個命令行解釋工具(是一個軟件),它將用戶輸入的命令轉(zhuǎn)換為內(nèi)核能夠理解的語言(命令)。
Linux下,很多工作都是通過命令完成的,學(xué)好Linux,首先要掌握常用命令。
文件簡介
Linux中的所有數(shù)據(jù)都被保存在文件中,所有的文件被分配到不同的目錄。目錄是一種類似于樹的結(jié)構(gòu),稱為文件系統(tǒng)。 文件系統(tǒng)可參考:http://www.CUOXin.com/0201zcr/p/4773995.html
當(dāng)你使用Linux時,大部分時間都會和文件打交道,通過本節(jié)可以了解基本的文件操作,如創(chuàng)建文件、刪除文件、復(fù)制文件、重命名文件以及為文件創(chuàng)建鏈接等。
在Linux中,有三種基本的文件類型:
普通文件是以字節(jié)為單位的數(shù)據(jù)流,包括文本文件、源碼文件、可執(zhí)行文件等。文本和二進(jìn)制對Linux來說并無區(qū)別,對普通文件的解釋由處理該文件的應(yīng)用程序進(jìn)行。
目錄可以包含普通文件和特殊文件,目錄相當(dāng)于Windows和Mac OS中的文件夾。
有些教程中稱特殊文件,是一個含義。Linux 與外部設(shè)備(例如光驅(qū),打印機(jī),終端,modern等)是通過一種被稱為設(shè)備文件的文件來進(jìn)行通信。Linux 輸入輸出到外部設(shè)備的方式和輸入輸出到一個文件的方式是相同的。Linux 和一個外部設(shè)備通訊之前,這個設(shè)備必須首先要有一個設(shè)備文件存在。
例如,每一個終端都有自己的設(shè)備文件來供 Linux 寫數(shù)據(jù)(出現(xiàn)在終端屏幕上)和讀取數(shù)據(jù)(用戶通過鍵盤輸入)。
設(shè)備文件和普通文件不一樣,設(shè)備文件中并不包含任何數(shù)據(jù)。
設(shè)備文件有兩種類型:字符設(shè)備文件和塊設(shè)備文件。
查看當(dāng)前目錄下的文件和目錄可以使用 ls 命令,例如:
$lsbin hosts lib res.03ch07 hw1 pub test_resultsch07.bak hw2 res.01 usersdocs hw3 res.02 work
通過 ls 命令的 -l 選項,你可以獲取更多文件信息,例如:
$ls -ltotal 1962188drwxrwxr-x 2 amrood amrood 4096 Dec 25 09:59 uml-rw-rw-r-- 1 amrood amrood 5341 Dec 25 08:38 uml.jpgdrwxr-xr-x 2 amrood amrood 4096 Feb 15 2006 univdrwxr-xr-x 2 root root 4096 Dec 9 2007 urlspedia-rw-r--r-- 1 root root 276480 Dec 9 2007 urlspedia.tardrwxr-xr-x 8 root root 4096 Nov 25 2007 usrdrwxr-xr-x 2 200 300 4096 Nov 25 2007 webthumb-1.01-rwxr-xr-x 1 root root 3192 Nov 25 2007 webthumb.php-rw-rw-r-- 1 amrood amrood 20480 Nov 25 2007 webthumb.tar-rw-rw-r-- 1 amrood amrood 5654 Aug 9 2007 yourfile.mid-rw-rw-r-- 1 amrood amrood 166255 Aug 9 2007 yourfile.swfdrwxr-xr-x 11 amrood amrood 4096 May 29 2007 zlib-1.2.3$
每一列的含義如下:
注意:每一個目錄都有一個指向它本身的子目錄"." 和指向它上級目錄的子目錄"..",所以對于一個空目錄,第二列應(yīng)該為 2。
通過 ls -l 列出的文件,每一行都是以 a、d、- 或 l 開頭,這些字符表示文件類型:
| 前綴 | 描述 |
|---|---|
| - | 普通文件。如文本文件、二進(jìn)制可執(zhí)行文件、源代碼等。 |
| b | 塊設(shè)備文件。硬盤可以使用塊設(shè)備文件。 |
| c | 字符設(shè)備文件。硬盤也可以使用字符設(shè)備文件。 |
| d | 目錄文件。目錄可以包含文件和其他目錄。 |
| l | 符號鏈接(軟鏈接)。可以鏈接任何普通文件,類似于 Windows 中的快捷方式。 |
| p | 具名管道。管道是進(jìn)程間的一種通信機(jī)制。 |
| s | 用于進(jìn)程間通信的套接字。 |
提示:通俗的講軟連接就是windows的快捷方式,原來文件刪了,快捷方式雖然在但是不起作用了。
元字符是具有特殊含義的字符。* 和 ? 都是元字符:
例如
$ls ch*.doc
可以顯示所有以 ch 開頭,以 .doc 結(jié)尾的文件:
ch01-1.doc ch010.doc ch02.doc ch03-2.docch04-1.doc ch040.doc ch05.doc ch06-2.docch01-2.doc ch02-1.doc c
這里,* 匹配任意一個字符。如果你希望顯示所有以 .doc 結(jié)尾的文件,可以使用
$ls *.doc
隱藏文件的第一個字符為英文句號或點號(.),Linux程序(包括Shell)通常使用隱藏文件來保存配置信息。
下面是一些常見的隱藏文件:
.PRofile:Bourne shell (sh) 初始化腳本.kshrc:Korn shell (ksh) 初始化腳本.cshrc:C shell (csh) 初始化腳本.rhosts:Remote shell (rsh) 配置文件
查看隱藏文件需要使用 ls 命令的 -a 選項:
$ ls -a. .profile docs lib test_results.. .rhosts hosts pub users.emacs bin hw1 res.01 work.exrc ch07 hw2 res.02.kshrc ch07.bak hw3 res.03$
一個點號(.)表示當(dāng)前目錄,兩個點號(..)表示上級目錄
注意:輸入密碼時,星號(*)作為占位符,代表你輸入的字符個數(shù)。
在Linux中,可以使用 vi 編輯器創(chuàng)建一個文本文件,例如:
$ vi filename
上面的命令會創(chuàng)建文件 filename 并打開,按下 i 鍵即可進(jìn)入編輯模式,你可以向文件中寫入內(nèi)容。例如:
This is Linux file....I created it for the first time.....I'm going to save this content in this file.
完成編輯后,可以按 esc 鍵退出編輯模式,也可以按組合鍵 Shift + ZZ 完全退出文件。這樣,就完成了文件的創(chuàng)建。
$ vi filename$
vi 編輯器可以用來編輯文件。由于篇幅限制,這里僅作簡單介紹,將在后面章節(jié)進(jìn)行詳細(xì)講解。
如下可以打開一個名為 filename 的文件:
$ vi filename
當(dāng)文件被打開后,可以按 i 鍵進(jìn)入編輯模式,按照自己的方式編輯文件。如果想移動光標(biāo),必須先按 esc 鍵退出編輯模式,然后使用下面的按鍵在文件內(nèi)移動光標(biāo):
使用上面的按鍵,可以將光標(biāo)快速定位到你想編輯的地方。定位好光標(biāo)后,按 i 鍵再次進(jìn)入編輯模式。編輯完成后按 esc 鍵退出編輯模式或者按組合鍵 Shift+ZZ 退出當(dāng)前文件。
可以使用 cat 命令來查看文件內(nèi)容,下面是一個簡單的例子:
$ cat filenameThis is Linux file....I created it for the first time.....I'm going to save this content in this file.$
可以通過 cat 命令的 -b 選項來顯示行號,例如:
$ cat -b filename1 This is Linux file....I created it for the first time.....2 I'm going to save this content in this file.$
可以使用 wc 命令來統(tǒng)計當(dāng)前文件的行數(shù)、單詞數(shù)和字符數(shù),下面是一個簡單的例子:
$ wc filename2 19 103 filename$
每一列的含義如下:
也可以一次查看多個文件的內(nèi)容,例如:
$ wc filename1 filename2 filename3
可以使用 cp 命令來復(fù)制文件。cp 命令的基本語法如下:
$ cp source_file destination_file
下面的例子將會復(fù)制 filename 文件:
$ cp filename copyfile$
現(xiàn)在在當(dāng)前目錄中會多出一個和 filename 一模一樣的 copyfile 文件。
重命名文件可以使用 mv 命令,語法為:
$ mv old_file new_file
下面的例子將會把 filename 文件重命名為 newfile:
$ mv filename newfile$ 現(xiàn)在在當(dāng)前目錄下,只有一個 newfile 文件。
mv 命令其實是一個移動文件的命令,不但可以更改文件的路徑,也可以更改文件名。
rm命令可以刪除文件,語法為:
$ rm filename
注意:刪除文件是一種危險的行為,因為文件內(nèi)可能包含有用信息,建議結(jié)合 -i 選項來使用 rm 命令。
下面的例子會徹底刪除一個文件:
$ rm filename$
你也可以一次刪除多個文件:
$ rm filename1 filename2 filename3$
一般情況下,每個Linux程序運(yùn)行時都會創(chuàng)建三個文件流(三個文件):
致謝:感謝您的耐心閱讀!
新聞熱點
疑難解答
圖片精選