數字IC設計:Linux中的常用命令
曾經在網上看到一個一篇文章,說到了Linux學習的入門與學習技巧,也就是:初學者可以自己安裝虛擬機器,然後把linux常用命令例如cd、ls、chmod、useradd、vi等等多練習幾十遍,把自己敲打命令的熟練程度提升上來。然後根據文件搭建Linux下常見的各種服務(DHCP、SAMBA、DNS、Apache、Mysql等),遇到問題後可以在google搜尋,搜尋的時候多看幾篇文章,綜合最好的文章來解決問題。能夠熟練的搭建服務後,理解每個服務的完整配置和優化,可以拓展思維。例如LAMP,我們一般是把所有服務放在一臺機器上,如果分開多臺該如何部署呢?等等。平時多積累shell程式設計,可以在網上查詢前輩們寫的非常好的shell,自己下載下來多練習幾遍,從中吸取,不斷提高。
然而對於一個數字IC設計人員,學習Linux的主要目的是熟悉Linux的操作環境與相關EDA工具的使用,因此搭什麼伺服器什麼的,用到的時候再充電吧。這篇博文記錄一下linux的基本使用,內容如下所示:
·系統的目錄介紹
·常用的linux系統操作命令介紹
-使用者切換
-顯示檔案列表
-清屏跟列印當前目錄
-後臺執行
-檔案(夾)的基本操作:
建立、刪除、移動、複製
-檔案內容的檢視
-檔案字數統計
-檔案屬性及更改
-檔案的查詢
-檔案的壓縮與解壓縮
-程式管理
-rpm包安裝
-網路配置資訊
1、系統的目錄介紹
接下來主要熟悉一下系統的目錄。我裝的是RHEL6 32位的虛擬機器,進入虛擬機器後的介面是這樣的:
開啟終端:
顯示的是桌面的位置。
Linux的目錄結構如下所示:
在我的Linux中檢視的結果如下所示:
說明如下:
/------根目錄
/bin------存放必要的命令
/boot------存放核心以及啟動所需的檔案
/dev------存放裝置檔案
/etc------存放系統配置檔案
/home------普通使用者的宿主目錄,使用者資料存放在其主目錄中
/lib------存放必要的執行庫
/mnt------存放臨時的對映檔案系統,通常用來掛載使用。
/proc------存放儲存程序和系統資訊
/root------超級使用者的主目錄
/sbin------存放系統管理程式
/tmp------存放臨時檔案
/usr
/var-------系統預設日誌存放目錄
2、常用的命令
我先學習目錄,主要是先對整體的結構有個瞭解,因為那個基本不需要動手,看看書就可以瞭解記憶了的。需要動手記憶的,就是這些常用的命令了。
進入系統前,需要輸入密碼:
cfx就是普通的使用者名稱,而後面的就是是hostname。
普通使用者與超級使用者(root使用者)
輸入密碼開啟終端後,我們會看到這樣的字元:[cfx@localhost Desktop]$ ,表示當前是叫cfx的普通使用者登入,$表示當前為普通使用者。
切換到超級使用者為:
輸入密碼,就可以進入了:
[root@localhost cfx]#,其中#代表當前是root使用者登入。執行 su cfx,就可以回到普通使用者。
那我來學習第一個(貌似不是第一個)Linux命令:
cd命令
在命令列中執行 cd /home :
意思是進入/home目錄。
cd /boot --------------進入/boot目錄 ;
cd .. --------------返回上一級目錄;
cd ./x1/y2/z3------進入當前目錄x1資料夾下的y2檔案下的z3資料夾中;(.和..可以理解為相對路徑;例如cd /hom/test ,cd加完整的路徑,可以理解為絕對路徑)
更多的常用命令:
①列出檔案
ls./或者ls ------ 檢視當前目錄所有的檔案和目錄:
ls -a檢視所有的檔案,包括隱藏檔案,以.開頭的檔案:
ll檢視檔案的資訊(資訊的內容在之後解釋):
ll -all ,ll -a ,ls -all,ls -a顯示所有檔案及其資訊:
②清屏跟列印當前目錄
clear清屏:
pwd顯示當前所在的目錄。
③建立移動刪除檔案(夾)---------以下無演示
mkdir建立目錄,命令後接目錄的名稱。
mkdir test -----建立名字叫test的目錄(資料夾)。
rmdir刪除空目錄,用法同mkdir。
rm刪除檔案或者目錄
rm –rf test.txt 強制刪除test.txt檔案(-r表示遞迴,-f表示強制)。
cp拷貝檔案
cp old.txt /tmp/new.txt 複製檔案old.txt到tmp手機號購買平臺地圖目錄中,並且代替new.txt檔案的內容。
cp /xxx/xxx/a /xxx/z/ 複製a檔案到z目錄下。
如果拷貝目錄(資料夾)需要加 –r引數。(cp -r /xxx/xxx/a /xxx/z/)
mv重新命名或者移動檔案或者目錄
mv /xxx/xxx/a /xxx/z/ 移動a檔案到z目錄下。
mv old.txt new.txt 重新命名old為new
其他建立
touch建立檔案,
touch test.txt,如果檔案存在,則表示修改當前檔案時間。
Useradd 建立使用者
useradd wugk ,userdel刪除使用者。
Groupadd 建立組
groupadd wugk1 ,groupdel刪除組。
④後臺執行
&後臺執行
dve & 後臺執行dve
⑤對檔案的其他操作
檢視檔案:
cat file : 在終端檢視file檔案的內容
more file : 直接檢視file的內容
less file : 像gvim和vi那樣檢視file內容
檢視檔案內容情況:
wc file : 計算檔案的行數和位元組數
wc -w file : 計算檔案的字數
wc -l file : 計算檔案的行數
改變檔案屬性:
每個Linux檔案具有四種訪問許可權:可讀(r)、可寫(w)、可執行(x)和無許可權(-)。利用ls -l命令可以看到某個檔案或目錄的許可權,它以顯示資料的第一個欄位為準 ,第一個欄位由10個字元組成。
如monitor_log.sh檔案的屬性:
-rw-r--r-- 1 rootroot 91 May 7 20:21monitor_log.sh
對於檔案的型別屬性(10位字元):
第一位:表示檔案型別,-表示檔案,d表示目錄;後面每三位為一組。
第一組:2-4位表示檔案所有者的許可權,即使用者user許可權,簡稱u
第二組:5-7位表示檔案所有者所屬組成員的許可權,group許可權,簡稱g
第三組:8-10位表示所有者所屬組之外的使用者的許可權,other許可權,簡稱o
從上面這個檔案,我們可以看出,monito_log.sh檔案對應的許可權為:
root使用者具有讀和寫的許可權,root組具有讀的許可權,其他人具有讀的許可權。
為了能更簡單快捷的使用和熟悉許可權,rwx許可權可以用數字來表示,分別表示為r(4)、w(2)、x(1)。
Monitor_log.sh許可權可以表示為:644
如果給某個檔案授權(最好在根目錄下),命令為chmod:chmod 777 monitor_log.sh
⑦查詢檔案
find查詢檔案或目錄
命令格式為:find 後接查詢的目錄,-name指定需要查詢的檔名稱,名稱可以使用*表示所有。
find /home -name “test.txt”,
find /home -name “*.txt” :查詢/home目錄下,所有以.txt結尾的檔案或者目錄。
find /etc -name '*con*' :查詢/ect目錄下,名字有con的檔案
find / -size +100M :查詢檔案大於100M的檔案
⑧對檔案進行解壓與壓縮
在Linux 的環境中,壓縮檔案案的副檔名大多是:『*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2』tar 的選項與引數非常的多!我們只講幾個常用的選項,更多選項您可以自行 man tar 查詢囉!
壓縮成.tar檔案:tar -cvf file.tar files
解壓.tar檔案:tar -xvf file.tar
壓縮成.tar.gz檔案:tar -czvf file.tar.gz files
解壓.tar.gz檔案:tar -xzvf file.tar.gz
壓縮.tar.bz2檔案:tar -cjvf file.tar.bz2 files
解壓.tar.bz2檔案:tar -xjvf file.tar.bz2
壓縮成.gz 檔案 gzip file
解壓 gzip -d file.gz :
⑨程式管理
ps : 顯示當前活躍的程序(程式)(列出執行中程式的pid號)
top : 顯示系統的所有程序
kill pid : 結束號為pid的程序
killall proc : 結束所有的proc程序
bg : 列出在後臺懸掛的程序
fg : 重啟最近一個懸掛在後臺的程序
⑩安裝rpm包
rpm -ivh RPM.rpm : 安裝rpm包
cat /proc/cpuinfo : 顯示cpu資訊
cat /proc/meminfo : 顯示儲存器資訊
------ network info --------------------------
ping host|IP : ping一下IP地址,然後顯示結果
hostname : 顯示系統的hostname
ifconfig -a : 顯示網路的配置資訊