壓縮和解壓類
7.8.1 gzip/gunzip 壓縮
1.基本語法
gzip 文件 (功能描述:壓縮文件,只能將文件壓縮為*.gz文件)
gunzip 文件.gz (功能描述:解壓縮文件命令)
2.經驗技巧
(1)只能壓縮文件不能壓縮目錄
(2)不保留原來的文件
3.案例實操
(1)gzip壓縮
[root@hadoop101 ~]# ls
test.java
[root@hadoop101 ~]# gzip houge.txt
[root@hadoop101 ~]# ls
houge.txt.gz
(2)gunzip解壓縮文件
[root@hadoop101 ~]# gunzip houge.txt.gz
[root@hadoop101 ~]# ls
houge.txt
7.8.2 zip/unzip 壓縮
1.基本語法
zip [選項] XXX.zip 將要壓縮的內容 (功能描述:壓縮文件和目錄的命令)
unzip [選項] XXX.zip (功能描述:解壓縮文件)
2.選項說明
表1-29
zip選項 |
功能 |
-r |
壓縮目錄 |
表1-30
unzip選項 |
功能 |
-d<目錄> |
指定解壓后文件的存放目錄 |
3.經驗技巧
zip 壓縮命令在window/linux都通用,可以壓縮目錄且保留源文件。
4.案例實操
(1)壓縮 1.txt 和2.txt,壓縮后的名稱為mypackage.zip
[root@hadoop101 opt]# touch bailongma.txt
[root@hadoop101 ~]# zip houma.zip houge.txt bailongma.txt
adding: houge.txt (stored 0%)
adding: bailongma.txt (stored 0%)
[root@hadoop101 opt]# ls
houge.txt bailongma.txt houma.zip
(2)解壓 mypackage.zip
[root@hadoop101 ~]# unzip houma.zip
Archive: houma.zip
extracting: houge.txt
extracting: bailongma.txt
[root@hadoop101 ~]# ls
houge.txt bailongma.txt houma.zip
(3)解壓mypackage.zip到指定目錄-d
[root@hadoop101 ~]# unzip houma.zip -d /opt
[root@hadoop101 ~]# ls /opt/
7.8.3 tar 打包
1.基本語法
tar [選項] XXX.tar.gz 將要打包進去的內容 (功能描述:打包目錄,壓縮后的文件格式.tar.gz)
2.選項說明
表1-31
選項 |
功能 |
-z |
打包同時壓縮 |
-c |
產生.tar打包文件 |
-v |
顯示詳細信息 |
-f |
指定壓縮后的文件名 |
-x |
解包.tar文件 |
3.案例實操
(1)壓縮多個文件
[root@hadoop101 opt]# tar -zcvf houma.tar.gz houge.txt bailongma.txt
houge.txt
bailongma.txt
[root@hadoop101 opt]# ls
houma.tar.gz houge.txt bailongma.txt
(2)壓縮目錄
[root@hadoop101 ~]# tar -zcvf xiyou.tar.gz xiyou/
xiyou/
xiyou/mingjie/
xiyou/dssz/
xiyou/dssz/houge.txt
(3)解壓到當前目錄
[root@hadoop101 ~]# tar -zxvf houma.tar.gz
(4)解壓到指定目錄
[root@hadoop101 ~]# tar -zxvf xiyou.tar.gz -C /opt
[root@hadoop101 ~]# ll /opt/
用戶及文件權限管理
su , su-與sudo
sudo<cmd> 可以依特權級別運行cmd
創建一個叫lilei的用戶
sudo adduser lilei,后面會輸入密碼,
ls /home 這個命令不但可以添加用戶到系統,同時也會默認新用戶創建home目錄
設置密碼也可以通過 sudo passwd shiyanlou
切換用戶su<user>
切換用戶並切換用戶的環境 變量su - <user>
退出當前用戶或者終端用exit或者ctrl + d
用戶zu
查看用戶組
groups shiyanlou
查看文件下的用戶組
cat /etc/group | sort 會展示出 用戶組名:密碼:組ID:用戶 如:users:x:3:lilei
將lilei添加到sudo組里面 sudo usermod -G sudo lilei
刪除用戶: sudo deluser lilei
文件操作
---恢復內容結束---
可以使用ctrl+C來終止當前的指令,如光標閃爍,無法繼續輸入命令,不停地輸出一堆
常用的命令
tab來補全命令
pwd來查看當前所在目錄的絕度路徑
ctrl+d鍵盤輸入結束或退出終端
ctrl+s暫停當前程序,按任意鍵恢復運行
Ctrl+ z將當前程序放到后台運行,恢復到前台為命令fg
Ctrl+a將光標移至輸入行頭
Ctrl+e將光標移至所在位置的行末
Ctrl+k 刪除從光標所在位置到行末
alt+backspace向前刪除一個單詞
shift+pgUp將終端顯示向上滾動
shift+pgDown將終端顯示向下滾動
學會利用鍵盤上的↑應用之前命令
通配符的應用
*匹配0或多個字符
?匹配任意一個字符
[list]匹配list中的任意一字符
[^list]匹配除list中的任意單一字符以外的字符
[c1-c2]匹配c1-c2中的任意單一字符 如:[0-9][a-z]
{string1,string2,...}匹配string1或string2(或更多)其一字符串
{c1..c2}匹配c1-c2中全部字符如{1..10}
touch a_{1..10}_file.txt將會創建從1到10的10個文件
ls *.txt ls a?b.txt
用戶及文件權限管理
su , su-與sudo
sudo<cmd> 可以依特權級別運行cmd
創建一個叫lilei的用戶
sudo adduser lilei,后面會輸入密碼,
ls /home 這個命令不但可以添加用戶到系統,同時也會默認新用戶創建home目錄
設置密碼也可以通過 sudo passwd shiyanlou
切換用戶su<user>
切換用戶並切換用戶的環境 變量su - <user>
退出當前用戶或者終端用exit或者ctrl + d
用戶zu
查看用戶組
groups shiyanlou
查看文件下的用戶組
cat /etc/group | sort 會展示出 用戶組名:密碼:組ID:用戶 如:users:x:3:lilei
將lilei添加到sudo組里面 sudo usermod -G sudo lilei
刪除用戶: sudo deluser lile
文件
查看目錄下的文件:ls -l
查看某個文件的 ll file名
變更 文件所有者 sudo chown 新所有者名 文件名 如:sudo chown shiyanlou file
修改文件的權限
chmod 600 iphone6
文件
目錄路徑
.表示當前目錄 ..表示上級目錄 ~表示當前的home目錄 ,cd -回到上次路徑
進入上一級目錄 cd .. 進入home目錄 cd ~
使用pwd獲取當前路徑 pwd
絕對路徑:是以“/”目錄為起點的完整路徑,以你要到的路徑為終點 如:/usr/local/bin
相對路徑:表示相對於當前路徑 usr/local/bin
文件新建
創建文件 touch test
創建目錄 mkdir mydir
創建文件並編輯文件 vim test.han
使用參數-p創建父目錄 mkdir -p father/son/grandson
文件賦值 cp test father/son/grandson
目錄的賦值需要加上-r或者-R參數,表示遞歸復制
cp -r father family
cp 復制文件或目錄
1.基本語法
cp [選項] source dest (功能描述:復制source文件到dest)
2.選項說明
表1-11 選項說明
選項 |
功能 |
-r |
遞歸復制整個文件夾 |
3.參數說明
表1-12 參數說明
參數 |
功能 |
source |
源文件 |
dest |
目標文件 |
4.經驗技巧
強制覆蓋不提示的方法:\cp
5.案例實操
(1)復制文件
[root@hadoop101 ~]# cp xiyou/dssz/suwukong.txt xiyou/mingjie/
(2)遞歸復制整個文件夾
[root@hadoop101 ~]# cp -r xiyou/dssz/ shanghai/
文件刪除
刪除文件 rm -rf test
刪除目錄 rm -r family
rmdir 刪除一個空的目錄
rmdir:Remove directory 移動目錄
1.基本語法:
rmdir 要刪除的空目錄
2.案例實操
(1)刪除一個空的文件夾
[root@hadoop101 ~]# rmdir xiyou/dssz/meihouwang
文件的移動(相當於剪切)和重命名
1.基本語法
(1)mv oldNameFile newNameFile (功能描述:重命名)
(2)mv /temp/movefile /targetFolder (功能描述:移動文件)
2.案例實操
(1)重命名
[root@hadoop101 ~]# mv xiyou/dssz/suwukong.txt xiyou/dssz/houge.txt
(2)移動文件
[root@hadoop101 ~]# mv xiyou/dssz/houge.txt ./
移動文件 mv 源文件 目的文件
mkdir Documents
touch file1
mv file1 Documents
重命名文件
mv 舊的文件名 新的文件名
mv file1 myfile
批量重命名
rename是先使用第二參數的通配符匹配 所有后綴為.txt的文件
文件查看的命令
cat ,tac,nl ,more ,less,head,taile
cat為正序,tac為倒敘
cd /home/shiyanlou
cp /etc/passwd passwd
cat passwd 顯示出所有的內容
cat -n passwd 展示出行號
more passwd
more和less命令是分頁查看文件
翻頁時不同:more向下翻頁ctrl+F,向上翻頁時Ctrl+B
less:向下翻頁[pagedown],向上翻頁[pageup]
[root@hadoop101 ~]# more smartd.conf
more -n展示出行號
操作 |
功能說明 |
空白鍵 (space) |
代表向下翻一頁; |
Enter |
代表向下翻『一行』; |
q |
代表立刻離開 more ,不再顯示該文件內容。 |
Ctrl+F |
向下滾動一屏 |
Ctrl+B |
返回上一屏 |
= |
輸出當前行的行號 |
:f |
輸出文件名和當前行的行號 |
more命令只能往一個方向進行滾動,less功能和more功能相似
less 分屏顯示文件內容
less指令用來分屏查看文件內容,它的功能與more指令類似,但是比more指令更加強大,支持各種顯示終端。less指令在顯示文件內容時,並不是一次將整個文件加載之后才顯示,而是根據顯示需要加載內容,對於顯示大型文件具有較高的效率。
1.基本語法
less 要查看的文件
2.操作說明
表1-16 操作說明
操作 |
功能說明 |
空白鍵 |
向下翻動一頁; |
[pagedown] |
向下翻動一頁 |
[pageup] |
向上翻動一頁; |
/字串 |
向下搜尋『字串』的功能;n:向下查找;N:向上查找; |
?字串 |
向上搜尋『字串』的功能;n:向上查找;N:向下查找; |
q |
離開 less 這個程序; |
使用enter向下滾動一行,space鍵向下滾動一屏,按h顯示幫助,q退出
查看文件類型
file /bin/ls
環境變量
創建變量名為tmp的變量 declare tmp
給變量賦值 tmp=shiyanlou
echo $tmp
環境變量按照周期來划分:分為永久的和臨時的
ls -a來查看 如: .profile .bashrc
/etc/bashrc來存放shell變量
/etc/profile來存放環境變量
命令的查找路徑與順序 echo $path
變量刪除 unset temp
讓環境變量立即生效:用source 或者.
如:cd /home/shiyanlou source .zshrc
source的另外一個別名是. . ./.zshrc
注意在使用.的時候,需要注意與表示當前路徑的那個點區分開,第一個點后面有一個空格,而且后面的文件
必須指定完整的絕對或相對路徑名,source就不需要了
搜索文件
查找/usr/share/下所有jpg文件
locate /usr/share/\*.jpg 注意*前面的\轉義,否則無法找到
find查詢文件比較強大 ,路徑是作為第一個參數,基本命令格式 find[path][option][action]
sudo find /etc/ -name 文件名/路徑名
-atime最后訪問時間 -ctime最后修改文件內容的時間 -mtime最后修改文件屬性的時間
列出用戶家目錄比Code文件夾新的文件
find ~ -newer /home/shiyanlou/Code
尋找文件
一個sources.list文件,依稀記得在/etc/目錄下
1.找到source.list文件 sudo find /etc -name sources.list 會顯示出文件的絕對路徑
2.把文件所有者改為自己 sudo chown shiyanlou /etc/apt/sources.list\
3.把權限修改為僅僅只有自己可讀可寫 chmod 600 /etc/apt/sources.list
文件壓縮問題
Zip壓縮打包程序
zip -r -q -e -o shiyanlou.zip /home/shiyanlou/Desktop
-r表示遞歸打包文件的全部內容
-q表示為安靜模式,不向屏幕輸出信息
-o表示輸出文件,需要在其后緊跟打包輸出文件
-e表示打包文件時要加密
使用unzip命令來解壓縮zip文件
解壓當前目錄unzip shiyanlou.zip
使用安靜模式,將文件解壓到指定目錄,目錄不存在將會自動創建unzip -q shiyanlou.zip -d ziptest
不解壓只想看壓縮包里內容的:用 -l 如:unzip -l shiyanlou.zip
使用-O參數指定編碼類型 unzip -O GBK 中文壓縮文件.zip
tar打包工具
tar -cf shiyanlou.tar /home/shiyanlou/Desktop
-c表示創建一個tar包,-f 用於指定的文件名 ,f必須在c的后面
解包到已存在的目錄:tar -xf shiyanlou.tar -C tardir
只查看不解包文件 -t 參數 tar -tf shiyanlou.tar
總結:zip 打包:zip something.zip something (目錄請加-r參數)
解包:unzip something.zip
tar 打包:tar -cf something.tar soething
解包 tar -xf something.tar
指定路徑:-C參數
網絡配置
修改配置文件 在cd /etc/sysconfig/network-scripts/ifcfg-eth0
啟動服務 service network restart
---恢復內容開始---
可以使用ctrl+C來終止當前的指令,如光標閃爍,無法繼續輸入命令,不停地輸出一堆
查看共享文件:cd /mnt/hgfs/CentosShare
常用的命令
tab來補全命令
pwd來查看當前所在目錄的絕度路徑
ctrl+d鍵盤輸入結束或退出終端
ctrl+s暫停當前程序,按任意鍵恢復運行
Ctrl+ z將當前程序放到后台運行,恢復到前台為命令fg
Ctrl+a將光標移至輸入行頭
Ctrl+e將光標移至所在位置的行末
Ctrl+k 刪除從光標所在位置到行末
alt+backspace向前刪除一個單詞
shift+pgUp將終端顯示向上滾動
shift+pgDown將終端顯示向下滾動
學會利用鍵盤上的↑應用之前命令
通配符的應用
*匹配0或多個字符
?匹配任意一個字符
[list]匹配list中的任意一字符
[^list]匹配除list中的任意單一字符以外的字符
[c1-c2]匹配c1-c2中的任意單一字符 如:[0-9][a-z]
{string1,string2,...}匹配string1或string2(或更多)其一字符串
{c1..c2}匹配c1-c2中全部字符如{1..10}
touch a_{1..10}_file.txt將會創建從1到10的10個文件
ls *.txt ls a?b.txt
用戶及文件權限管理
su , su-與sudo
sudo<cmd> 可以依特權級別運行cmd
創建一個叫lilei的用戶
sudo adduser lilei,后面會輸入密碼,
ls /home 這個命令不但可以添加用戶到系統,同時也會默認新用戶創建home目錄
設置密碼也可以通過 sudo passwd shiyanlou
切換用戶su<user>
切換用戶並切換用戶的環境 變量su - <user>
退出當前用戶或者終端用exit或者ctrl + d
用戶zu
查看用戶組
groups shiyanlou
查看文件下的用戶組
cat /etc/group | sort 會展示出 用戶組名:密碼:組ID:用戶 如:users:x:3:lilei
將lilei添加到sudo組里面 sudo usermod -G sudo lilei
刪除用戶: sudo deluser lilei
文件操作
---恢復內容結束---
可以使用ctrl+C來終止當前的指令,如光標閃爍,無法繼續輸入命令,不停地輸出一堆
常用的命令
tab來補全命令
pwd來查看當前所在目錄的絕度路徑
ctrl+d鍵盤輸入結束或退出終端
ctrl+s暫停當前程序,按任意鍵恢復運行
Ctrl+ z將當前程序放到后台運行,恢復到前台為命令fg
Ctrl+a將光標移至輸入行頭
Ctrl+e將光標移至所在位置的行末
Ctrl+k 刪除從光標所在位置到行末
alt+backspace向前刪除一個單詞
shift+pgUp將終端顯示向上滾動
shift+pgDown將終端顯示向下滾動
學會利用鍵盤上的↑應用之前命令
通配符的應用
*匹配0或多個字符
?匹配任意一個字符
[list]匹配list中的任意一字符
[^list]匹配除list中的任意單一字符以外的字符
[c1-c2]匹配c1-c2中的任意單一字符 如:[0-9][a-z]
{string1,string2,...}匹配string1或string2(或更多)其一字符串
{c1..c2}匹配c1-c2中全部字符如{1..10}
touch a_{1..10}_file.txt將會創建從1到10的10個文件
ls *.txt ls a?b.txt
用戶及文件權限管理
su , su-與sudo
sudo<cmd> 可以依特權級別運行cmd
創建一個叫lilei的用戶
sudo adduser lilei,后面會輸入密碼,
ls /home 這個命令不但可以添加用戶到系統,同時也會默認新用戶創建home目錄
設置密碼也可以通過 sudo passwd shiyanlou
切換用戶su<user>
切換用戶並切換用戶的環境 變量su - <user>
退出當前用戶或者終端用exit或者ctrl + d
用戶zu
查看用戶組
groups shiyanlou
查看文件下的用戶組
cat /etc/group | sort 會展示出 用戶組名:密碼:組ID:用戶 如:users:x:3:lilei
將lilei添加到sudo組里面 sudo usermod -G sudo lilei
刪除用戶: sudo deluser lile
文件
7.6 文件權限類
7.6.1 文件屬性
Linux系統是一種典型的多用戶系統,不同的用戶處於不同的地位,擁有不同的權限。為了保護系統的安全性,Linux系統對不同的用戶訪問同一文件(包括目錄文件)的權限做了不同的規定。在Linux中我們可以使用ll或者ls -l命令來顯示一個文件的屬性以及文件所屬的用戶和組。
1.從左到右的10個字符表示,如圖1-154所示:
圖1-154 文件屬性
如果沒有權限,就會出現減號[ - ]而已。從左至右用0-9這些數字來表示:
(1)0首位表示類型
在Linux中第一個字符代表這個文件是目錄、文件或鏈接文件等等
- 代表文件
d 代表目錄
l 鏈接文檔(link file);
(2)第1-3位確定屬主(該文件的所有者)擁有該文件的權限。---User
(3)第4-6位確定屬組(所有者的同組用戶)擁有該文件的權限,---Group
(4)第7-9位確定其他用戶擁有該文件的權限 ---Other
2.rxw作用文件和目錄的不同解釋
(1)作用到文件:
[ r ]代表可讀(read): 可以讀取,查看
[ w ]代表可寫(write): 可以修改,但是不代表可以刪除該文件,刪除一個文件的前提條件是對該文件所在的目錄有寫權限,才能刪除該文件.
[ x ]代表可執行(execute):可以被系統執行
(2)作用到目錄:
[ r ]代表可讀(read): 可以讀取,ls查看目錄內容
[ w ]代表可寫(write): 可以修改,目錄內創建+刪除+重命名目錄
[ x ]代表可執行(execute):可以進入該目錄
3.案例實操
[root@hadoop101 ~]# ll
總用量 104
-rw-------. 1 root root 1248 1月 8 17:36 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 1月 12 14:02 dssz
lrwxrwxrwx. 1 root root 20 1月 12 14:32 houzi -> xiyou/dssz/houge.tx
文件基本屬性介紹,如圖1-155所示:
圖1-155 文件基本屬性介紹
(1)如果查看到是文件:鏈接數指的是硬鏈接個數。創建硬鏈接方法
ln [原文件] [目標文件]
[root@hadoop101 ~]# ln xiyou/dssz/houge.txt ./hg.txt
(2)如果查看的是文件夾:鏈接數指的是子文件夾個數。
[root@hadoop101 ~]# ls -al xiyou/
總用量 16
drwxr-xr-x. 4 root root 4096 1月 12 14:00 .
dr-xr-x---. 29 root root 4096 1月 12 14:32 ..
drwxr-xr-x. 2 root root 4096 1月 12 14:30 dssz
drwxr-xr-x. 2 root root 4096 1月 12 14:04 mingjie
7.6.2 chmod 改變權限
1.基本語法
如圖1-156所示
圖1-156 基本語法
第一種方式變更權限
chmod [{ugoa}{+-=}{rwx}] 文件或目錄
第二種方式變更權限
chmod [mode=421 ] [文件或目錄]
2.經驗技巧
u:所有者 g:所有組 o:其他人 a:所有人(u、g、o的總和)
r=4 w=2 x=1 rwx=4+2+1=7
3.案例實操
(1)修改文件使其所屬主用戶具有執行權限
[root@hadoop101 ~]# cp xiyou/dssz/houge.txt ./
[root@hadoop101 ~]# chmod u+x houge.txt
(2)修改文件使其所屬組用戶具有執行權限
[root@hadoop101 ~]# chmod g+x houge.txt
(3)修改文件所屬主用戶執行權限,並使其他用戶具有執行權限
[root@hadoop101 ~]# chmod u-x,o+x houge.txt
(4)采用數字的方式,設置文件所有者、所屬組、其他用戶都具有可讀可寫可執行權限。
[root@hadoop101 ~]# chmod 777 houge.txt
(5)修改整個文件夾里面的所有文件的所有者、所屬組、其他用戶都具有可讀可寫可執行權限。
[root@hadoop101 ~]# chmod -R 777 xiyou/
7.6.3 chown 改變所有者
1.基本語法
chown [選項] [最終用戶] [文件或目錄] (功能描述:改變文件或者目錄的所有者)
2.選項說明
表1-26
選項 |
功能 |
-R |
遞歸操作 |
3.案例實操
(1)修改文件所有者
[root@hadoop101 ~]# chown atguigu houge.txt
[root@hadoop101 ~]# ls -al
-rwxrwxrwx. 1 atguigu root 551 5月 23 13:02 houge.txt
(2)遞歸改變文件所有者和所有組
[root@hadoop101 xiyou]# ll
drwxrwxrwx. 2 root root 4096 9月 3 21:20 xiyou
[root@hadoop101 xiyou]# chown -R atguigu:atguigu xiyou/
[root@hadoop101 xiyou]# ll
drwxrwxrwx. 2 atguigu atguigu 4096 9月 3 21:20 xiyou
查看目錄下的文件:ls -l
查看某個文件的 ll file名
變更 文件所有者 sudo chown 新所有者名 文件名 如:sudo chown shiyanlou file
修改文件的權限
chmod 600 iphone6
文件
目錄路徑
.表示當前目錄 ..表示上級目錄 ~表示當前的home目錄
進入上一級目錄 cd .. 進入home目錄 cd ~
使用pwd獲取當前路徑 pwd
絕對路徑:是以“/”目錄為起點的完整路徑,以你要到的路徑為終點 如:/usr/local/bin
相對路徑:表示相對於當前路徑 usr/local/bin
文件新建
創建文件 touch test
創建目錄 mkdir mydir
使用參數-p創建父目錄 mkdir -p father/son/grandson
文件賦值 cp test father/son/grandson
目錄的賦值需要加上-r或者-R參數,表示遞歸復制
cp -r father family
文件刪除
刪除文件 rm -rf test
刪除目錄 rm -r family
移動文件 mv 源文件 目的文件
mkdir Documents
touch file1
mv file1 Documents
重命名文件
mv 舊的文件名 新的文件名
mv file1 myfile
批量重命名
rename是先使用第二參數的通配符匹配 所有后綴為.txt的文件
文件查看的命令
cat ,tac,nl ,more ,less,head,taile
cat為正序,tac為倒敘
cd /home/shiyanlou
cp /etc/passwd passwd
cat passwd 顯示出所有的內容
cat -n passwd 展示出行號
more passwd
more和less命令是分頁查看文件
more命令只能往一個方向進行滾動,less功能和more功能相似
使用enter向下滾動一行,space鍵向下滾動一屏,按h顯示幫助,q退出
查看文件類型
file /bin/ls
環境變量
創建變量名為tmp的變量 declare tmp
給變量賦值 tmp=shiyanlou
echo $tmp
環境變量按照周期來划分:分為永久的和臨時的
ls -a來查看 如: .profile .bashrc
/etc/bashrc來存放shell變量
/etc/profile來存放環境變量
命令的查找路徑與順序 echo $path
變量刪除 unset temp
讓環境變量立即生效:用source 或者.
如:cd /home/shiyanlou source .zshrc
source的另外一個別名是. . ./.zshrc
注意在使用.的時候,需要注意與表示當前路徑的那個點區分開,第一個點后面有一個空格,而且后面的文件
必須指定完整的絕對或相對路徑名,source就不需要了
搜索文件
查找/usr/share/下所有jpg文件
locate /usr/share/\*.jpg 注意*前面的\轉義,否則無法找到
find查詢文件比較強大 ,路徑是作為第一個參數,基本命令格式 find[path][option][action]
sudo find /etc/ -name 文件名/路徑名
-atime最后訪問時間 -ctime最后修改文件內容的時間 -mtime最后修改文件屬性的時間
列出用戶家目錄比Code文件夾新的文件
find ~ -newer /home/shiyanlou/Code
尋找文件
一個sources.list文件,依稀記得在/etc/目錄下
1.找到source.list文件 sudo find /etc -name sources.list 會顯示出文件的絕對路徑
2.把文件所有者改為自己 sudo chown shiyanlou /etc/apt/sources.list\
3.把權限修改為僅僅只有自己可讀可寫 chmod 600 /etc/apt/sources.list
文件壓縮問題
Zip壓縮打包程序
zip -r -q -e -o shiyanlou.zip /home/shiyanlou/Desktop
-r表示遞歸打包文件的全部內容
-q表示為安靜模式,不向屏幕輸出信息
-o表示輸出文件,需要在其后緊跟打包輸出文件
-e表示打包文件時要加密
使用unzip命令來解壓縮zip文件
解壓當前目錄unzip shiyanlou.zip
使用安靜模式,將文件解壓到指定目錄,目錄不存在將會自動創建unzip -q shiyanlou.zip -d ziptest
不解壓只想看壓縮包里內容的:用 -l 如:unzip -l shiyanlou.zip
使用-O參數指定編碼類型 unzip -O GBK 中文壓縮文件.zip
tar打包工具
tar -cf shiyanlou.tar /home/shiyanlou/Desktop
-c表示創建一個tar包,-f 用於指定的文件名 ,f必須在c的后面
解包到已存在的目錄:tar -xf shiyanlou.tar -C tardir
只查看不解包文件 -t 參數 tar -tf shiyanlou.tar
總結:zip 打包:zip something.zip something (目錄請加-r參數)
解包:unzip something.zip
tar 打包:tar -cf something.tar soething
解包 tar -xf something.tar
指定路徑:-C參數
echo "hello\t world"
7.2.16 > 覆蓋 和 >> 追加
1.基本語法
(1)ll >文件 (功能描述:列表的內容寫入文件a.txt中(覆蓋寫))
(2)ll >>文件 (功能描述:列表的內容追加到文件aa.txt的末尾)
(3)cat 文件1 > 文件2 (功能描述:將文件1的內容覆蓋到文件2)
cat 文件1 >> 文件2 (功能描述:將文件1的內容追加到文件2)
(4)echo “內容” >> 文件
2.案例實操
(1)將ls查看信息寫入到文件中
[root@hadoop101 ~]# ls -l>houge.txt
(2)將ls查看信息追加到文件中
[root@hadoop101 ~]# ls -l>>houge.txt
(3)采用echo將hello單詞追加到文件中
[root@hadoop101 ~]# echo hello>>houge.txt
7.2.17 ln 軟鏈接
軟鏈接也成為符號鏈接,類似於windows里的快捷方式,有自己的數據塊,主要存放了鏈接其他文件的路徑。
1.基本語法
ln -s [原文件或目錄] [軟鏈接名] (功能描述:給原文件創建一個軟鏈接)
2.經驗技巧
刪除軟鏈接: rm -rf 軟鏈接名,而不是rm -rf 軟鏈接名/
查詢:通過ll就可以查看,列表屬性第1位是l,尾部會有位置指向。
3.案例實操
(1)創建軟連接
[root@hadoop101 ~]# mv houge.txt xiyou/dssz/
[root@hadoop101 ~]# ln -s xiyou/dssz/houge.txt ./houzi
[root@hadoop101 ~]# ll
lrwxrwxrwx. 1 root root 20 6月 17 12:56 houzi -> xiyou/dssz/houge.txt
(2)刪除軟連接
[root@hadoop101 ~]# rm -rf houzi
(3)進入軟連接實際物理路徑
[root@hadoop101 ~]# ln -s xiyou/dssz/ ./dssz
[root@hadoop101 ~]# cd -P dssz/
date 設置系統時間 [root@hadoop101 ~]# date -s "2017-06-19 20:52:18"
7.2.18 history 查看已經執行過歷史命令
1.基本語法
history (功能描述:查看已經執行過歷史命令)
2.案例實操
(1)查看已經執行過的歷史命令
[root@hadoop101 test1]# history
網絡配置
修改配置文件 在cd /etc/sysconfig/network-scripts/ifcfg-eth0
啟動服務 service network restart
文本編輯vi和vim
對主機名的更改
1.編輯主機名: vi /etc/sysconfig/network
文件內容 NETWORKING=yes
NETWORKING=no
HOSTNAME=hadoop100 保存退出
2.打開/etc/hosts vim /etc/hosts
添加ip地址和主機名 如:
192.168.1.100 hadoop100
192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.104 hadoop104
192.168.1.105 hadoop105
192.168.1.106 hadoop106
192.168.1.107 hadoop107
重新通過reboot命令重啟,查看主機名,已經修改成功
2.修改windows下的主機映射文件,如果權限不夠,先保存在桌面上,然后選擇替換
進入C:\Windows\System32\drivers\etc路徑
打開hosts文件並添加如下內容
192.168.1.100 hadoop100
192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.104 hadoop104
192.168.1.105 hadoop105
192.168.1.106 hadoop106
192.168.1.107 hadoop107
關閉防火牆
service表示暫時啟動或停止服務 ,chkconfig表示永久的啟動或重啟服務 start-on stop-off
1.基本語法,/etc/init.d/服務名 , 部分服務名:network 網絡 ,iptables 防火牆
service 服務名 start (功能描述:開啟服務)
service 服務名 stop (功能描述:關閉服務)
service 服務名 restart (功能描述:重新啟動服務)
service 服務名 status (功能描述:查看服務狀態)
2. 經驗技巧
查看服務的方法:/etc/init.d/服務名
[root@hadoop100 init.d]# pwd
/etc/init.d
[root@hadoop100 init.d]# ls -al
3. 案例實操
(1)查看網絡服務的狀態
[root@hadoop100 桌面]#service network status
(2)停止網絡服務
[root@hadoop100 桌面]#service network stop
(3)啟動網絡服務
[root@hadoop100 桌面]#service network start
(4)重啟網絡服務
[root@hadoop100 桌面]#service network restart
(5)查看系統中所有的后台服務
[root@hadoop100 桌面]#service --status-all
chkconfig 設置后台服務的自啟配置,永久性的啟動和關閉
1. 基本語法
chkconfig (功能描述:查看所有服務器自啟配置)
chkconfig 服務名 off (功能描述:關掉指定服務的自動啟動)
chkconfig 服務名 on (功能描述:開啟指定服務的自動啟動)
chkconfig 服務名 --list (功能描述:查看服務開機啟動狀態)
2. 案例實操
(1)關閉iptables服務的自動啟動
[root@hadoop100 桌面]#chkconfig iptables off
(2)開啟iptables服務的自動啟動
[root@hadoop100 桌面]#chkconfig iptables on
5.4.2 chkconfig 設置后台服務的自啟配置
1. 基本語法
chkconfig (功能描述:查看所有服務器自啟配置)
chkconfig 服務名 off (功能描述:關掉指定服務的自動啟動)
chkconfig 服務名 on (功能描述:開啟指定服務的自動啟動)
chkconfig 服務名 --list (功能描述:查看服務開機啟動狀態)
防火牆案例實操
(1)關閉iptables服務的自動啟動
[root@hadoop100 桌面]#chkconfig iptables off
(2)開啟iptables服務的自動啟動
[root@hadoop100 桌面]#chkconfig iptables on
正常的關機流程:sync>shutdown>reboot>halt
1
(1)sync (功能描述:將數據由內存同步到硬盤中)
(2)halt 直接關閉(功能描述:關閉系統,等同於shutdown -h now 和 poweroff)
(3)reboot 直接重啟(功能描述:就是重啟,等同於 shutdown -r now)
(4)shutdown [選項] 時間 -r表示重啟 -h表示關機
shutdown -h 1 1分鍾后關閉 shutdown -r 1 1分鍾后重新啟動
表1-4
選項 |
功能 |
-h |
-h=halt關機 |
-r |
-r=reboot重啟 |
表1-5
參數 |
功能 |
now |
立刻關機 |
時間 |
等待多久后關機(時間單位是分鍾)。 |
克隆虛擬機
1.關閉要被克隆的虛擬機
2.找到克隆選項,如圖1-112所示
圖1-112
3.歡迎頁面,點擊下一步
4.克隆虛擬機, 選第一項,虛擬機中的當前狀態,
5.設置創建完整克隆,
7.等待正在克隆,
8.點擊關閉,完成克隆
9.修改克隆后虛擬機的ip
方法一: 9-10
[root@hadoop101 /]#vim /etc/udev/rules.d/70-persistent-net.rules
進入如下頁面,刪除eth0該行;將eth1修改為eth0,同時復制物理ip地址,如圖1-119所示
圖1-119 修改網卡
10.修改IP地址
[root@hadoop101 /]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
(1)把復制的物理ip地址更新
HWADDR=00:0C:2x:6x:0x:xx #MAC地址
(2)修改成你想要的ip·
IPADDR=192.168.1.101 #IP地址
方法二,粗暴 9-10
[root@hadoop101 /]#vim /etc/udev/rules.d/70-persistent-net.rules
進入如下頁面,直接將eth0,和eth1最后幾行全部刪除
10.修改IP地址
[root@hadoop101 /]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
(1) 刪除MAC地址 HWADDR=00:0C:2x:6x:0x:xx ,剩余如下圖所示內容
(2)修改成你想要的ip·
IPADDR=192.168.1.101 #IP地址
11.修改主機名稱
vim /etc/sysconfig/network
如:HOSTNAME= hadoop101
12.重新啟動服務器 reboot命令
快捷鍵:Ctrl+C 停止進程 ,Ctrl+l清屏,並沒有真正的清屏,只是滾動條拉到最后,
徹底清平:reset
Ctrl+q退出,善於用tab鍵
上下鍵:查找執行過的命令 Ctrl+alt Linux和Windows之間切換
進程
1.基本語法
查看進程狀態
ps aux | grep xxx (功能描述:查看系統中所有進程)
ps -ef | grep xxx (功能描述:可以查看子父進程之間的關系)
如:查看火狐進程 ps -ef |grep firefox
終止進程
killall 進程名稱 (功能描述:通過進程名稱殺死進程,也支持通配符,這在系統因負載過大而變得很慢時很有用)
定時任務
7.11 crond 系統定時任務
7.11.1 crond 服務管理
1.重新啟動crond服務
[root@hadoop101 ~]# service crond restart
7.11.2 crontab 定時任務設置
1.基本語法
crontab [選項]
2.選項說明
crontab -l查詢定時任務
crontab -e進行編輯定時任務:如
(1)每隔1分鍾,向/root/bailongma.txt文件中添加一個hello atguigu的數字,在crontab -e后的編輯頁面中加上,保存退出后就生效
*/1 * * * * /bin/echo ”hello atguigu” >> /root/bailongma.txt
crontab -r終止定時任務
選項 |
功能 |
-e |
編輯crontab定時任務, |
-l |
查詢crontab任務 |
-r |
刪除當前用戶所有的crontab任務 |
3.參數說明
[root@hadoop101 ~]# crontab -e
(1)進入crontab編輯界面。會打開vim編輯你的工作。
* * * * * 執行的任務
表1-47
項目 |
含義 |
范圍 |
第一個“*” |
一小時當中的第幾分鍾 |
0-59 |
第二個“*” |
一天當中的第幾小時 |
0-23 |
第三個“*” |
一個月當中的第幾天 |
1-31 |
第四個“*” |
一年當中的第幾月 |
1-12 |
第五個“*” |
一周當中的星期幾 |
0-7(0和7都代表星期日) |
(2)特殊符號
表1-48
特殊符號 |
含義 |
* |
代表任何時間。比如第一個“*”就代表一小時中每分鍾都執行一次的意思。 |
, |
代表不連續的時間。比如“0 8,12,16 * * * 命令”,就代表在每天的8點0分,12點0分,16點0分都執行一次命令 |
- |
代表連續的時間范圍。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5點0分執行命令 |
*/n |
代表每隔多久執行一次。比如“*/10 * * * * 命令”,代表每隔10分鍾就執行一遍命令 |
(3)特定時間執行命令
表1-49
時間 |
含義 |
45 22 * * * 命令 |
在22點45分執行命令 |
0 17 * * 1 命令 |
每周1 的17點0分執行命令 |
0 5 1,15 * * 命令 |
每月1號和15號的凌晨5點0分執行命令 |
40 4 * * 1-5 命令 |
每周一到周五的凌晨4點40分執行命令 |
*/10 4 * * * 命令 |
每天的凌晨4點,每隔10分鍾執行一次命令 |
0 0 1,15 * 1 命令 |
每月1號和15號,每周1的0點0分都會執行命令。注意:星期幾和幾號(第三個和第6個*)最好不要同時出現,因為他們定義的都是天。非常容易讓管理員混亂。 |
4.案例實操
(1)每隔1分鍾,向/root/bailongma.txt文件中添加一個hello atguigu的數字,在crontab -e后的編輯頁面中加上,保存退出后就生效
*/1 * * * * /bin/echo ”hello atguigu” >> /root/bailongma.txt
(2)
9月18號9點55分創建一個qq.txt文件
55 9 18 9 * /bin/touch qq.txt
crontab -r結束定時服務
7.7 搜索查找類
7.7.1 find 查找文件或者目錄
find指令將從指定目錄向下遞歸地遍歷其各個子目錄,將滿足條件的文件顯示在終端。
1.基本語法
find [搜索范圍] [選項]
2.選項說明
表1-27
選項 |
功能 |
-name<查詢方式> |
按照指定的文件名查找模式查找文件 |
-user<用戶名> |
查找屬於指定用戶名所有文件 |
-size<文件大小> |
按照指定的文件大小查找文件。 |
3.案例實操
(1)按文件名:根據名稱查找/目錄下的filename.txt文件。
[root@hadoop101 ~]# find xiyou/ -name “*.txt”
(2)按擁有者:查找/opt目錄下,用戶名稱為-user的文件
[root@hadoop101 ~]# find xiyou/ -user atguigu
(3)按文件大小:在/home目錄下查找大於200m的文件(+n 大於 -n小於 n等於)
[root@hadoop101 ~]find /home -size +204800
7.7.2 grep 過濾查找及“|”管道符,在前面的結果中找自己想要的結果
管道符,“|”,表示將前一個命令的處理結果輸出傳遞給后面的命令處理
1.基本語法
grep 選項 查找內容 源文件
2.選項說明
表1-28
選項 |
功能 |
-n |
顯示匹配行及行號。 |
3.案例實操
(1)查找某文件在第幾行
[root@hadoop101 ~]# ls | grep -n test
查找firefox安裝包的信息 : rpm -qa |grep firefox
7.7.3 which 查找命令
查找命令在那個目錄下,命令一般在 /bin目錄下
1.基本語法
which 命令
2.案例實操
which ll
對命令的應用如: /bin/echo
(1)每隔1分鍾,向/root/bailongma.txt文件中添加一個11的數字
crontab -e編輯里面寫
*/1 * * * * /bin/echo ”11” >> /root/bailongma.txt
安裝包,RPM
查詢:查詢所有:rpm -qa
查詢特定安裝包情況rpm -qa |grep firefox
rpm安裝 : rpm -ivh RPM包全名
如安裝火狐:rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm
卸載rpm -e firefox
8.1.2 RPM查詢命令(rpm -qa)
1.基本語法
rpm -qa (功能描述:查詢所安裝的所有rpm軟件包)
2.經驗技巧
由於軟件包比較多,一般都會采取過濾。rpm -qa | grep rpm軟件包
3.案例實操
(1)查詢firefox軟件安裝情況
[root@hadoop101 Packages]# rpm -qa |grep firefox
firefox-45.0.1-1.el6.centos.x86_64
8.1.3 RPM卸載命令(rpm -e)
1.基本語法
(1)rpm -e RPM軟件包
(2) rpm -e --nodeps 軟件包
2.選項說明
表1-50
選項 |
功能 |
-e |
卸載軟件包 |
--nodeps |
卸載軟件時,不檢查依賴。這樣的話,那些使用該軟件包的軟件在此之后可能就不能正常工作了。 |
3.案例實操
(1)卸載firefox軟件
[root@hadoop101 Packages]# rpm -e firefox
8.1.4 RPM安裝命令(rpm -ivh)
1.基本語法
rpm -ivh RPM包全名
2.選項說明
表1-51
選項 |
功能 |
-i |
-i=install,安裝 |
-v |
-v=verbose,顯示詳細信息 |
-h |
-h=hash,進度條 |
--nodeps |
--nodeps,不檢測依賴進度 |
3.案例實操
(1)安裝firefox軟件
[root@hadoop101 Packages]# pwd
/media/CentOS_6.8_Final/Packages
[root@hadoop101 Packages]# rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm
warning: firefox-45.0.1-1.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:firefox
8.2 YUM倉庫配置 ,相當於Java中的mavn倉庫
8.2.2 YUM的常用命令
1.基本語法
yum [選項] [參數]
2.選項說明
表1-52
選項 |
功能 |
-y |
對所有提問都回答“yes” |
3.參數說明
表1-53
參數 |
功能 |
install |
安裝rpm軟件包 |
update |
更新rpm軟件包 |
check-update |
檢查是否有可用的更新rpm軟件包 |
remove |
刪除指定的rpm軟件包 |
list |
顯示軟件包信息 |
clean |
清理yum過期的緩存 |
deplist |
顯示yum軟件包的所有依賴關系 |
4.案例實操實操
(1)采用yum方式安裝firefox
[root@hadoop101 ~]#yum -y install firefox.x86_64
8.2.3 修改網絡YUM源
默認的系統YUM源,需要連接國外apache網站,網速比較慢,可以修改關聯的網絡YUM源為國內鏡像的網站,比如網易163。
1.前期文件准備
(1)前提條件linux系統必須可以聯網
(2)在Linux環境中訪問該網絡地址:http://mirrors.163.com/.help/centos.html,在使用說明中點擊CentOS6->再點擊保存,
(3)查看文件保存的位置
在打開的終端中輸入如下命令,就可以找到文件的保存位置。
[atguigu@hadoop101 下載]$ pwd
/home/atguigu/下載
2.替換本地yum文件
(1)把下載的文件移動到/etc/yum.repos.d/目錄
[root@hadoop101 下載]# 、
CentOS6-Base-163.repo /etc/yum.repos.d/
(2)進入到/etc/yum.repos.d/目錄
[root@hadoop101 yum.repos.d]# pwd
/etc/yum.repos.d
(3)用CentOS6-Base-163.repo替換CentOS-Base.repo
[root@hadoop101 yum.repos.d]# mv CentOS6-Base-163.repo CentOS-Base.repo
3.安裝命令
(1)[root@hadoop101 yum.repos.d]#yum clean all
(2)[root@hadoop101 yum.repos.d]#yum makecache
yum makecache就是把服務器的包信息下載到本地電腦緩存起來
4.測試
[root@hadoop101 yum.repos.d]#yum list | grep firefox
[root@hadoop101 ~]#yum -y install firefox.x86_64