天天看點

LINUX系統-基本操作指令

設定永久指令行啟動:

syetemctl set-default multi-user.target
           

檢視LINUX發行版本(centOS):

cat  /etc/redhat-release
lsb_release -a  (使用前需安裝 yum install -y redhat-lsb)
           

查詢CPU資訊:

cat /proc/cpuinfo |grep "model name" | uniq
           

查詢記憶體資訊:

cat /proc/meminfo |grep MemTotal
           

查詢記憶體使用情況:

free -hl
           

查詢硬碟大小:

df -hl
           

檢視所有分區及總容量:

fdisk  -l
           

對sdb硬碟進行分區:

fdisk  /dev/sdb
           

檢視端口是否占用:

**顯示所有連接配接中的socket:**
	netstat -anp|grep 端口号   【tcp對應端口有LISTEN,表被使用】
**僅顯示與tcp有關的:**
	netstat -ntl  		
           

檢視linux系統的核心版本:

cat /proc/version
           

檢視正在使用的核心版本:

uname -r
rpm -qa |grep kernel-devel
           

顯示機器的處理器架構(x86_64)

uname -m
           

檢視目前使用終端:

who am i
           

檢視所有終端:

who
           

顯示系統日期:

date  /   date + %Y%m/%d(設定顯示的格式)
           

顯示月曆表(+y 可顯示年月曆表):

cal     
           

顯示網卡資訊:

ifconfig
           

測試機器連通情況:

ping -c n  Ip/域名   n表示指定次數
           

擷取應用程序:

ps -aux|grep 應用名稱
           

動态實時顯示CPU、記憶體、程序等情況:

top
top -d 2 -p 程序号   (d:資料更新的秒數)
           

檢視伺服器狀态(記憶體、cpu、io讀寫情況):

vmstat  2  10    (每2s采集一次,共采集10次)
           

檢視io讀寫情況、CPU使用情況:

iostat
           

檢視CPU使用情況:

sar -u 3 5   (3s一次,共5次)
           

評估磁盤性能:

sar -d 2 4   (2s一次,共4次)
           

強制殺死程序:

kill -9 程序号
           

檢視正在運作的服務:

systemctl
           

程序:

三種狀态:
	就緒:獲得了除CPU之外的所有資源
	執行:獲得了全部資源,正在執行
	阻塞:由于其他事件導緻程序無法繼續執行
終止/暫停某工作: ctrl  c / z
檢視背景所有任務: jobs
		+:即将被fg釋放的對象
		-:即将被fg操作的下一個對象
切換任務:  fg %任務編号
檢視所有使用者的tty程序:   ps -aux
檢視目前使用者的所有程序:   ps -ef
           

Linux中的檔案/目錄顔色含義:

藍色:目錄                綠色:可執行檔案        
淺藍: 軟連結             灰色:其他檔案
黃色:與裝置有關的檔案     紅色:壓縮檔案/損壞的軟連結
           

Linux下的目錄結構:

/:根目錄
root:使用者屬主目錄
home:普通使用者的屬主目錄
etc:啟動檔案、配置檔案、腳本
boot:系統核心檔案
dev:與裝置相關的檔案
lib:編譯程式用到的函數庫
usr:安裝的應用程式
bin:普通使用者常用的指令
sbin:系統管理常用的指令
var:系統日志檔案log
mnt:挂載時建議使用的目錄
media:自動挂載時使用的目錄
           

檔案的完整屬性資訊(七部分):

LINUX系統-基本操作指令

第一部分:檔案類型(第一列)+權限(後九列)

檔案類型: d [目錄] 、- [普通檔案] 、l [連結檔案]

權限:九列共三組,(所有者、所在群組、其他人員的權限)

第二部分:節點(每增加1個硬連結,節點數+1)

第三部分:所有者

第四部分:所在群組

第五部分:檔案大小

第六部分:時間

第七部分:檔案/目錄名稱

顯示檔案及目錄的詳細資訊(含隐藏檔案):

ls -alt
           

顯示詳細資訊(不含隐藏檔案):

ls -l
           

僅顯示目錄/檔案名稱:

ls
           

顯示檔案類型:

file  檔案/目錄
           

檔案/目錄操作:

建立目錄:	mkdir  新的目錄名稱
建立遞歸目錄:	mkdir x/y/z
建立同級目錄:	mkdir x y z
建立檔案:	touch a.txt
删除檔案:	rm 檔案名
删除空目錄:	 rmdir  目錄名稱
删除目錄/檔案:	 rm -rf 目錄/檔案
删除亂碼檔案:
		需先使用ls -i 查到亂碼檔案的inode
			inode為檔案/目錄前的數字字元串
        find -inum (inode) -exec rm -rf {};
           

移動單檔案:

mv 源檔案   目标檔案/目錄
           

移動多檔案:

mv -t 目标目錄  檔案1  檔案2(加上檔案字尾名)
           

複制檔案到目标目錄下:

cp -ai 檔案/目錄   目标目錄
	   -a:檔案屬性、目錄下的所有檔案
	   -i: 表示覆寫前詢問
           

複制檔案至目錄(僅複制檔案):

cp 源檔案  目标目錄
           

将指定目錄下的檔案與子目錄一并複制:

(針對不在目前目錄下的檔案)
	cp -r 源檔案/目錄   目标目錄
           

複制檔案至另一伺服器:

scp 源檔案 [email protected]目标伺服器IP:目标路徑	
           

建立軟/硬連結:

**軟連結:(常用于軟體安裝時建軟連結到path,類似快捷方式)**
		ln -s  源檔案(絕對路徑)   目标檔案 
**硬連結(-d可省略):**
	    ln -d  源檔案(絕對路徑)   目标檔案
           

軟連結與硬連結的差別:

a.建立硬連結時,源檔案需與連結檔案位于同一檔案系統中;軟連結可在不同檔案系統中;

b.删除源檔案,硬連結檔案依然有效,軟連結檔案會失效。

硬連結與複制的差別:

增加硬連結,節點數增加;

修改源檔案,硬連結會跟着修改

檔案權限:

**改變檔案的所有者及所屬組:**
		chown  [-R] user:group  檔案(夾)名 
					-R : 表示目錄及以下檔案全部修改
**變更檔案的讀寫權限:【不接R時,表示檔案】**
		chmod  [-R]  777  檔案(夾)名   
		chmod  [-R]  u=rwx,g=rwx,o=rwx  檔案(夾)名
						a:表示all
		chmod  [-R] u+r,g-w,o-x  檔案(夾)名
           

檔案查找、搜尋:

**系統全局範圍内查找包含“檔案名”内容的檔案:**
	locate  檔案名     
	原理:從資料庫讀取檔案,需先執行updatedb
**在目錄結構中查找檔案:**
	find 目錄路徑  -exec 相關指令操作
**查找檔案中包含hello内容的.log檔案**
	find . -name '*.log'  | grep  hello
**使用正規表達式搜尋檔案/目錄:**
	grep [-option] '搜尋内容'  檔案名
				-n  顯示比對行及行号
				-c  僅顯示比對行的計數
				正規表達式:  ‘=<查找内容’   從比對内容開始
						     ‘>=查找内容’   從比對内容結束
           

檢視安裝軟體的所有檔案路徑(僅包括二進制檔案、源代碼檔案、man手冊頁)

where is java
           

檢視檔案内容:

cat [-n] 檔案名
		-n  顯示行号(包括空行)
		-b  顯示行号(不包括空行)
**按頁顯示檔案内容:**
		less  檔案名   
			上下鍵可翻頁,pageup/pagedown  向後翻頁
**顯示第一頁内容:**
		more 檔案名		隻能向後翻頁
			Enter鍵:一行一次
			空格:一頁一次
**顯示前n行内容(預設10行):** 
			head  -n   檔案名   【+n  表示從n行開始】   
**顯示末尾n行内容(預設10行):**
			tail   -nf   檔案名    
	【+n  表示從n行開始;  f 表示實時更新,用于日志檔案檢視】
**檢視檔案中含有abc所在行後10行内容:**
		cat  檔案名|grep abc  -A10
				A10: 表後10行
				B10: 表前10行
**顯示檔案的第二行至最後一行内容:**
	sed -n '2,$p'  檔案名
**顯示檔案包含待搜尋内容的行:**
	sed -n '/搜尋的内容/p' 檔案名
**退出檢視:** 	q
           

檔案處理:

**将結果輸出到檔案中,若檔案存在内容,則覆寫**
		ls -l>file    【>>   表示追加内容】
	**将檔案作為指令的輸入:**
		command<檔案名
	**删除檔案的第n行至最後一行内容:**
		sed -i 'n,$d'  檔案名
	**在最後一行的下一行增加字元串:**
		sed -i '$a 字元串内容'  檔案名
	**替換檔案内容:**
		sed -i 's/oldstring/newstring/g' 檔案名
           

使用者權限:

**建立使用者:**
	useradd  -U  使用者名   【-U:指定UID ,不指定時按序排列】
**删除使用者:**
	userdel -r 使用者名  【-r:把使用者的主目錄一起删除】
**修改使用者的組:**
	usermod -g  組名   使用者名   【組名可為GID,但組必須已存在】	   	
**将使用者添加至組:**
	usermod -aG  組名  使用者名   【-G:可疊加,需用逗号隔開】
**檢視使用者的所有組:**
	groups  使用者名
**修改使用者的UID:**
	usermod  -U  UID  使用者名
**顯示使用者的UID、GID及所擁有的群組:**
	id  使用者名
           

挂載與取消挂載:

**挂載硬碟sda1至mnt目錄下,将原檔案隐藏,檔案改為隻讀:**
	mount /dev/sda1  /mnt    【裝置一般挂載到/dev/檔案名下】
**挂載ios檔案:**
	mount -o  loop /iso檔案路徑   /media/挂載路徑
**取消挂載:**
	umount  挂載的路徑/檔案名
           

壓縮/解壓/打包/備份:

**檢視檔案類型,确認壓縮方式:**
			file  檔案名
**解壓.tar.gz壓縮檔案至目标目錄:**
	tar -zxvf  壓縮檔案.tar.gz  -C  目标目錄
**壓縮目錄及子目錄檔案為.tar.gz格式的壓縮包:**
	tar -zcvf  壓縮檔案存放路徑/檔案名.tar.gz   被壓縮的目錄/檔案
**解壓.tar.bz2壓縮檔案至目前目錄:**
	tar -jxvf  a.tar.bz2
**壓縮a目錄及子目錄檔案為c.tar.bz2至目前目錄:**
	tar -jcvf  c.tar.bz2   ./a/
**解壓a.zip檔案至目前目錄(使用與解壓war包):**
	unzip a.zip  
	unzip -o test.war  -d  解壓目錄路徑
				-o:覆寫原有檔案
				-d:指定解壓目錄
**壓縮a及以下目錄檔案為c.zip**
	zip -r c.zip   ./a/
**壓縮file檔案為bz2格式壓縮檔案:**
	bzip2 -k file  (-k:表示保留源檔案)
**解壓file.bzip2,并保留源檔案:**
	bzip2 -d -k file.bz2
**壓縮file檔案為.gz格式檔案:**
	gzip file
**最大程度壓縮:**
	gzip -9  file
**解壓file.gz檔案:**
	gzip -d file.gz
           

linux機器間的遠端連接配接:

ssh 要遠端連接配接的IP
exit  退出遠端連接配接	
           

linux下三個重要的檔案:

/etc/passwd   使用者資訊
/etc/shadow   使用者密碼
/etc/group      群組資訊
           

軟體安裝:

*yum(常用)、rpm包安裝、手動的編譯安裝*
**yum安裝:**
	安裝“包”,需聯網:yum -y install 包名
	清除下載下傳後的緩存:yun  clean
		緩存檔案目錄:/var/cache/yum
	重新安裝:yum -y reinstall   包名
	更新包:yum -y update   包名
	移除包:yum -y remove  包名
	自動選擇最快的yum源安裝:yum -y install yum-fastestmirror  
	檢視包是否存在更新包:yum check-update  包名
	檢視軟體的資訊:yum info 軟體名稱
**rpm安裝:**
	下載下傳到opt目錄下:	wget -p /opt  http://網址    -p:斷點續傳
	安裝rpm包,若存在依賴包,需先安裝依賴包:
		rpm -ivh a.rpm
	更新指定的rpm包:rpm -Uvh a.rpm
	更新指定的已安裝的rpm包:rpm -Fvh a.rpm
	檢視已安裝的rpm包:rpm -qa|grep a
	檢視rpm包的安裝路徑:rpm -qa a
	解除安裝指定套件:rpm -e 包名
**手動編譯:**
	1.需下載下傳源碼包,使用tar -zxvf  包名.tar.gz    解壓
	2../configure  --prefix=安裝路徑
	3.編譯:make
	4.安裝:make install
	5.清除安裝過程中産生的臨時檔案:make  clean
**解除安裝軟體:**
	rm -rf 軟體目錄名稱
           

繼續閱讀