1、linux系統啓動過程linux
1)內核的引導。ios
當計算機打開電源後,首先是BIOS(檢查計算機的硬件設備如CPU、內存風扇速度等,找到啓動盤)開機自檢,按照BIOS中設置的啓動設備(一般是硬盤)來啓動。shell
首先讀取硬盤的第一個512bytes,存放的主引導記錄MBR(前446引導信息,中間64是分區信息,後兩位是結束標誌位),告訴你從這個設備的某一個 分區vim
裝載引導加載程序(Boot loader,存儲有操做系統的相關信息好比操做系統名稱及操做系統內核的位置),經常使用的boot loader 有grub和lilo緩存
boot loader會幫助咱們找到內核(kernel),以後操做系統就運行起來了。bash
操做系統接管硬件之後,首先讀入 /boot 目錄下的內核文件。ssh
2)運行 init。編輯器
init 進程是系統全部進程的起點,你能夠把它比擬成系統全部進程的老祖宗,沒有這個進程,系統中任何進程都不會啓動。加密
init 程序首先是須要讀取配置文件 /etc/inittab。spa
許多程序須要開機啓動。它們在Windows叫作"服務"(service),在Linux就叫作"守護進程"(daemon)。
3)系統初始化。
在init的配置文件中有這麼一行: si::sysinit:/etc/rc.d/rc.sysinit 它調用執行了/etc/rc.d/rc.sysinit,而rc.sysinit是一個bash shell的腳本,它主要是完成一些系統初始化的工做,rc.sysinit是每個運行級別都要首先運行的重要腳本。
它主要完成的工做有:激活交換分區,檢查磁盤,加載硬件模塊以及其它一些須要優先執行任務。
4)創建終端 。
rc執行完畢後,返回init。這時基本系統環境已經設置好了,各類守護進程也已經啓動了。
init接下來會打開6個終端,以便用戶登陸系統。在inittab中的如下6行就是定義了6個終端
5)用戶登陸系統。
通常來講,用戶的登陸方式有三種:
(1)命令行登陸
(2)ssh登陸
(3)圖形界面登錄
默認咱們登陸的就是第一個窗口,也就是tty1,這個六個窗口分別爲tty1,tty2 … tty6,你能夠按下Ctrl + Alt + F1 ~ F6 來切換它們。
6)grub加密
vim etc/grub.conf 裏面有啓動信息
linux啓動以後若是忘記密碼能夠經過單用戶模式進入系統中直接修改密碼
linux啓動讀秒是,按下e
以後選擇單用戶模式kernel(內核)
按下e空格輸入1就進入了以後就能夠改密碼了
grub -md5 -crypt 以後就會輸入密碼
7)bios加密
系統啓動後按F2,救援模式啓動,依然能夠進入操做系統,不須要密碼,此時能夠找到grub.conf 文件刪除它,就能夠啓動了,所以須要bios加密
F2進入bios,在sercurity 中,選擇Set Supervisor Password 設置密碼,想再進入bios就須要設置密碼了
若是想破解bios加密,須要將bios硬件的電池拿下來放電,bios就會復位,這樣密碼就沒有了
2、linux文件基本屬性:ls -l
dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot
實例中,bin文件的第一個屬性用"d"表示。"d"在Linux中表明該文件是一個目錄文件。
在Linux中第一個字符表明這個文件是目錄、文件或連接文件等等。
對於文件來講,它都有一個特定的全部者,也就是對該文件具備全部權的用戶。
同時,在Linux系統中,用戶是按組分類的,一個用戶屬於一個或多個組。
文件全部者之外的用戶又能夠分爲文件全部者的同組用戶和其餘用戶。
所以,Linux系統按文件全部者、文件全部者同組用戶和其餘用戶來規定了不一樣的文件訪問權限。
r:能夠指令ls命令
w:能夠執行建立mkdir 刪除rmdir命令
x:能夠執行cd命令
3、文件的合併歸檔和壓縮
>是覆蓋
>>是追加
wc -l 統計文件行數 I是管道符
文件的歸檔是指把多個文件合併放到一個文件裏面 俗稱tar 打包
tar -cf test.tar a.txt b.txt c.txt 把abc 文件歸檔爲test.tar
tar -tf test.tar 查看tar中的文件
tar -xvf /test/test.tar 解包test.tar 再加一個-C解包到指定得文件夾下面
gzip test.tar 壓縮 (bzip2)
gunzip test.tar 解壓縮(bunzip2)
4、vim編輯器
vi 1.txt 進入文件
i 編輯文件
:wq退出編輯
5、進程管理(動起來的文件叫作進程)
1)top 動態查看進程信息,通常不用,由於佔用內存比較大,須要實時刷新
2)buffer(緩衝)是爲了提升內存和硬盤(或其餘I/O設備)之間的數據交換的速度而設計的。
3)cache(緩存)從CPU角度考慮,是爲了提升cpu和內存之間的數據交換速度而設計的
4)free查看內存的信息free -m是以M爲單位,free -h是以G 爲單位
5)進程是程序的一次動態執行
6)守護進程在後臺運行並提供系統服務的一些進程
7)父進程、子進程:當一個進程建立另外一個進程時,第一個進程被稱爲新進程的父進程,而新進程被稱爲子進程
8)ps命令:顯示當前進程的狀態 ps aux I head -1查看全部進程中的第一行
9)pstree 以樹狀圖查看進程狀態
10)kill 結束進程及pkill
11)grep過濾命令 ls -l I grep ‘txt’ 過濾出帶有txt的文件 ;grep -v 反向匹配