1. 程式人生 > >Linux基礎02:磁碟操作,檔案許可權、檔案及資料夾操作、網路服務

Linux基礎02:磁碟操作,檔案許可權、檔案及資料夾操作、網路服務

1.Linux磁碟與U盤操作

1.1 顯示系統的磁碟空間用量
##du命令也是檢視使用空間的,但是與df命令不同的是Linux du命令是對檔案和目錄磁碟使用的空間的檢視
du -sh  ##查目錄使用大小(-s表示總結)
## du -sh /bin
##df命令用於顯示磁碟分割槽上的可使用的磁碟空間。預設顯示單位為KB。可以利用該命令來獲取硬碟被佔用了多少空間,目前還剩下多少空間等資訊。
df -h	##檢查linux伺服器的檔案系統的磁碟空間佔用情況
##mkfs命令用於在裝置上(通常為硬碟)建立Linux檔案系統。mkfs本身並不執行建立檔案系統的工作,而是去呼叫相關的程式來執行。
mkfs.ext4 /dev/sda1 ##格式化硬碟分割槽 ##fdisk命令用於觀察硬碟實體使用情況,也可對硬碟分割槽。 fdisk -l ##檢視整個硬碟的資訊 fdisk /dev/sda ##磁碟分割槽
1.2 掛載

掛載6

##命令格式:mount [-t vfstype] [-o options] device dir 
其中: 
#1.-t vfstype 指定檔案系統的型別,通常不必指定。mount 會自動選擇正確的型別。常用型別有: 
光碟或光碟映象:iso9660 
DOS fat16檔案系統:msdos 
Windows 9x fat32檔案系統:vfat 
Windows NT ntfs檔案系統:ntfs 
Mount Windows檔案網路共享:smbfs 
UNIX(
LINUX) 檔案網路共享:nfs #2.-o options 主要用來描述裝置或檔案的掛接方式。常用的引數有: loop:用來把一個檔案當成硬碟分割槽掛接上系統 ro:採用只讀方式掛接裝置 rw:採用讀寫方式掛接裝置 iocharset:指定訪問檔案系統所用字符集 #3.device 要掛接(mount)的裝置。 #4.dir裝置在系統上的掛接點(mount point)。 ##將映象檔案掛載在/mnt/dvd下 mkdir /mnt/dvd #在根目錄下的mnt目錄下建立目錄dvd mount -t iso9660 -o loop /dev/cdrom /mnt/dvd ##掛載 umount
/mnt/dvd ##解除安裝
1.3 檔案系統修復
##fsck命令被用於檢查並且試圖修復檔案系統中的錯誤。當檔案系統發生錯誤,可用fsck指令嘗試加以修復
fsck -y  /dev/sda1   ##(修復的可以是分割槽可以是目錄,最好在單使用者模式下使用)
##linux檔案格式
ext4  ext3   ext2   vfat(fat32)
##windows檔案格式
ntfs   fat32  exfat

2.Linux賬號與組操作

2.1 賬戶

​ 超級賬戶 root uid = 0

​ 普通賬戶 uid > = 500

​ 系統賬戶 uid = 1 ~ 499

​ /etc/passwd //儲存賬戶的資訊

![圖片14 (2)](圖片14 (2).png)

​ /etc/shadow //儲存賬戶密碼資訊

![圖片15 (2)](圖片15 (2).png)

2.2 新增,刪除,修改使用者 useradd,userdel,usermod

useradd 用於Linux中建立的新的系統使用者。useradd可用來建立使用者帳號。帳號建好之後,再用passwd設定帳號的密碼.而可用userdel刪除帳號。使用useradd指令所建立的帳號,實際上是儲存在/etc/passwd文字檔案中。所有使用者必須放在組中,建立使用者時,如不指定組,會預設建立與使用者名稱相同的組

useradd(選項)(引數)
useradd user 新增使用者user;
useradd -g user user1  建立使用者user1指定基本組為user  使用 cat /etc/passwd 檢視
-G<群組>:指定使用者所屬的附加群組;
useradd -G user user2  建立使用者user2指定附加組為user2 使用cat /etc/group檢視組情況
-u<uid>:指定使用者id。
useradd -u 666 user3  建立使用者user3指定使用者ID為666 使用 cat /etc/passwd 檢視

userdel命令用於刪除給定的使用者,以及與使用者相關的檔案。若不加選項,則僅刪除使用者帳號,而不刪除相關檔案。

useradel(選項)(引數)
-f:強制刪除使用者,即使使用者當前已登入;
-r:刪除使用者的同時,刪除與使用者相關的所有檔案。userdel -r user 刪除使用者user,並且刪除/home/user

usermod命令用於修改使用者的基本資訊。usermod命令不允許你改變正在線上的使用者帳號名稱。當usermod命令用來改變user id,必須確認這名user沒在電腦上執行任何程式。

usermod(選項)(引數)
-g<群組>:修改使用者所屬的群組;
-G<群組>;修改使用者所屬的附加群組;
-l<帳號名稱>:修改使用者帳號名稱;
-L:鎖定使用者密碼,使密碼無效;
-u<uid>:修改使用者ID;
-U:解除密碼鎖定。
2.3 passwd命令

​ 用於設定使用者的認證資訊,包括使用者密碼、密碼過期時間等。系統管理者則能用它管理系統使用者的密碼。只有管理者可以指定使用者名稱稱,一般使用者只能變更自己的密碼。

passwd(選項)(引數) 
引數即需要設定密碼的使用者名稱。
-d:刪除密碼,僅有系統管理者才能使用;
-l:鎖住密碼;
-u:解開已上鎖的帳號。
2.4 :groupadd

​ groupadd命令用於建立一個新的工作組,新工作組的資訊將被新增到系統檔案中。

groupadd(選項)(引數)
-g:指定新建工作組的id;
groupadd manager   ##建立組manager
groupadd manager1  ##建立組manager1
groupadd manager1  ##建立組manager2
cat /etc/group	   ##檢視組資訊
cat /etc/gshadow   ##檢視組密碼資訊

![圖片16 (2)](圖片16 (2).png)

2.5 groupmod命令

​ 更改群組識別碼或名稱。需要更改群組的識別碼或名稱時,可用groupmod指令來完成這項工作。

groupmod(選項)(引數)
-g<群組識別碼>:設定欲使用的群組識別碼;
groupmod -g 888 manager
-n<新群組名稱>:設定欲使用的群組名稱。
group -o manager1 manager
2.6 groupdel

​ groupdel命令用於刪除指定的工作組,本命令要修改的系統檔案包括/ect/group和/ect/gshadow。若該群組中仍包括某些使用者,則必須先刪除這些使用者後,方能刪除群組。

groupdel(引數) 引數即要刪除的組名
groupdel manager 
2.7 gpasswd

gpasswd命令是Linux下工作組檔案/etc/group/etc/gshadow管理工具。

gpasswd(選項)(引數)
-a:新增使用者到組;
gpasswd -a user1 manager
顯示Adding user user1 to group manager 
-d:從組刪除使用者;
gpasswd -d user1 manager
顯示Removing user user1 from group manager
2.8 id指令

​ id命令可以顯示真實有效的使用者ID(UID)和組ID(GID)。UID 是對一個使用者的單一身份標識。組ID(GID)則對應多個UID。id命令已經預設預裝在大多數Linux系統中。

id [-gGnru][--help][--version][使用者名稱稱]
-g或--group   顯示使用者所屬群組的ID。
id -g user1
-G或--groups   顯示使用者所屬附加群組的ID。
id -G user1
-n或--name    顯示使用者,所屬群組或附加群組的名稱。
id -name user1
-u或--user    顯示使用者ID。
id -u user1
2.9 更改密碼

更改密碼方式1

##修改使用者user2密碼(root使用者許可權)
passwd user2
New password:*******
Re-enter new password:*******

更改密碼方式2

##不通過互動資訊,直接改使用者密碼(root使用者許可權)
echo "root" | passwd --stdin root  
2.10 切換使用者

​ su命令用於切換當前使用者身份到其他使用者身份,變更時須輸入所要變更的使用者帳號與密碼。

su +使用者名稱
su  user3  #切換使用者為user3
2.11 切換使用者許可權使用
  • sudo命令:使用某調命令的時候,臨時取得超級使用者的許可權,使用完畢之後,回到自己的許可權

![](圖片22 (2).png)

![](圖片23 (2).png)

![](圖片24 (2).png)

![](圖片25 (2).png)

2.11. 顯示當前登入使用者帳戶
whoami   #顯示當前使用者
who      #顯示當前線上使用者
last     #最後登入是誰
last -n  #最後登入的列表
2.12 檢視系統檔案判斷新增使用者組新增使用者操作是否正確
##檢視使用者資訊
cat /etc/passwd
##檢視使用者組的資訊
cat /etc/group

3.Linux下檔案許可權介紹

3.1 檢視當前位置及路徑切換

pwd 檢視當前位置

cd 切換檔案目錄

cd ~  		#回到家目錄
cd -   		#回退到上一次所在位置
cd ../		#回到上一級目錄
cd ./		#當前目錄
cd 			#返回到當前使用者的家目錄
3.2 顯示當前目錄的檔案列表
ls -al /etc   ##檢視根目錄下etc檔案下的所有檔案和目錄,包括隱藏檔案
3.3 遞迴顯示/目錄的檔案列表
 ls -R /etc
3.4 顯示檔案或資料夾詳細資訊

許可權:讀取\寫入\可執行
歸屬關係:所有者\所屬組\其他使用者

-|rw-|---|---. 1 root root 1771 4月28 2015 anaconda-ks.cfg
①  ②   ③   ④      ⑤    ⑥    ⑦      ⑧              ⑨
①:檔案型別
	-	檔案	
	d	目錄
	l	連結
②:所有者許可權(u)
	r	讀	 4
	w	寫	 2
	x	執行	1
③:所屬組許可權(g)
	r	讀	4
	w	寫	2
	x	執行	1
④:其他使用者許可權(o)
	r	讀	4
	w	寫	2
	x	執行	1
⑤:所有者
⑥:所屬組
⑦:檔案大小
⑧:最後修改時間
⑨:檔名

3.5 設定檔案所有者擁有對檔案讀寫執行許可權
chmod 777 /data0/my.cnf     ##擁有所有許可權
chmod -x /data0/my.cnf      ##刪除執行許可權
chmod -R 777 /data0         ##遞迴改許可權
chmod u g o +-rwx /1.txt    ##使用者,同組,其他人
chown -R lucy:lucy /data0   ##修改所有者及組

4.Linux檔案資料夾操作

4.1 建立資料夾和檔案 (指定目錄和不指定目錄的區別)
mkdir  /tmp/test01 						##建立空資料夾
mkdir -p /data1/hadoop/hdfs/name 		##建立多級資料夾
touch /tmp/test01/file.txt				##建立空檔案
vi file.log   							##建立空檔案並進入編輯模式
echo > file.txt  						##建立file.txt並輸入空到該檔案中
4.2 複製檔案
cp  /tmp/file.txt  /opt
4.3 複製目錄
cp  -r  /tmp/test01  /opt
4.4 移動,剪下,重新命名
mv  /opt/test01  /tmp  ##移動目錄 
mv  /opt/file1.txt   /tmp/file1.txt ##移動檔案 
mv  /opt/file1.txt   /tmp/file2.txt ##移動檔案並重命名
mv  /opt/test01  /tmp/test02 ##移動目錄並重命名
rename aoo aoo1   aoo? ##批量命名
##第一個引數:被替換掉的字串
##第二個引數:替換成的字串
##第三個引數:匹配要替換的檔案模式
##字母的替換
rename AA aa *  ##把檔名中的AA替換成aa
##修改檔案的字尾
rename .html .php  *    ##把.html 字尾的改成 .php字尾
##批量刪除字尾
rename .txt ''  *      ##把所有以.txt結尾的檔名的.txt刪掉
4.5 刪除
rm				##刪除檔案
rm -r			##刪除目錄(遞迴刪除)
rm -f			##強制刪除
rm –rf folder   ##常用命令 不可恢復
4.6 檔案內容檢視
cat -n					##檢視內容時顯示行號
cat /etc/redhat-release	##不顯示行號
cat -n /etc/passwd 		##檢視內容時顯示行號
4.7 目錄檔案顯示多行可上下翻查
less /etc/passwd
4.8 顯示檔案的頭10行或尾10行
tail		##預設檢視檔案尾10行
head 		##預設檢視檔案頭10行
-n 數字	  ##檢視指定頭幾行		
tail /etc/passwd
head /etc/passwd
tail -2 /etc/passwd ##檢視檔案尾2行
head -3 /etc/passwd ##檢視檔案頭2行
head -12 /etc/passwd | tail -5  ##查出前12行交給後面處理,即檢視前面命令查出內容的的後5行 
tail -f /home/passwd   ##監控檔案(監控檔案id)
tail -F /home/passwd   ####監控檔案(監控檔名)
4.9 重定向 > >>
##  > 先清空檔案內容,後寫入新的內容
ls -l /root > /tmp/file1.txt
## >> 追加新的內容,舊的內容不會消除
ls -l /root  >>  /tmp/file1.txt
4.10 螢幕列印 echo
echo "No Hello World..."			    ##列印到螢幕
echo “hello word” >/data0/my.cnf		##列印到檔案
echo “hello word” >> /data0/my.cnf	    ##列印追加到檔案
4.11 文字編輯器 VIM
vim file
:q		##退出
:w		##儲存
:wq		##儲存退出
:q!		##強制退出
:wq!	##強制儲存退出

vi/vim是Unix/Linux中最常用的文字編輯器,並且功能十分強大。但是它只有命令沒有介面。

  • 4.11.1 Vim文字編輯器的基本工作模式

![圖片1 (2)](圖片1 (2).png)

  • 4.11.2 插入命令

![](圖片2 (2).png)

  • 4.11.3 定位命令

![](圖片3 (2).png)

  • 4.11.4 替換和取消命令

![](圖片4 (2).png)

  • 4.11.5 刪除命令

![](圖片5 (2).png)

  • 4.11.6 後臺掛起任務,後臺執行任務,調出後臺任務
ctrl + z 		#後臺掛起
jobs     		#檢視後臺掛起任務
fg jobid		#顯示某個後臺掛起的任務
ping www.baidu.com >> 1.txt
按ctrl + z 使任務後臺掛起
5.12 gzip與gunzip

gzip命令用來壓縮檔案。gzip是個使用廣泛的壓縮程式,檔案經它壓縮過後,其名稱後面會多處“.gz”副檔名。gzip是在Linux系統中經常使用的一個對檔案進行壓縮和解壓縮的命令,既方便又好用。gzip不僅可以用來壓縮大的、較少使用的檔案以節省磁碟空間,還可以和tar命令一起構成Linux作業系統中比較流行的壓縮檔案格式。

#gzip /home/data/1.txt
#gunzip /home/data/*.gz 
5.13 bzip2與bunzip2

bzip2命令可以用來壓縮檔案,檔案經它壓縮後會另外產生具有“.bz2”副檔名的壓縮檔案。

bunzip2命令用於解壓縮由bzip2命令壓縮的“.bz2”壓縮包。

#gzip /home/data/1.txt
#gunzip /home/data/*.gz 
5.14 打包 tar原理
-z    ##壓縮或解壓縮
-c	  ##打包
-x	  ##解包
-f	  ##必須要
-C	  ##指定解包位置
-v	  ##輸出資訊
5.15 打包tar案例(tar命令平常就代替了gz命令)
##將一個檔案打包
tar -cvf folder.tar file1.txt
##將多個檔案打成一個包
tar -cvf folder.tar file1.txt file2.txt
tar –cvf file.tar *.jpg    ##(常用方法)
##解包到當前目錄
tar -xvf folder.tar     ##(常用方法)
##解包到指定目錄
tar -xvf folder.tar -C /home/sss
##將多個檔案打包並壓縮
tar -zcvf file.tar.gz folder1 floder2  
##將檔案解包並解壓縮
tar -zxvf file.tar.gz        ##(常用方法)
##使用tar備份指定目錄/data0/內容包括子目錄中內容備份至 /data3/data0.tar.gz
tar -zcvf /data3/data0.tartar.gz   /data0
##恢復tar 檔案中的內容/data3/data0.tar.gz 至 /data2
tar -zxvf  /data3/data0.tar.gz -C /data2  
5.16 查詢命令所在位置
##查詢cmd命令所在路徑
which cmd 
##	which命令用於查詢並顯示給定命令的絕對路徑,環境變數PATH中儲存了查詢命令時需要遍歷的目錄。which指令會在環境變數$PATH設定的目錄裡查詢符合條件的檔案。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。
which reboot
##whereis 查詢路徑中包含該字串。一般用於查詢軟體安裝位置.whereis命令用來定位指令的二進位制程式、原始碼檔案和man手冊頁等相關檔案的路徑。
whereis mysql
##locate 查詢檔案按所在,檔案查詢-效率很快(用的是資料庫)locate命令其實是find -name的另一種寫法,但是要比後者快得多,原因在於它不搜尋具體目錄,而是搜尋一個數據庫/var/lib/mlocate/mlocate.db,這個資料庫中含有本地所有檔案資訊。Linux系統自動建立這個資料庫,並且每天自動更新一次,所以使用locate命令查不到最新變動過的檔案。為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動更新資料庫。
locate httpd.conf 	
##find 檔案查詢-效率很慢 find命令用來在指定目錄下查詢檔案。任何位於引數之前的字串都將被視為欲查詢的目錄名。如果使用該命令時,不設定任何引數,則find命令將在當前目錄下查詢子目錄與檔案。並且將查詢到的子目錄和檔案全部進行顯示。
find / -name httpd.conf 檔名字是該字串的 
find / -name *ss*
find / -size 4k   ???查詢大於多少  小於多少

5. Linux網路與安全級別操作

5.1 修改ip地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0

##網絡卡名稱
DEVICE=eth0
##網路型別為:Ethernet
TYPE=Ethernet
##唯一性
UUID=d06a4eee-dd5c-45e5-afbc-38a8a8440bd9
##開機啟動
ONBOOT=yes
##network mamager的引數 ,是否可以由NNetwork Manager託管
NM_CONTROLLED=yes
##設定為none禁止DHCP,設定為static啟用靜態IP地址,設定為dhcp開啟DHCP服務
BOOTPROTO=none
##mac地址
HWADDR=00:0C:29:74:E7:3E
##ip地址
IPADDR=192.168.10.11
##子網掩碼24位
PREFIX=24
##閘道器
GATEWAY=192.168.10.254
##dns 域名解析 第一個dns伺服器
DNS1=192.168.10.254
##就是default route,是否把這個eth設定為預設路由
DEFROUTE=yes
##如果ipv4配置失敗禁用裝置
IPV4_FAILURE_FATAL=yes
##禁止IPV6
IPV6INIT=no
##這個就是個網路連線的名字
NAME="System eth0"
5.2主機名配置檔案
##永久修改主機名(需要重啟伺服器)
vim /etc/sysconfig/network
HOSTNAME=teacher.tarena.com
##臨時修改主機名,使用hostname命令+空格+新主機名
hostname teacher.tarena.com	
5.3 主機與IP地址對映檔案
##解析檔案
vim /etc/hosts	
192.168.91.111 hadoop01
5.4 常見服務埠
web		tcp			80
telnet	tcp			23
ssh		tcp			22
ftp		tcp			20/21
smtp	tcp			25
pop3	tcp			110
imap	tcp 		143
dns		tcp/udp		53
可以參考/etc/services
5.5 關閉防火牆
##關閉防火牆
service iptables stop
##設定開機不啟動
chkconfig iptables off
##檢視防火牆狀態
service iptables status
5.6 給虛擬機器打一個快照(相當於在某個時刻點給該虛擬機器照一張照片),類似window恢復。