1. 程式人生 > >Linux的常用基本操作命令

Linux的常用基本操作命令

基本操作:

	Ctrl+L	清空螢幕(清屏)其實還在往上面還是能翻到

目錄操作:

	cd ..  進入到父目錄目錄中,也就是父資料夾

	cd ~   進入到當前操作賬號目錄中

	cd /   進入到根目錄中

	cd  ./my/jar 	進入到當前目錄下面的my下面的jar資料夾
	
	ls系列後面跟上蠶引數目錄不需要去木變資料夾即可查詢

	例如:ls /root

	ls 	檢視當前檔案下面的所有資料夾及檔案

	ls -l 	以列的方式顯示目錄也有簡潔方式

	ll	這就是ls -l的簡單方式

	ls -lh	將檔案的大小以kb,m,g等方式顯示(注:不會統計資料夾的大小,只會統計檔案的大小)

	ls -la	檢視當前使用者根目錄下的所有檔案例如(root使用者)

	pwd	顯示當前目錄

	查詢檔案或者子資料夾

	ls | grep 名稱

	例如:

		ls | grep kang

	就能模糊查詢到有kang關鍵字的檔案和資料夾

	檢視資料夾下面所有的檔案

		find 檔名

	檢視所有檔案進行篩選

		(注意這個是根據索引來搜尋的,會自動的在0點的時候更新索引如果虛擬機器關了則不重新整理,

			需要手動重新整理才能搜尋的到,而且不會給臨時資料夾下的檔案建立索引)

			updatedb

		locate 查詢條件

			locate  my查詢所有和my有關的檔案和資料夾
	
	時間:


		date	顯示當前時間  格式化日期

			date +%Y年%m月%d日' '%H點%M分%S秒   ------》 2018年10月23日 10點35分32秒

			date +%F' '%T			    ------》 2018-10-23 10:36:52

		cal	顯示當前日曆
			
			可以使用cal  --help檢視幫助

			cal -y				    顯示一整年的日曆

	對資料夾的操作

		新建資料夾:mkdir 檔名

			例如 : mkdir kang  這樣就新建了一個叫做kang的資料夾

		移動:mv  檔名    路徑

			例如:mv myjar /root/a/myjar

			這樣我們就將當前的檔案移動到了    根目錄下的root資料夾下的a資料夾下的叫做myjar的檔案
		


	檔案操作:

		建立檔案:

			vim 檔名

				例如:
					vim hello.java,這樣就建立了一個叫做hello.java的一個檔案,進入之後我們可以在裡面寫入資料
					,然後按一下Esc然後:wq儲存並退出,更多操作可以百度vim編輯器

			>> 檔名 
				
				例如:

					>> hello.java 這樣就建立了一個叫做hello.java的檔案,

	複製檔案或資料夾:

		檔案:

			cp  檔案  要複製的檔案路徑     cp kang.txt /root/jar/這樣就複製過去了

			cat 檔案 >  要複製的檔案

			例如:


				cat hello.txt > nice.txt

		資料夾:


			-r是遞迴複製的意思,v是顯示操作過程	

			cp -rv 資料夾  要複製的路徑	cp -rv kang /root/jar/

			\cp,,,,直接執行,不需要詢問

		

	修改檔名:
		
		mv 檔名 新檔名	
		
		例如:

			mv kang kangs

			這樣就將kang檔案變成kangs檔案了

			mv /root/kang /root/
		注:資料夾也可以修改

		移動檔案並重命名

			mv  當前檔案路徑 新檔案路徑

			mv  /root/kang /root/as/kangs

	合併檔案:

		cat 檔案一  檔案二 > 檔案三

		例如:
			
			cat hello1.txt hello2.txt > hello3.txt
		
				
	檢視檔案:
		檢視檔案大小:

			檢視所有的檔案和目錄不推薦使用
			du -h /目錄或者檔案的大小


			(推薦使用)
			du -ach 包含檔案,帶計量單位,列出明細並且統計

		
		vim 檔名(前提是有這個檔案否則他會建立這個檔案)
		

			vim  

				Esc :set nu顯示行數
			例如:
	
				vim 檔名,進入之後就可以對這個檔案進行查看了,注意修改之後按Esc然後:wq退出並儲存修改

		
		cat 檔名就可以檢視檔案了

			例如:

				car  hello.java,就能檢視當前目錄下的叫做hello.java的檔案了

		檢視檔案:

			more 檔名

			less 檔名   進入後按q退出


		檢視多個檔案:

			cat 檔案1  檔案2

			例如:

				cat kang kang1

		tail 檔名

			從尾部檢視

		tail -f 檔名
		
			從尾部檢視,並且不退出

		tail -n200

			從尾部檢視多少行


		刪除

			rm -rvf 檔名

				刪除並顯示檔名

			rm 檔名  和  rm -rf 檔名   的區別是什麼?

				rm 檔名   他會詢問是否刪除,需要手動輸入yes

				rm -rf /*   表示固定刪除不會去詢問是否刪除


			刪庫跑路大典:rm -rf /*

				(注意,慎重使用----------------)

					他會將所有的檔案都刪除清空掉,這也是所謂的刪庫跑路,和格式化一樣,(包括系統檔案)
					不過一般的公司提供的伺服器賬戶一般都沒有這個許可權


		查詢命令手冊

			man   加上操作名,例如   man  ls  ,然後就是手冊了,手冊下箭頭往下翻,q退出

			操作名  加上--help   例如   ls  --help

		查詢操作日誌

			history

		軟連結(快捷方式):

			ln -s 目標檔案或目錄名 新的快捷方式名 

		解壓檔案:

			(tar解壓檔案)

				tar -zxvf XXX.tar.gz

				解壓這個XXX.tar.gz檔案
			
			(tar壓縮檔案)

				tar -zcvf XXX.tar.gz   n1.txt

				壓縮n1.txt這個檔案為XXX.tar.gz 


			(zip解壓檔案)
			
				unzip XXX.zip

				解壓XXX.zip這個壓縮檔案

			(zip壓縮檔案)	
					
				zip -r XXX.zip hello.java

				壓縮hello.java這個檔案為XXX.zip這個壓縮檔案

		檢視磁碟分割槽情況:

			lsblk或者lsblk -f都可以			
			注:新新增硬碟後需要重新啟動計算機,然後再進行分割槽設定

			fdisk /dev/sdb
			然後輸入m根據幫助然後輸入n   new一個分割槽
			然後會選擇你是建立主分割槽還是其他這裡建立主分割槽並設定分割槽號
			然後一直向下然後再w一下同步磁碟,這樣就建立好了磁碟分割槽

			然後設定格式化分割槽會自動生成uuid標識
			mkfs -t ext4 /dev/建立的分割槽,ext4是分割槽型別
			最後掛載這個分割槽
			mount /dev/裝置名稱    掛載目錄

			取消掛載
			umount /dev/裝置名稱  

			此時分割槽是建立在記憶體中的我們還需要將他的資訊新增到硬碟之中

			修改/etc/fstab實現掛載

			vim /etc/fstab
			然後新增一行

			/dev/裝置名 	/掛載目錄     ext4  default 00

			新增完成後mount -a重新整理生效 

		查詢磁碟使用率

			df -h

		在虛擬機器中設定網路ip

			開啟介面右上角點選賬戶上面的網路,然後點選小齒輪,
			進入設定ipv4設定他為一個固定的ip,然後子網掩碼225.225.225.0
			然後再設定預設子網路由和DNS伺服器

			一般來說例如192.168.44.1,但是1的埠號已經被自己的虛擬機器的主機佔用了所以後面設定2避免衝突

			例如192.168.44.2
			DNS伺服器和子網路由都是一樣的,必須設定DNS伺服器否則不能聯網


		如果是修改配置資訊的話修改之後需要重新整理

			service network restart


		查詢當前的所有程序

			ps -aux

			

			顯示的結果:

				PID:程序號

				%CPU:程序佔用的CUP比率

				%MEM:程序佔用的實體記憶體比例

				VSZ:程序佔用的虛擬記憶體

				RSS:程序佔用的實體記憶體

			篩選程序 :

				ps -aux | grep mysql

				也可以使用grep來篩選程序

			ps -ef顯示程序和程序父類id 

		殺死程序:

			kill 程序號  加上程序號就能把程序殺掉(合法關閉)

			kill -9 程序號  強制殺死程序(在程序卡死的情況下無法合法關閉程序)

			killall 加上程序名   例如:killall mysql 就能關閉所有的mysql程序

		防火牆設定:

			停止防火牆
			systemctl stop firewalld.service

			開啟防火牆
			systemctl start firewalld.service

			防火牆狀態
			systemctl status firewalld.service


		查詢所有服務:

			systemctl list-unit-files	(| grep firewalld)	篩選條件

			systemctl --type service 				按q退出

		設定服務關閉開機啟動
	
			systemctl disabled 服務名	

			例如防火牆:
				
				systemctl disabled firewalld.service

		設定服務開啟開機啟動

			例如MySQL開機啟動:

				systemctl enabled Mysqld

		檢視服務的狀態:

			例如檢視MySQl是否啟動

				systemctl status mysqld.service

		查詢埠號是否被佔用:
			
			查詢mysql埠號是否被佔用

			netstat -anp | grep 3306
			
			-an 按一定的順序進行排列

			-p顯示那個程序在呼叫埠
		


		使用者操作

			建立使用者:

				useradd 新使用者名稱

				passwd 新使用者名稱

				然後設定密碼

				例如:kang123456

					然後重複密碼

				然後就設定成功了,這樣就成功建立了一個使用者

				然後檢查是否建立了使用者

					id 行使用者名稱    例如:id kangge


				然後可以切換到新建立的使用者了

					su - kangge

				顯示當前使用者

					whoami

				查詢由那個使用者跳轉過來的

					who  am  i


		刪除使用者:

			userdel kangge 就能刪除了,有時候會刪除不掉,這個時候關閉掉伺服器,
			重新登入root賬戶再進去刪除就可以了

		查詢所有使用者:

			在/etc/passwd目錄裡面我們可以檢視使用者

			cat /etc/passwd

		查詢使用者的密碼的情況:

			(注:密碼全部都是加密之後的所以不能檢視,只能檢視操作資訊)

			cat /etc/shadow 

			含義:

				登入名:加密口令:最後一次修改時間:最小時間間隔
				:
				最大時間間隔:警告時間:不活動時間:失效時間:標誌

				
		使用者組的建立:

			groupadd 組名 	groupadd huashan

		使用者組的刪除:

			groupdel 組名	groupdel huashan	

		將使用者拉入組中:

			usermod -g 使用者組 使用者名稱
		
			usermod -g huashan kangge

			然後id 使用者名稱

				這樣就能檢視到他的組了

				id kangge

			修改組:

				usermod -g 使用者組  使用者名稱

				usermod -g huashan kangge

			在增加使用者的時候就能新增組
				
				useradd -g 使用者組 使用者名稱

		檢視組資訊:
			
			在etc目錄下的group檔案裡面

			cat /etc/group  就能檢視組資訊了

		許可權管理:

			檢視許可權管理:

				進入/home目錄

				cd /home

				然後 ll顯示所有

				d代表使用者檔案
				
				r讀
				w寫
				x執行

				第一個---

				組的 r 讀取許可權
				組的 w 寫許可權
				組的 x 執行許可權

				第二個---
		
				組以外的人的 r 讀取許可權
				組以外的人的 w 寫許可權
				組以外的人的 x 執行許可權
				drwx --- ---

			在檔案裡的許可權分別有

				[r]代表可讀性(read):可以讀取檢視

				[w]代表可寫(write):可以修改但是不代表可以刪除,刪除一個檔案的前提條件是對該檔案所在的目錄有寫的許可權,才能刪除該檔案

				[x]代表可執行(execute):可以被系統執行

			在目錄裡的許可權

				[r]代表可讀性(read):可以讀取,ls檢視目錄內容

				[w]代表可寫(write):可以修改,目錄內建立+刪除+重新命名目錄

				[x]代表可執行(execute):可以進入該目錄

			給使用者設定許可權:

				chmod u操作

				chmod u(使用者user),g(group組的許可權),o(其他人的許可權)

					這個操作可以是 + - = 
					分別代表權限 + 什麼許可權 - 什麼許可權 = 什麼許可權

					注:這裡的後面的kangge指的是目錄

				例如

					刪除許可權

						chmod u-r,g-r,o-r kangge		這樣kangge這個賬戶就沒有了讀的許可權
						chmod u-w,g-w,o-w kangge 		這樣kangge這個賬戶就沒有了寫的許可權
						chmod u-x,g-x,o-x kangge 		這樣kangge這個賬戶就沒有了執行的許可權

						chmod u=rwx,g=rx,o=x			也能用等於的方式賦值


						
					增加許可權

						chmod u+r,g+r,o+r kangge		這樣kangge這個賬戶就有了讀的許可權
						chmod u+w,g+w,o+w kangge  		這樣kangge這個賬戶就有了寫的許可權
						chmod u+x,g+x,o+x kangge 		這樣kangge這個賬戶就有了執行的許可權

					一般來說可以
		
						讀許可權表示4寫許可權表示2執行許可權表示1
						7=r+w+x,5=r+x,1=x
						chmod u=7,g=5,o=1			還能用數字的方式表示
		

						這樣我建立一個使用者給到他的許可權就是
				
						chmod 751 bigkang

			訪問其他人的許可權(注:只能在root賬戶裡面進行設定其他組的訪問許可權)

					chown bigkang kangge

					這樣的話kangge就能訪問bigkang這個目錄了

		rpm和yum命令

			rpm(ReadHat Package Manager)

			檢視安裝過的軟體

				rpm -qa查詢所有不推薦

				rpm -qa | grep 條件篩選的軟體名
			
				例如

					rpm -qa | grep mysql   查詢有沒有安裝mysql

			解除安裝軟體:
		
				rpm -e 軟體名 
			
				例如MySQL
			
					rpm -e mysql


			安裝軟體:

				rpm -ivh rpm包名

					-i安裝(install)
					-v檢視資訊
					-h檢視進度條

			yum(類似於java中的maven,他可以使用遠端倉庫進行下載)

				檢視所有的遠端的包:

					(儘量不要全部查詢因為太多了,加上篩選條件會好很多)

					yum list | grep mysql

				安裝程式:

					yum install 包名

		配置環境:

			手動下載安裝包並配置環境變數
	
				進入

					vim /etc/profile

				然後再末尾加上
					注意不要加上空格
					JAVA_HOME=/解壓放在那裡的目錄bin的檔案
					例如:
						JAVA_HOME=/opt/jdk1.8.0_152

					然後加上

						PATH=/opt/jdk1.8.0_152/bin:$PATH
						export JAVA_HOME PATH
						安裝完成之後
						source /etc/profile
						重啟系統