1. 程式人生 > >開啟運維之路之第 3 篇——目錄作用介紹、檔案搜尋、其它命令、解壓縮包、使用者管理

開啟運維之路之第 3 篇——目錄作用介紹、檔案搜尋、其它命令、解壓縮包、使用者管理

1、目錄作用介紹

我們先切換到系統根目錄 / 看看根目錄下有哪些目錄

[[email protected] ~]# cd /

[[email protected] /]# ls

說明:

根目錄下的bin和sbin,usr目錄下的bin和sbin,這四個目錄都是用來儲存系統命令的。
/boot目錄,是啟動目錄,存的是啟動相關的檔案,該目錄下不要亂存東西

/dev裝置檔案儲存目錄
/etc配置檔案儲存目錄
/home普通使用者的家目錄
/lib系統庫儲存目錄
/mnt系統掛載目錄
/media掛載目錄
/root超級使用者的家目錄
/tmp臨時目錄
/proc直接寫入記憶體的,虛擬檔案系統
/sys直接寫入記憶體的,虛擬檔案系統
/var系統相關文件內容

介紹 cd 命令(注意有空格):

cd ~     進入當前使用者的家目錄
cd 
cd - 進入上次目錄
cd .. 進入上一級目錄
cd . 進入當前目錄
[[email protected] ~]# cd /root/資料夾1
[[email protected] 資料夾1]#

2、檔案搜尋

①locate命令:此命令需要安裝下locate,如果發現搜尋不了,需要更新資料庫updatedb。

安裝命令:[[email protected] ~]# yum -y install mlocate

如果新建一個檔案無法搜尋,原因是 locate命令搜尋的是 /var/lib/mlocate 下的mlocate.db資料庫

這個資料庫不是實時更新的,所以我們需要更新下資料庫。

locate優點是 搜尋速度快 ,缺點是隻能按檔名搜尋。

②find命令:find [搜尋範圍] [搜尋條件]

搜尋範圍避免大範圍搜尋,會非常消耗資源。/ 表示根目錄

find是在系統當中搜尋符合條件的檔名。如果需要匹配,使用萬用字元匹配,萬用字元是完全匹配。

如果我們需要進行模糊查詢,我們要使用萬用字元;

* 匹配任意內容  

?匹配任意一個字元

[]匹配任意一箇中括號的字元

[[email protected] ~]# find / -name '文*'        這是查詢“文”開頭的檔案。   

/root/資料夾1

/root/資料夾2

[[email protected] ~]#

linux是嚴格區分大小寫的,假如用iname 查詢時不區分大小寫,ignore

[[email protected] ~]# find / -iname 'Java'

[[email protected] ~]# find /root -user root root使用者的所有檔案

③grep命令:

在檔案內搜尋(開啟檔案):開啟某個檔案:[[email protected] ~]# vi /etc/   然後輸入搜尋命令  :/save 搜尋save字串。

不開啟檔案搜尋:[[email protected] ~]# grep save /etc/grub2.cfg

3、其它命令

vi/vim 共分為三種模式,分別是命令模式(Command mode),插入模式(Insert mode)和底線命令模式(Last line mode)

①建立或修改一個檔案,有則修改、無則建立:vi test.txt

命令模式:
使用者剛剛啟動 vi/vim,便進入了命令模式。
此狀態下敲擊鍵盤動作會被Vim識別為命令,而非輸入字元。比如我們此時按下i,並不會輸入一個字元,i被當作了一個命令。
以下是常用的幾個命令:
i 切換到插入模式,以輸入字元。
x 刪除當前游標所在處的字元。
: 切換到底線命令模式,以在最底一行輸入命令。
若想要編輯文字:啟動Vim,進入了命令模式,按下i,切換到輸入模式。
輸入模式
在命令模式下按下i就進入了輸入模式。
在輸入模式中,可以使用以下按鍵:
字元按鍵以及Shift組合,輸入字元
ENTER,回車鍵,換行
BACK SPACE,退格鍵,刪除游標前一個字元
DEL,刪除鍵,刪除游標後一個字元
方向鍵,在文字中移動游標
HOME/END,移動游標到行首/行尾
Page Up/Page Down,上/下翻頁
Insert,切換游標為輸入/替換模式,游標將變成豎線/下劃線
ESC,退出輸入模式,切換到命令模式
底線命令模式
在命令模式下按下:(英文冒號)就進入了底線命令模式。
底線命令模式可以輸入單個或多個字元的命令,可用的命令非常多。
在底線命令模式中,基本的命令有(已經省略了冒號):
q 退出程式
w 儲存檔案
按ESC鍵可隨時退出底線命令模式。
儲存並退出::wq

日期、關機、重啟命令

[[email protected] ~]# date
2018年 07月 24日 星期二 14:59:09 CST

shutdown [選項] 時間

-c:取消前一個關機命令

-h:關機

-r:重啟

shutdown -r now 是立即重啟;shutdown -h now 是立即關機

4、解壓縮包

常見的壓縮包: .zip     .gz     .bz2     .tar.gz    .tar.bz2

①zip

[[email protected] ~]# touch test1
[[email protected] ~]# zip test1.zip test1
-bash: zip: 未找到命令
[[email protected] ~]# 

zip的壓縮命令:zip [壓縮檔名] [原始檔],如果是目錄,還需要加 -r 選項

說明:新建一個test1資料夾,嘗試壓縮成zip,發現未找到命令。

用yum命令安裝下(確保主機能聯網下載):[[email protected] ~]# yum -y install zip

安裝完畢,繼續測試:OK

[[email protected] ~]# zip test1.zip test1
  adding: test1 (stored 0%)
[[email protected] ~]# ls
anaconda-ks.cfg  test1  test1.zip
[[email protected] ~]# 

zip解壓命令:unzip [原始檔.zip]    注意,加入解壓的檔名在檔案中已存在,則會提示是否替換。

同樣需要安裝命令:[[email protected] ~]# yum -y install unzip

[[email protected] ~]# unzip test1.zip
Archive:  test1.zip
replace test1? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
 extracting: test1                   
[[email protected] ~]# 

②.gz

壓縮命令:gzip [原始檔]   注意,壓縮為.gz格式的壓縮檔案,原始檔會消失,若要保留,使用命令:

gzip -c 原始檔 > 壓縮檔案    壓縮為.gz格式,原始檔保留,例子:gzip -c 書籍 > 書籍.gz

例子:[[email protected] ~]# gzip 資料夾2

預設生成:資料夾2.gz,但是原始檔消失了。

[[email protected] ~]# gzip -c 測試啊 > 測試重新命名.gz

加了-c就不會刪掉原始檔了。

解壓命令:

[[email protected] ~]# gzip -d 結果2.gz

解壓縮後,原來的壓縮包消失。

③.bz2

壓縮為.bz2格式,不保留原始檔,若要保留原始檔,加 -k 

需要安裝:[[email protected] ~]# yum -y install bzip2

bzip2 -k 原始檔,壓縮之後保留原始檔,注意:bzip2命令不能壓縮目錄

不保留原始檔:[[email protected] ~]# bzip2 資料夾1

保留原始檔,加-k:[[email protected] ~]# bzip2 -k 資料夾22

解壓命令:-d

[[email protected] ~]# bzip2 -d 資料夾1.bz2

源壓縮包消失。加-k不消失。

[[email protected] ~]# bzip2 -dk 資料夾22.bz2

④打包命令tar

tar -cvf [打包檔名] [原始檔]

選項:

-c :打包

-x :解壓打包

-v :顯示過程

-f :指定打包後的檔名

[[email protected] ~]# tar -cvf 新檔名.tar 資料夾3

解壓打包:[[email protected] ~]# tar -xvf 新檔名.tar

將原始檔一步到位打包成 .tar.gz 格式:[[email protected] ~]# tar -zcvf 目標結果.tar.gz 原始檔  (後面是原始檔)

將 .tar.gz 壓縮包一步到位解壓成檔案:[[email protected] ~]# tar -xvf 目標結果.tar.gz 發現源壓縮包還在。

將幾個檔案壓縮到指定資料夾:[[email protected] ~]# tar -zcvf 資料夾3/test.tar.gz 許嵩 薛之謙 周杰倫   (後面可以是目錄、資料夾。)

檢視壓縮包的東西,不解壓:[[email protected] ~]# tar -ztvf 資料夾3/test.tar.gz

5、使用者管理

Linux系統是一個多使用者多工的分時作業系統,任何一個要使用系統資源的使用者,
都必須首先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統。
實現使用者賬號的管理,要完成的工作主要有如下幾個方面:
使用者賬號的新增、刪除與修改。
使用者口令的管理。
使用者組的管理。

安裝vsftp服務:

我們需要向centos作業系統的伺服器上上傳檔案或者下載檔案,這時候,ftp有必要安裝下,我們選擇主流的vsftp

第一步:安裝vsftp:[[email protected] ~]# yum install -y vsftpd

第二步:設定開機啟動:[[email protected] ~]# yum install -y vsftpd

第三步:啟動ftp服務:[[email protected] ~]# systemctl start vsftpd.service

第四步:開啟防火牆

[[email protected] ~]# firewall-cmd --zone=public --add-port=21/tcp --permanent (永久新增tcp 21埠)

[[email protected] ~]# firewall-cmd --permanent --zone=public --add-service=ftp(新增ftp服務)

[[email protected] ~]# firewall-cmd --reload(重啟防火牆)

第五步:新增使用者

[[email protected] ~]# useradd -g root -d /home/data -s /sbin/nologin biandan

新建biandan使用者 新增到root組,但是不允許使用者登入,僅僅可以ftp登入,ftp登入後的預設目錄是/home/data

第六步:設定使用者密碼:[[email protected] ~]# passwd biandan

更改使用者 biandan 的密碼 。

新的 密碼:(這時候輸入新密碼,請記住)

無效的密碼: 密碼少於 8 個字元

第七步:設定許可權

[[email protected] ~]# chown -R biandan:root /home/data  有root下的許可權

[[email protected] ~]# setsebool -P ftpd_full_access on

第八步:修改vsftp配置檔案,禁止匿名登入

[[email protected] ~]# vi /etc/vsftpd/vsftpd.conf

把:anonymous_enable=YES 改為: anonymous_enable=NO

輸入--->   :wq  儲存退出

第九步,驗證:一般用FTP Rush這個軟體沒,配置下 連線即可

FTP Rush下載地址:FTP Rush免費的下載地址

下載後安裝。開啟軟體,大概說下怎麼使用。

頂部的連線配置,就是剛才設定的資訊。預設的左邊視窗是虛擬機器、右邊視窗是本地電腦。按照個人喜愛可以轉換,點選那2個即可。然後測試上傳一個檔案到虛擬機器上。因為之前配置了此使用者有/home/data下的許可權,因此可以上傳檔案到這個目錄下。沒有設定許可權的目錄是不能上傳檔案的。如果有需要,可以根據需要設定許可權:

[[email protected] ~]# chown -R biandan:root /home

接下來我們進入/home/data目錄下,檢視剛才上傳的檔案。

OK,測試成功(發現亂碼)。

說明一下:使用 FTP Rush 操作的檔案、目錄,跟Xshell的一樣。只是用命令列顯得更專業,能裝X。很多指令碼都需要使用shell指令碼來執行。圖形介面只是提高工作效率。切記別偷懶。

更多詳情可以參考:Java1234開源部落格系統