天天看點

linux基礎學習筆記

linux基礎學習筆記

目錄:

1.磁盤分區

2.目錄結構

3.linux指令的分類

4.常見的linux指令

  1.指令編輯的幾個輔助操作

  2.指令幫助

  3.檢視檔案内容cat,more,less,head,tail

  4.統計指令wc

  5.檢索和過濾檔案内容grep指令

  6.壓縮和解壓縮:gzip(gunzip)和bzip2(bunzip2)

  7.歸檔及解歸檔:tar

  8.vim編輯器

  9.防火牆狀态檢視以及關閉等

       10.查找檔案或目錄    find  指定查找路徑  -name  指定查找的檔案名及目錄名  例如find  /etc -name passwd

        11.yum安裝

        12.建立使用者 

5.linux init程序

一、磁盤分區

linux分區不同于windows,linux下硬碟裝置名為(IDE硬碟為hdx(x為從a—d)因為IDE硬碟最多四個,SCSI,SATA,USB硬碟為sdx(x為a—z)),硬碟主分區最多為4個,用fdisk –l檢視裝置名。

sd:序列槽,SCSI,SAS,USB存儲

hd:并口

主分區:sdb1-sdb4 主分區存放作業系統  #硬碟主分區最多為4個,這裡以sdb硬碟為例

擴充分區:sdb5

邏輯分區:從sdb6開始

硬碟編号:a、b、c、....z

分區編号:1、2、3、...

例如:

sdb3(第2塊SCSI硬碟的第3個主分區)

hda7(第1塊IDE硬碟的第2個邏輯分區)

啟動分區的挂載點是/boot  建議200M(centos6.5)

交換分區沒有挂載點,檔案系統類型是swap,虛拟記憶體至少實體記憶體的2倍

根分區 存放os,挂載點/

二、目錄結構

linux目錄結構如下圖: 

  

linux基礎學習筆記

2.根目錄,一般根目錄下隻存放目錄,不要存放檔案,/etc、/bin、/dev、/lib、/sbin應該和根目錄放置在一個分區中。

/bin 普通使用者執行的指令存放的地方

/sbin 管理者執行的指令存放的地方

/usr應用程式存放的目錄

  /usr/bin 存放應用程式  

  /usr/lib 存放不能直接運作的,卻是許多程式運作所必需的一些函數庫檔案

  /usr/local 存放軟體更新包

/lib 系統使用的函數庫的目錄

/root 管理者的家目錄(宿主目錄)

/home 普通使用者的家目錄

/var 放置系統執行過程中經常變化的檔案,如随時更改的日志檔案 

/etc 存放各種配置檔案

/srv 服務啟動之後要通路的目錄

/mnt CD光牒預設挂載點

/dev 存放linux系統下的裝置檔案,通路該目錄下某個檔案,相當于通路某個裝置

/opt 給主機額外安裝軟體所存放的目錄

/tmp 一般使用者或正在執行的程式臨時存放檔案的目錄

三、linux指令的分類

linux指令概念:用于實作一類功能的指令或程式,指令的執行依賴于解釋器程式

内部指令:屬于shell解釋器的 一部分,在硬碟上找不到,系統啟動自動加載到記憶體中

外部指令:獨立于shell解釋器之外的程式檔案,一般在硬碟中可以找到

四、常見的linux指令

1.指令編輯的幾個輔助操作(快捷鍵不區分大小寫)

Tab鍵,自動補全

反斜杠"\":強制換行

快捷鍵ctrl+U:清空至行首

快捷鍵ctrl+K:清空至行尾

快捷鍵ctrl+L:清屏

快捷鍵ctrl+C:取消本次指令編輯

2.指令幫助  

help 内部指令(例如:help cd)

外部指令 --help (例如:ls --help)

擷取外部指令線上手冊:man 外部指令(例如:man ls)

3.檢視檔案内容cat,more,less,head,tail

cat /root/lshelp.txt(無分屏浏覽功能,隻适合于檔案内容在一屏以内的檔案)

cat /etc/resolv.conf /etc/hosts(檢視多個檔案内容)

more /root/lshelp.txt(有分屏浏覽功能)

less /root/lshelp.txt(有分屏浏覽功能)

也可以:cat /root/lshelp.txt | more

或者:cat /root/lshelp.txt | less

head /root/lshelp.txt(預設顯示lshelp.txt檔案頭部的前10行内容)

head -5 /root/lshelp.txt(顯示lshelp.txt檔案頭部的前5行内容)

tail /root/lshelp.txt(預設顯示lshelp.txt檔案尾部的後10行内容)

tail -5 /root/lshelp.txt(顯示lshelp.txt檔案尾部的後5行内容)

tail -f /root/lshelp.txt(動态顯示lshelp.txt檔案尾部新增加的内容) #測試另開一個終端視窗,用echo  "sfdfdds" > lshelp.txt

4.統計指令wc  

-l:統計行數 例如:wc -l /root/lshelp.txt(統計lshelp.txt檔案中有多少行)

-w:統計單詞數 例如:wc -w /root/lshelp.txt(統計lshelp.txt檔案中有多少單詞)

-c:統計位元組數 例如:wc -l /root/lshelp.txt(統計lshelp.txt檔案的位元組數)

還可以:ps -aux | wc -l (統計有多少個程序,一行一個程序)

5.檢索和過濾檔案内容grep指令 

作用:在檔案中查找并顯示指定包含字元串的行

選項:-i(忽略大、小寫) -v(反轉查找)

查找條件:

查找"要查找的字元串": "要查找的字元串" 例如:grep "NAME" /root/lshelp.txt

查找以某字元串為開頭: "^某字元串" 例如:grep "^NAME" /root/lshelp.txt

查找以某字元串為結尾: "某字元串$" 例如:grep "NAME$" /root/lshelp.txt

查找空行: "^$" 例如:grep "^$" /root/lshelp.txt

其它例子:

grep -i "NAME" /root/lshelp.txt(查找包含NAME字元串的行,忽略大小寫)

grep -v "^$" /root/lshelp.txt(不顯示空行)

grep -v "^$" /root/lshelp.txt | grep -v "^#" (不顯示空行和帶#号的行)

6.壓縮和解壓縮:gzip(gunzip)和bzip2(bunzip2)

1)壓縮

cp /etc/yum.conf /root(複制一個檔案到root目錄,對該檔案進行壓縮操作)

cd /root

gzip yum.conf

ls yum.conf.gz(檢視是否有壓縮檔案)

cp /etc/yum.conf /root/yum1.conf

cd /root

gzip yum1.conf

ls yum1.conf.bz2(檢視是否有壓縮檔案)

2)解壓縮

gzip -d yum.conf.gz

gunzip yum.conf.gz

bzip2 -d yum1.conf.bz2

gunbzip2 yum1.conf.bz2

7.歸檔及解歸檔:tar

常見選項:

-c:建立歸檔檔案

-x:解歸檔

-v:顯示過程

-f:指定歸檔檔案

-p:保留原有權限

-t:檢視歸檔包中的檔案

-z:啟用gzip壓縮

-j:啟用bzip2壓縮

-C:釋放歸檔時,指定目标路徑

例子:

cd /root

tar -cvf etc.tar /etc/*

(對/etc目錄進行歸檔,存放在目前路徑,歸檔檔案名為:etc.tar)

mkdir /backup(在根下建立backup目錄

tar -cvf /backup/etc.tar /etc/*

(對/etc目錄進行歸檔,存放在/backup目錄,歸檔檔案名為:etc.tar)

mkdir test1 test2(在目前路徑下建立test1、test2目錄)

tar -xvf etc.tar -C test1

(對目前路徑下的歸檔檔案etc.tar,進行解歸檔至目前路徑下的test1目錄中)

tar -zcvf etc.tar.gz /etc/*(建立歸檔并壓縮,壓縮方式為:gzip) #所有的操作都有f選項 必須放在所有選項的最後

tar -jcvf etc.tar.bz2 /etc/*(建立歸檔并壓縮,壓縮方式為:bzip2)

tar -zxvf etc.tar.gz -C /test/   解壓歸檔

tar -tf etc.tar.gz(檢視gzip格式的歸檔檔案中的檔案清單)

tar -tf etc.tar.bz2(檢視bzip2格式的歸檔檔案中的檔案清單)

8.vim編輯器

1)三種模式:指令模式、輸入模式、末行模式

指令模式----按a、i、o等鍵----->輸入模式

輸入模式----按esc鍵----->傳回指令模式

指令模式----輸入冒号:----->末行模式

末行模式----按esc鍵----->傳回指令模式

輸入模式和末行模式之間不能直接轉換,隻能通過指令模式間接轉換

cd /root

cp /etc/sudo.conf /root

vim /root/sudo.conf(使用vim編輯器打開某檔案,直接進入指令模式)

2)光标移動

行内快速跳轉:(指令模式)

跳轉至行首:Home鍵或“^”(shift+6)、數字“0”

跳轉至行尾:End鍵或“$”鍵

行内快速跳轉:(指令模式)

跳轉至文檔的首行:1G或者gg

跳轉至文檔的尾行:G

跳轉到檔案中的第#行: #G

行号:(末行模式)

:set nu(顯示行号)

:set nonu (取消顯示行号)

3)複制、粘貼、删除:(指令模式)

複制:

光标所在行(目前行):yy

從光标所在行開始的#行:#yy

粘貼:

p:粘貼到目标位置的光标前面

P:粘貼到目标位置的光标後面

删除:

單個字元:x、del、delete、

行:

目前光标所在行:dd

從光标所在行開始的#行:#dd

删除目前光标之前到行首的所有字元:d^

删除目前光标之前到行首的所有字元:d$

4)内容查找:(指令模式)

從上到下進行查找:/要查找的字元串

從下到上進行查找:?要查找的字元串

向下定位:n

向上定位:N

5)撤銷及儲存:(指令模式)

撤銷一次:u

撤銷多次:多執行幾次u指令

撤銷全部操作:U(大寫)

儲存:ZZ(大寫)

6)儲存及退出:(末行模式)

:w (儲存)

:w /root/test.txt (另存)

:q (退出,未作修改)

:q! (退出,修改内容後,不儲存退出)

:wq (儲存退出)

7)打開或編輯檔案:(末行模式)

:e /root/yum.conf (編輯檔案)

:r /root/test.txt (打開檔案)

8) 檔案内容替換:(末行模式)

:s /old/new (在光标所在行查找第一個old字元串,并替換為new字元串)

:s /old/new/g (在光标所在行查找所有的old字元串,并都替換為new字元串)

:#,# s /old/new/g (在指定的行之間查找所有的old字元串,并都替換為new字元串)

:% s /old/new/g (在全文中查找所有的old字元串,并都替換為new字元串)

:% s /old/new/gc (在全文中查找所有的old字元串,并都替換為new字元串,但要确認)

9.防火牆狀态以及關閉

chkconfig --list iptables(檢視iptables防火牆狀态)

chkconfig iptables off(修改iptables服務開機後自動關閉)

service iptables stop(停止iptables防火牆服務)

iptables  -F  清除防火牆政策 

setenforce 0(臨時關閉selinux)  #永久關閉selinux需要在/etc/selinux/config修改SELINUX=enforcing為SELINUX=disabled

10.查找檔案或目錄    find  指定查找路徑  -name  指定查找的檔案名及目錄名  例如find  /etc -name passwd

linux基礎學習筆記

11.yum

yum erase  軟體名    yum remove 軟體名    解除安裝軟體

yum install  軟體名   安裝

yum list  軟體名     列出某個軟體的資訊

yum  info  軟體名   查詢某個軟體的資訊

yum search 軟體名  搜尋某個軟體

 五、linux init程序

所謂的init程序,它是一個由核心啟動的使用者級程序。

init 程序是系統中第一個程序,它的程序ID(pid)是1

init服務的配置檔案是/etc/inittab

init服務的配置檔案如下: 

linux基礎學習筆記

運作級别:

0:關機

1:單使用者模式

2: 多使用者,沒有 NFS

3:多使用者

4:是不使用的

5:是xwindows,也就是有界面的

6:重新開機

如果不小心把init預設運作級别設定為0或6的解決辦法

我們知道init0和6級别分别對應的是關機和重新開機,如果把這兩個設為預設運作級别我們是無法進入系統的,是以我們就要借助救援系統了,在開機GRUB界面按e如下:

  

linux基礎學習筆記

選擇第二個接着按e

  

linux基礎學習筆記

在指令行最後輸入1(進入單使用者模式),回車退後到上個界面  

linux基礎學習筆記

接着按b進入單使用者模式,我們這就進入到單使用者模式了

  

linux基礎學習筆記

我們隻需要進入/etc/inittab配置檔案中把最後的0或6改為3,重新開機系統就可以

  

linux基礎學習筆記

重新開機系統之後就可以 

linux基礎學習筆記

init的運作級别配置是在/etc/init,而這些級别的定義是在/etc/rc.d目錄内,如下圖 

linux基礎學習筆記

這裡的rc{0..6}.目錄對應相應的級别裡面放的都是要啟動和關閉的程序,檢視目前運作的級别,并進入級别配置檔案 

linux基礎學習筆記

這裡以K開頭的都是要關閉的程序(目前運作級别下),而以S開頭的則是要啟動的程序,我們可以随便找一個測試下 

linux基礎學習筆記