Linux 簡述與基礎命令


Linux

1. Linux 簡介

  • Bell 實驗室 Ken Thompson 創造了 C 語言,並根據 Multics 項目開發出 Unix。Linux 是基於 Unix 的開源免費的多用戶操作系統,由 Linus Torvalds 開發和維護其核心代碼。
  1. 內核版本:在 Linus Torvalds 領導下的內核小組開發維護的系統內核的版本號,主要處理與 CPU 和內存的交互。
  2. 發行版本:一些個人/組織/公司在內核版基礎上進行二次開發而重新發行的版本號。主流的發行版本如下:

在這裏插入圖片描述

  • CentOS 是對 redhat 的完整複製,前者免費但是不提供技術支持。

2. VMware 虛擬機

a. 安裝虛擬機

  • 安裝成功後,會多出二個網卡:VMNet1 和 VMNet8。
    在這裏插入圖片描述

b. 備份與還原

在這裏插入圖片描述
在這裏插入圖片描述

c. 基礎操作

ctrl + alt					跳出虛擬機
alt + 回車					跳過自動檢查映射文件
ifconfig					獲取 IP地址
CMD: ping IP地址			測試鏈接虛擬機

3. SecureCRT 遠程鏈接工具

  • 連接 Linux 的 Windows 客戶端工具有很多,企業中常用的有 secureCRT、Putty、xshell、SSH Secure 等。

a. 基礎操作

左擊選中,右擊粘貼
ctrl + l 或 clear			清屏
ctrl+c						強行終止程序執行

b. pwd 查詢所在路徑

/root 或 /					表示根目錄
~							表示當前用戶目錄
l							開頭是 link,即快捷方式
d							開頭是文件

4. Linux 目錄結構

在這裏插入圖片描述

  • root 目錄:超級管理員所在的目錄,用 ~ 表示
  • home 目錄:普通用戶所在的目錄
  • usr 目錄:安裝用戶文件所在的目錄
  • etc 目錄:Linux 系統管理和配置文件所在的目錄

5. 文件夾(目錄)操作命令

a. ls 文件結構

ll -a
-l							以詳細形式查詢當前目錄下所有文件和目錄,不包括隱藏文件和目錄
-a							以精簡形式查詢當前目錄下所有文件和目錄,包括隱藏文件和目錄
ls 							以精簡形式查詢當前目錄下的內容
ls -l 或 ll					以詳細形式查詢當前目錄下的內容,d表示目錄,-表示文件;此命令可以簡寫爲ll
ls -a						以精簡形式查詢當前目錄下的隱藏內容
ls -la 或 ll -a				以詳細形式查詢當前目錄下的隱藏內容,la和al都可

b. cd 跳轉

/							跳轉到根目錄路徑
cd							絕對路徑或相對路徑
cd ~ 或 cd					當前用戶目錄
cd /						根目錄
cd -						上一次訪問的目錄
cd ..						上一級目錄

c. mkdir 創建

mkdir -p
--help						獲取幫助
-p 文件夾名稱				一次性創建多級目錄,如果目錄存在不會覆蓋
mkdir aaa					在當前目錄下創建aaa目錄,相對路徑
mkdir ./bbb					在當前目錄下創建bbb目錄,相對路徑
mkdir /ccc					在根目錄下創建ccc目錄,絕對路徑
mkdir /ddd/eee				在根目錄下創建ddd目錄和eee子目錄

d. find 搜索

find 指定路徑 -name '關鍵字'
find / -name  'b'			查詢根目錄下(包括子目錄),名爲 b 的目錄和文件
find / -name  'b*'			查詢根目錄下(包括子目錄),名以 b 開頭的目錄和文件
find / -name  '*.cfg'		查詢根目錄下(包括子目錄),擴展名是 cfg 的目錄和文件

e. mv 修改

mv 原目錄 新目錄				修改(僞改名)
mv aaa aaaa					將當前目錄下的aaa目錄修改爲aaaa
mv ./aa ./aaa				同上,./代表相對路徑,可以省略

f. mv 剪切

mv 原目錄位置 新目錄的位置	剪切(支持改名)
mv ./aaa /aa				將當前目錄下的aaa目錄,移動到根目錄下,且修改名爲aa(在根目錄時/可以省略)
mv  aaa usr					將當前目錄下的aaa目錄,移動到已存在的目錄usr目錄下,在/usr目錄下名字爲aaa
mv  aaa usr/aa				將當前目錄下的aaa目錄,移動到已存在的目錄usr目錄下,且修改名爲aa

g. cp 複製

cp -r 目錄					目錄的新位置 複製(支持改名)
-r							遞歸複製,將指定目錄下的文件與子目錄一併處理
cp -r /aaa /usr				將/目錄下的aaa目錄複製到已存在的目錄usr目錄下,在/usr目錄下名字爲aaa
cp -r /aaa /usr/aaaa		將/目錄下的aaa目錄複製到已存在的目錄usr目錄下,且修改名爲aaaa

h. rmdir 刪除

  • 只能刪除空文件夾,也就是說只能逐個刪除,所以很少用 rmdir。
-p							刪除目錄及其父目錄 
rmdir bbb/ccc				刪除bbb目錄下ccc目錄
rmdir -p bbb/ccc			刪除bbb目錄和ccc子目錄

6. 文件操作命令

a. touch 創建

touch  a.java				在當前目錄中創建a.java文件
touch  b.txt				在當前目錄中創建b.txt文件
touch  c.xml				在當前目錄中創建c.xml文件

b. cat more less head tail 查看

cat a.java					查看a.java文件的最後一頁內容
more a.java					從第一頁開始,按回車鍵換行,按空格健翻頁,q退出
less a.java					從第一頁開始,按回車鍵換行,按空格健翻頁,支持使用PgUp和PgDn翻頁,q退出
head a.java					查看a.java文件的前10行內容
tail a.java					查看a.java文件的後10行內容
head -n 7 a.java			查看a.java文件的前7行內容
tail -n 7 a.java			查看a.java文件的後7行內容

技巧
	輸文件名稱時,按tab會自動補全
	如果查看頁面數據:cat
	如果查看多頁數據:less
		回車:下一行
		空格:下一頁
		PGUP:上一頁
		PGDN:下一頁
		q退出
	查看頭部幾行:head 
	查看尾部幾行:tail

c. rm 刪除

rm -rf						目錄或文件
-r							遞歸處理,將指定目錄下的所有文件及子目錄一併處理,它會詢問你,y表示是刪除,n表示不刪除
-f							強制刪除,它不會再詢問你
rm -rf a.java				強行式刪除當前目錄下的a.java文件
rm -rf ./a*					強行式刪除當前目錄下以a開頭的所有文件
rm -rf /					刪庫,慎重使用

d. Vi Vim 編輯

  • Linux 下的 Vi 是一種文字編輯器,後來的升級版本是 Vim,一般使用 Vim。 Vi 分爲三種模式:命令行、插入、底行模式。
簡單使用
	vim a.java
	i 切換到插入模式
	esc 切換到命令行模式
	:wq! 保存並退出 | :q! 直接退出


切換到插入模式
	i 在當前位置前插入
	I 在當前行首插入
	a 在當前位置後插入
	A 在當前行尾插入
	o 在當前行之後插入一行
	O 在當前行之前插入一行

切換到命令行模式
	按Esc鍵
	yy	複製當前行
	p	粘貼
	dd	刪除當前行
	G	到文件的最後一行
	gg	到文件的第一行  
        
切換到底行模式
	按 :(冒號)
	:wq	保存退出
	:q	退出vi(文件無修改的情況下)
	:q!	不保存強制退出.

非正常退出,無法編輯
	rm -rf 隱藏臨時文件夾(如.a.java.swp)

7. 文件壓縮命令

  • Windows 打包和壓縮是一起的,而 Linux 打包和壓縮是分開的。
Windows 的壓縮文件的擴展名:.zip或.rar
Linux 中的打包文件擴展名:.tar
Linux 中的壓縮文件擴展名:.gz
Linux 中打包壓縮的文件擴展名:.tar.gz

a. tar -zcvf 將文件打成壓縮包

語法
	tar -zcvf 打包壓縮後的文件名 要打包的文件			打包並壓縮
	
	tar -cvf  ***.tar a.java b.java c.xml d.txt		打包
	tar -zcvf ***.tar.gz a.java b.java c.xml d.txt	打包並壓縮
	tar -zcvf haha.tar.gz ./*						將當前目錄下的所有文件打包壓縮成haha.tar.gz文件
		
參數解釋
	-z 調用gzip壓縮命令進行壓縮
	-c 打包文件
	-v 顯示運行過程
	-f 指定文件名

支持通配符*的使用
	tar -cvf  ***.tar *.java *.java *.xml *.txt		打包當前目錄下指定類型的所有文件
	rm -rf ./*.java									強制式刪除當前目錄下所有擴展名爲java的文件

b. tar -zxvf 解壓縮包獲得文件

語法
	tar -zxvf 壓縮文件						解壓後的文件放在當前目錄中
	tar -zxvf 壓縮文件 –C指定目錄			解壓後的文件放入指定目錄中,注意-C是大寫字母C,後面不用接空格符
	tar  -xvf  haha.tar.gz -C/usr/local		解壓haha.tar.gz這個壓縮文件,裏面的文件釋放到/usr/local目錄下
	tar  -xvf  haha.tar.gz					解壓haha.tar.gz這個壓縮文件,裏面的文件釋放到當前目錄下
			
參數解釋
	-z 自動識別壓縮或解壓
	-x 取出文件中的內容
	-v 輸出文件清單
	-f 文件名由命令臺設置

8. 文件權限命令

  • Linux 中對每個目錄和文件都做了規定,只能由滿足條件的用戶才能操作,這個規定叫權限。
    在這裏插入圖片描述
語法
	chmod	[參數]	[<權限範圍><符號><權限代號>]
	chmod -R 777 
		
參數解釋
	-R 遞歸處理,將指定目錄下的所有文件及子目錄一併處理
		
權限範圍
	u:User,即文件或目錄的擁有者。 
	g:Group,即文件或目錄的所屬羣組。 
	o:Other,除了文件或目錄擁有者或所屬羣組之外,其他用戶皆屬於這個範圍。 
	a:All,即全部的用戶,包含擁有者,所屬羣組以及其他用戶。
        
符號解釋
	+ 添加權限
	- 取消權限
	= 重置權限
			
權限代號
	r:讀取權限,數字代號爲"4"
	w:寫入權限,數字代號爲"2"
	x:執行或切換權限,數字代號爲"1"
	-:不具任何權限,數字代號爲"0"
    		
命令
	chmod u+x 1.txt			給1.txt的擁有者添加執行權限,這種寫法稍微有點麻煩,開發中一般使用數字代號
	chmod 755 1.txt			給1.txt的擁有者設置讀寫執行權限,給所屬組添加讀和執行權限,給其他用戶添加讀和執行權限
	chmod -R 777 a.txt		給所有人添加對此文件操作的所有權限

9. 其他命令

a. pwd 顯示工作目錄

語法
	pwd

b. ps -ef 查看進程

語法
	ps -au		顯示客戶端打開的程序進程
	ps -ef		當前用戶打開的程序進程
		
參數解釋
	-a 顯示所有用戶通過終端啓動的所有進程
	-A 顯示所有進程
	-u 顯示所有用戶通過終端啓動的所有進程詳細信息
	-x 顯示所有用戶通過終端和非終端啓動的所有進程詳細信息
	-e 此參數的效果和指定"A"參數相同,顯示所有程序
	-f 顯示UID,PPID,C與STIME欄位
  • 主要是爲了看 PID(Processing IDentification)或 PPID(Parent PID)

c. kill pid 殺死進程

  • 中括號 [ ] 包括的無法被刪除
語法
	kill 進程號			溫柔殺,正常退出
	kill -9 進程號		暴力殺,直接退出

d. grep 文本搜索

語法
	grep [參數] 搜索字符串 文件名

參數解釋
	默認 大小寫敏感
	-i   	搜索時不區分大小寫
	-n   	顯示匹配行及行號
	-v   	顯示不匹配行(reverse)
	-vn		顯示不匹配行及行號
		
命令
	grep as 123.txt				在123.txt文件中搜索as字符串,大小寫敏感,顯示行		
	grep -n as 123.txt			在123.txt文件中搜索as字符串,大小寫敏感,顯示行及行號
	grep -v as 123.txt			在123.txt文件中搜索as字符串,大小寫敏感,顯示沒搜索到行
	grep -i as 123.txt			在123.txt文件中搜索as字符串,大小寫不敏感,顯示行
	grep -ni "Q q" 123.txt	    在123.txt文件中搜索Q q字符串,大小寫不敏感,顯示行及行號

e. | 管道

語法
	xx | xx						一個命令的輸出用作另一個命令的輸入
		
命令
	ls --help | more			分頁查詢幫助信息
	ps -au | grep system 		在ps -au的結果中,搜索字符串system

f. poweroff 關機

語法
	poweroff					需要手動開啓虛擬機和登錄,並重新連接

g. reboot 重啓

語法
	reboot						可以正常連接,刷新連接即可,不需要遠程登錄

10. Linux 網絡

a. 網絡(卡)服務

  • 查看當前網絡的狀態,並啓動和停止網絡服務。
查看ip
	ifconfig :CentOS6版本
	ip addr  :CentOS7版本
		
修改網卡ip
	vim /etc/sysconfig/network-scripts/ifcfg-ens33
		
概要信息如下		
	DEVICE=ens33                  	#網卡名稱
	TYPE=Ethernet               	#網卡類型 以太網
	ONBOOT=yes                  	#是否開機就使用此網卡   在我們安裝的時候都已經配置好
	BOOTPROTO=dhcp    				#啓動網卡時指定獲取IP地址的方式
		常用取值:dhcp               (自動獲取ip地址,網關,子網掩碼等信息無需設置) 
		常用取值:static             (靜態ip,如需要訪問網絡,需要自己設置ip地址等信息) 
		其他取值:none               (不指定)
            
	IPADDR=192.168.200.133    		#ip地址
	GATEWAY=192.168.200.2     		#網關
	NETMASK=255.255.255.0     		#子網掩碼
	DNS1=8.8.8.8			  		# Google提供的公用DNS       

重啓網卡服務
	systemctl status network		查看指定服務的狀態
	systemctl stop network			停止指定服務
	systemctl start network			啓動指定服務
	systemctl restart network		重啓指定服務

在這裏插入圖片描述
在這裏插入圖片描述

b. 防火牆服務

  • 防火牆類似於一個安全衛士管家,它能對你訪問它人電腦,它人訪問你的電腦,進行攔截並處理,有的阻止,有的放行,有的轉發。
    在這裏插入圖片描述

① 防火牆設置

開啓防火牆
	systemctl start firewalld
		
重啓防火牆
	systemctl restart firewalld
		
關閉防火牆
	systemctl stop firewalld
		
設置開機啓動
	systemctl enable firewalld
		
停止並關閉開機啓動
	systemctl disable firewalld
		
查看防火牆狀態
	systemctl status firewalld 或者 firewall-cmd --state
		
查看防火牆開機時是否啓動
	systemctl list-unit-files | grep firewalld		類似於Windows的services.msc

② 端口設置

添加
	firewall-cmd --zone=public --add-port=80/tcp --permanent
		
更新防火牆規則
	firewall-cmd --reload
		
查看
	firewall-cmd --zone=public --query-port=80/tcp	指定端口防火牆狀態
	firewall-cmd --zone=public --list-ports			全部端口防火牆狀態
		
刪除
	firewall-cmd --zone=public --remove-port=80/tcp --permanent
				
常用端口
	8080	tomcat
	80		http協議
	443		https協議
	22		ssh遠程連接
	3306	mysql
	6379	redis

原文鏈接:https://qwert.blog.csdn.net/article/details/106394980

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