Linux系統學習之 二:新手必須掌握的Linux命令2

2018-10-03  22:20:48

1、文件目錄管理命令


 

一、touch 命令linux

用於建立空白文件或設置文件的時間,格式爲「touch [選項] [文件]」。json

參數:centos

-a :僅修改「讀取時間(atime)」spa

-m:僅修改「修改時間(mtime)」code

-d:同時修改 atime 與 mtime對象

 

二、mkdir 命令blog

用於建立空白的目錄,格式爲「mkdir [選項] 目錄」。遞歸

mkdir -p:遞歸建立具備嵌套疊層關係的文件目錄crontab

[root@centos110 ~]# mkdir linuxprobe [root@centos110 ~]# cd linuxprobe [root@centos110 linuxprobe]# mkdir -p a/b/c/d/e [root@centos110 linuxprobe]# tree . └── a └── b └── c └── d └── e 5 directories, 0 files

 

三、cp 命令ip

用於複製文件或目錄,格式爲「cp [選項]  源文件  目標文件」。

Linux系統中,複製操做具體分爲3種狀況:

(1)若是目標文件是目錄,則會把源文件複製到該目錄中;

(2)若是目標文件也是普通文件,則會詢問是否要覆蓋它;

(3)若是目標文件不存在,則執行正常的複製操做;

參數:

-p :保留原始文件的屬性

-d:若對象爲「連接文件」,則保留該「連接文件」的屬性

-r:遞歸持續複製(用於目錄)

-i:若目標文件存在則詢問是否覆蓋

-a:至關於-pdr(p、d、r 爲上述參數)

 

四、mv 命令

用於剪切文件或者將文件重命名,格式爲「mv [選項]  源文件 [目標路徑 | 目標文件名]」。

 

五、rm 命令

用於刪除文件或目錄,格式爲「rm [選項] 文件」。

rm -f:不詢問,直接刪除

rm -r:刪除目錄

 

六、dd 命令         (重點)

用於按照指定大小和個數的數據塊來複制文件或轉換文件,格式爲「dd [參數]」。

設備文件 /dev/zero,不會佔用系統存儲空間,卻能夠提供無窮無盡的數據;

所以可使用它做爲dd命令的輸入文件,來生成一個指定大小的文件。

dd命令參數:

if:輸入的文件名

of:輸出的文件名

bs:設置每一個「塊」的大小

count:設置要複製「塊」的個數

例:用 dd命令 從 /dev/zero 設備文件中取出一個大小爲560M的數據塊,而後保存成名爲 560_file 的文件:

1 [root@centos110 ~]# dd if=/dev/zero of=560_file count=1 bs=560M 2 1+0 records in
3 1+0 records out 4 587202560 bytes (587 MB) copied, 62.0188 s, 9.5 MB/s

 

七、file 命令

用於查看文件的類型,格式爲「file 文件名」。

1 [root@centos110 ~]# file anaconda-ks.cfg 2 anaconda-ks.cfg: ASCII text 3 [root@centos110 ~]# file /dev/sda 4 /dev/sda: block special

 

2、打包壓縮與搜索命令


 

一、tar 命令

用於對文件進行打包壓縮或解壓,格式爲「tar [選項] [文件] 」。

 1 -c:建立壓縮文件 2 -x:解開壓縮文件  3 -t:查看壓縮包內有哪些文件  4 -z:用Gzip壓縮或解壓,後綴.gz 5 -j:用bzip2壓縮或解壓,後綴.bz2 6 -J:建立.tar.xz包,後綴.xz  7 -v:顯示壓縮或解壓過程  8 -f:目標文件名  #特別重要,必須放在參數的最後一位  9 -p:保留原始的權限與屬性 10 -P:使用絕對路徑來壓縮(大寫P) 11 -C:指定解壓到的目錄

 

 1 打包文件:   # tar [參數] 新建文件名 源文件路徑  2 [root@centos110 ~]# tar -cvf grub2.tar /boot/grub2  3 tar: Removing leading `/' from member names
 4 /boot/grub2/
 5 /boot/grub2/device.map  6 /boot/grub2/i386-pc/
 7 ......  8 
 9 解包文件:    # tar [參數] 包文件名 10 [root@centos110 ~]# tar -xvf grub2.tar
11 boot/grub2/
12 boot/grub2/device.map 13 boot/grub2/i386-pc/
14 boot/grub2/i386-pc/gcry_rmd160.mod 15 ......
# 建立.tar.gz包
1
[root@centos110 ~]# tar -zcvf etc.tar.gz /etc   #歸檔並壓縮目錄/etc 2 tar: Removing leading `/' from member names 3 ...... 4 [root@centos110 ~]# tar -zxvf etc.tar.gz -C /opt   #解壓縮,並指定解壓到/opt目錄 5 ...... 6 [root@centos110 ~]# ls /opt 7 a.sh bak.sh case-if.sh etc for-1.sh rh root.tar.gz sh-1.sh test-1.sh
# 建立.tar.bz2包
1
[root@centos110 ~]# tar -jcvf etc.tar.bz2 /etc > /dev/null  #歸檔並壓縮目錄/etc 2 tar: Removing leading `/' from member names 3 ...... 4 [root@centos110 ~]# tar -jxvf etc.tar.bz2 -C /opt > /dev/null  #解壓並指定解壓到/opt目錄 5 [root@centos110 ~]# ls /opt 6 a.sh bak.sh case-if.sh etc for-1.sh rh root.tar.gz sh-1.sh test-1.sh
# 建立.tar.xz包
1
[root@centos110 ~]# tar -Jcvf etc.tar.xz /etc 2 ...... 3 [root@centos110 ~]# tar -xvf etc.tar.xz

 

二、grep 命令

用於在文本中執行關鍵詞搜索,並顯示匹配的結果,格式爲「grep [選項] [文件]」。

#grep 命令參數:

1
-b:將可執行文件(binary)當作文本文件(text)來搜索 2 -c:僅顯示找到的行數 3 -i:忽略大小寫
  # 最經常使用的兩個參數,幾乎能完成往後80%的工做須要
4 -n:顯示行號   5 -v:反向選擇—僅列出沒有「關鍵詞」的行  

 示例:使用grep 命令查找當前系統中不容許登陸系統的全部用戶信息:

#grep -n  /sbin/nologin  /etc/passwd

 

 三、find 命令

用於按照指定條件來查找文件,格式爲「find [查找路徑] 尋找條件 操做」。

 # find 命令參數及其做用
1
-name  #匹配名稱 2 -perm  #匹配權限(mode爲徹底匹配,-mode爲包含便可) 3 -user  #匹配全部者 4 -group  #匹配全部組 5 -mtime -n +n  #匹配修改內容的時間(-n指 n 天之內,+n 指 n 天之前) 6 -atime -n +n  #匹配訪問文件的時間(-n指 n 天之內,+n 指 n 天之前) 7 -ctime -n +n  #匹配修改文件權限的時間(-n指 n 天之內,+n 指 n 天之前) 8 -nouser   #匹配無全部字的文件 9 -nogroup  #匹配無全部組的文件 10 -newer f1 !f2   #匹配比文件f1新但比f2舊的文件 11 --type b/d/c/p/l/f  #匹配文件類型(後面的字符參數依次表示塊設備、目錄、字符設備、管道、連接文件、文本文件) 12 -size  #匹配文件的大小(+50KB爲查找超過50KB的文件,而-50KB爲查找小於50KB的文件) 13 -prune  #忽略某個目錄 14 -exec ......{} \  #後面可跟用於進一步處理搜索結果的命令
# 獲取/etc目錄中全部以host開頭的文件列表
1
[root@centos110 ~]# find /etc -name "host*" 2 /etc/host.conf 3 /etc/hosts 4 /etc/hosts.allow 5 /etc/hosts.deny
 # 在這個系統中搜索權限中包括SUID權限的全部文件
1
[root@centos110 ~]# find / -perm -4000 2 find: ‘/proc/42469/task/42469/fd/5’: No such file or directory 3 find: ‘/proc/42469/task/42469/fdinfo/5’: No such file or directory 4 find: ‘/proc/42469/fd/6’: No such file or directory 5 find: ‘/proc/42469/fdinfo/6’: No such file or directory 6 /usr/bin/fusermount 7 /usr/bin/passwd 8 /usr/bin/chfn 9 /usr/bin/chsh 10 /usr/bin/chage 11 /usr/bin/gpasswd 12 /usr/bin/newgrp 13 /usr/bin/staprun 14 /usr/bin/crontab
......
 # 在整個文件系統中找出全部歸屬於md用戶的文件並複製到 /root/findresults 目錄下
# 該示例的重點是「-exec {} \;」參數,其中的{}表示 find 命令搜索出的每個文件,而且命令的結尾必須是「\;
1
[root@centos110 ~]# mkdir /root/findresults 2 [root@centos110 ~]# find / -user md -exec cp -a {} /root/findresults/ \; 3 find: ‘/proc/42909/task/42909/fd/5’: No such file or directory 4 find: ‘/proc/42909/task/42909/fdinfo/5’: No such file or directory 5 find: ‘/proc/42909/fd/6’: No such file or directory 6 find: ‘/proc/42909/fdinfo/6’: No such file or directory 7 cp: ‘/root/findresults/md’ and ‘/root/findresults/md’ are the same file 8 cp: cannot overwrite non-directory ‘/root/findresults/md’ with directory ‘/home/md’ 9 [root@centos110 ~]# ls /root/findresults 10 2041 gdm parser-sha1.txt 11 3.22 gnome-initial-setup-done photos 12 abrt gnome.json Pictures ......省略輸出內容......
相關文章
相關標籤/搜索