曾經在網上看到一個一篇文章,說到了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 root root 91 May 7 20:21 monitor_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 : 顯示網絡的配置信息
linux的使用基礎目前就記到這里,以后在使用過程中遇到問題了再發博文進行記錄一下。