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