【從0開始學樹莓派】序列之9 Linux知識你知多少?
本節(jié)我們將了解一下Linux方面的知識,主要是從下面3個方面進行講解:
本文引用地址:http://www.ex-cimer.com/article/269612.htm1.Linux簡單介紹
2.文件系統(tǒng)
3.Linux常用命令介紹
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
一、Linux簡單介紹
Linux是一套免費使用和自由傳播的類Unix操作系統(tǒng),是一個基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。它能運行主要的UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計思想:一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。
Linux操作系統(tǒng)誕生于1991年的10月5日(這是第一次正式向外公布的時間)。Linux存在著許多不同的Linux版本,但它們都使用了Linux內(nèi)核。Linux可安裝在各種計算機硬件設(shè)備中,比如手機、平板電腦、路由器、視頻游戲控制臺、臺式計算機、大型機和超級計算機。嚴格來講,Linux這個詞本身只表示Linux內(nèi)核,但實際上人們已經(jīng)習慣了用Linux來形容整個基于Linux內(nèi)核,并且使用GNU 工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)。
二、文件系統(tǒng)
1.文件類型
(A)、普通文件(regular file):就是一般存取的文件,由ls -al顯示出來的屬性中,第一個屬性為 [-],例如 [-rwxrwxrwx]。另外,依照文件的內(nèi)容,又大致可以分為:
(a)、純文本文件(ASCII):這是Unix系統(tǒng)中最多的一種文件類型,之所以稱為純文本文件,是因為內(nèi)容可以直接讀到的數(shù)據(jù),例如數(shù)字、字母等等。設(shè) 置文件幾乎都屬于這種文件類型。舉例來說,使用命令“cat ~/.bashrc”就可以看到該文件的內(nèi)容(cat是將文件內(nèi)容讀出來)。
(b)、二進制文件(binary):系統(tǒng)其實僅認識且可以執(zhí)行二進制文件(binary file)。Linux中的可執(zhí)行文件(腳本,文本方式的批處理文件不算)就是這種格式的。舉例來說,命令cat就是一個二進制文件。
(c)、數(shù)據(jù)格式的文件(data):有些程序在運行過程中,會讀取某些特定格式的文件,那些特定格式的文件可以稱為數(shù)據(jù)文件(data file)。舉例來說,Linux在用戶登入時,都會將登錄數(shù)據(jù)記錄在 /var/log/wtmp文件內(nèi),該文件是一個數(shù)據(jù)文件,它能通過last命令讀出來。但使用cat時,會讀出亂碼。因為它是屬于一種特殊格式的文件。
(B)、目錄文件(directory):就是目錄,第一個屬性為 [d],例如 [drwxrwxrwx]。
(C)、連接文件(link):類似Windows下面的快捷方式。第一個屬性為[l],例如 [lrwxrwxrwx]。
(D)、設(shè)備與設(shè)備文件(device):與系統(tǒng)外設(shè)及存儲等相關(guān)的一些文件,通常都集中在 /dev目錄。通常又分為兩種:
(E)、塊設(shè)備文件:就是存儲數(shù)據(jù)以供系統(tǒng)存取的接口設(shè)備,簡單而言就是硬盤。例如一號硬盤的代碼是 /dev/hda1等文件。第一個屬性為 [b]。
(F)、字符設(shè)備文件:即串行端口的接口設(shè)備,例如鍵盤、鼠標等等。第一個屬性為 [c]。
(G)、套接字(sockets):這類文件通常用在網(wǎng)絡(luò)數(shù)據(jù)連接??梢詥右粋€程序來監(jiān)聽客戶端的要求,客戶端就可以通過套接字來進行數(shù)據(jù)通信。第一個屬性為 [s],最常在 /var/run目錄中看到這種文件類型。
(H)、管道(FIFO,pipe):FIFO也是一種特殊的文件類型,它主要的目的是,解決多個程序同時存取一個文件所造成的錯誤。FIFO是first-in-first-out(先進先出)的縮寫。第一個屬性為 [p]。
2.文件結(jié)構(gòu)
/:根目錄,所有的目錄、文件、設(shè)備都在/之下,/就是Linux文件系統(tǒng)的組織者,也是最上級的領(lǐng)導者。
/bin:bin 就是二進制(binary)英文縮寫。在一般的系統(tǒng)當中,都可以在這個目錄下找到linux常用的命令。系統(tǒng)所需要的那些命令位于此目錄。
/boot:Linux的內(nèi)核及引導系統(tǒng)程序所需要的文件目錄,比如 vmlinuz initrd.img 文件都位于這個目錄中。在一般情況下,GRUB或LILO系統(tǒng)引導管理器也位于這個目錄。
/cdrom:這個目錄在剛剛安裝系統(tǒng)的時候是空的??梢詫⒐怛?qū)文件系統(tǒng)掛在這個目錄下。例如:mount /dev/cdrom /cdrom
/dev:dev 是設(shè)備(device)的英文縮寫。這個目錄對所有的用戶都十分重要。因為在這個目錄中包含了所有l(wèi)inux系統(tǒng)中使用的外部設(shè)備。但是這里并不是放的外部設(shè)備的驅(qū)動程序。這一點和常用的windows,dos操作系統(tǒng)不一樣。它實際上是一個訪問這些外部設(shè)備的端口??梢苑浅7奖愕厝ピL問這些外部設(shè)備,和訪問一個文件,一個目錄沒有任何區(qū)別。
/etc:etc這個目錄是linux系統(tǒng)中最重要的目錄之一。在這個目錄下存放了系統(tǒng)管理時要用到的各種配置文件和子目錄。要用到的網(wǎng)絡(luò)配置文件,文件系統(tǒng),x系統(tǒng)配置文件,設(shè)備配置信息,設(shè)置用戶信息等都在這個目錄下。
/home:如果建立一個用戶,用戶名是"xx",那么在/home目錄下就有一個對應(yīng)的/home/xx路徑,用來存放用戶的主目錄。
/lib:lib是庫(library)英文縮寫。這個目錄是用來存放系統(tǒng)動態(tài)連接共享庫的。幾乎所有的應(yīng)用程序都會用到這個目錄下的共享庫。因此,千萬不要輕易對這個目錄進行什么操作,一旦發(fā)生問題,系統(tǒng)就不能工作了。
/lost+found:在ext2或ext3文件系統(tǒng)中,當系統(tǒng)意外崩潰或機器意外關(guān)機,而產(chǎn)生一些文件碎片放在這里。當系統(tǒng)啟動的過程中fsck工具會檢查這里,并修復已經(jīng)損壞的文件系統(tǒng)。有時系統(tǒng)發(fā)生問題,有很多的文件被移到這個目錄中,可能會用手工的方式來修復,或移到文件到原來的位置上。
/mnt:這個目錄一般是用于存放掛載儲存設(shè)備的掛載目錄的,比如有cdrom等目錄??梢詤⒖?etc/fstab的定義。
/media:有些linux的發(fā)行版使用這個目錄來掛載那些usb接口的移動硬盤(包括U盤)、CD/DVD驅(qū)動器等等。
/opt:這里主要存放那些可選的程序。
/proc:可以在這個目錄下獲取系統(tǒng)信息。這些信息是在內(nèi)存中,由系統(tǒng)自己產(chǎn)生的。
/root:Linux超級權(quán)限用戶root的家目錄。
/sbin:這個目錄是用來存放系統(tǒng)管理員的系統(tǒng)管理程序。大多是涉及系統(tǒng)管理的命令的存放,是超級權(quán)限用戶root的可執(zhí)行命令存放地,普通用戶無權(quán)限執(zhí)行這個目錄下的命令,這個目錄和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目錄是相似的,凡是目錄sbin中包含的都是root權(quán)限才能執(zhí)行的。
/selinux :對SElinux的一些配置文件目錄,SElinux可以讓linux更加安全。
/srv 服務(wù)啟動后,所需訪問的數(shù)據(jù)目錄,舉個例子來說,www服務(wù)啟動讀取的網(wǎng)頁數(shù)據(jù)就可以放在/srv/www中
/tmp:臨時文件目錄,用來存放不同程序執(zhí)行時產(chǎn)生的臨時文件。有時用戶運行程序的時候,會產(chǎn)生臨時文件。/tmp就用來存放臨時文件的。/var/tmp目錄和這個目錄相似。
/usr
這是linux系統(tǒng)中占用硬盤空間最大的目錄。用戶的很多應(yīng)用程序和文件都存放在這個目錄下。在這個目錄下,可以找到那些不適合放在/bin或/etc目錄下的額外的工具
/usr/local:這里主要存放那些手動安裝的軟件,即不是通過“新立得”或apt-get安裝的軟件。它和/usr目錄具有相類似的目錄結(jié)構(gòu)。讓軟件包管理器來管理/usr目錄,而把自定義的腳本(scripts)放到/usr/local目錄下面、。
/usr/share :系統(tǒng)共用的東西存放地,比如 /usr/share/fonts 是字體目錄,/usr/share/doc和/usr/share/man幫助文件。
/var:這個目錄的內(nèi)容是經(jīng)常變動的,看名字就知道,可以理解為vary的縮寫,/var下有/var/log 這是用來存放系統(tǒng)日志的目錄。/var/ www目錄是定義Apache服務(wù)器站點存放目錄;/var/lib 用來存放一些庫文件,比如MySQL的,以及MySQL數(shù)據(jù)庫的的存放地。
三、Linux常用命令介紹
1.顯示目錄和文件的命令
Ls:用于查看所有文件夾的命令。
Dir:用于顯示指定文件夾和目錄的命令
Tree: 以樹狀圖列出目錄內(nèi)容
Du:顯示目錄或文件大小
2.修改目錄,文件權(quán)限和屬主及數(shù)組命令
Chmod:用于改變指定目錄或文件的權(quán)限命令。
Chown:用于改變文件擁有屬性的命令。
Chgrp:用于改變文件群組的命令。
Chattr:用于設(shè)置文件具有不可刪除和修改權(quán)限。
Lsattr:用于顯示文件或目錄的隱藏屬性。
3.創(chuàng)建和刪除目錄的命令
Mkdir:用于創(chuàng)建目錄
Rmdir:用于刪除空的目錄
Rm -f:用于刪除不為空的目錄
4.創(chuàng)建和刪除,重命名,復制文件的命令
Touch:創(chuàng)建一個新的文件
Vi:創(chuàng)建一個新的文件
Rm:刪除文件或目錄
Mv:重命名或移動文件的命令
Cp:復制命令
Scp:用于將本地的文件或目錄復制到遠程服務(wù)器
Wget:用于下載ftp或http服務(wù)器文件到本地。
5.顯示文件內(nèi)容的命令
Cat:用于顯示指定文件的全部內(nèi)容
More:用分頁的形式顯示指定文件的內(nèi)容
Less:用分頁的形式顯示指定文件的內(nèi)容,區(qū)別是more和less翻頁使用的操作鍵不同。
Head:用于顯示文件的前n行內(nèi)容。
Tail:用于顯示文件的后n行內(nèi)容。
Tail -f:用于自動刷新的顯示文件后n行數(shù)據(jù)內(nèi)容。
6.查找命令
Find:查找指定目錄或文件的命令。
Whereis:查找指定的文件源和二進制文件和手冊等
Which:用于查詢命令或別名的位置。
Locate:快速查找系統(tǒng)數(shù)據(jù)庫中指定的內(nèi)容。
Grep:在指定的文件或標準輸出,標準輸入內(nèi),查找滿足條件的內(nèi)容。
7.關(guān)機和重啟計算機的命令
Shutdown:-r 關(guān)機后立即重啟
-k 并不真正的關(guān)機,而只是發(fā)出警告信息給所有用戶
-h 關(guān)機后不重新啟動
Poweroff:用于關(guān)機和關(guān)閉電源
Init:改變系統(tǒng)運行級別
0級用于關(guān)閉系統(tǒng)
1 級用于單一使用者模式
2級用來進行多用戶使用模式(但不帶網(wǎng)絡(luò)功能)
3級用來進行多用戶使用模式(帶網(wǎng)絡(luò)全功能)
4級用來進行用戶自定義使用模式
5級表示進入x windows時的模式
6級用來重啟系統(tǒng)
Reboot: 用于計算機重啟
Halt:用于關(guān)閉計算機系統(tǒng)
8.壓縮和打包命令
Tar:用于多個文件或目錄進行打包,但不壓縮,同時也用命令進行解包
Gzip:用于文件進行壓縮和解壓縮命令,文件擴展名為.gz結(jié)尾。
Gunzip:用于對gzip壓縮文檔進行解壓縮。
Bzip2:用于對文件或目錄進行壓縮和解壓縮
Bzcat:用于顯示壓縮文件的內(nèi)容。
Compress/un compress: 壓縮/解壓縮.Z文件
Zcat:查看z或gz結(jié)尾的壓縮文件內(nèi)容。
Gzexe:壓縮可執(zhí)行的文件
Unarg:解壓縮.arj文件
Zip/unzip:壓縮解壓縮.zip文件
9.用戶操作命令
Su:切換用戶命令
Sudo:一系統(tǒng)管理員的身份執(zhí)行命令
Passwd:用于修改用戶的密碼
10.改變目錄和查看當前目錄命令
Cd:進入工作目錄
Cd 。。:會退到上一級命令
Pwd:顯示當前用戶所在工作目錄位置
11.文件連接命令
Ln:為源文件創(chuàng)建一個連接,并不將源文件復制一份,即占用的空間很小。
可以分為軟件連接和硬鏈接。
軟連接:也稱為符號連接,即為文件或目錄創(chuàng)建一個快捷方式。
硬鏈接:給一個文件取多于一個名字,放在不同目錄中,方便用戶使用。
Ln命令參數(shù)如下:
-f:在創(chuàng)建連接時,先將與目的對象同名的文件或目錄刪除。
-d:允許系統(tǒng)管理者硬鏈接自己的目錄。
-i:在刪除與目的對象同名文件或目錄時先詢問用戶。
-n:在創(chuàng)建軟連接時,將目的對象視為一般的文件。
-s:創(chuàng)建軟連接,即符號連接。
-v:在連接之前顯示文件或目錄名。
-b:將在連接時會被覆蓋或刪除的文件進行備份。
12.幫助命令-----man
其他命令
Who:顯示系統(tǒng)中有那些用戶在使用。
-ami 顯示當前用戶
-u:顯示使用者的動作/工作
-s:使用簡短的格式來顯示
-v:顯示程序版本
Free:查看當前系統(tǒng)的內(nèi)存使用情況
Uptime:顯示系統(tǒng)運行了多長時間
Ps:顯示瞬間進程的動態(tài)
Pstree:以樹狀方式顯示系統(tǒng)中所有的進程
Date:顯示或設(shè)定系統(tǒng)的日期與時間。
Last:顯示每月登陸系統(tǒng)的用戶信息
Kill: 殺死一些特定的進程
Logout:退出系統(tǒng)
Useradd/userdel:添加用戶/刪除用戶
Clear:清屏
Passwd:設(shè)置用戶密碼
13.vi編輯器
首先用vi命令打開一個文件
末行模式命令:
:n,m w path/filename 保存指定范圍文檔( n表開始行,m表結(jié)束行)
:q! 對文件做過修改后,強制退出
:q 沒有對文件做過修改退出
Wq或x 保存退出
dd 刪除光標所在行
?。?set number 顯示行號
:n 跳轉(zhuǎn)到n行
?。簊 替換字符串 :s/test/test2/g /g全局替換 /也可以用%代替
/ 查找字符串
14.網(wǎng)絡(luò)通信常用的命令
Arp:網(wǎng)絡(luò)地址顯示及控制
ftp:文件傳輸
Lftp:文件傳輸
Mail:發(fā)送/接收電子郵件
Mesg:允許或拒絕其他用戶向自己所用的終端發(fā)送信息
Mutt E-mail 管理程序
Ncftp :文件傳輸
Netstat:顯示網(wǎng)絡(luò)連接.路由表和網(wǎng)絡(luò)接口信息
Pine:收發(fā)電子郵件,瀏覽新聞組
Ping:用于查看網(wǎng)絡(luò)是否連接通暢
Ssh:安全模式下遠程登陸
Telnet:遠程登錄
Talk:與另一用戶對話
Traceroute:顯示到達某一主機所經(jīng)由的路徑及所使用的時間。
Wget:從網(wǎng)路上自動下載文件
Write:向其它用戶終端寫信息 Rlogin:遠程登錄
linux相關(guān)文章:linux教程
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
評論