Linux必備命令

 

目錄                                                             linux

概述正則表達式

經常使用系統工做命令shell

系統狀態檢測命令apache

工做目錄切換命令緩存

文本文件編輯命令bash

文件目錄管理命令網絡

打包壓縮與收縮命令架構

參考資料less

 

概述                                                                  ssh

 

1.shell

Shell(也稱爲終端或殼)充當的是人與內核(硬件)之間的翻譯官,用戶把一些命令「告訴」終端,它就會調用相應的程序服務去完成某些工做。

                                                                                            

圖3-1  用戶與Linux系統的交互

 如今主流Linux系統默認使用的終端是Bash(Bourne-Again SHell)解釋器。主流Linux系統選擇Bash解釋器做爲命令行終端主要有如下4項優點:

  1.經過上下方向鍵來調取過往執行過的Linux命令;

  2.命令或參數僅需輸入前幾位就能夠用Tab鍵補全;

  3.具備強大的批處理腳本;

  4.具備實用的環境變量功能。

 

用途:用於實現某一類功能的指令或程序;命令的執行依賴於解釋器程序(例如:/bin/bash)

分類

內部命令:屬於Shell 解釋器的一部分

外部命令:獨立於Shell 解釋器以外的程序文件

 

2.Linux命令的格式

  語法:命令字[選項]  [參數]

  選項:用於調節命令的具體功能

   以「-」引導短格式選項(單個字符),例如「-l」

   以「--」引導長格式選項(多個字符),例如「--color」

   多個短格式選項能夠寫在一塊兒,只用一個「-」引導,例如「-al」

  參數:命令操做的對象,如文件、目錄名等

  注意:選項和參數無關緊要,應該根據實際狀況去調整。

 

3.命令幫助

 Help命令用於查看linux內置命令的幫助

 

Man命令,命令字典

按鍵

用途

空格鍵

向下翻一頁

PaGe down

向下翻一頁

PaGe up

向上翻一頁

home

直接前往首頁

end

直接前往尾頁

/

從上至下搜索某個關鍵詞,如「/linux」

?

從下至上搜索某個關鍵詞,如「?linux」

n

定位到下一個搜索到的關鍵詞

N

定位到上一個搜索到的關鍵詞

q

退出幫助文檔

表2-1 man命令中經常使用按鍵以及用途

結構名稱

表明意義

NAME

命令的名稱

SYNOPSIS

參數的大體使用方法

DESCRIPTION

介紹說明

EXAMPLES

演示(附帶簡單說明)

OVERVIEW

概述

DEFAULTS

默認的功能

OPTIONS

具體的可用選項(帶介紹)

ENVIRONMENT

環境變量

FILES

用到的文件

SEE ALSO

相關的資料

HISTORY

維護歷史與聯繫方式

表2-2 man命令幫助信息的結構以及意義

 

經常使用系統工做命令                                                 

 

1.echo命令

    功能:顯示指定的字符串或變量的內容,不指定任何參數時將顯下一個空行。

    格式:echo  [字符串或$變量名]...

    示例:

  [admin@redhat7 桌面]$ echo 'I Love linux'

  I Love linux

  [admin@redhat7 桌面]$ echo $HOSTNAME

  redhat7.0

 

2.date命令

    功能:顯示及設置系統的時間或日期

    格式:date [選項] [+指定的格式]

    選項:%t     跳格[Tab鍵]

             %H      小時(00~23)

              %I     小時(00~12)

            %M     分鐘(00~59)

            %S       秒(00~59)

             %j     今年中的第幾天

 示例:

   [admin@redhat7 桌面]$ date   <==查看當前系統時間

   2019年 03月 23日 星期六 14:55:32 CST

   [admin@redhat7 桌面]$ date "+%Y-%m-%d %H:%M:%S"  <==按照「年-月-日 小時:分鐘:秒」的格式查看當前系統時間

   2019-03-23 14:57:16

   [admin@redhat7 桌面]$ date -s "20170323 14:59:00"  <==將系統的當前時間設置爲XXX  (發現普通用戶無權限)

    date: 沒法設置日期: 不容許的操做

   2017年 03月 23日 星期四 14:59:00 CST

   [admin@redhat7 桌面]$ su root

   密碼:

   [root@redhat7 桌面]# date -s "20170323 15:00:00"

    2017年 03月 23日 星期四 15:00:00 CST

   [root@redhat7 桌面]# date

   2017年 03月 23日 星期四 15:00:17 CST

   [root@redhat7 桌面]# date "+%j"  <==查看今天是當年中的第幾天

082

 

3.reboot/poweroff  默認只能使用root纔有權限(後面會設置權限控制)

 

4.wget命令

    功能:在終端中下載網絡文件

    格式:wget [選項] 下載地址

    選項:-b      後臺下載模式

              -P       下載到指定目錄

               -t       最大嘗試次數

               -c       斷點續傳

               -p     下載頁面內全部資源,包括圖片、視頻等

               -r      遞歸下載

 示例:

    [root@linuxprobe ~]# wget http://www.linuxprobe.com/docs/LinuxProbe.pdf

     --2017-08-24 19:30:12 -- http://www.linuxprobe.com/docs/LinuxProbe.pdf

    Resolving www.linuxprobe.com (www.linuxprobe.com)... 220.181.105.185

    Connecting to www.linuxprobe.com (www.linuxprobe.com)|220.181.105.185|:80...

    connected.

    …

 

5.ps命令

    功能:查看系統中的進程狀態

    格式:ps [選項]

    選項:-a       顯示全部進程(包括其餘用戶的進程)

               -u       用戶以及其餘詳細信息

               -x     顯示沒有控制終端的進程

    應用: 1.ps aux 最經常使用,能夠用 | 管道和 more 鏈接起來分頁查看;ps -aux |more

                2.和grep 結合,提取指定程序的進程;ps aux |grep httpd

               3.父進和子進程的關係友好判斷,運用到f參數,父與子關係一目瞭然;ps auxf  |grep httpd

 

5.1.進程狀態

   Linux系統中時刻運行着許多進程,若是可以合理地管理它們,則能夠優化系統的性能。在Linux系統中,有5種常見的進程狀態,分別爲運行、中斷、不可中斷、僵死與中止,其各自含義以下所示。

  R(運行):進程正在運行或在運行隊列中等待。

  S(中斷):進程處於休眠中,當某個條件造成後或者接收到信號時,則脫離該狀態。

  D(不可中斷):進程不響應系統異步信號,即使用kill命令也不能將其中斷。

  Z(僵死):進程已經終止,但進程描述符依然存在, 直到父進程調用wait4()系統函數後將進程釋放

   T(中止):進程收到中止信號後中止運行。

 示例:[admin@redhat7 桌面]$ ps aux

 

USER

PID

%CPU

%MEM

VSZ

RES

TTY

S

START

TIME

COMMAND

進程的全部者

進程ID號

運算器佔用率

內存佔用率

虛擬內存使用量(單位是KB)

佔用的固定內存量(單位是KB)

所在終端

進程

狀態

被啓動

的時間

實際使用
CPU的時間

命令名稱與參數

root

1

0.0

0.4

53684

7628

?

Ss

07 :22

0:02

/usr/lib/systemd/systemd

root

2

0.0

0.0

0

0

?

S

07:22

0:00

[kthreadd]

root

3

0.0

0.0

0

0

?

S

07:22

0:00

[ksoftirqd/0]

root

5

0.0

0.0

0

0

?

S<

07:22

0:00

[kworker/0:0H]

root

7

0.0

0.0

0

0

?

S

07:22

0:00

[migration/0]

………………省略部分輸出信息………………

 

表2-3  進程狀態

 

6.top命令

  功能:動態地監視進程活動與系統負載等信息(相似於Windows任務管理器)

  格式:top

  示例:top

 

圖3-2  top命令的運行界面

參數含義:

    第1行:系統時間、運行時間、登陸終端數、(CPU)系統負載(三個數值分別爲1分鐘、5分鐘、15分鐘內的平均值,數值越小意味着負載越低,最好不要超過5;判斷負載狀況—從右往左看)。

    第2行:進程總數、運行中的進程數、睡眠中的進程數、中止的進程數、僵死的進程數。

    第3行:用戶佔用資源百分比、系統內核佔用資源百分比、改變過優先級的進程資源百分比、空閒的資源百分比等。  (注:例如「96.1 id」意味着有96.1%的CPU處理器資源處於空閒。)

    第4行:物理內存總量(kb)、內存使用量、內存空閒量、做爲內核緩存的內存量。

    第5行:虛擬內存總量、虛擬內存使用量、虛擬內存空閒量、已被提早加載的內存量。

 

7.pidof命令

   功能:查詢某個指定服務進程的PID值

   格式:pidof [選項] [服務名稱]

   示例:

      [root@linuxprobe ~]# pidof sshd

      2156

 

8.kill命令

   功能:終止某個指定PID的服務進程

   格式:kill [選項] [進程PID]

   示例:

      [root@linuxprobe ~]# kill 2156

 

9.killall命令

   功能:終止某個指定名稱的服務所對應的所有進程

   格式:kill all[選項] [服務名稱]

   示例:

      [root@linuxprobe ~]# pidof httpd

       13581 13580 13579 13578 13577 13576

      [root@linuxprobe ~]# killall httpd

      [root@linuxprobe ~]# pidof httpd

      [root@linuxprobe ~]#

注:中止命令執行快捷鍵 Ctrl + C

 

系統狀態檢測命令                                                        

 

1. ifconfig命令

   功能:獲取網卡配置與網絡狀態等信息

   格式:ifconfig [網絡設備] [選項]

   示例:

       [root@linuxprobe ~]# ifconfig

       eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500  <==網卡名稱

        inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255  <==IP地址,掩碼

        inet6 fe80::20c:29ff:fec4:a409  prefixlen 64  scopeid 0x20<link>

        ether 00:0c:29:c4:a4:09  txqueuelen 1000  (Ethernet)  <==網卡物理地址(MAC地址)

        RX packets 36  bytes 3176 (3.1 KiB)     <==接收數據包個數及累計流量

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 38  bytes 4757 (4.6 KiB)     <==發送數據包的個數及累計流量

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

2. uname命令

   功能:查看系統內核與系統版本等信息

   格式:uname [-a]

   示例:

      [admin@redhat7 桌面]$ uname -a

       Linux redhat7.0 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux   <==系統、主機名稱、內核版本、系統打包時間、系統位數、協議

 

3. uptime用於查看系統的負載信息(顯示當前系統時間、系統已運行時間、啓用終端數量以及平均負載值等信息,(平均負載值指的是系統在最近1分鐘、5分鐘、15分鐘內的壓力狀況負載值越低越好,儘可能不要長期超過1,在生產環境中不要超過5。

  示例:

      [admin@redhat7 桌面]$ uptime

      16:38:05 up  1:29,  2 users,  load average: 0.00, 0.01, 0.05

 

4.free用於顯示當前系統中內存的使用量信息

 

 

內存總量

已用量

可用量

進程共享的內存量

磁盤緩存的內存量

緩存的
內存量

 

total

used

free

shared

buffers

cached

Mem

1.8GB

1.3GB

542MB

9.8MB

1.6MB

413MB

-/+ buffers/cache

 

869MB

957MB

 

 

 

Swap

2.0GB

0

2.0GB

 

 

 

表2-4 執行free -h命令後的輸出信息

 

5.who用於查看當前登入主機的用戶終端信息

 

6.last命令用於查看系統歷史的登陸記錄(因爲信息以日誌保存,容易遭到篡改,只能用於參考,不能判斷系統是否被黑)

 

7. history命令

功能:顯示歷史執行過的命令

示例:

    [admin@redhat7 桌面]$ history

    1  ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

    2  ln -sf /lib/systemd/system/multi-user.target /etc/systemd/

    3  su do ln -sf /lib/systemd/system/multi-user.target /etc/systemd/

    4  su root

    5  reboot

     …

    [admin@redhat7 桌面]$ !4   <== 「!編碼數字」的方式來重複執行某一次的命令

   su root

   密碼:

   su: 鑑定故障

  [admin@redhat7 桌面]$ cat ~/.bash_history   <==查看歷史文件目錄 (Linux系統中以點(.)開頭的文件均表明隱藏文件,這些文件大多數爲系統服務文件,能夠用cat命令查看其文件內容。)

   ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

   ln -sf /lib/systemd/system/multi-user.target /etc/systemd/

   su do ln -sf /lib/systemd/system/multi-user.target /etc/systemd/

   su root

  reboot

  [admin@redhat7 桌面]$ history -c  <==清空歷史命令記錄

  [admin@redhat7 桌面]$ history

    1  history

 

8.sosreport命令用於收集系統配置及架構信息並輸出診斷文檔(廠商遠程售後分析診斷)

 示例:(將壓縮包和校驗碼發送便可)

   [root@linuxprobe ~]# sosreport

   sosreport (version 3.0)

   ...

   No changes will be made to system configuration.

   Press ENTER to continue, or CTRL-C to quit.   <==此處敲擊回車來確認收集信息

 

   Please enter your first initial and last name [linuxprobe.com]:   <==此處敲擊回車來確認主機編號

  Please enter the case number that you are generating this report for:   <==此處敲擊回車來確認主機編號

  ...

   /var/tmp/sosreport-linuxprobe.com-20170905230631.tar.xz   <==收集好的資料壓縮文件

   The checksum is: 79436cdf791327040efde48c452c6322       <==校驗碼

   ...

 

工做目錄切換命令                                              

 

1.pwd命令用於顯示當前用戶所在的工做目錄

 

2.ls 命令

  功能:列表(List)查看目錄及文件的屬性信息。不帶任何選項或參數時,默認顯示當前目錄的內容。

  格式:ls  [選項]  [文件或目錄] ·  ·  ·

  選項:  -a   列出全部(All)文件和子目錄,包括以點」.「開頭的隱藏文件或目錄。

              -A   列出全部文件和子目錄(包括隱藏文件或目錄),特殊目錄」.「和」..「除外 。

               -l    以長格式(Long)顯示文件或目錄的詳細信息。

               -d   只顯示目錄自己(Directory)的屬性信息,而不顯示其中的文件或子目錄。

  示例:

    [admin@redhat7 桌面]$ ls -al

    總用量 4

     drwxr-xr-x.  2 admin admin    6 3月  22 16:13 .

     drwx------. 14 admin admin 4096 3月  23 15:26 ..

     [admin@redhat7 桌面]$ ls -ld /etc

     drwxr-xr-x. 133 root root 8192 3月  23 23:08 /etc

 

3.cd命令用於切換工做路徑

  示例:

    [admin@redhat7 桌面]$ cd /etc    <==切換到/etc目錄

    [admin@redhat7 etc]$ cd -        <==返回到上一次的目錄

     /home/admin/桌面

    [admin@redhat7 桌面]$ cd ~      <==切換到用戶的家目錄

    [admin@redhat7 ~]$

    [admin@redhat7 ~]$ cd ..         <==切換到上一級目錄

    [admin@redhat7 home]$ cd .      <==切換到當前目錄(注:.和..能夠理解爲相對路徑)

    [admin@redhat7 home]$

 

文本文件編輯命令                                                 

 

1.cat命令

  功能:一般用於查看純文本文件(內容較少)

  格式:cat [參數] [文件]...

  參數:-n  顯示文件內容時在每一行行首添加行號(Number) 。

 

2.more命令用於查看純文本文件(內容較多,more大小都能看);分頁顯示文件內容。按Enter鍵能夠逐行下翻,按空格鍵下翻一頁,按b鍵向上翻一頁;和管道符號」|「結合使用時通常只能向下翻頁,按q鍵退出。

 

3.head命令用於查看純文本文檔的前N行,格式:head [選項(-n)]  [文件]

 

4.tail命令

  功能:查看文件末尾指定行數(默認爲10行)的內容。

  格式:tail  [選項]  [文件] ·  ·  ·

  選項: -N   這裏的N爲用戶指定的行數(若不指定,默認顯示10行)。

              -f    跟蹤文件中新增長(Follow)的內容,多用於觀察日誌文件變化等,按Ctrl+C鍵退出。

  示例:

  [root@sky ~]# tail -2 /etc/passwd

  sky:x:500:500:sky:/home/sky:/bin/bash

  lisi:x:501:501::/home/lisi:/bin/bash

  [root@sky ~]# tail -lf /var/log/messages

  May 26 13:58:34 sky tpvmlpd2[2621]: device type not supported

 

5.less 命令用於分頁顯示文件內容,與more命令的相似,但使用更加靈活。按上下箭頭鍵先後逐行滾動查看,空格鍵或PageDown鍵向下翻頁,按b鍵或Pageup鍵向上翻頁,按q鍵退出。

 

6. wc命令

  功能:統計文件的行數、單詞數和字節數等信息(Word Count)。默認選項爲」-lwc」。

  格式:wc [選項]  [文件]  ·  ·  ·

  選項:-c    統計文件內容中的字節數。

             -l    統計文仲內容中的行數。

            -w   統計文件內容中的單詞個數。

  示例:

    [root@sky ~]# ls -lh /etc/*.conf | wc -l

    45

    [root@sky ~]# wc /etc/fstab /etc/passwd

    16   84  851 /etc/fstab

    35   54 1653 /etc/passwd

      51  138 2504 總用量

 

7.tr命令用於替換文本文件中的字符,格式爲「tr [原始字符] [目標字符]」

 示例:

    [root@linuxprobe ~]# cat anaconda-ks.cfg | tr [a-z] [A-Z]

    #VERSION=RHEL7

    # SYSTEM AUTHORIZATION INFORMATION

    AUTH --ENABLESHADOW --PASSALGO=SHA512

   …

 

8.stat命令用於查看文件的具體存儲信息和時間等信息,格式爲「stat 文件名稱」。

   stat命令能夠用於查看文件的存儲信息和時間等信息,命令stat anaconda-ks.cfg會顯示出文件的三種時間狀態:Access、Modify、Change。

 示例:

    [root@linuxprobe ~]# stat anaconda-ks.cfg

    File: ‘anaconda-ks.cfg’

     ...

    Access: 2017-07-14 01:46:18.721255659 -0400    <==查看時間,最後一次查看文件內容的時間

    Modify: 2017-05-04 15:44:36.916027026 -0400    <==修改時間,最後一次修改文件內容的時間

    Change: 2017-05-04 15:44:36.916027026 -0400   <==更改時間,最後一次變動文件屬性的時間(文件的全部者和權限信息)

    Birth: -

 

9.cut命令用於按「列」提取文本字符,格式爲「cut [選項] 文本」。

 

10.diff命令用於比較多個文本文件的差別,格式爲「diff [選項] 文件」。

   在使用diff命令時,不只可使用--brief參數來確認兩個文件是否不一樣,還可使用-c參數來詳細比較出多個文件的差別之處

 示例:

    [root@linuxprobe ~]# cat diff_A.txt  <==使用cat命令分別查看diff_A.txt和diff_B.txt文件的內容,而後進行比較

    Welcome to linuxprobe.com

    Red Hat certified

   Free Linux Lessons

   …

    [root@linuxprobe ~]# diff --brief diff_A.txt diff_B.txt  <==diff --brief命令顯示比較後的結果,判斷文件是否相同

    Files diff_A.txt and diff_B.txt differ

    [root@linuxprobe ~]# diff -c diff_A.txt diff_B.txt  <==最後使用帶有-c參數的diff命令來描述文件內容具體的不一樣

    *** diff_A.txt 2017-08-30 18:07:45.230864626 +0800

    --- diff_B.txt 2017-08-30 18:08:52.203860389 +0800

   ***************

   *** 1,5 ****

    …

 

文件目錄管理命令                                                

 

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

 

2.mkdir命令

  功能:建立新目錄(Make Directories)

  格式:mkdir  [選項]   <目錄> ·  ·  ·

  選項:-p  必要時連父目錄(Parent)一塊兒建立,若是目標目錄存在也不報錯。

 

3.cp 命令

   功能:複製(Copy)文件或目錄,複製源是目錄或多個文件時,目標必須是目錄。

   格式:cp   [選項]  <源文件或源目錄> ·  ·  · <目標文件或目錄>

   選項:-f   覆蓋目標同名文件或目錄時不進行提醒,而直接強制(Force)複製。

             -i   覆蓋目標同名文件或目錄時提醒用戶確認(lnteractive,交互式)。

            -p  複製時保持(Preserve)源文件的權限,屬主及時間截等屬性不變。

            -r   複製目錄時使用遞歸(Recursive)複製全部文件及子目錄。

   示例:

     [root@sky ~]# cp -rf /boot/grub/ ./

    [root@sky ~]# cp /etc/init.d/httpd ./myhttpd

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

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

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

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

 

4.mv 命令

  功能:移動(Move)文件或目錄,能夠在移動時更名(至關於剪切)。移動多個文件或目錄時目標必須是目錄。

  格式:mv  [選項]  <源文件或源目錄> ·  ·  · <目標文件或目錄>

  選項:-f  覆蓋目標同名文件或目錄時不進行提醒,而直接強制(Force)移動。

             -i  覆蓋目標同名文件或目錄時提醒用戶確認(interactive交互式)。

 

5.rm 命令

  功能:刪除指定的文件或目錄。

  格式:rm  [選項]   <文件或目錄> ·  ·  ·

  選項:-f  在刪除文件或目錄時不進行提醒,而直接強制(Force)刪除。

            -i  在刪除文件或目錄時提醒用戶確認(lnteractive,交互式)。

           -r  刪除目錄時使用,遞歸(Recursive)刪除全部文件及子目錄。

 

6.ln 命令

  功能:爲文件或目錄創建連接(Link) ,硬連接不能用於目錄也不能跨硬盤分區。

  格式:ln  [參數]   <源文件或源目錄>...< 連接文件位置>

  參數:-s  創建軟連接即符號連接(Symbolic)文件,默認爲硬連接。

             -f  若連接文件已存在,則直接強制(Force)覆蓋。

             -I  在覆蓋目標連接文件時提醒用戶確認。

  示例:

    [root@sky ~]# ln -s /usr/local/httpd/bin/apachectl /usr/sbin/

    [root@sky ~]# ln /etc/shadow /etc/shadow.bak

 

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

    Linux系統中有一個名爲/dev/zero的設備文件,這個文件不會佔用系統存儲空間,但卻能夠提供無窮無盡的數據,所以可使用它做爲dd命令的輸入文件,來生成一個指定大小的文件。

 選項:-if(input file)        輸入的文件名稱

           -of(output file)     輸出的文件名稱

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

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

  示例:

    [root@linuxprobe ~]# dd if=/dev/zero of=560_file count=1 bs=560M  <==用dd命令從/dev/zero設備文件中取出一個大小爲560MB的數據塊,而後保存成名爲560_file的文件。(默認單位爲字節)

    1+0 records in

    1+0 records out

    587202560 bytes (587 MB) copied, 27.1755 s, 21.6 MB/s

     [root@linuxprobe ~]# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso   <==使用dd命令來壓制出光盤鏡像文件,將它變成一個可當即使用的iso鏡像

     7311360+0 records in

     7311360+0 records out

     3743416320 bytes (3.7 GB) copied, 370.758 s, 10.1 MB/s

 

8.touch命令

  功能:用用於建立空白文件或設置文件的時間

  格式:touch [選項] [文件]

   對touch命令來說,有難度的操做主要是體如今設置文件內容的修改時間(mtime)、文件權限或屬性的更改時間(ctime)與文件的讀取時間(atime)上面。(接上面stat命令)

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

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

             -d       同時修改atime與mtime

  示例:

      先使用ls命令查看一個文件的修改時間,而後修改這個文件,最後再經過touch命令把修改後的文件時間設置成修改以前的時間(不少黑客就是這樣作的呢)

      [root@linuxprobe ~]# ls -l anaconda-ks.cfg    

       -rw-------. 1 root root 1213 May  4 15:44 anaconda-ks.cfg

      [root@linuxprobe ~]# echo "Visit the LinuxProbe.com to learn linux skills" >>

      anaconda-ks.cfg

      [root@linuxprobe ~]# ls -l anaconda-ks.cfg

      -rw-------. 1 root root 1260 Aug  2 01:26 anaconda-ks.cfg

      [root@linuxprobe ~]# touch -d "2017-05-04 15:44" anaconda-ks.cfg

      [root@linuxprobe ~]# ls -l anaconda-ks.cfg

      -rw-------. 1 root root 1260 May  4 15:44 anaconda-ks.cfg

  注意:atime和mtime時間能夠修改,ctime不能修改

 

打包壓縮與收縮命令                                                      

 

1.tar命令

  功能:將文件或目錄備份打包,並可經過選項調用gzip或bzip2程序將包文件進行壓縮,解壓。

  格式:tar    [選項]   <包文件名>   [文件或目錄]...

  選項:-c   建立(Create).tar格式的包文件

          -C   指定到解壓的目錄

          -f    目標文件名

          -j    調用bzip2程序進行壓縮或解壓

          -p   打包時保存文件及目錄的權限

          -P   打包時保存文件及目錄的絕對路徑

          -t   查看壓縮包內的文件

          -v   輸出詳細信息。

         -x   解開.tar格式的包文件

         -z   調用gzip程序進行壓縮或解壓

  Tar czvf 壓縮包名稱.tar.gz 源文件

  Tar xzvf 壓縮包名稱.tar.gz 源文件

示例

    [root@sky ~]# tar -cf ab.tar a.file b.file          <==建立包文件ab.tar

    [root@sky ~]# tar -tf ab.tar                    <==查看包文件中的內容

    a.file b.file

    [root@sky ~]# tar -zcf ab.tar.gz a.file b.file       <==建立壓縮包文件ab.tar.gz

    [root@sky ~]# tar -jcf ab.tar.bz2 a.file b.file      <==建立壓縮包文件ab.tar.bz2

    [root@sky ~]# tar -jxf ab.tar.bz2 -C /to/som/where   <==解壓釋放文件至指定目錄

 

2.gzip /bzip2 / zip 命令

  功能:建立.gz格式的壓縮文件,使用-d選項能夠進行解壓縮(或使月gunzip/ bunzip2命令)。

  格式:gzip /bzip2 / zip  [選項]   <文件或目錄> ·  ·  ·

  選項:-1  以最快速度優先的模式建立壓縮文件。

            -9  以最大壓縮比優先的模式建立壓縮文件。

            -d  解壓縮gz格式的壓縮文件。

 

3.unzip 命令

  功能:解壓縮.zip格式的壓縮文件。

  格式:unzip  [ 選項]   <壓縮文件名>

  選項:-d  解壓到指定的文件夾。

 

4.grep 命令

  功能:Linux系統中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是全部用戶。

  格式:grep  [選項]  <查找字串>  [文件]

  選項:-i   查找內容時忽略大小寫(Ignore Case) 。

             -v  反轉查找(Invert) 即輸出與查找條件不相符的行。

 

5.find命令

  在Linux系統中,搜索工做通常都是經過find命令來完成的,它可使用不一樣的文件特性做爲尋找條件(如文件名、大小、修改時間、權限等信息),一旦匹配成功則默認將信息顯示到屏幕上

  功能:按照指定條件來查找文件

  格式:find  <查找路徑>   <查找條件> ·  ·  ·

  選項:-name            按文件名稱查找,可使用通配符。

            -size               匹配文件的大小(+50KB爲查找超過50KB的文件,而-50KB爲查找小於50KB的文件)

            -prune             忽略某個目錄

            -perm              匹配權限(mode爲徹底匹配,-mode爲包含便可)

            -user               匹配全部者

           -group              匹配全部組

           -mtime -n +n    匹配修改內容的時間(-n指n天之內,+n指n天之前)

           -atime -n +n     匹配訪問文件的時間(-n指n天之內,+n指n天之前)

           -ctime -n +n     匹配修改文件權限的時間(-n指n天之內,+n指n天之前)

           -type                 按文件類型查找,類型f,d,l,b、c分別表示普通文件,目錄,連接文件,塊設備文件、字符設備文件。

   示例:

     [root@sky ~]# find /etc -name "passwd"

     /etc/pam.d/passwd

     /etc/passwd

    [root@sky ~]# find /boot/ -size +1024k     <==查找大於1M的文件

    /boot/vmlinuz-2.6.32-358.el6.x86_64

    /boot/System.map-2.6.32-358.el6.x86_64

 

參考資料                                                                                 

 

  劉瑞       Linux就該怎麼學

相關文章
相關標籤/搜索