馬哥linux運維1~14講筆記+自我知識儲備補充

1~14主要是linux基礎命令(略)、根文件系統、文件管理命令、用戶及權限、用戶管理命令

1.bash特性講解

在這裏插入圖片描述
定義:在計算機科學中,Shell俗稱殼(用來區別於核),是指“爲使用者提供操作界面”的軟件(命令解析器)。它類似於DOS下的command.com和後來的cmd.exe。它接收用戶命令,然後調用相應的應用程序。

#1.1bash

//在shell中可以繼續打開shell,稱爲子shell,用exit退出。父子shell間無繼承關係,在父shell運行的在子無效,反之也無效。
在這裏插入圖片描述

1.2#Csh

//shell可嵌套可交互,比如在在csh裏亦可執行ksh,本質上只是每層shell都覺得自己僅僅運行了命令。在這裏插入圖片描述Bash支持的項:
在這裏插入圖片描述

1.3shell的變量功能:

變量簡單說就是讓某一個特定字符串代表不固定的內容。
設置變量(變量名的規則:用“=”連接;等號兩邊不能有空格符;只能使用數字和字母,且不能用數字開頭;):
myname=hibiscus
取消變量:unset 變量名稱
優點:
命令與文件補全功能
命令別名設置功能
命令記憶功能
通配符等等

1.4shell中的通配符

bash中常用的通配符有”*“,”?“,”[]“
*表示匹配任意一個或多個字符
?表示匹配任意單一字符
[]匹配任何包含在方括號內的單字符

shell中的引用:在bash中有很多特殊字符,這些特殊字符就具有特殊含義。引用就是通知shell將這些特殊字符當作普通字符來處理。

    轉義字符“\”:如果將\放到特殊字符前面,shell就忽略這些特殊字符的原有含義,把它們當作普通字符對待。
	單引號:如果將字符串放到一對單引號之間,那麼字符串中所有字符的特殊含義被忽略。
	ll -d  1'*'
	雙引號:雙引號的引用與單引號基本相同,包含在雙引號內的大部分特殊字符可以當作普通字符處理,但是仍然有一些特殊字符保留自己的特殊含義,比如”$“和“\”以及“ ` ”

2.命令行編輯:

2.1光標跳轉:

Ctrl+a:跳到命令行首
Ctrl+d輸入已結束。在shell下相當於exit
Ctrl+c鍵盤中斷請求,終止當前的命令
Ctrl+e:跳到命令行尾
Ctrl+u:刪除光標至命令行首的內容
Ctrl+k:刪除光標至命令行尾的內容
Ctrl+左右箭頭:圖形界面下可跳到前一個單詞前
Ctrl+l:clear,清屏
ctrl+s ctrl+q 暫停/恢復屏幕輸出

在這裏插入圖片描述在這裏插入圖片描述Esc 鬆開 再. :和!$一個作用

Alt和.同時:和!$一個作用,不支持遠程使用

2.2文本操作

文本編輯:vim
	命令模式:按esc回到命令模式
	yy 複製當前行
	2+yy 複製當前行和下一行
	p粘貼
	dd 刪除當前行
	2dd刪除當前行和下一行
	dw按單詞刪除
	u 撤銷當前操作
	w,b 按單詞移動光標
	gg 跳轉到文檔首部行首
	G 跳轉到文檔尾部行首
	/字符串 查找字符串
	插入模式:
	i 在光標前插入=I
	a 在光標後插入
	A 在光標所在行末尾插入
	s 刪除光標所在位置字符並插入
	S 刪除光標所在行並插入
	o 在光標所在行下一行插入
	O 在光標所在行上一行插入
	末行模式:
	:wq 保存退出
	:q!強制退出,不保存
	:wq!強制保存退出
	:set nu 顯示行號
	:set nonu 取消顯示行號
	:3,5 d 刪除第3-5行
	:r 文件名 讀出文件的內容到當前文件中
	:%s/字符串2/字符串3 用字符串3替換字符串2
	:%s/字符串2/字符串3/g 用字符串3替換字符串2,全局修改
	:w 文件名1 另存爲文件名1
文本查看命令:
	cat連接並顯示文件內容到標準輸出
	cat -n 顯示文件內容並顯示行號
	
	逆序顯示文件:tac
	
	從頭開始逐行查看文件內容:more(在沒有翻到最後一屏時支持向後翻)
	
	支持前後翻查看文件內容:less(man手冊查看命令用法默認用less打開)
	默認查看文件前10行:head
	指定查看前n行:head -n 
	默認查看文件後10行:tail
	指定查看後n行:tail -n 
文本切割顯示:
	cut -d 指定分隔符 -f 指定第幾列(被切割文件
	指定分隔符的時候空格需要用引號‘’引起來)

文本排序顯示:
	排序顯示(默認根據字符在ASCII碼中的升序排序):sort 文件名
	按照數字大小排序:sort -n 文件名
	排序並去掉重複的:sort -u 文件名
	逆序排序:sort -r 文件名
	按照用戶uid數字大小排序顯示:
	sort -t 指定分隔符 -k 指定第幾列 -n /etc/passwd
   -f	排序時忽略字符大小寫 
去掉重複的行,重複的行必須相鄰:uniq 文件名
	-d	只顯示重複的行
	-D	顯示所有重複的行
	-c	顯示重複行重複的次數
文本統計:wc——word count
	顯示文件行數、單詞數、字節數和文件名:wc 文件名
	###在UTF-8編碼格式裏面,顯示時一個字符佔一個字節,一箇中文字佔用3個字節
	只顯示單詞數:wc -w 文件名
	只顯示字節數:wc -c 文件名
	只顯示行數:wc -l 文件名
	只顯示字符數:wc -m 文件名
	顯示最長的一行的字符數:wc -L 文件名

管道符:管道符左邊命令的輸出作爲管道符右邊命令的輸入。
tee命令:在輸出到文件的同時輸出到屏幕,既想把輸出保存到文件中,又想在屏幕上看到輸出內容。

文本過濾:grep可以根據指定的字符串,對文件的每一行進行搜索,如果找到了這個字符串,就輸出該行的內容	

	查找文件裏有字符h的字符串:grep h 文件名
	如果要明確搜索子目錄:grep -r h ./*
	忽略子目錄:grep -d skip h ./*
	匹配整個單詞:grep -w 單詞 文件名
	匹配以q開始的行:grep ^[q] 文件名
	匹配以q結束的行:grep q$ 文件名
	匹配以數字開頭的行:grep ^[0-9] 文件名
    匹配以q或者f開頭的行:grep ^[qf] 文件名

文件搜索:
	查找文件路徑:
	find 路徑 -name 文件名:find / -name passwd

3.Linux系統

-rw-------. 1 root root 1792 Aug 21 20:57 anaconda-ks.cfg

依次表示:
-文件類型 rw-所屬用戶的權限 —所屬組的權限 —其他用戶的權限 .acl 1硬鏈接次數 root所屬者 root所屬組 1792文件大小 文件的最後一次修改時間 文件

3.1 文件

3.1.1文件類型:

-普通文件
d 目錄文件
c 字符設備文件
b 塊設備文件
-p 管道文件,進程間的通信
s 套接字文件,用於網絡上的通信。可以啓動一個程序來監聽客戶端的要求,客戶端可以通過套接字來進行數據通信
l 鏈接文件
硬鏈接

  • ln 原文件 新文件
    軟鏈接
  • ln -s 原文件 鏈接文件

3.1.2文件操作

創建文件:
	文件命名規則:
	(1)不能使用/來當文件名,/是用來做根的,也是用來做路徑分隔符
	(2)文件名不能超過255個字符
	(3)區分大小寫
	
創建普通文件:touch 
		touch {文件1,文件2,文件3}   	創建多個文件
刪除普通文件:rm
	-f 強制刪除

創建目錄:mkdir 
		mkdir -p  目錄1/目錄2/目錄3  	 遞歸創建多個目錄
		-v 顯示創建目錄的詳細信息
刪除目錄:rm -r 
	-f 強制刪除
	
複製文件:cp
	複製普通文件:
	cp 文件1 目錄1 			將文件1複製到目錄1
	cp 文件1 目錄1/文件2 	將文件1複製到目錄1並重命名
	複製目錄文件:cp -r 

移動文件:mv
	mv 文件1 文件2 			將文件1重命名爲文件2
	mv 文件1 目錄1			將文件1移動到目錄1下
	mv 文件1 目錄1/文件2    將文件1移動到目錄1並重命名
文件的壓縮和解壓:
	gzip 文件						壓縮文件
	gzip -c 原文件 > 原文件.gz 		保留原文件並壓縮
	gzip -d 文件.gz 				解壓文件
	gzip -cd 文件.gz > 文件			保留原文件並解壓
	gunzip 文件.gz					解壓文件
	zcat 文件.gz 					查看壓縮文件內容
	
	bzip2 文件						壓縮文件
	bzip2 -c 原文件 > 原文件.bz2	保留原文件並壓縮
	bzip2 -d 文件.bz2 				解壓文件
	bzip2 -cd 文件.bz2 > 文件		保留原文件並解壓
	bunzip2 文件.bz2					解壓文件
	bzcat 文件.bz2 					查看壓縮文件內容
	
tar:打包即歸檔文件,[主選項+輔選項]
	主選項:
		c create,創建一個歸檔文件
		x 從歸檔文件中提取文件出來
		t 列出歸檔文件中的文件
	輔選項:
		z,以gzip的格式壓縮或解壓
		j,以bzip2的格式壓縮或解壓
		v,顯示打包過程的信息
		C,將文件解壓到指定目錄
		
	f 輸出結果到文件,必須寫該選項
	
	兩種壓縮方式:zcvf jcvf
	解壓:xvf

3.2權限

用戶:擁有哪些權限
用戶組:權限的集合,方便指派權限
權限:可以進行什麼操作:R,w,x:可讀可寫可執行

一般文件不設置執行權限,目錄要有,沒有x權限用戶就無法進入該目錄。
在這裏插入圖片描述
特殊權限:
強制位suid,set UID,使進程的屬主屬於程序文件本身u+s
強制位sgid,set gid,使進程的屬組爲程序文件本身;在目錄下創建的文件的屬組爲該目錄的屬組g+s
冒險位:只有該用戶可以刪除自己在該目錄下創建的文件,其他人無法刪除(root除外)o+t

umask查看權限掩碼:0022
4,suid;2,sgid;1,冒險位
普通文件本身的權限:666 rw-rw-rw-
目錄文件本身的權限:777 rwxrwxrwx

在這裏插入圖片描述將二進制權限的有無轉化爲八進制。爲什麼用八進制,因爲三位一讀,便於快速賦權限。(便於記憶,可視r w x分別等值4 2 1)

u 所屬者
g 所屬組
o其他人

chmod u/g/o =/+/-    		修改文件的權限所屬者,所屬組和其他人的權限
chmod 000/777/755/644....
修改文件的權限所屬者,所屬組和其他人的權限

chown 所屬者:所屬組 		修改文件的所屬用戶和所屬組
chown 所屬者.所屬組   		修改文件的所屬用戶和所屬組
chgrp 所屬組   				修改文件的所屬組

在這裏插入圖片描述

用戶

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

3.3 目錄

/		根目錄,通常不在這裏存儲文件
/bin	可執行文件,ls,cd
/sbin     可執行文件
/boot	開機啓動的文件,包括linux內核以及開機菜單與開機所需配置文件等
/dev	設備文件,任何設備與接口設備都是以文件形式存在與這個目錄的
/root	root用戶的主目錄
/home	普通用戶的主目錄
/mnt	掛載點目錄
		光盤必須和/下的某個目錄節點建立聯繫才能使用。
		把光盤和指定的掛載點目錄建立聯繫的過程叫做掛載。
		mount /dev/sr0 /mnt
/media	媒體目錄,也是掛載點目錄
/opt	可選目錄。存放第三方軟件包和數據文件
/var	可變目錄,用以存放經常變化的文件,如日誌文件
/etc	配置文件
/lib        系統的函數庫
/proc   該目錄是一個虛擬文件系統,它放置的數據都在內存當中
/run       系統運行時所需文件
/usr      放置的數據爲可分享的與不可變動的,unix操作系統軟件資源所放置的目錄,而不是用戶數據
/srv          service的縮寫,是一些網絡服務啓動之後,這些服務所需要取用的數據目錄
/tmp       讓一般用戶或者是正在執行的程序暫時放置文件的地方
/sys          這個目錄其實跟/proc非常類似,也是一個虛擬的文件系統,主要是記錄與內核相關的信息

3.4acl

acl 訪問控制列表
setfacl -m u/g:用戶名/組名:rwx 文件名
getfacl 文件名
setfacl -b 文件名

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章