1、Linux內核與發行版 Linux本身指的是一個操作系統的內核,而內核是無法直接使用的,只有既包括內核又包括一些有用的應用程式的一個集合體,即Linux的發行版才是我們所需要的; Linux的發行版:Debian(Debian運行起來極其穩定,適合用於伺服器)、Gentoo(包含數量眾多的軟體包 ...
1、Linux內核與發行版
Linux本身指的是一個操作系統的內核,而內核是無法直接使用的,只有既包括內核又包括一些有用的應用程式的一個集合體,即Linux的發行版才是我們所需要的;
Linux的發行版:Debian(Debian運行起來極其穩定,適合用於伺服器)、Gentoo(包含數量眾多的軟體包)、Ubuntu(Ubuntu是Debian的一款衍生版,也是當今最受歡迎的免費操作系統)、紅帽企業級Linux(第一款面向商業市場的Linux發行版)……
2、GUI和cmdline
人機交互時,常用GUI或cmdline,Windows、Linux中既有GUI又有cmdline,但Windows中常用GUI,Linux中常用cmdline;
GUI:圖形用戶界面,(Graphical User Interface,又稱圖形用戶介面),是指採用圖形方式顯示的電腦操作用戶界面;
cmdline:命令行,(command line);
3、隱藏文件與非隱藏文件
Windows:文件隱不隱藏是可以通過設置文件屬性來實現的。在Windows中查看隱藏文件方法:菜單欄 工具->文件夾選項->查看->顯示所有文件;
Linux:隱藏文件以.開頭,與文件屬性無關。在linux中查看隱藏文件用ls -a命令;
4、絕對路徑與相對路徑
路徑(pathname):用來標識一個文件在文件系統中存儲的位置;
如:C:\Windows\test.c 全路徑 pathname
C:\Windows 路徑 path
test.c 文件名 name
絕對路徑:從某一盤符c:\開始(Windows)或根目錄/開始的路徑;
相對路徑:相對於現在位置開始的路徑;
如:C:\Windows\1\1.c
C:\Windows\2\2.c
當前在1.c,要去2.c,使用絕對路徑:C:\Windows\2\2.c
相對路徑:../2/2.c
5、Linux常用命令
(1) ls (list,列表):以列表形式把當前文件夾下的所有文件顯示出來;
ls -a 顯示所有文件(包括隱藏文件)
ls -l 顯示文件的詳細信息
可以搭配起來使用:ls -al ls -la ls -a -l ls -l -a
(2) cd (change directory,變更目錄):切換目錄;
cd .. ..表示上一層目錄
cd . .表示當前目錄
(3) pwd (print work directory,列印工作目錄):列印出當前所在目錄的絕對路徑;
(4) mkdir (make directory,創建文件夾):創建空文件夾;
mkdir -p 級聯創建空文件夾
(5) mv (move,移動):在目錄間移動文件,重命名文件;
mv 源文件pathname 目的文件pathname
(6) touch:創建空文件;
touch pathname
(7) cp (copy,複製):複製文件,文件夾;
cp 源文件pathname 目的文件pathname
cp -r 複製文件夾
cp -f 強制複製
實際使用時都是用cp -f來複制文件,用cp -rf來複制文件夾
(8) rm (remove,移除):刪除文件,文件夾;
rm 文件pathname
rm -r 文件夾pathname
(9) cat:直接在文件夾下顯示文件內容,或向文件輸入;
(10) rmdir (remove directory,移除文件夾):刪除空文件夾;
rmdir與rm -r的區別:rmdir只能刪除空文件夾,而rm -r可以刪除空文件夾與非空文件夾
(11) ln (link,鏈接文件):類似於Windows中的快捷方式(實際上快捷方式和它指向的文件是獨立的兩個文件,都會占用記憶體);
Linux中有兩種連接文件:軟鏈接(符號鏈接),類似於Windows中的快捷方式;
創建軟鏈接文件:ln -s 源文件名 符號鏈接文件名
硬鏈接,實際上和源文件是一模一樣的兩個東西,每次刪除一個文件時,只要它還有其他的硬鏈接存在,這個文件就不會被真正的刪除,
只有把這個文件連同它的全部硬鏈接都刪除了,這個文件才會被真正從硬碟上刪除;
創建硬鏈接文件:ln 源文件名 鏈接文件名
(12) man:查詢man手冊,獲得幫助信息(退出man手冊,按Q鍵);
man 1 xxx 1表示查詢的是Linux命令
man 2 xxx 2表示查詢的是Linux api
man 3 xxx 3表示查詢的是C庫函數
(13) apt-get:在ubuntu中線上安裝、卸載軟體的程式;
apt-get install xxx 安裝
apt-get remove xxx 卸載
為什麼需要線上安裝軟體?
由於Linux操作系統的發行版,內核版本,定製性等等問題造成了在不同的Linux中軟體的不相容性。要在Linux中安裝軟體很麻煩,裝了軟體能不能用不一定。
ubuntu解決了這個問題,ubuntu就適合某個發行版(ubuntu14.04)的所有軟體做了一個列表,然後用戶通過apt-get install的方式安裝軟體,就會實時連接到
ubuntu的伺服器,伺服器會根據你的ubuntu版本,給你下載合適的軟體來安裝。這樣確保了軟體的相容性。
6、ls -l顯示的詳細信息(-rwxrw-rw-)中:一共10個字元,第一個字元表示文件類型,後面9個表示文件許可權;
文件類型:- 表示普通文件,即文本文件(.txt)、二進位文件等
d 表示文件夾
l 表示符號鏈接文件,後面會用->列印出它所指向的文件
s 表示socket文件
p 表示管道文件
7、vi編輯器:Linux中常用的編輯器,另外還有gedit編輯器等,其vim是vi的升級版,後面提到的vi其實都是vim;
(1) vi的使用:vi pathname
(2) vi的命令模式:當vi打開時預設為命令模式,此時鍵盤上輸入的所有東西都被vi當作命令來對待。
vi的輸入模式:輸入模式用來向文件輸入內容。在命令模式中按A或I鍵則轉入輸入模式。進入輸入模式後,就可以隨意按鍵盤進行輸入了。輸入完成後如果要保存,要先退
回到命令模式(因為保存也是一種命令),即在輸入模式下按ESC鍵退回到命令模式。
(3) 保存命令: :wq 保存並退出
:w 保存但不退出
:q 不保存退出
:q! 不保存強制退出
:wq! 保存並強制退出
(4) vi的一些命令(均在命令模式下):
/xxx 查找xxx
:num 快速切換到num行
:set nu 顯示行號
:set nonu 不顯示行號
註:設置永久顯示行號,修改vi的配置文件~/.vimrc,在其中輸入set nu即可;
dd 刪除游標所在行
4dd 刪除連續行
nyy 複製,需把游標放在多行的第一行
p 粘貼到游標所在的下一行
8、Linux中的許可權表示與管理:
(1) 普通用戶與特權用戶:
普通用戶:一般情況下我們使用的都是普通用戶,每個普通用戶只能處理自己的文件,不能訪問其他用戶的文件,更不能隨意處理操作系統的文件;
特權用戶:系統的管理員,對系統內所有文件具有操作許可權;
Windows/Linux中的普通用戶可以有很多個,而特權用戶在Windows中是Administrator,在Linux中是root;
在Linux中,普通用戶不能cd /root,也不能用apt-get install來裝軟體,……;
使用su可以在不同用戶間來回切換:su 用戶名;
使用sudo可以不需切換用戶而暫時獲取root許可權;
(2) Linux中的許可權:
ls -l顯示的詳細信息(-rwxr-xrw-)中:一共10個字元,第一個字元表示文件類型,後面9個表示文件許可權;
文件類型:- 表示普通文件,即文本文件(.txt)、二進位文件等
d 表示文件夾
l 表示符號鏈接文件,後面會用->列印出它所指向的文件
s 表示socket文件
p 表示管道文件
許可權表示:r 表示可讀,w 表示可寫,x 表示可執行
如:rwx 可讀,可寫,可執行
r-x 可讀,不可寫,可執行
rw- 可讀,可寫,不可執行
後9個字元,每3個一組,第1組表示文件屬主的許可權,第2組表示屬主所在的組用戶的許可權,第3組表示其他用戶的許可權;
9、虛擬機中的Linux上網:
(1) VMWare中網路有三種設置:NAT、橋接(bridged)、Host only(該模式僅主機可上網,虛擬機上不了網);
(2) NAT方式:設置較簡單,但不能用在嵌入式開發中。設置步驟如下:
step1:菜單欄中的虛擬機 -> 設置 -> 硬體 -> 網路適配器,右側選擇NAT模式;
step2:在命令行中輸入vi /etc/network/interfaces,打開該文件,將內容編輯如下:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
address 192.168.1.141
netmask 255.255.255.0
gateway 192.168.1.1
關鍵是dhcp處,最後三行可以不要;
step3:在命令行中執行/etc/init.d/networking restart 來重啟網卡即可;
(3) 橋接方式:設置較麻煩(相對而言),但可用於嵌入式開發中。設置步驟如下:
step1:菜單欄中的虛擬機 -> 設置 -> 硬體 -> 網路適配器,右側選擇橋接模式;
step2:在菜單欄中的編輯 -> 虛擬網路編輯器,選擇橋接到自己Windows中可以上網的網卡上(一般就是Wifi網路或者有線網路);
step3:在命令行中輸入vi /etc/network/interfaces,打開該文件,將內容編輯如下:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
address 192.168.1.141
netmask 255.255.255.0
gateway 192.168.1.1
保存並退出。關鍵是dhcp處,最後三行可以不要;
step4:在命令行中執行/etc/init.d/networking restart 來重啟網卡即可;
10、Linux命令補充:這些命令的掌握與否不影響你的一般操作,因此不必可以去背,除非你是搞Linux運維的,但是如果掌握將有助你熟練操作Linux;
(1) find:在文件系統中查找一個文件,但得知道其文件名;
find 大概路徑 -name "文件名"
(2) grep:在文本文件中,查找某個詞;
grep -nr "要查找的符號" 要查找的目錄或文件集合 -n表示在查找結果中顯示行號,-r表示使用遞歸查找
(3) which與whereis:查找一個應用程式(二進位文件)的位置;
which 文件名 只顯示二進位文件的路徑
whereis 文件名 顯示二進位文件的路徑,和其源碼或man手冊位置
(4) uname:查看系統信息;
uname -a
(5) 開機與關機:
shutdown -h now 立即關機
init 0 關機
shutdown -r now 立即重啟
reboot 重啟
(6) tree與lstree:顯示文件和目錄由根目錄開始的樹形結構;
(7) mount與umount:掛載磁碟到文件系統中;
mount -t nfs -o nolock 192.168.1.141:/root/rootfs /mnt 掛載
umount /mnt 卸載
(8) 磁碟空間相關:
df -h 顯示已掛載的分區列表
du -h 以人容易識別的方式列出文件或文件夾的大小
(9) 用戶管理:
useradd user1 添加一個名為user1的用戶
userdel user2 刪除一個名為user2的用戶
passwd user3 為名為user3的用戶設置密碼
adduser user4 添加一個名為user4的用戶,同時創建宿主目錄,用戶shell等
註:adduser是一個腳本,而useradd則是一個二進位應用程式。用adduser創建用戶時比較麻煩,但是一次設定完所有的信息;
而用useradd創建用戶時較簡單,但是需要另外設置宿主目錄,密碼那些信息。
(10) 許可權管理:管理系統中文件的許可權;
chmod change mode,修改文件許可權(常用)
chown change owner,修改屬主
chgrp change group,修改文件的組
許可權可以使用數字來表示:r 可讀 4
w 可寫 2
x 可執行 1
- 無許可權 0
如:rwxr-xrw-對應756
第1種修改許可權的方法:如把許可權改為rwxr-xrw-,則修改命令為:chmod 756 文件名
第2種修改許可權的方法:在原來的許可權基礎上進行修改,即增加或減少某項許可權。三個組用戶的編碼依次為:屬主 u 屬主所在的組 g 其他用戶 o
如 :要屬主增加可寫許可權 chmod u+w 文件名
其他用戶減少可讀許可權 chmod o-r 文件名
(11) 文件打包、壓縮與解壓縮:
tar -czvf dir.tar.gz dir/ 將dir目錄打包成dir.tar.gz
tar -cjvf dir.tar.bz2 dir/ 將dir目錄打包成dir.tar.bz2
tar -zxvf dir.tar.gz 解壓縮dir.tar.gz
tar -jxvf dir.tar.bz2 解壓縮dir.tar.bz2
(12) 網路配置命令
ifconfig eth0 192.168.5.19 設置IP地址
ifconfig eth0 up 啟動網卡
ifconfig eth0 down 禁用網卡
ifup eth0 啟動網卡
ifdown eth0 禁用網卡
ifconfig eth0 192.168.5.19 netmask 255.255.255.0 同時設置IP和子網掩碼
(以上所述內容為學習朱老師的嵌入式課程後複習筆記所得,目的是自己複習鞏固知識,同時把自己學到的知識分享出來。能力有限,水平一般,如有錯誤,歡迎指正,謝謝!)
2017-02-24 22:15:52