029-88811692
網(wǎng)站建設(shè)資訊詳細(xì)

Linux系統(tǒng)基礎(chǔ)入門操作

發(fā)表日期:2021-03-29  作者:云浪  瀏覽:  

1. Linux啟動過程

1.1 內(nèi)核引導(dǎo)

  • 進(jìn)行BOIS自檢,按照內(nèi)部指定的方式啟動設(shè)備,操作系統(tǒng)接管硬件設(shè)備

  • 讀取/boot目錄

1.2 運(yùn)行init

  • 執(zhí)行init進(jìn)程。

    • init進(jìn)程是所有的進(jìn)程的起點,沒有這個進(jìn)程任何的進(jìn)程都不可能啟動。

  • init進(jìn)程會讀取/etc/inittab配置文件,加載一個運(yùn)行級別

Linux系統(tǒng)有7個運(yùn)行級別(runlevel):
運(yùn)行級別0:系統(tǒng)停機(jī)狀態(tài),系統(tǒng)默認(rèn)運(yùn)行級別不能設(shè)為0,否則不能正常啟動
運(yùn)行級別1:單用戶工作狀態(tài),root權(quán)限,用于系統(tǒng)維護(hù),禁止遠(yuǎn)程登陸運(yùn)行級別2:多用戶狀態(tài)(沒有NFS)運(yùn)行級別3:完全的多用戶狀態(tài)(有NFS),登陸后進(jìn)入控制臺命令行模式
運(yùn)行級別4:系統(tǒng)未使用,保留
運(yùn)行級別5:X11控制臺,登陸后進(jìn)入圖形GUI模式
運(yùn)行級別6:系統(tǒng)正常關(guān)閉并重啟,默認(rèn)運(yùn)行級別不能設(shè)為6,否則不能正常啟動

常用的運(yùn)行模式有3和5。

  • centOS7下可以通過CTRL+ALT+F1切換到圖形化窗口,也可以在命令行窗口中通過init 5切換

  • 通過CTRL+ALT+F6切換到命令行窗口

1.3 系統(tǒng)初始化

★在./etc/init.d的配置文件中存在這一行:si::sysinit:/etc/rc.d/rc.sysinit。這一行調(diào)用執(zhí)行了/etc/rc.d/rc.sysinit。而rc.sysinit是一個shell腳本,他主要完成一些系統(tǒng)初始化的工作,這個腳本每一個運(yùn)行級別運(yùn)行的時候都要首先運(yùn)行。他主要完成了激活交換分區(qū),檢查磁盤等 ”

1.4. 建立終端

  • 打開6個終端,以便讓用戶登錄系統(tǒng)

1.5.登錄系統(tǒng)

2. VIM編輯模式

一般模式:
    vim 文件名
    dd 刪除光標(biāo)所在行 d數(shù)字d刪除光標(biāo)所在以下的多少行
    yy 復(fù)制當(dāng)前行 y數(shù)字y復(fù)制光標(biāo)所在以下的多少行
    u 撤銷上一步操作
    shift^ 回到當(dāng)前行的行首
    shift$ 回到當(dāng)前行的行尾    1 shift g 回到文件首部
    n shift g 跳轉(zhuǎn)到第n行
    shift g 跳轉(zhuǎn)到文件末尾    set nu 開啟行號    set nonu 關(guān)閉行號顯示
編輯模式:
	i , 插入模式,插入的數(shù)據(jù)光標(biāo)的前面、
	a , 插入模式,插入的數(shù)據(jù)在光標(biāo)的后面、
	o , 插入模式,插入的數(shù)據(jù)在光標(biāo)的下一行
指令模式:	:
		q , 退出文件
		w , 寫入文件,相當(dāng)于保存		! , 強(qiáng)制執(zhí)行指令	/target 查找文本中和target相等的值,并且標(biāo)識出來
		n 查詢下一個
		shift n 查詢上一個	? 和 /相同 ,唯一的不同就是n 和shift n 的作用相反

注意:Linux操作系統(tǒng)所有的東西都是文件,沒有文件后綴的區(qū)分。我們看到的文件后綴名字只是為了迎合window的習(xí)慣,增加個人的可讀性

3. Linux用戶和用戶組

用戶操作:
    useradd 用戶名 # 增加一個用戶
    useradd -g 用戶組名字 用戶名 # 將這個用戶添加到這個用戶組中
    passwd 用戶名 # 設(shè)置該用戶的密碼
    userdel 用戶名 # 刪除一個用戶
    	userdel -r 用戶名 # 刪除用戶并且刪除用戶主目錄
    usermod -g 用戶組 用戶名 # 修改這個用戶名到哪個組
    su - 用戶名 # 切換用戶
    whoami / who am i #查看當(dāng)前用戶信息
    id 用戶名 #查看當(dāng)前用戶是否存在
用戶組操作:
	groupadd 用戶組名 # 增加一個用戶組
	groupdel 用戶組名 # 刪除一個用戶組
	groupmod -n 新的名字 舊名字
  • Linux中的用戶信息存放于/etc/passwd文件下,每一行就是一個用戶信息

    44	wangwu:x:1001:1001::/home/wangwu:/bin/bash    45	lisi:x:1002:1001::/home/lisi:/bin/bash
    	用戶名:密碼:用戶唯一標(biāo)識:用戶組唯一標(biāo)識:注釋性描述:用戶文件目錄:登錄shell

**用戶唯一標(biāo)識:**0是root的標(biāo)識;1~99系統(tǒng)保留,作為管理賬戶;普通用戶從100開始

**用戶組唯一標(biāo)識:**它對應(yīng)了/etc/group文件中的一條記錄

**注釋性描述:**記錄用戶的個人信息

**用戶文件目錄:**用戶登錄系統(tǒng)以后所處的目錄

**登錄Shell:**用戶登錄以后,要啟動一個進(jìn)程,負(fù)責(zé)將用戶的操作傳給內(nèi)核,這個進(jìn)程是用戶登錄到系統(tǒng)后運(yùn)行的命令解釋器或者某個特定的程序,即Shell。

  • Linux中的密碼信息存放于/etc/shadow文件下

wangwu:$6$WXky4K1b$rbdtIdxtESyR3DYl8zZnB4lv6KArsIu.aGx1FuZLKneM3o1nZMtWPM.WVYWcsTMAT8G7PAyHjB4.TBUGv6YoG.:18322:0:99999:7:::lisi:$6$XEOvXDHs$4aXlsEh5eTaIukGa9QSSWaC5A5jPFZ2QqyPo.KtccD2CXvcpi6a0NUggmurqCK9b0nCdCLh3/9AaVuXROQL071:18322:0:99999:7:::登錄名:密碼:最后一次的修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間

**最后一次修改時間:**表示的是某一個時刻起,到用戶最后一次修改口令時的天數(shù)

**最小時間間隔:**兩次修改口令之間所需的最小天數(shù)

**最大時間間隔:**口令保持有效的最大天數(shù)

**警告時間:**系統(tǒng)從剛開始警告用戶到用戶密碼正式失效之間的天數(shù)

**不活動時間:**表示用戶沒有登錄活動,單賬號仍能保存的有效天數(shù)

**失效天數(shù):**當(dāng)過了這么多天以后,該賬號就是一個不合法的賬號了

  • Linux中的用戶組信息保存在/etc/group文件下

dev:x:1001:組名:密碼:組標(biāo)識號:組內(nèi)用戶列表

4. 時間日期類

  • date 通過man命令來具體使用

  • cal

5. 文件目錄類

pwd # 顯示當(dāng)前目錄
ls # 顯示當(dāng)前目錄中的所有文件和目錄內(nèi)容	-l 將文件目錄以列表顯示	-a 將隱藏文件也顯示出來,包括.和..
	-d 僅僅列出目錄本身
mkdir # 創(chuàng)建一個文件夾	-p # 創(chuàng)建多層目錄
rmdir # 刪除一個空的文件夾
touch # 創(chuàng)建一個文件
vim # 編輯或者創(chuàng)建文件,如果文件不存在直接編輯以后寫入即可
cd # 切換文件夾	. #當(dāng)前文件夾	.. # 上一級文件夾	~ # 回到用戶目錄	- # 回到上一次所在的目錄
cp # 復(fù)制文件
	cp 需要進(jìn)行復(fù)制的文件 進(jìn)行復(fù)制的文件路徑(可以指定文件的名字,如果不指定使用初始名字)rm # 刪除文件或者文件夾	-r # 直接刪除文件,會出現(xiàn)提示	-f # 遞歸刪除文件,不會提示	-rf
mv #移動文件也可以修改文件的名稱
cat #由第一行開始顯示文件	-A 顯示所有的隱藏內(nèi)容,包括換行符	-b 顯示行號,空白行沒有號	-v 顯示所有的隱藏內(nèi)容
tac
more #一頁一頁的顯示文件內(nèi)容
	顯示以后可以執(zhí)行的指令
		space 下一頁
		enter 下一行
		b 上一頁
		q 離開
less # 和more一樣,功能更多
	先是以后可以執(zhí)行的指令
		pagedown 下一頁
		pageup 上一頁		/ 查找字符串,和vim中的用法相同		?
		n 下一個需要查找的字符串
		N 上一個需要查詢的字符串
		q 離開這個less程序
head # 顯示前幾行文件內(nèi)容
tail # 顯示文件最后幾行的內(nèi)容
history # 顯示所有顯示過的指令內(nèi)容
	將使用過的指令的內(nèi)容寫入到一個文件中
		覆蓋寫:
			history>文件名
		追加寫:
			history>>文件名

6. 網(wǎng)絡(luò)配置類

  • ifconfig

7. 磁盤分區(qū)類

fdisk -l # 查看磁盤分區(qū)信息
設(shè)備 Boot      Start         End      Blocks   Id  System/dev/sda1   *        2048      616447      307200   83  Linux/dev/sda2          616448    36274175    17828864   8e  Linux LVM

sda1
s----> 表示scsi硬盤
d----> 表示disk
a----> 表示第一塊盤。如果有第二塊磁盤就會顯示b
數(shù)字---> 前四個分區(qū)使用1~4顯示,他們是主分區(qū)或者擴(kuò)展分區(qū),從第5個開始才是邏輯分區(qū)
  • 主分區(qū)

相當(dāng)于windowC盤存放了系統(tǒng)啟動需要的文件

  • 擴(kuò)展分區(qū)

除去主分區(qū)以外的所有分區(qū)都是擴(kuò)展分區(qū)

  • 邏輯分區(qū)

在擴(kuò)展分區(qū)中分配多個邏輯分區(qū)

df / # 查看當(dāng)前文件夾或者文件掛載到哪一個分區(qū)
文件系統(tǒng)                   1K-塊    已用     可用 已用% 掛載點/dev/mapper/centos-root 15718400 4542208 11176192   29% /
  • 掛載

Linux通過將固定的目錄或者文件通過掛載的方式掛載到一個磁盤分區(qū)中,以此將目錄與磁盤相聯(lián)系

目錄-->掛載-->分區(qū)

mount 參數(shù)名稱 設(shè)備名稱 目錄 # 將目錄掛載到指定的分區(qū)上
umount 目錄 # 將目錄與分區(qū)接觸掛載

8. 搜索查找類

find 搜索路徑 參數(shù) # 查找指定的文件或者目錄
find /home -name 'lisi'grep 參數(shù) 查找內(nèi)容 源文件在文件中搜索字符串-匹配的行輸出
grep -n 'this' a.txt

參數(shù):
    -c:只輸出匹配行的計數(shù)。    -I:不區(qū)分大小寫(只適用于單字符)。
    -h(huán):查詢多文件時不顯示文件名。
    -l:查詢多文件時只輸出包含匹配字符的文件名。
    -n:顯示匹配行及 行號。
    -s:不顯示不存在或無匹配文本的錯誤信息。
    -v:顯示不包含匹配文本的所有行。

9.進(jìn)程線程類

 ps # 查看正在運(yùn)行的進(jìn)程信息
 PID TTY          TIME CMD  6816 pts/0    00:00:00 bash  9471 pts/0    00:00:00 ps
PID 進(jìn)程識別號
TTY 終端機(jī)號
TIME 此進(jìn)程所消CPU時間
CMD 正在執(zhí)行的命令或者進(jìn)程名字

ps -a 顯示當(dāng)前終端所有進(jìn)程的信息
ps -u 以用戶的格式顯示進(jìn)程信息
ps -x 顯示后臺進(jìn)程運(yùn)行的參數(shù)

通常使用方式:
	ps -aux
	ps -ef
netstat
 顯示整個系統(tǒng)的網(wǎng)絡(luò)狀態(tài),例如目前的鏈接,數(shù)據(jù)包傳輸?shù)?
 使用方式:
 	netstat -anp
 	結(jié)合grep使用
top
顯示CPU的使用率
kill 進(jìn)程ID 9 直接殺進(jìn)程

10. 壓縮和解壓縮

  • .gz。壓縮以后源文件不在了

gzip 文件名 #壓縮文件
gunzip 文件名 # 解壓文件
  • .tar.gz。壓縮以后源文件存在。

tar -zcvf 文件名 # 壓縮文件
tar -zxvf # 解壓文件
  • zip。壓縮后源文件存在

zip 文件名
unzip 文件名

11. 文件權(quán)限類

什么是文件權(quán)限
	執(zhí)行l(wèi)s -l 命令	-rw-r--r--. 1 root root     0 3月   2 15:21 1.txt #代表一個文件
	drwxr-xr-x. 2 root root    21 3月   1 18:29 my #代表一個文件夾
	文件類型及權(quán)限信息 鏈接數(shù)   文件所屬 文件所屬組 文件大小 最后一次修改時間 文件名稱
文件類型及權(quán)限信息
drwxr-xr-x和-rw-r--r--第一位代表文件類型,之后的每三位代表文件權(quán)限
d代表文件夾 - 代表文件
rwx
	文件:r 代表可讀  w 代表可寫 x 代表可以執(zhí)行
	文件夾:r 代表可讀 w 代表可寫 x 代表可以進(jìn)入這個文件夾
第一個rwx代表的是用戶自己的權(quán)限
第二個rwx代表的時候用戶所在組的權(quán)限
第三個rwx代表的是所有其他用戶的權(quán)限
chmod 更改當(dāng)前文件或者目錄的權(quán)限信息
使用方式	
	rwx 三種權(quán)限要么有要么沒有。所以可以理解為二進(jìn)制的0和1,所以只需要指定每一種用戶權(quán)限二進(jìn)制所代表的十進(jìn)制為多少即可
	例如:
		rwx 代表的二進(jìn)制是111 即十進(jìn)制為7
		r_x 代表的二進(jìn)制是101 即十進(jìn)制為5
		r__ 代表的二進(jìn)制位100 即十進(jìn)制為4
	現(xiàn)在需要:修改a.txt文件的用戶權(quán)限為rwx 用戶組權(quán)限為rx_ , 其他用戶權(quán)限為r__
	對應(yīng)的指令為:
	chmod 764 a.txt
	這樣其權(quán)限信息就修改成功了

#只能root修改
    修改文件所在的用戶組
    chgrp 組名 文件名
    修改文件所有者
    chown 用戶名 文件名

# 文件和文件夾存在一種默認(rèn)權(quán)限
    通過命令 umask -S 查看文件和文件夾的默認(rèn)權(quán)限
	u=rwx,g=rx,o=rx # 默認(rèn)權(quán)限

★默認(rèn)規(guī)則: 是666 減去 022等于644, 十進(jìn)制的6等于二進(jìn)制的110,所以第一組就是rw- 十進(jìn)制的4等于二進(jìn)制的100,  所以第二組就是r-- 十進(jìn)制的4等于二進(jìn)制的100,  所以第三組就是r-- 目錄是777 減去 022等于755, ”

12. Linux文件目錄樹

Linux系統(tǒng)基礎(chǔ)入門操作(圖1)
  • /Linux目錄的起始

  • /bin存放了各種Linux的運(yùn)行命令

  • /etc存放了系統(tǒng)的配置文件

  • /opt安裝非系統(tǒng)應(yīng)用軟件提供的目錄

  • /home存放用戶的個人信息

  • /usr存放用戶的應(yīng)用程序和文件,類似于window的program

  • /mnt用來讓系統(tǒng)掛載其他的文件系統(tǒng),可以掛載光驅(qū)

  • /media Linux識別各種設(shè)備,會將這些設(shè)備掛載到這個目錄上

  • /sbin系統(tǒng)管理員使用的系統(tǒng)管理程序

  • /boot系統(tǒng)加載時候讀取的文件

  • /sys安裝了Linux出現(xiàn)的新的文件系統(tǒng)

  • /dev存放了Linux的外部設(shè)備

  • /var存放經(jīng)常需要改動的文件,比如日志文件

  • /rootroot用戶的主目錄

  • /temp臨時文件

  • /lib存放各種動態(tài)鏈接庫

13. rpm

★類似于node提供的npm 是一種軟件包管理工具 ”

rpm -qa 查詢安裝的所有的rpm軟件包
	結(jié)合more 和 grep使用
rpm -q 查詢軟件包是否安裝
rpm -qi 查詢軟件包信息

#卸載軟件
rpm -e rpm軟件包名稱

#安裝軟件
rpm -ivh rpm軟件包名

14. Shell

★一種C語言編寫的程序,用戶和Linux溝通的橋梁。就是我們在命令行中輸入的命令就是Shell語言 ”

15.內(nèi)存類

  • cat /proc/meminfo 查看內(nèi)存信息

MemTotal:        1863104 kB 總內(nèi)存
MemFree:           81320 kB 空閑內(nèi)存
MemAvailable:     631160 kB 可用內(nèi)存
Buffers:             220 kB 緩沖區(qū)內(nèi)存
Cached:           760552 kB 緩存內(nèi)存
SwapCached:            0 kB
Active:           971044 kB
Inactive:         476132 kBActive(anon):     638052 kBInactive(anon):   165052 kBActive(file):     332992 kBInactive(file):   311080 kB
  • free顯示系統(tǒng)內(nèi)存的使用情況,結(jié)合-h使用

total        used        free      shared  buff/cache   available
Mem:           1.8G        917M         91M        109M        810M        628M
Swap:          2.0G        264K        2.0G
  • top實時顯示各個進(jìn)程資源占用情況

Linux系統(tǒng)基礎(chǔ)入門操作(圖2)
PR 進(jìn)程優(yōu)先級
NI nice值。負(fù)值代表高優(yōu)先級,正值代表低優(yōu)先級
VIRT 虛擬內(nèi)存
RES 實際使用的內(nèi)存
SHR 共享內(nèi)存大小 單位kb
S 進(jìn)程狀態(tài)%cpu 上次更新到現(xiàn)在的CPU時間占用比%MEM 進(jìn)程使用的物理內(nèi)存百分比
TIME 使用CPU的時間
  • ps -aux|sort-k4nr-head-10查看內(nèi)存中使用最多的前10個進(jìn)程

16.系統(tǒng)安全設(shè)定

★前言:早晨起來,看到騰訊云親切的提醒,您的云服務(wù)器疑似被黑客入侵。請到控制臺查看具體的信息。上服務(wù)器一看,XX,從昨天下午15:00到今天早晨8:00一直暴力訪問,最終還登錄成功了……沒辦法,筆者設(shè)置的密碼過于簡單。 ”

16.1 開啟用戶登錄次數(shù)限制

vim /etc/pam.d/system-auth
vim /etc/pam.d/ login
vim /etc/pam.d/sshd

上面三個文件中的第二行添加這行配置

auth required pam_tally2.so onerr=fail deny=3 unlock_time=30 even_deny_root root_unlock_time=100
  • pam_tally2.so 一個安全模塊

  • deny 輸入錯誤的次數(shù)

  • unlock_time 到達(dá)次數(shù)上限以后鎖定賬戶30秒

  • even_deny_root    root賬戶也是該次數(shù),可以自己指定

  • root_unlock_time  次數(shù)上限以后,鎖定100秒

此時這個pam_tally2安全模塊就設(shè)置成功了

當(dāng)輸入超過設(shè)置的次數(shù)以后就會提示該賬戶已經(jīng)被鎖定,輸入正確的密碼也不能登錄

查看被鎖定的賬戶

pam_tally2                             查看被鎖定的用戶

pam_tally2  --reset  -u  username      將被鎖定的用戶解鎖

16.2 用戶權(quán)限管理

最好可以有一個啟動服務(wù)的賬戶,僅僅給予其執(zhí)行的權(quán)限

密碼!密碼!密碼

一定要復(fù)雜,不然暴力破解很簡單。想想自己的密碼,心中麻麻批。最后設(shè)置了一個18位的密碼。再給我暴力破解??浚?/p>

16.3服務(wù)器被暴力破解怎么辦

★最壞的情況:和筆者一樣,被暴力破解了。 ”

top # 查詢CPU的執(zhí)行情況,看看有沒有什么不熟悉的應(yīng)用執(zhí)行,防止木馬,有木馬查看其名字,先殺在刪

grep -o "Failed password" /var/log/secure | uniq -c  #查看被暴力攻擊的次數(shù)

grep "Failed password" /var/log/secure |head -1 #獲取第一條暴力攻擊的時間
grep "Failed password" /var/log/secure |tail -1 #獲取最后一條暴力攻擊的時間
#到這里你就知道此人的攻擊時間和IP了

# 這個是查詢所有進(jìn)行暴力的IP。一串正則……腦殼痛
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c | sort -nr

# 查看所有被暴力的用戶名
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
  • 如果你發(fā)現(xiàn)他登錄成功了

# 查詢登錄成功的用戶,然后根據(jù)時間,看看使用哪一個賬戶登錄的,這個也可以作為你看他是不是有木馬的依據(jù),以這個被入侵的用戶為條件搜索
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'# 登錄成功的IP
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more


云浪科技11年互聯(lián)網(wǎng)服務(wù)品牌,可為您提供高端網(wǎng)站建設(shè)、小程序開發(fā)、app開發(fā)、軟件開發(fā)、域名注冊、云服務(wù)器開通、企業(yè)郵箱開通、ICP備案等服務(wù),已為上千家用戶竭誠服務(wù),期待與您合作。


Tag:
來源聲明:Linux系統(tǒng)基礎(chǔ)入門操作》系云浪科技編輯或采編整理,以上內(nèi)容部分(包含圖片、文字)來源于網(wǎng)絡(luò),如有侵權(quán),請及時與本站聯(lián)系。