linux基礎命令

linux基礎命令:java

命令格式:命令 -選項 參數

1)關機命令:
	shutdown
		# -h 關機
		# -r 重啓
		# -c 取消前一個關機命令
		# -now 當即關機
	halt
	poweroff
	init 0

2)重啓命令:
	reboot
	init 6

3)文件處理命令:
	
	pwd
		# 功能:顯示當前工做目錄(print working directory)
	mkdir 目錄
		# 功能:(make directoriy)建立目錄
		# -p 父目錄不存在的狀況下先生成父目錄
	touch
		# 功能:建立空文件
	rm fileName
		# 功能:刪除文件
		# -r(recursive) 同時刪除該目錄下的全部文件
		# -f(force)		強制刪除文件或目錄
	rmdir
		# 功能:刪除空目錄
	cp 原文件或目錄 目標文件
		# 功能:複製文件或目錄
		# -r 複製目錄;
		# -p 保留文件屬性;
	ln 原文件 目標文件
		# 功能:創建連接文件
		# -s(symbolic) 對源文件創建符號鏈接,而非硬鏈接
	mv 原文件 目標目錄
		# 功能:移動文件、文件更名
	cat fileName
		# 功能:(catenate)顯示文件的內容
		# -n 顯示行號
	cat file1 >> file2
		# 把file1的內容輸出追加到file2的末尾
	tac fileName
		# 功能:從最後一行開始顯示文件的內容
	more fileName
		# 功能:分頁顯示文件的內容
	less fileName
		# 功能:分頁顯示文件的內容(可向上翻頁)
	head fileName
		# 功能:查看文本中開頭的幾行
		# -n 指定行數
	tail fileName
		# 功能:查看文件的最後的幾行
		# -n 指定行數
		# -f 動態顯示文件末尾內容(滾動式)
	eg:
		tail -f	fileName
		# 等同於tail --follow=descriptor fileName
		# 根據文件描述符進行追蹤(動態顯示文件末尾內容),當文件更名或被刪除,追蹤中止。

		tail -F fileName
		# 等同於tail --follow=name --retry fileName
		# 根據文件名進行追蹤(動態顯示文件末尾內容),並保持重試,當文件更名或被刪除後,若是再次建立相同名稱的文件,會繼續追蹤。			
		
	wc fileName
		#功能:(word count)統計文本文件的行數、字數、字符數
		# -l 統計行數
		# -c 統計字節數
		# -m 統計字符數,不能與-c同時使用
		# -w 統計字數,一個字被定義爲由空白、跳格或換行字符分隔的字符串。
		
	rz
		# 運行該命令會彈出一個文件選擇窗口,從本地選擇文件上傳到Linux服務器
		# 說明:rz、sz是Linux/Unix同Windows進行ZModem文件傳輸的命令行工具
		# 注意:rz、sz須要終端支持(XShell、SecureCRT),若是是在虛擬機中安裝的linux系統上直接使用rz、sz則會出現一行亂碼,而且沒法輸入指令,超時後便可恢復到正常狀況。
		# 安裝命令:yum install lrzsz
		
		eg:rz 文件名
		注意:若是文件名中包含空格,則使用反斜槓\轉義。eg: 中國 的偉大.txt ===> rz 中國\ 的偉大.txt

	sz fileName
		# 將指定的文件保存到本地機器
	
	
4)文件搜索命令

	find [搜索範圍] [匹配條件]
		舉例:find /home/jxn -name man  從指定目錄開始搜索名字爲man的文件或目錄
	grep [指定字串] fileName
		# 功能:在指定的文件中查找包含特定字符串的文本行
		# -i 不區分大小寫
		# -v 查詢不包含特定字符串的文本行(反向查找)
		# -o 查詢結果的文本行中只顯示指定的字符串(show only the part of a line matching PATTERN),
		# 	即:結果中每一個文本行的內容都是指定的字符串,若是指定的字符串在文件的一行中出現屢次,則將其分紅多行進行展現。
		# --color=auto 搜索出的關鍵字用顏色顯示
		
	eg:
		grep -o word catalina.out.xxxx-xx-xx | wc -l
		# 查詢字符串"word"在catalina.out.xxxx-xx-xx文件中出現的次數。
		
	whereis command
		# 功能:搜索命令所在目錄及幫助文檔路徑
	which command
		# 功能:搜索命令所在目錄及別名信息
	locate fileName
		# 功能:在文件資料庫中查找文件	
	
5)系統管理命令

	stat
		# 功能:顯示文件的相關信息,比ls命令顯示的更詳細
	who
		# 功能:顯示在線登陸用戶
	whoami
		# 功能:顯示用戶本身的身份
	hostname
		# 功能:顯示主機名稱
	uname
		# 功能:顯示系統信息
	top
		# 功能:系統監視器(至關於windows下的任務管理器),查看每一個進程的狀況
		# 查看每一個CPU的性能數據:輸入top並回車後,再輸入數字1	
		
	ps
		# 功能:顯示瞬間的進程狀態
		# -a 顯示全部用戶的全部進程(包括其它用戶)
		# -u 顯示啓動這個進程的用戶和它啓動的時間
		# -x 顯示系統中屬於本身的進程
		
		ps -ef
		# 顯示全部的進程,顯示的項目有:UID,PID,PPID,C,STIME,TTY,TIME,CMD
		ps aux
		# 顯示全部的進程,顯示的項目有:USER,PID,%CPU,%MEM,VSZ,RSS,TTY,STAT,START,TIME,COMMAND
		
	kill
		# 功能:殺死一個進程
	free
		# 功能:顯示當前內存和交換空間的使用狀況
	
6)文件系統管理命令

	mount [-t 文件系統] 設備文件名 掛載點
		# 功能:掛載設備
		# -t (type)文件系統的類型
		# 文件系統:
			# ext二、ext三、ext4:linux目前經常使用的文件系統
			# msdos、MS-DOS的fat(fat16)
			# vfat、U盤及windows98經常使用的fat32 
			# nfs:網絡文件系統
			# iso9660:CD-ROM光盤標準文件系統

	df
		# 功能:查看文件系統磁盤空間的使用狀況
		# -a 顯示全部的文件系統信息
		# -h(human-readable) 使用KB、MB、GB等顯示容量
		# -k、-m 以KB、MB顯示容量
		# -T顯示文件系統類型
		eg:
			df -h
			# 查看文件系統磁盤空間的使用狀況	

	du 目錄或文件名
		# 功能:顯示指定的文件或目錄已使用的磁盤空間的總量
		# -h:以人類可讀的方式顯示,即自動選取合適單位(G、M、K)來顯示大小
		# -a 顯示每一個子文件的磁盤佔用量
		# -s(summarize) 統計總佔用量,而不列出子目錄和子文件

	fdisk -l
		# 功能:查看硬盤列表
	fdisk /dev/sdb
		# 功能:使用fdisk命令分區
		
	#fdisk交互指令說明
		# -a 設置可引導標記
		# -b 編輯bsd磁盤標籤
		# -c 設置DOS操做系統兼容標記
		# -d 刪除一個分區
		# -l 顯示已知的文件系統類型。82爲Linux swap分區,83爲Linux分區
		# -m 顯示幫助菜單
		# -n 新建分區
		# -o 創建空白DOS分區表
		# -p 顯示分區列表
		# -q 不保存退出
		# -s 新建空白SUN磁盤標籤
		# -t	改變一個分區的系統ID
		# -u 改變顯示記錄單位
		# -v 驗證分區表
		# -w 保存退出
		# -x 附加功能(僅專家)
		
	mkfs -t ext4 /dev/sdb1
		# 功能:格式化分區
	fsch 分區設備文件名
		# 功能:修復文件系統
	
	
7)網絡命令

	ping IP地址
		# 功能:測試網絡連通性
		# -c 指定發送次數
	ifconfig 網卡名稱 IP地址
		# 功能:(interface configure)查看和設置網絡接口(網卡)信息
	netstat
		# 功能:顯示網絡狀態信息
		# -a 顯示全部鏈接和監聽端口
		# -t(tcp) 僅顯示tcp相關選項
		# -u(udp) 僅顯示udp相關選項
		# -l 監聽
		# -r 路由
		# -n 以數字的形式顯示;顯示IP地址和端口號
		# -p 顯示創建相關連接的程序名
	setup
		# 配置網絡
	mail userName
		# 查看發送電子郵件
	write userName
		# 給用戶發信息,以Ctrl+D保存結束
	wall message
		# 發廣播信息,wall(即write all)
	last
		# 列出目前與過去登入系統的用戶信息
	
8)用戶和組帳戶管理
	概念:linux操做系統是一個多用戶操做系統,它容許多用戶同時登陸到系統上並使用資源。
	說明:系統會根據帳戶來區分每一個用戶的文件,進程,任務和工做環境,使得每一個用戶工做都不受干擾。
	
	1)用戶命令:
		useradd 用戶名
			# 功能:添加用戶
			# -d 指定用戶的家目錄
			# -u 指定UID
			# -g 指定所屬的組GID
			# -G 指定多個組,用逗號分開
			# -p 密碼
			# -c (comment)用戶描述
			# -e (expire date)失效時間
		passwd 用戶名
			# 功能:修改密碼
		usermod 新用戶名 舊用戶名
			# 功能:修改用戶
			# -l (login)修改登陸名
			# -L 鎖定用戶帳密碼
			# -U 解鎖用戶帳號
		userdel 用戶名
			# 功能:刪除用戶
			# -r (recursive)刪除用戶時連同目錄一併刪除
			
	2)用戶組命令:
		groups
			# 功能:顯示用戶所屬的組
		groupadd 組名
			# 功能:添加組
			# -g 指定GID
		groupmod 
			# 功能:修改組
			# -n (name)修改組名
		groupdel
			# 功能:刪除組
	
	3)用戶相關配置文件:
		/etc/passwd
			說明:保存用戶信息的文件
			查看:man 5 passwd
			格式:account:password:UID:GID:GECOS:directory:shell
				用戶名:	登錄系統的用戶名
				密碼:		密碼位
				UID:		用戶標識號
				GID:		默認組標識號
				描述信息:	用戶的描述信息
				宿主目錄:	用戶登錄系統的默認目錄,默認是在/home/下
				命令解析器:用戶使用的Shell,默認是bash
		/etc/shadow
			說明:保存密碼的文件
			查看:man 5 shadow
			格式:
				用戶名:			登錄系統的用戶名
				密碼:				加密密碼
				最後一次修改時間:	用戶最後一次修改密碼距如今的天數,從1970-1-1起
				最小時間間隔:		兩次修改密碼之間的最小天數
				最大時間間隔:		密碼有效天數
				警告時間:			從系統警告到密碼失效的天數
				帳號閒置時間:		帳號閒置時間
				失效時間:			密碼失效的天使
				標誌:				標誌	
		/etc/group
			說明:保存用戶組的文件
			格式:
				組名:			用戶所在的組
				組密碼:		密碼位,通常不使用
				GID:			組標識號
				組內用戶列表:	屬於該組的用戶列表
		/etc/gshadow
			說明:保存用戶組密碼的文件
		/etc/default/useradd
			說明:用戶配置文件
		
	4)用戶的分類:
		超級用戶:	root(UID=0)
		普通用戶:	UID:500~60000
		僞用戶:	UID:1~499
			說明:僞用戶不能登陸系統,並且沒有宿主目錄。


9)文件的權限管理:	

	1)三種基本權限:
		r	(rean)讀權限
		w	(write)寫權限
		x	(execute)執行權限
		-	表示沒有任何權限
		s	特殊權限
		
	2)文件的屬性:
		第一部分(權限屬性):
			第1位:		文件的類型(d表示目錄、-表示普通文件、l表示連接文件)
			第2-4位:	所屬用戶權限,	用u表示(user)
			第5-7位:	所屬組權限,	用g表示(group)
			第8-10位:	其餘用戶權限,	用o表示(other)
			第2-10位:	表示全部用戶的權限,用a表示(all)
		第二部分:文件的連接數
		第三部分:文件的擁有者
		第四部分:文件所屬的組
		第五部分:文件的大小
		第六部分:文件最後被修改的時間
		第七部分:文件的名稱
		
	3)命令:
		chown 用戶名 文件名
			# 功能:(change owner)修改文件的擁有者
			# -R (recursive)下面的文件和子目錄作相同的權限操做
		chgrp 組名 文件名
			# 功能:(change group)修改文件的所屬的組
		chmod
			# 功能:(change mode)修改文件的權限
			# 說明:權限有兩種表示方法:
				1)用符號表示權限:
					chmod 權限的範圍(u、g、o、a) 操做符(+、-、=) 文件名
						# 權限的範圍:u表示所屬用戶的權限,g表示組權限,o表示其它用戶的權限、a表示全部用戶的權限
						# 操做符:+表示添加,-表示除去,=表示重置
						# 舉例:chmod u+x jdk-6u45-linux-x64.bin
				2)用數字表示權限:
					chmod 表明權限的三位數字 文件名
						# r用4來表示,w用2來表示,x用1來表示,-用0來表示;即:rwx=7,rw-=6,r-x=5,r--=4,-w-=2,--x=1,---=0
						# 舉例:chmod 760 test.txt	
						
				例子:
				chmod u+s nginx
				# 爲了方便普通用戶執行一些特權命令,SUID/SGID程序容許普通用戶以root身份暫時執行該程序,並在執行結束後再恢復身份。
				# chmod u+s 就是給某個程序的全部者以suid權限,能夠像root用戶同樣操做

					
10)RPM軟件包管理
	概念:
		1)RPM即RedHat Package Manager(RedHat軟件包管理工具)的縮寫。
		2)YUM(Yellow dog Updater, Modified),是一個shell前段軟件包管理器。
			說明:YUM基於RPM包管理,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟件包。
		
	rpm命令:
		rpm 包名
			# -i 安裝。注意:安裝的時候須要使用包的全限定名。
			# -e (erase)卸載
			# -v (verbose)顯示詳細信息
			# -h (hash)顯示進度條
			# -q (query) 查詢該包是否安裝
			# -qa (query all)查詢全部已安裝的軟件包
			# -l (list)use a long listing format
			# -R (requires) 查詢軟件包的依賴性
			# -p (package) 查詢未安裝包信息
			# --nodeps 不檢測依賴性
			
		eg:查詢軟件安裝的目錄:rpm -qal | grep 軟件名
			
	
	yum命令:
		yum install gcc-c++
		yum update gcc-c++
		yum remove gcc-c++
		
		經常使用工具:
		yum -y install wget
		
		更新163 yum源
		cd /etc/yum.repos.d/
		mv CentOS-Base.repo CentOS-Base.repo.backup
		wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
		yum clean all
		yum makecache
		yum update


11)Linux下的壓縮命令:
	
	tar 壓縮後的文件名 要壓縮的目標文件
		# -c (create)創建一個新打包文件
		# -C 指定文件解壓後存儲的目錄
		# -f file 指出須要打包的文件
		# -z 打包同時用gzip壓縮(與-x並存時,表示解壓xxx.tar.gz)
		# -j 打包同時用bzip2壓縮(與-x並存時,表示解壓xxx.tar.bzip2)
		# -x extract(提取) 解包*.tar文件
		# -v verbose 以詳細模式顯示命令執行過程
		# -t 查看壓縮文件中的內容
		# 說明:
			1)在參數列表中:c、x、t 僅能存在一個,不可同時存在!
			2)通常以.tar後綴名來標示打包後的文件,以.tar.gz或.tgz來標示gzip壓縮過的tar文件,以.tar.bz2來標示bzip2壓縮過的tar文件。
		# 舉例:將/home/jxn/familyA目錄下的全部文件所有打包爲/home/jxn/familyA.tar
			1)僅打包,不壓縮:tar -cf /home/jxn/familyA.tar /home/jxn/familyA
			2)打包後,以gzip壓縮:tar -zcf /home/jxn/familyA.tar.gz /home/jxn/familyA
			3)打包後,以bzip2壓縮:tar -jcf /home/jxn/familyA.tar.bz2 /home/jxn/familyA
			4)查看壓縮文件中的內容:
				tar -tf familyA.tar
				tar -tf familyA.tar.gz  或 tar -ztf familyA.tar.gz
				tar -tf familyA.tar.bz2 或 tar -jtf familyA.tar.gz
			5)解壓:			
				tar -xf familyA.tar
				tar -xf familyA.tar.gz  或 tar -zxvf familyA.tar.gz
				tar -xf familyA.tar.bz2 或 tar -jxvf familyA.tar.bz2
				
				經常使用:tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/java/

	zip 壓縮後的文件名 要壓縮的目標文件
	
	unzip 要解壓的壓縮文件
		# -d 文件解壓後存儲的目錄
		# eg:unzip -d /data/tempFile test.war 將test.war解壓到/data/tempFile目錄下
		# 使用jdk提供的jar命令也能夠解壓war包:jar -xvf test.war

	gzip 目標文件名
		# gzip即:GNU zip
		# -c 壓縮後將結果輸出到標準輸出,並保留到原始文件;因爲選項c會將壓縮結果輸出到標準輸出,所以須要使用重定向方式保存壓縮結果
		# -d (decompress)解壓。或者:gunzip 要解壓的.gz文件名
		# -l 顯示壓縮文件的詳細信息:壓縮文件的大小、未壓縮文件的大小、壓縮比等。
		# -r 遞歸地壓縮目錄中的全部文件:只壓縮目錄下的全部文件以及其子目錄下的全部文件,而目錄和子目錄並無壓縮。
		# -0→9:表示壓縮率,1表示最小壓縮率,壓縮速度最快;默認值是6
		# 舉例:
			1)把/home/jxn目錄下的familyA目錄下全部文件壓縮成.gz文件
				tar -cvf /home/jxn/familyA.tar /home/jxn/familyA
				gzip familyA.tar 進行壓縮
				# 說明:gzip不能直接對目錄進行壓縮,所以必須先打包
			2)gzip -c9 test.tar > test.tar.gz
	
	bzip2 目標文件名
		# -k 壓縮、解壓縮完成以後,保留原始文件
		# -d (decompress)解壓。或者:bunzip2 要解壓的.tar.bz2文件名
		# 舉例:把/home/jxn目錄下的familyA目錄下全部文件壓縮成.bz2文件
			tar -cvf /home/jxn/familyA.tar /home/jxn/familyA
			bzip2 familyA.tar
			# 說明:bzip2不能直接對目錄進行壓縮,所以必須先打包
相關文章
相關標籤/搜索