1 基礎知識
-
應用領域:服務器使用。
-
linux啓動:Linux系統的啓動過程可以分爲5個階段:
- 內核的引導。當計算機打開電源後,首先是BIOS開機自檢,按照BIOS中設置的啓動設備(通常是硬盤)來啓動。操作系統接管硬件以後,首先讀入 /boot 目錄下的內核文件。
- 運行 init。init 進程是系統所有進程的起點,你可以把它比擬成系統所有進程的老祖宗,沒有這個進程,系統中任何進程都不會啓動。init 程序首先是需要讀取配置文件 /etc/inittab。/boot /init 進程
- 系統初始化。在init的配置文件中有這麼一行: si::sysinit:/etc/rc.d/rc.sysinit 它調用執行/etc/rc.d/rc.sysinit,而rc.sysinit是一個bash shell的腳本,它主要是完成一些系統初始化的工作,rc.sysinit是每一個運行級別都要首先運行的重要腳本。
- 建立終端 。rc執行完畢後,返回init。這時基本系統環境已經設置好了,各種守護進程也已經啓動了。
- 用戶登錄系統。命令行登錄、ssh登錄、圖形界面登錄。
-
運行級別:
- 運行級別0:系統停機狀態,系統默認運行級別不能設爲0,否則不能正常啓動
- 運行級別1:單用戶工作狀態,root權限,用於系統維護,禁止遠程登陸
- 運行級別2:多用戶狀態(沒有NFS)
- 運行級別3:完全的多用戶狀態(有NFS),登陸後進入控制檯命令行模式
- 運行級別4:系統未使用,保留
- 運行級別5:X11控制檯,登陸後進入圖形GUI模式
- 運行級別6:系統正常關閉並重啓,默認運行級別不能設爲6,否則不能正常啓動
-
窗口切換:默認登錄就是第一個窗口,也就是tty1,這個六個窗口分別爲tty1,tty2 … tty6,你可以按下Ctrl + Alt + F1 ~ F6 來切換它們。當你進入命令窗口界面後再返回圖形界面只要按下Ctrl + Alt + F7 就回來了。
-
Linux關機:正確的關機流程爲:sync > shutdown > reboot > halt
sync 將數據由內存同步到硬盤中。
shutdown –h now 立馬關機
shutdown –h 20:25 系統會在今天20:25關機
shutdown –h +10 十分鐘後關機
shutdown –r now 系統立馬重啓
shutdown –r +10 系統十分鐘後重啓
reboot 就是重啓,等同於 shutdown –r now
halt 關閉系統,等同於shutdown –h now 和 poweroff
- Linux 忘記密碼:進入單用戶模式更改一下root密碼即可。
- 遠程登陸:Linux系統中是通過ssh服務實現的遠程登錄功能,默認ssh服務端口號爲 22。Window系統上 Linux 遠程登錄客戶端有SecureCRT, Putty, SSH Secure Shell等,本文以Putty爲例來登錄遠程服務器。putty下載地址:http://www.putty.org/
2 Linux 系統目錄結構
登錄系統後,在當前命令窗口下輸入命令ls /
- /bin:目錄存放着最經常使用的命令。
- /boot:這裏存放的是啓動Linux時使用的一些核心文件,包括一些連接文件以及鏡像文件。
- /dev :dev是Device(設備)的縮寫, 該目錄下存放的是Linux的外部設備,在Linux中訪問設備的方式和訪問文件的方式是相同的。
- /etc:存放所有的系統管理所需要的配置文件和子目錄。
- /home:用戶的主目錄,在Linux中,每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的。
- /lib:這個目錄裏存放着系統最基本的動態連接共享庫,其作用類似於Windows裏的DLL文件。幾乎所有的應用程序都需要用到這些共享庫。
- /media:linux系統會自動識別一些設備,例如U盤、光驅等等,當識別後,linux會把識別的設備掛載到這個目錄下。
- /mnt:系統提供該目錄是爲了讓用戶臨時掛載別的文件系統的,我們可以將光驅掛載在/mnt/上,然後進入該目錄就可以查看光驅裏的內容了。
- /opt: 這是給主機額外安裝軟件所擺放的目錄。比如你安裝一個ORACLE數據庫則就可以放到這個目錄下。默認是空的。
- /proc:這個目錄是一個虛擬的目錄,它是系統內存的映射,我們可以通過直接訪問這個目錄來獲取系統信息。
- /root:該目錄爲系統管理員,也稱作超級權限者的用戶主目錄。
- /sbin:s就是Super User的意思,這裏存放的是系統管理員使用的系統管理程序。
- /selinux: 這個目錄是Redhat/CentOS所特有的目錄,Selinux是一個安全機制,類似於windows的防火牆,但是這套機制比較複雜,這個目錄就是存放selinux相關的文件的。
- /srv: 該目錄存放一些服務啓動之後需要提取的數據。
- /sys:該目錄下安裝了2.6內核中新出現的一個文件系統 sysfs 。sysfs文件系統集成了下面3種文件系統的信息:針對進程信息的proc文件系統、針對設備的devfs文件系統以及針對僞終端的devpts文件系統。
- /tmp:這個目錄是用來存放一些臨時文件的。
- /usr: 這是一個非常重要的目錄,用戶的很多應用程序和文件都放在這個目錄下,類似於windows下的program files目錄。
- /usr/bin:系統用戶使用的應用程序。
- /usr/sbin:超級用戶使用的比較高級的管理程序和系統守護程序。
- /usr/src:內核源代碼默認的放置目錄。
- /var:這個目錄中存放着在不斷擴充着的東西,我們習慣將那些經常被修改的目錄放在這個目錄下。包括各種日誌文件。
- /run:是一個臨時文件系統,存儲系統啓動以來的信息。當系統重啓時,這個目錄下的文件應該被刪掉或清除。如果你的系統上有 /var/run 目錄,應該讓它指向 run。
3 文件操作
3.1 文件基本操作
在Linux中第一個字符代表這個文件是目錄、文件或鏈接文件等等。
- 當爲[ d ]則是目錄;
- 當爲[ - ]則是文件;
- 若是[ l ]則表示爲鏈接文檔(link file);
- 若是[ b ]則表示爲裝置文件裏面的可供儲存的接口設備(可隨機存取裝置);
- 若是[ c ]則表示爲裝置文件裏面的串行端口設備,例如鍵盤、鼠標(一次性讀取裝置)。
[root@www /]# ls -l
total 64
dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin
dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot
……
3.2 文件屬主和屬組
[root@www /]# ls -l
total 64
drwxr-xr-x 2 root root 4096 Feb 15 14:46 cron
drwxr-xr-x 3 mysql mysql 4096 Apr 21 2014 mysql
……
- chgrp:更改文件屬組,語法:-R:遞歸更改文件屬組,該目錄下的所有文件的屬組都會更改。
chgrp [-R] 屬組名 文件名
- chown:更改文件屬主,也可以同時更改文件屬組,語法:
chown [–R] 屬主名 文件名
chown [-R] 屬主名:屬組名 文件名
進入 /root 目錄(~)將install.log的擁有者改爲bin這個賬號:
[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log
將install.log的擁有者與羣組改回爲root:
[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
- chmod:更改文件9個屬性
Linux文件屬性有兩種設置方法,一種是數字,一種是符號。Linux文件的基本權限就有九個,分別是owner/group/others三種身份各有自己的read/write/execute權限。各權限的分數對照表如下:r:4,w:2,x:1
每種身份(owner/group/others)各自的三個權限(r/w/x)分數是需要累加的,例如當權限爲: [-rwxrwx—-] 分數則是:- owner = rwx = 4+2+1 = 7
- group = rwx = 4+2+1 = 7
- others= —- = 0+0+0 = 0
所以等一下我們設定權限的變更時,該文件的權限數字就是770啦!變更權限的指令chmod的語法是這樣的:xyz : 就是剛剛提到的數字類型的權限屬性,爲 rwx 屬性數值的相加。
chmod [-R] xyz 文件或目錄
舉例來說,如果要將.bashrc這個文件所有的權限都設定啓用,那麼命令如下:
[root@www ~]# ls -al .bashrc
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
那如果要將權限變成 -rwxr-xr-- 呢?那麼權限的分數就成爲 [4+2+1][4+0+1][4+0+0]=754。
3.3 處理目錄的常用命令
- ls: 列出目錄
- cd:切換目錄
- pwd:顯示目前的目錄
- mkdir:創建一個新的目錄
- rmdir:刪除一個空的目錄
- cp: 複製文件或目錄
- rm: 移除文件或目錄
- mv: 移動文件與目錄,或修改文件與目錄的名稱
3.4 文件內容查看
- cat 由第一行開始顯示文件內容
- tac 從最後一行開始顯示,可以看出 tac 是 cat 的倒着寫!
- nl 顯示的時候,順道輸出行號!
- more 一頁一頁的顯示文件內容
- less 與 more 類似,但是比 more 更好的是,該命令可以往前翻頁!
- head 只看頭幾行
- tail 只看末尾幾行
4 用戶和用戶組
實現用戶賬號的管理,要完成的工作主要有如下幾個方面:
- 用戶賬號的添加、刪除與修改。
# useradd –d /usr/sam -m sam
- 用戶口令的管理。用戶管理的一項重要內容是用戶口令的管理。用戶賬號剛創建時沒有口令,但是被系統鎖定,無法使用,必須爲其指定口令後纔可以使用,即使是指定空口令。
- 用戶組的管理。用戶組的管理涉及用戶組的添加、刪除和修改。組的增加、刪除和修改實際上就是對/etc/group文件的更新。
5 磁盤管理
Linux磁盤管理好壞直接關係到整個系統的性能問題。Linux磁盤管理常用三個命令爲df、du和fdisk。
- df:列出文件系統的整體磁盤使用量,可以利用該命令來獲取硬盤被佔用了多少空間,目前還剩下多少空間等信息。
- du:檢查磁盤空間使用量,Linux du命令是對文件和目錄磁盤使用的空間的查看。
- fdisk:用於磁盤分區
列出所有分區信息:fdisk -l
6 vim編輯器
Vim是從 vi 發展出來的一個文本編輯器。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用。
基本上 vi/vim 共分爲三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)和底線命令模式(Last line mode)。 這三種模式的作用分別是:
(1)命令模式
戶剛剛啓動 vi/vim,便進入了命令模式。此狀態下敲擊鍵盤動作會被Vim識別爲命令,而非輸入字符。比如我們此時按下i,並不會輸入一個字符,i被當作了一個命令。以下是常用的幾個命令:
- i 切換到輸入模式,以輸入字符。
- x 刪除當前光標所在處的字符。
- : 切換到底線命令模式,以在最底一行輸入命令。
若想要編輯文本:啓動Vim,進入了命令模式,按下i,切換到輸入模式。命令模式只有一些最基本的命令,因此仍要依靠底線命令模式輸入更多命令。
(2)輸入模式
在命令模式下按下i就進入了輸入模式。在輸入模式中,可以使用以下按鍵:
- 字符按鍵以及Shift組合,輸入字符
- ENTER,回車鍵,換行
- BACK SPACE,退格鍵,刪除光標前一個字符
- DEL,刪除鍵,刪除光標後一個字符
- 方向鍵,在文本中移動光標
- HOME/END,移動光標到行首/行尾
- Page Up/Page Down,上/下翻頁
- Insert,切換光標爲輸入/替換模式,光標將變成豎線/下劃線
- ESC,退出輸入模式,切換到命令模式
(3)底線命令模式
在命令模式下按下:(英文冒號)就進入了底線命令模式。底線命令模式可以輸入單個或多個字符的命令,可用的命令非常多。在底線命令模式中,基本的命令有(已經省略了冒號):
- q 退出程序
- w 保存文件
按ESC鍵可隨時退出底線命令模式。簡單的說,我們可以將這三個模式想成底下的圖標來表示:
(4)使用案例
- 創建文件,按下i進入編輯模式,Esc回到一般模式,:wq保存且退出,:q退出
$ vim runoob.txt
- 常見按鍵
7 yum 命令
yum( Yellow dog Updater, Modified)是一個Shell前端軟件包管理器。可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。yum提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令,而且命令簡潔而又好記。該命令多用於RedHat、CentOS等操作系統。
常見命令
-
列出所有可更新的軟件清單命令:yum check-update
-
更新所有軟件命令:yum update
-
僅安裝指定的軟件命令:yum install
-
僅更新指定的軟件命令:yum update
-
列出所有可安裝的軟件清單命令:yum list
-
刪除軟件包命令:yum remove
-
查找軟件包 命令:yum search
-
清除緩存命令:
yum clean packages: 清除緩存目錄下的軟件包 yum clean headers: 清除緩存目錄下的 headers yum clean oldheaders: 清除緩存目錄下舊的 headers yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除緩存目錄下的軟件包及舊的headers
以上就是對Linux系統常用的操作命令進行的總結,相信本文對不熟悉linux命令的小白有很大幫助,可以快速入門。最後,歡迎大家轉載,轉載請註明出處。