天天看點

Linux學習筆記總結分享

作者:程式員老曹呀

一、虛拟機配置

1、網卡配置
	橋接模式:虛拟機使用實體機的網卡進行通信。
	主機模式(HOST ONLY):虛拟機使用實體機上的虛拟網卡通信,即使實體網卡損壞,該模式依然可以保證虛拟機和實體機之間的資料傳輸
	NAT模式:虛拟機自動配置設定IP位址、子網路遮罩等資訊。
	自定義模式:虛拟機之間互相通信。
2、快照:可以儲存虛拟機的臨時狀态。相當于一鍵還原。           

二、安裝系統

1、安裝條件:
	推薦256M以上的記憶體
2、安裝方式:
	CD光牒安裝、硬碟安裝、網絡安裝
3、分區:
	a、硬碟類型:IDE、SCSI
	b、分區類型:主分區、擴充分區、邏輯分區(主分區+擴充分區最多4個
						擴充分區隻能有1個
						邏輯分區不限制)
	c、分區命名規則:*
		第一塊IDE的硬碟:/dev/hda
		第一塊IDE的硬碟的第一個主分區:/dev/hda1 
		第一塊IDE的硬碟的第一個邏輯分區:/dev/hda5
		
		第一塊SCSI的硬碟:/dev/sda		
		第一塊SCSI的硬碟的第一個主分區:/dev/sda1
		第一塊SCSI的硬碟的第一個邏輯分區:/dev/sda5
	d、檔案系統類型:*
		ext4 第四代擴充檔案系統
		swap 交換檔案系統(虛拟記憶體)
	e、目錄結構:*
		/  根目錄  系統中的第一級目錄 
		/etc   存放配置檔案的目錄
		/root  系統管理者的家目錄(宿主目錄)
		/home/使用者名  普通使用者的家目錄
		/bin   存放普通使用者可以執行的指令
		/sbin  存放管理者可以執行的指令
		/dev   存放裝置檔案的目錄
		/boot  存放啟動檔案的目錄
		/media  多媒體資料的存放目錄
	f、安裝時,自定義分區:*
		/boot  200M
		swap   2000M(1.5-2倍的實體記憶體)
		/      剩餘的所有空間           

三、使用作業系統

1、管理者:root  *
2、登入提示符: 【使用者@主機名 目前目錄】提示符
		提示符# 代表管理者登入 提示符$ 代表普通使用者登入
3、多終端切換方法:*
	F1-F6 字元終端  F7 圖形終端(基本伺服器安裝後沒有圖形終端)
	字元終端 切換 圖形終端 alt + F7
	圖形終端 切換 字元終端 ctrl + alt + Fn(n=1-6)
	字元終端 切換 字元終端 alt + Fn  
4、版本号的命名規則*
	uname -r 檢視目前系統的核心版本号
	主版本号.次版本号.修正版本号
	次版本号為奇數,代表開發闆
	次版本号為偶數,代表穩定版
5、檢視CPU和記憶體的參數
	cat /proc/cpuinfo
	cat /proc/meminfo
	翻頁 shift + pageup/pagedown
6、關機重新開機指令*
	關機:shutdown -h 時間 
		  init 0
	重新開機:shutdown -r 時間
		  reboot
		  init 6            

四、指令

1、作用:為了實作某功能的特定的檔案或程式
2、種類:内部指令、外部指令
	内部指令存放于shell解釋器之内
	外部指令存放于shell解釋器之外,以單獨的檔案的形式存在
3、格式:指令 選項 參數*
	- 簡寫
	-- 全程
	多個選項可以寫到一起  比如 -a -l 可以寫成 -al
4、快捷鍵
	TAB 補齊指令、檔案等   *
	\   換行符		*
	ctrl+u  光标處清空至行首
	ctrl+k  光标處清空至行尾
	ctrl+l  清屏 		*
	ctrl+c  強制終止目前的程式	*	這幾個指令直接按快捷鍵就可以了!
5、使用幫助	
	help  檢視内部指令的幫助資訊	
	--help 檢視外部指令的幫助資訊 	mkdir --help(注意:--help要放在外部指令後,否則無效)
	man  檢視絕大多數指令的幫助資訊	man mkdir(man後面寫大多數指令的名稱就可以了)
		空格翻一屏			這個指令在我們工作後會非常常用!!!
		回車翻一頁			會像一本書一樣,列出手冊頁!
		/  查找目标
		q 退出           

五、基本指令

1、mkdir  建立目錄                                                           mkdir  目錄名  mkdir -p /y/m /y/d 加上-p之後即可直接建立多層目錄
2、touch  建立檔案、重新整理時間戳		touch  newfilename
	-t 年月日時分.秒 目标檔案名		touch -t 201412311908 /y/m/a.txt   這樣就修改了 a.txt 的建立時間

3、PWD 檢視目前所在目錄			PWD 直接鍵入PWD即可檢視目前所在目錄
4、cd  切換目錄				cd /y/d 直接切換到cd後的目錄裡
	~  目前使用者夾目錄			cd ~目前使用者目錄 
	.  目前				cd . 切換到目前目錄
	..  上一級				cd ..切換到上一級目錄
	-  之前所在目錄			cd -切換到之前操作的目錄
	!$  調用上一條指令的參數		ls /y/m;     cd !$ 執行過後就會跳轉到 /y/m	
	相對路徑:以目前目錄為起點		相對于目前目錄 到另一個目錄
	絕對路徑:以根作為起點		以根目錄為起點,将目前目錄的完整位址寫出來!
5、ls 檢視目前目錄的内容			
	-l  檢視詳細資訊			ls -l == ll
	-a  顯示隐藏檔案			ls -a	顯示./..
	-A  顯示隐藏檔案,不顯示“.和..”	ls -A	不顯示./..
	-d  顯示目錄本身的資訊		ls -d	顯示目錄本身的資訊
	-S  按檔案所占空間從大到小排列	ls -S	按檔案所占空間從大到小排列
	-r  反向				ls -Sr	按檔案所占空間從小到大排列
	-t  按建立日期排序			ls -t	按建立日期排序	ls -tr	反向輸出
	-h  顯示檔案大小的機關		ls -lh	可以顯示檔案大小的機關 
	-R  遞歸(顯示目标目錄及其子目錄裡的内容)
6、du 檢視目錄的大小			
	-ah  顯示所有檔案大小及總大小	du -ah   顯示所有檔案大小及總大小
	-sh  隻顯示目标目錄的總大小		du -sh  如果不指定目标檔案則預設為目前檔案夾
7、ln 建立硬連結檔案			
	-s 軟連結				ln -s cang.txt /root/cai.txt
	注意:
		不要為目錄建立硬連接配接
		建立硬連結時,不要跨裝置(如 從/boot 到 / )

8、alias  建立指令别名			alias + 指令名  可以直接檢視目前指令的幫助
	格式: alias 别名=‘執行的指令’	alias  woman="man"  定義指令别名,可執行相同效果
	取消别名: unalias			unalias woman  删除定義的指令别名
9、cp 複制				
	-i  提示是否覆寫			cp + 源檔案名 + 指定路徑位址(檔案名,可重命名)
	-f  強制覆寫			cp  -i  a.txt  /root/b.txt   目前目錄下的a.txt複制到root目錄,并重命名
	-p  保留屬性			cp  -rpf  a.txt  b.txt   将a.txt強制複制為b.txt 且保留屬性
	-r  遞歸(對目錄操作時使用)
10、rm 删除
	-i -f -r  與cp相同
11、mv 移動  同目錄下移動,相當于重命名	mv [ 參數 ] 源檔案或目錄 目的檔案或目錄
					mv  源檔案名   制定路徑(檔案名課重命名)
12、find  查找
	格式: find  查找目錄  選項 條件	find 路徑 參數 檔案名/檔案大小/建立者/檔案類型  
	選項類型:
		-name  檔案名		find  /root  -name  *.txt	查找檔案名是txt格式的檔案
		-size  檔案大小  k M G	find  /root  -size  +1k		查找大于1k的檔案
		-user  建立者		find  /root  -user  root	查找使用者名是root的檔案
		-type  檔案類型 f 普通檔案	find  /root  -type  f		查找普通檔案
	二次篩選:
		-exec  指令  {} \;		find  /root  -size  +1k  -exec  ls  -larth  {}  \;

13、cat 檢視内容較少的檔案			cat 1.txt  檢視1.txt中的内容 
14、more 檢視内容較多的檔案		more 2.txt  檢視内容較多的檔案   并以百分比顯示

15、head  讀取檔案頭部幾行的内容 		head  -3  1.txt    檢視1.txt的前三行内容
	格式 head -n 檔案			
16、tail  讀取檔案尾部幾行的内容		taile  -3  1.txt    檢視1.txt的最後三行的内容
	格式 tail -n 檔案 			
	tail -f 實時讀取檔案的内容		tail  -f  1.txt   對1.txt進行 實時監控

17、wc 	統計檔案中的内容			
	-l 行數				wc  -l  1.txt   檢視1.txt 中的行數
	-w 單詞數				wc  -w  1.txt  檢視1.txt中的單詞數
	-c 位元組數				wc  -c  1.txt  檢視1.txt中的位元組數

18、grep 篩選包含xxx字元串的行	
	-i  忽略大小寫
	-v  反向選取		"^#34; 表示的是空行    grep -v "^#34; (檔案名)   意義為反響選取空行意外的資料 
	"^xxx" 搜尋以XXX開頭的行		grep "^root" 1.txt  查找1.txt中以root開頭的行
	"xxx#34; 搜尋以XXX結尾的行		grep "root#34; 1.txt  查找1.txt中以root結尾的行
	"^#34; 搜尋空行			搜尋空行再取反,則得到沒有空行的文檔内容
19、gzip bzip2
	-9 高壓縮比
	-d 解壓
20、tar 打包、歸檔			不管對  tar   執行什麼操作,都要在他後面寫  -f   使用歸檔檔案				
	-c 建立			tar  -zcvf  1.tar.gz  1.txt   将1.txt壓縮到1.tar.gz中   并顯示壓縮過程
	-z 指定gzip的壓縮方式	tar  -jcvf  2.tar.bz2  2.txt  将2.txt壓縮到2.tar.bz2中   
	-j 指定bzip2的壓縮方式
	-v 顯示過程
	-f 使用歸檔檔案(必選)
	-t 檢視歸檔包裡的内容
	-p 保留原屬性
	-x 釋放歸檔包
	-C 指定釋放路徑		tar -jxvf  2.tar.bz2  -C  /root    将2.tar.bz2釋放到 root  檔案夾下           

六、vi編輯器

1、常見的圖形編輯器
	gedit         普通文本
	libreOffice   Office檔案
	evince        PDF檔案
2、VI的三種工作模式:指令模式、輸入模式、末行模式
3、切換的方法:
	指令-輸入: a、i、o、A、I、O
	輸入-指令: ESC
	指令-末行: :
	末行-指令: ESC           

七、軟體包管理

1、軟體包命名規則:
	軟體名.版本号.運作平台.rpm
	運作平台:
		i386 i686 都是32位平台
		x86_64 是64位平台
		noarch 相容32位和64位平台
2、RPM軟體包管理
	a、安裝: rpm -ivh 包名
		-i 安裝
		-v 詳細資訊
		-h 進度條
	b、解除安裝: rpm -e 軟體名
	c、查詢: 
		針對已經安裝的軟體:
		rpm -qi 軟體名  檢視版本資訊		i == information 
		rpm -ql 軟體名  檢視檔案清單		l == list
		rpm -qc 軟體名  檢視生成的配置檔案	c == config
		rpm -qd 軟體名  檢視生成的文檔檔案	d == dir
		rpm -qf 檔案名  查找該檔案由哪個軟體包生成	f == soft	
		針對未安裝的軟體:
		rpm -qpi 包名  檢視版本資訊		i == information
		rpm -qpl 包名  檢視檔案清單		
		rpm -qpc 包名  檢視生成的配置檔案
		rpm -qpd 包名  檢視生成的文檔檔案
	d、更新
		-U  更新軟體包,未安裝則先安裝再更新	Update
		-F  更新軟體包,未安裝則放棄操作           

八、使用者管理

1、使用者種類:
	管理使用者 root
	普通使用者 
	程式使用者
2、ID分類:
	UID 使用者辨別符
	GID 組辨別符
3、配置檔案
	/etc/passwd  賬号檔案
	/etc/shadow  密碼檔案
4、指令
	useradd 添加使用者
	-u  指定UID
	-e  指定失效時間
	-M  不生成家目錄
	-s  指定登入SHELL
	-d  指定家目錄
	-g  指定基本組
	-G  指定附加組-
	
	usermod 更改使用者屬性
	-L  鎖定
	-U  解鎖
	-l  更改登入名
	
	passwd  更改密碼
	-l  鎖定
	-u  解鎖
	-S  檢視鎖定狀态
	-d  清空密碼,以空密碼登入

	userdel 删除使用者
	-r  删除使用者的同時,删除其家目錄           

九、組管理

1、類型(為了靈活設定權限):
	基本組:每個使用者隻可有一個基本組
	附加組:每個使用者可以有多個
2、配置:
	/etc/group  組檔案
	/etc/gshadow  組密碼檔案	
3、指令:
	groupadd  添加組
	gpasswd  設定組密碼
	-a  添加一個成員進組
	-d  删除一個組成員
	-M  同時添加多個成員進組(多個使用者名之間用,隔開)
	groupdel 删除組           

十、相關查詢指令

id、finger(需要自己安裝)、w/who(查詢線上使用者)
su 切換使用者身份
注:打開新的環境去運作該使用者           

十一、權限

1、權限的種類:
	r  讀
	w  寫
	x  執行
2、設定權限的方法
	a、字母:
		chmod ugoa +-= rwx 檔案或目錄
	b、數字:
		chmod 數字 檔案或目錄
		數字由3位組成,分别代表屬主、屬組、其他人的權限
		r 4 
		w 2
		x 1
	c、選項
		-R 遞歸設定
	d、歸屬
		chown 屬主:屬組 檔案或目錄
		-R 遞歸設定           

十二、ACL通路控制

1、作用:設定更為複雜的權限
2、指令:
	getfacl  檢視ACL權限
	setfacl  設定ACL權限
3、選項:
	-m 建立   setfacl -m u:使用者:權限  檔案或目錄
	-d 設定預設值(針對未來建立檔案生效)
	-R 設定遞歸
	-x 删除一項ACL權限  setfacl -x u:使用者 檔案或目錄
	-b 删除所有ACL權限  setfacl -b 檔案或目錄           

十三、修改網絡參數

1、修改主機名:
	檢視: hostname 
	臨時: hostname 主機名
	永久: vim /etc/sysconfig/network
		HOSTNAME=主機名
2、修改IP位址:
	檢視: ifconfig
	臨時: ifconfig  eth0(網卡接口) IP位址 netmask 子網路遮罩(255.255.255.0)
	永久: vim /etc/sysconfig/network-scripts/ifcfg-eth0
		DEVICE=eth0    網卡名稱
		ONBOOT=yes     開機自動啟用
		BOOTPROTO=static/dhcp   IP位址的擷取方式  手動配置/自動配置設定
		IPADDR=192.168.1.1      配置的IP位址 
		NETMASK=255.255.255.0   配置的子網路遮罩
		需重新開機服務或網卡生效
		service network restart   重新開機網卡(将所有的網卡重新開機)
		ifconfig eth0 down
		ifconfig eth0 up     重新開機eth0網卡(重新開機指定的eth0網卡)
3、修改網關:
	檢視: route -n
	臨時: route add default gw IP位址    route add default gw 192.168.103.1
	永久: vim /etc/sysconfig/network-scripts/ifcfg-eth0
		GATEWAY=192.168.103.1
		需重新開機服務或網卡生效
		service network restart   重新開機網卡(将所有的網卡重新開機)
		ifconfig eth0 down
		ifconfig eth0 up     重新開機eth0網卡(重新開機指定的eth0網卡)
4、配置DNS
	配置: 	vim /etc/sysconfig/network-scripts/ifcfg-eth0
		DNS1=202.106.0.20
		DNS2=8.8.8.8
		或者
		vim /etc/resolv.conf
		nameserver 202.106.0.20
		nameserver 8.8.8.8
	測試:  nslookup 能夠将域名解析成IP位址
5、本地解析檔案
	配置:  vim /etc/hosts
		IP位址  域名      如 :  192.168.103.253  www.baidu.com
	特點:	優先級比DNS高
		即時生效(編輯完就生效,不需要重新開機)
6、測試指令:
	netstat 檢查端口 路由等的資訊
	traceroute  檢視到達目标主機之間經過了多少個路由           

十四、FTP檔案伺服器

協定:計算機的語言
端口:傳輸資料的接口

端口:21 建立連接配接
	  20 傳輸資料

模式:主動模式和被動模式
	
安裝:
	伺服器端:yum -y install vsftpd 
	用戶端: yum -y install ftp
配置:

	匿名模式:
		使用anonymous或ftp進行登入  ftp 192.168.103.253  使用者名: ftp  密碼 為空
		看到Login  successful才算登入成功 
			上傳 put 檔案名  下載下傳  get 檔案名 
			注;不能對目錄操作

		預設的工作目錄: /var/ftp/pub
		
		設定匿名上傳通路權限: 
			a、修改配置檔案的上傳權限: vim /etc/vsftpd/vsftpd.conf
							anon_upload_enable=YES
			b、修改目錄的寫入權限:
						chown ftp /var/ftp/pub
			c、重新開機服務,使修改生效:
						service  vsftpd restart

常見配置項:
	anon_mkdir_write_enable=YES  允許在伺服器上建立目錄
	anon_other_write_enable=YES  允許在伺服器上删除、重命名等


	本地使用者:
		使用系統中的普通使用者登入 
		
		預設的工作目錄:/home/登入使用者
	
		本地使用者必須啟用的配置項: chroot_local_user=YES 禁锢宿主目錄(防止使用者在伺服器上随意切換目錄)