国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

浙江龍游疫情最新消息搜索引擎排名優(yōu)化

浙江龍游疫情最新消息,搜索引擎排名優(yōu)化,網(wǎng)站開發(fā)廣東,嘉興市做外貿(mào)網(wǎng)站的公司1 Linux概述 Linux 是一套免費(fèi)使用和自由傳播的類 Unix 操作系統(tǒng),是一個(gè)基于 POSIX 和 UNIX 的多用戶、多任務(wù)、支持多線程和多 CPU 的操作系統(tǒng)。Linux 能運(yùn)行主要的 UNIX 工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持 32 位和 64 位硬件。Linux 繼承了 Unix 以網(wǎng)絡(luò)為核心…

1 Linux概述

  • Linux 是一套免費(fèi)使用和自由傳播的類 Unix 操作系統(tǒng),是一個(gè)基于 POSIX 和 UNIX 的多用戶、多任務(wù)、支持多線程和多 CPU 的操作系統(tǒng)。Linux 能運(yùn)行主要的 UNIX 工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持 32 位和 64 位硬件。Linux 繼承了 Unix 以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。
  • 今天各種場合都有使用各種 Linux 發(fā)行版,從嵌入式設(shè)備到超級計(jì)算機(jī),并且在服務(wù)器領(lǐng)域確定了地位,通常服務(wù)器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)組合。

2 Linux系統(tǒng)目錄結(jié)構(gòu)

在這里插入圖片描述

以下是對這些目錄的解釋:

  • /bin
    bin 是 Binaries (二進(jìn)制文件) 的縮寫, 這個(gè)目錄存放著最經(jīng)常使用的命令。

  • /boot:
    這里存放的是啟動(dòng) Linux 時(shí)使用的一些核心文件,包括一些連接文件以及鏡像文件。

  • /dev :
    dev 是 Device(設(shè)備) 的縮寫, 該目錄下存放的是 Linux 的外部設(shè)備,在 Linux 中訪問設(shè)備的方式和訪問文件的方式是相同的。

  • /etc:
    etc 是 Etcetera(等等) 的縮寫,這個(gè)目錄用來存放所有的系統(tǒng)管理所需要的配置文件和子目錄。

  • /home
    用戶的主目錄,在 Linux 中,每個(gè)用戶都有一個(gè)自己的目錄,一般該目錄名是以用戶的賬號命名的,如上圖中的 alice、bob 和 eve。

  • /lib
    lib 是 Library(庫) 的縮寫這個(gè)目錄里存放著系統(tǒng)最基本的動(dòng)態(tài)連接共享庫,其作用類似于 Windows 里的 DLL 文件。幾乎所有的應(yīng)用程序都需要用到這些共享庫。

  • /lost+found
    這個(gè)目錄一般情況下是空的,當(dāng)系統(tǒng)非法關(guān)機(jī)后,這里就存放了一些文件。

  • /media
    linux 系統(tǒng)會自動(dòng)識別一些設(shè)備,例如U盤、光驅(qū)等等,當(dāng)識別后,Linux 會把識別的設(shè)備掛載到這個(gè)目錄下。

  • /mnt
    系統(tǒng)提供該目錄是為了讓用戶臨時(shí)掛載別的文件系統(tǒng)的,我們可以將光驅(qū)掛載在 /mnt/ 上,然后進(jìn)入該目錄就可以查看光驅(qū)里的內(nèi)容了。

  • /opt
    opt 是 optional(可選) 的縮寫,這是給主機(jī)額外安裝軟件所擺放的目錄。比如你安裝一個(gè)ORACLE數(shù)據(jù)庫則就可以放到這個(gè)目錄下。默認(rèn)是空的。

  • /proc
    proc 是 Processes(進(jìn)程) 的縮寫,/proc 是一種偽文件系統(tǒng)(也即虛擬文件系統(tǒng)),存儲的是當(dāng)前內(nèi)核運(yùn)行狀態(tài)的一系列特殊文件,這個(gè)目錄是一個(gè)虛擬的目錄,它是系統(tǒng)內(nèi)存的映射,我們可以通過直接訪問這個(gè)目錄來獲取系統(tǒng)信息。
    這個(gè)目錄的內(nèi)容不在硬盤上而是在內(nèi)存里,我們也可以直接修改里面的某些文件,比如可以通過下面的命令來屏蔽主機(jī)的ping命令,使別人無法ping你的機(jī)器:

    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
    
  • /root
    該目錄為系統(tǒng)管理員,也稱作超級權(quán)限者的用戶主目錄。

  • /sbin
    s 就是 Super User 的意思,是 Superuser Binaries (超級用戶的二進(jìn)制文件) 的縮寫,這里存放的是系統(tǒng)管理員使用的系統(tǒng)管理程序。

  • /selinux
    這個(gè)目錄是 Redhat/CentOS 所特有的目錄,Selinux 是一個(gè)安全機(jī)制,類似于 windows 的防火墻,但是這套機(jī)制比較復(fù)雜,這個(gè)目錄就是存放selinux相關(guān)的文件的。

  • /srv
    該目錄存放一些服務(wù)啟動(dòng)之后需要提取的數(shù)據(jù)。

  • /sys

    這是 Linux2.6 內(nèi)核的一個(gè)很大的變化。該目錄下安裝了 2.6 內(nèi)核中新出現(xiàn)的一個(gè)文件系統(tǒng) sysfs 。

    sysfs 文件系統(tǒng)集成了下面3種文件系統(tǒng)的信息:針對進(jìn)程信息的 proc 文件系統(tǒng)、針對設(shè)備的 devfs 文件系統(tǒng)以及針對偽終端的 devpts 文件系統(tǒng)。

    該文件系統(tǒng)是內(nèi)核設(shè)備樹的一個(gè)直觀反映。

    當(dāng)一個(gè)內(nèi)核對象被創(chuàng)建的時(shí)候,對應(yīng)的文件和目錄也在內(nèi)核對象子系統(tǒng)中被創(chuàng)建。

  • /tmp
    tmp 是 temporary(臨時(shí)) 的縮寫這個(gè)目錄是用來存放一些臨時(shí)文件的。

  • /usr
    usr 是 unix shared resources(共享資源) 的縮寫,這是一個(gè)非常重要的目錄,用戶的很多應(yīng)用程序和文件都放在這個(gè)目錄下,類似于 windows 下的 program files 目錄。

  • /usr/bin:
    系統(tǒng)用戶使用的應(yīng)用程序。

  • /usr/sbin:
    超級用戶使用的比較高級的管理程序和系統(tǒng)守護(hù)程序。

  • /usr/src:
    內(nèi)核源代碼默認(rèn)的放置目錄。

  • /var
    var 是 variable(變量) 的縮寫,這個(gè)目錄中存放著在不斷擴(kuò)充著的東西,我們習(xí)慣將那些經(jīng)常被修改的目錄放在這個(gè)目錄下。包括各種日志文件。

  • /run
    是一個(gè)臨時(shí)文件系統(tǒng),存儲系統(tǒng)啟動(dòng)以來的信息。當(dāng)系統(tǒng)重啟時(shí),這個(gè)目錄下的文件應(yīng)該被刪掉或清除。如果你的系統(tǒng)上有 /var/run 目錄,應(yīng)該讓它指向 run。

3 關(guān)機(jī)

  • 正確的關(guān)機(jī)流程為:sync > shutdown > reboot > halt。關(guān)機(jī)指令為:shutdown ,你可以man shutdown 來看一下幫助文檔。

  • sync 將數(shù)據(jù)由內(nèi)存同步到硬盤中。shutdown 關(guān)機(jī)指令,你可以man shutdown 來看一下幫助文檔。例如你可以運(yùn)行如下命令關(guān)機(jī):shutdown –h 10 ‘This server will shutdown after 10 mins’ 這個(gè)命令告訴大家,計(jì)算機(jī)將在10分鐘后關(guān)機(jī),并且會顯示在登陸用戶的當(dāng)前屏幕中。shutdown –h now 立馬關(guān)機(jī)shutdown –h 20:25 系統(tǒng)會在今天20:25關(guān)機(jī)shutdown –h +10 十分鐘后關(guān)機(jī)shutdown –r now 系統(tǒng)立馬重啟shutdown –r +10 系統(tǒng)十分鐘后重啟reboot 就是重啟,等同于 shutdown –r nowhalt 關(guān)閉系統(tǒng),等同于shutdown –h now 和 poweroff
    

4 文件

4.1 更改文件基本屬性

  • 在 Linux 中我們可以使用 ll 或者 ls –l 命令來顯示一個(gè)文件的屬性以及文件所屬的用戶和組

    [root@www /]# ls -l
    total 64
    dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
    dr-xr-xr-x   4 root root 4096 Apr 19  2012 boot
    

    在 Linux 中第一個(gè)字符代表這個(gè)文件是目錄、文件或鏈接文件等等。

    • 當(dāng)為 d 則是目錄
    • 當(dāng)為 - 則是文件;
    • 若是 l 則表示為鏈接文檔(link file);
    • 若是 b 則表示為裝置文件里面的可供儲存的接口設(shè)備(可隨機(jī)存取裝置);
    • 若是 c 則表示為裝置文件里面的串行端口設(shè)備,例如鍵盤、鼠標(biāo)(一次性讀取裝置)。

    接下來的字符中,以三個(gè)為一組,且均為 rwx 的三個(gè)參數(shù)的組合。其中, r 代表可讀(read)、 w 代表可寫(write)、 x 代表可執(zhí)行(execute)。 要注意的是,這三個(gè)權(quán)限的位置不會改變,如果沒有權(quán)限,就會出現(xiàn)減號 - 而已。

    img

    363003_1227493859FdXT

  • 對于文件來說,它都有一個(gè)特定的所有者,也就是對該文件具有所有權(quán)的用戶。同時(shí),在Linux系統(tǒng)中,用戶是按組分類的,一個(gè)用戶屬于一個(gè)或多個(gè)組。文件所有者以外的用戶又可以分為文件所屬組的同組用戶和其他用戶。因此,Linux系統(tǒng)按文件所有者、文件所有者同組用戶和其他用戶來規(guī)定了不同的文件訪問權(quán)限。在以上實(shí)例中,mysql 文件是一個(gè)目錄文件,屬主和屬組都為 mysql,屬主有可讀、可寫、可執(zhí)行的權(quán)限;與屬主同組的其他用戶有可讀和可執(zhí)行的權(quán)限;其他用戶也有可讀和可執(zhí)行的權(quán)限。對于 root 用戶來說,一般情況下,文件的權(quán)限對其不起作用。

  • chgrp:更改文件屬組

    chgrp [-R] 屬組名 文件名
    

    參數(shù)選項(xiàng)

    • -R:遞歸更改文件屬組,就是在更改某個(gè)目錄文件的屬組時(shí),如果加上-R的參數(shù),那么該目錄下的所有文件的屬組都會更改。
  • chown:更改文件屬主,也可以同時(shí)更改文件屬組

    chown [–R] 屬主名 文件名
    chown [-R] 屬主名:屬組名 文件名
    
  • chmod:更改文件9個(gè)屬性
    Linux文件屬性有兩種設(shè)置方法,一種是數(shù)字,一種是符號。

    數(shù)字設(shè)置方法:

    Linux 文件的基本權(quán)限就有九個(gè),分別是 owner/group/others(擁有者/組/其他) 三種身份各有自己的 read/write/execute 權(quán)限。我們可以使用數(shù)字來代表各個(gè)權(quán)限,各權(quán)限的分?jǐn)?shù)對照表如下:

    • r:4
    • w:2
    • x:1

    每種身份(owner/group/others)各自的三個(gè)權(quán)限(r/w/x)分?jǐn)?shù)是需要累加的,例如當(dāng)權(quán)限為: -rwxrwx— 分?jǐn)?shù)則是:

    • owner = rwx = 4+2+1 = 7
    • group = rwx = 4+2+1 = 7
    • others= — = 0+0+0 = 0

    所以等一下我們設(shè)定權(quán)限的變更時(shí),該文件的權(quán)限數(shù)字就是 770。變更權(quán)限的指令 chmod 的語法是這樣的:

     chmod [-R] xyz 文件或目錄
    

    選項(xiàng)與參數(shù):

    • xyz : 就是剛剛提到的數(shù)字類型的權(quán)限屬性,為 rwx 屬性數(shù)值的相加。
    • -R : 進(jìn)行遞歸(recursive)的持續(xù)變更,以及連同次目錄下的所有文件都會變更

    舉例來說,如果要將 .bashrc 這個(gè)文件所有的權(quán)限都設(shè)定啟用,那么命令如下:

    [root@www ~]# ls -al .bashrc
    -rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
    [root@www ~]# chmod 777 .bashrc
    [root@www ~]# ls -al .bashrc
    -rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc
    

    符號設(shè)置方法:
    可以使用 u, g, o 來代表三種身份的權(quán)限。

    此外, a 則代表 all,即全部的身份。讀寫的權(quán)限可以寫成 r, w, x,也就是可以使用下表的方式來看:
    在這里插入圖片描述

    如果我們需要將文件權(quán)限設(shè)置為 -rwxr-xr– ,可以使用 chmod u=rwx,g=rx,o=r 文件名 來設(shè)定:

    #  touch test1    // 創(chuàng)建 test1 文件
    # ls -al test1    // 查看 test1 默認(rèn)權(quán)限
    -rw-r--r-- 1 root root 0 Nov 15 10:32 test1
    # chmod u=rwx,g=rx,o=r  test1    // 修改 test1 權(quán)限
    # ls -al test1
    -rwxr-xr-- 1 root root 0 Nov 15 10:32 test1
    

    而如果是要將權(quán)限去掉而不改變其他已存在的權(quán)限呢?例如要拿掉全部人的可執(zhí)行權(quán)限,則:

    #  chmod  a-x test1
    # ls -al test1
    -rw-r--r-- 1 root root 0 Nov 15 10:32 test1
    

4.2 文件內(nèi)容查看

  • cat:由第一行開始顯示文件內(nèi)容

    語法:

    cat [-AbEnTv]
    

    選項(xiàng)與參數(shù):

    • -A :相當(dāng)於 -vET 的整合選項(xiàng),可列出一些特殊字符而不是空白而已;
    • -b :列出行號,僅針對非空白行做行號顯示,空白行不標(biāo)行號!
    • -E :將結(jié)尾的斷行字節(jié) $ 顯示出來;
    • -n :列印出行號,連同空白行也會有行號,與 -b 的選項(xiàng)不同;
    • -T :將 [tab] 按鍵以 ^I 顯示出來;
    • -v :列出一些看不出來的特殊字符

    檢看 /etc/issue 這個(gè)文件的內(nèi)容:

    [root@www ~]# cat /etc/issue
    CentOS release 6.4 (Final)
    Kernel \r on an \m
    
  • tac:tac與cat命令剛好相反,文件內(nèi)容從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫!如:

    [root@www ~]# tac /etc/issueKernel \r on an \m
    CentOS release 6.4 (Final)
    
  • nl:顯示行號

    語法:

    nl [-bnw] 文件
    

    選項(xiàng)與參數(shù):

    • -b :指定行號指定的方式,主要有兩種:
      -b a :表示不論是否為空行,也同樣列出行號(類似 cat -n);
      -b t :如果有空行,空的那一行不要列出行號(默認(rèn)值);
    • -n :列出行號表示的方法,主要有三種:
      -n ln :行號在熒幕的最左方顯示;
      -n rn :行號在自己欄位的最右方顯示,且不加 0 ;
      -n rz :行號在自己欄位的最右方顯示,且加 0 ;
    • -w :行號欄位的占用的位數(shù)。

    實(shí)例一:用 nl 列出 /etc/issue 的內(nèi)容

    [root@www ~]# nl /etc/issue1  CentOS release 6.4 (Final)2  Kernel \r on an \m
    
    • more:一頁一頁翻動(dòng)
    [root@www ~]# more /etc/man_db.config 
    #
    # Generated automatically from man.conf.in by the
    # configure script.
    #
    # man.conf from man-1.6d
    ....(中間省略)....
    --More--(28%)  <== 重點(diǎn)在這一行喔!你的光標(biāo)也會在這里等待你的命令
    

    在 more 這個(gè)程序的運(yùn)行過程中,你有幾個(gè)按鍵可以按的:

    • 空白鍵 (space):代表向下翻一頁;
    • Enter :代表向下翻『一行』;
    • /字串 :代表在這個(gè)顯示的內(nèi)容當(dāng)中,向下搜尋『字串』這個(gè)關(guān)鍵字;
    • :f :立刻顯示出檔名以及目前顯示的行數(shù);
    • q :代表立刻離開 more ,不再顯示該文件內(nèi)容。
    • b 或 [ctrl]-b :代表往回翻頁,不過這動(dòng)作只對文件有用,對管線無用。

    less:一頁一頁翻動(dòng),以下實(shí)例輸出/etc/man.config文件的內(nèi)容:

    [root@www ~]# less /etc/man.config
    #
    # Generated automatically from man.conf.in by the
    # configure script.
    #
    # man.conf from man-1.6d
    ....(中間省略)....
    :   <== 這里可以等待你輸入命令!
    

    less運(yùn)行時(shí)可以輸入的命令有:

    • 空白鍵 :向下翻動(dòng)一頁;
    • [pagedown]:向下翻動(dòng)一頁;
    • [pageup] :向上翻動(dòng)一頁;
    • /字串 :向下搜尋『字串』的功能;
    • ?字串 :向上搜尋『字串』的功能;
    • n :重復(fù)前一個(gè)搜尋 (與 / 或 ? 有關(guān)!)
    • N :反向的重復(fù)前一個(gè)搜尋 (與 / 或 ? 有關(guān)!)
    • q :離開 less 這個(gè)程序;
  • head:取出文件前面幾行

    語法:

    head [-n number] 文件 
    

    選項(xiàng)與參數(shù):

    • -n :后面接數(shù)字,代表顯示幾行的意思
    [root@www ~]# head /etc/man.config
    

    默認(rèn)的情況中,顯示前面 10 行!若要顯示前 20 行,就得要這樣:

    [root@www ~]# head -n 20 /etc/man.config
    
  • tail:取出文件后面幾行

    語法:

    tail [-n number] 文件 
    

    選項(xiàng)與參數(shù):

    • -n :后面接數(shù)字,代表顯示幾行的意思
    • -f :表示持續(xù)偵測后面所接的檔名,要等到按下[ctrl]-c才會結(jié)束tail的偵測
    [root@www ~]# tail /etc/man.config
    # 默認(rèn)的情況中,顯示最后的十行!若要顯示最后的 20 行,就得要這樣:
    [root@www ~]# tail -n 20 /etc/man.config
    

5 目錄

  • ls (列出目錄)

    在Linux系統(tǒng)當(dāng)中, ls 命令可能是最常被運(yùn)行的。

    語法:

    [root@www ~]# ls [-aAdfFhilnrRSt] 目錄名稱
    [root@www ~]# ls [--color={never,auto,always}] 目錄名稱
    [root@www ~]# ls [--full-time] 目錄名稱
    

    選項(xiàng)與參數(shù):

    • -a :全部的文件,連同隱藏文件( 開頭為 . 的文件) 一起列出來(常用)
    • -d :僅列出目錄本身,而不是列出目錄內(nèi)的文件數(shù)據(jù)(常用)
    • -l :長數(shù)據(jù)串列出,包含文件的屬性與權(quán)限等等數(shù)據(jù);(常用)

    將家目錄下的所有文件列出來(含屬性與隱藏檔)

    [root@www ~]# ls -al ~
    
  • cd (切換目錄)

    cd是Change Directory的縮寫,這是用來變換工作目錄的命令。

    語法:

     cd [相對路徑或絕對路徑]
    #使用 mkdir 命令創(chuàng)建 runoob 目錄
    [root@www ~]# mkdir runoob#使用絕對路徑切換到 runoob 目錄
    [root@www ~]# cd /root/runoob/#使用相對路徑切換到 runoob 目錄
    [root@www ~]# cd ./runoob/# 表示回到自己的家目錄,亦即是 /root 這個(gè)目錄
    [root@www runoob]# cd ~# 表示去到目前的上一級目錄,亦即是 /root 的上一級目錄的意思;
    [root@www ~]# cd ..
    

    接下來大家多操作幾次應(yīng)該就可以很好的理解 cd 命令的。

  • pwd (顯示目前所在的目錄)

    pwd 是 Print Working Directory 的縮寫,也就是顯示目前所在目錄的命令。

    [root@www ~]# pwd [-P]
    

    選項(xiàng)與參數(shù):

    • -P :顯示出確實(shí)的路徑,而非使用連結(jié) (link) 路徑。

    實(shí)例:單純顯示出目前的工作目錄:

    [root@www ~]# pwd
    /root   <== 顯示出目錄啦~
    

    實(shí)例顯示出實(shí)際的工作目錄,而非連結(jié)檔本身的目錄名而已。

    [root@www ~]# cd /var/mail   <==注意,/var/mail是一個(gè)連結(jié)檔
    [root@www mail]# pwd
    /var/mail         <==列出目前的工作目錄
    [root@www mail]# pwd -P
    /var/spool/mail   <==怎么回事?有沒有加 -P 差很多~
    [root@www mail]# ls -ld /var/mail
    lrwxrwxrwx 1 root root 10 Sep  4 17:54 /var/mail -> spool/mail
    # 看到這里應(yīng)該知道為啥了吧?因?yàn)?/var/mail 是連結(jié)檔,連結(jié)到 /var/spool/mail 
    # 所以,加上 pwd -P 的選項(xiàng)后,會不以連結(jié)檔的數(shù)據(jù)顯示,而是顯示正確的完整路徑啊!
    
  • mkdir (創(chuàng)建新目錄)

    如果想要?jiǎng)?chuàng)建新的目錄的話,那么就使用mkdir (make directory)吧。

    語法:

    mkdir [-mp] 目錄名稱
    

    選項(xiàng)與參數(shù):

    • -m :配置文件的權(quán)限喔!直接配置,不需要看默認(rèn)權(quán)限 (umask) 的臉色~
    • -p :幫助你直接將所需要的目錄(包含上一級目錄)遞歸創(chuàng)建起來!

    實(shí)例:請到/tmp底下嘗試創(chuàng)建數(shù)個(gè)新目錄看看:

    [root@www ~]# cd /tmp
    [root@www tmp]# mkdir test    <==創(chuàng)建一名為 test 的新目錄
    [root@www tmp]# mkdir test1/test2/test3/test4
    mkdir: cannot create directory `test1/test2/test3/test4': 
    No such file or directory       <== 沒辦法直接創(chuàng)建此目錄啊!
    [root@www tmp]# mkdir -p test1/test2/test3/test4
    

    加了這個(gè) -p 的選項(xiàng),可以自行幫你創(chuàng)建多層目錄!

    實(shí)例:創(chuàng)建權(quán)限為 rwx–x–x 的目錄。

    [root@www tmp]# mkdir -m 711 test2
    [root@www tmp]# ls -l
    drwxr-xr-x  3 root  root 4096 Jul 18 12:50 test
    drwxr-xr-x  3 root  root 4096 Jul 18 12:53 test1
    drwx--x--x  2 root  root 4096 Jul 18 12:54 test2
    

    上面的權(quán)限部分,如果沒有加上 -m 來強(qiáng)制配置屬性,系統(tǒng)會使用默認(rèn)屬性。

    如果我們使用 -m ,如上例我們給予 -m 711 來給予新的目錄 drwx–x–x 的權(quán)限。

  • rmdir (刪除空的目錄)

    語法:

     rmdir [-p] 目錄名稱
    

    選項(xiàng)與參數(shù):

    • **-p :**從該目錄起,一次刪除多級空目錄

    刪除 runoob 目錄

    [root@www tmp]# rmdir runoob/
    

    將 mkdir 實(shí)例中創(chuàng)建的目錄(/tmp 底下)刪除掉!

    [root@www tmp]# ls -l   <==看看有多少目錄存在?
    drwxr-xr-x  3 root  root 4096 Jul 18 12:50 test
    drwxr-xr-x  3 root  root 4096 Jul 18 12:53 test1
    drwx--x--x  2 root  root 4096 Jul 18 12:54 test2
    [root@www tmp]# rmdir test   <==可直接刪除掉,沒問題
    [root@www tmp]# rmdir test1  <==因?yàn)樯杏袃?nèi)容,所以無法刪除!
    rmdir: `test1': Directory not empty
    [root@www tmp]# rmdir -p test1/test2/test3/test4
    [root@www tmp]# ls -l        <==您看看,底下的輸出中test與test1不見了!
    drwx--x--x  2 root  root 4096 Jul 18 12:54 test2
    

    利用 -p 這個(gè)選項(xiàng),立刻就可以將 test1/test2/test3/test4 一次刪除。

    不過要注意的是,這個(gè) rmdir 僅能刪除空的目錄,你可以使用 rm 命令來刪除非空目錄。

  • cp (復(fù)制文件或目錄)

    cp 即拷貝文件和目錄。

    語法:

    [root@www ~]# cp [-adfilprsu] 來源檔(source) 目標(biāo)檔(destination)
    [root@www ~]# cp [options] source1 source2 source3 .... directory
    

    選項(xiàng)與參數(shù):

    • **-a:**相當(dāng)於 -pdr 的意思,至於 pdr 請參考下列說明;(常用)
    • **-d:**若來源檔為連結(jié)檔的屬性(link file),則復(fù)制連結(jié)檔屬性而非文件本身;
    • **-f:**為強(qiáng)制(force)的意思,若目標(biāo)文件已經(jīng)存在且無法開啟,則移除后再嘗試一次;
    • **-i:**若目標(biāo)檔(destination)已經(jīng)存在時(shí),在覆蓋時(shí)會先詢問動(dòng)作的進(jìn)行(常用)
    • **-l:**進(jìn)行硬式連結(jié)(hard link)的連結(jié)檔創(chuàng)建,而非復(fù)制文件本身;
    • **-p:**連同文件的屬性一起復(fù)制過去,而非使用默認(rèn)屬性(備份常用);
    • **-r:**遞歸持續(xù)復(fù)制,用於目錄的復(fù)制行為;(常用)
    • **-s:**復(fù)制成為符號連結(jié)檔 (symbolic link),亦即『捷徑』文件;
    • **-u:**若 destination 比 source 舊才升級 destination !

    用 root 身份,將 root 目錄下的 .bashrc 復(fù)制到 /tmp 下,并命名為 bashrc

    [root@www ~]# cp ~/.bashrc /tmp/bashrc
    [root@www ~]# cp -i ~/.bashrc /tmp/bashrc
    cp: overwrite `/tmp/bashrc'? n  <==n不覆蓋,y為覆蓋
    
  • rm (移除文件或目錄)

    語法:

     rm [-fir] 文件或目錄
    

    選項(xiàng)與參數(shù):

    • -f :就是 force 的意思,忽略不存在的文件,不會出現(xiàn)警告信息;
    • -i :互動(dòng)模式,在刪除前會詢問使用者是否動(dòng)作
    • -r :遞歸刪除啊!最常用在目錄的刪除了!這是非常危險(xiǎn)的選項(xiàng)!!!

    將剛剛在 cp 的實(shí)例中創(chuàng)建的 bashrc 刪除掉!

    [root@www tmp]# rm -i bashrc
    rm: remove regular file `bashrc'? y
    

    如果加上 -i 的選項(xiàng)就會主動(dòng)詢問喔,避免你刪除到錯(cuò)誤的檔名!

  • mv (移動(dòng)文件與目錄,或修改名稱)

    語法:

    [root@www ~]# mv [-fiu] source destination
    [root@www ~]# mv [options] source1 source2 source3 .... directory
    

    選項(xiàng)與參數(shù):

    • -f :force 強(qiáng)制的意思,如果目標(biāo)文件已經(jīng)存在,不會詢問而直接覆蓋;
    • -i :若目標(biāo)文件 (destination) 已經(jīng)存在時(shí),就會詢問是否覆蓋!
    • -u :若目標(biāo)文件已經(jīng)存在,且 source 比較新,才會升級 (update)

    復(fù)制一文件,創(chuàng)建一目錄,將文件移動(dòng)到目錄中

    [root@www ~]# cd /tmp
    [root@www tmp]# cp ~/.bashrc bashrc
    [root@www tmp]# mkdir mvtest
    [root@www tmp]# mv bashrc mvtest
    

    將某個(gè)文件移動(dòng)到某個(gè)目錄去,就是這樣做!

    將剛剛的目錄名稱更名為 mvtest2

[root@www tmp]# mv mvtest mvtest2

6 磁盤管理

  • df命令:檢查文件系統(tǒng)的磁盤空間占用情況??梢岳迷撁顏慝@取硬盤被占用了多少空間,目前還剩下多少空間等信息。

    語法:

    df [-ahikHTm] [目錄或文件名]
    

    選項(xiàng)與參數(shù):

    • -a :列出所有的文件系統(tǒng),包括系統(tǒng)特有的 /proc 等文件系統(tǒng);

    • -k :以 KBytes 的容量顯示各文件系統(tǒng);

    • -m :以 MBytes 的容量顯示各文件系統(tǒng);

    • -h :以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示;

    • -H :以 M=1000K 取代 M=1024K 的進(jìn)位方式;

    • -T :顯示文件系統(tǒng)類型, 連同該 partition 的 filesystem 名稱 (例如 ext3) 也列出;

    • -i :不用硬盤容量,而以 inode 的數(shù)量來顯示

    • 實(shí)例 1

      將系統(tǒng)內(nèi)所有的文件系統(tǒng)列出來!

      [root@www ~]# df
      Filesystem      1K-blocks      Used Available Use% Mounted on
      /dev/hdc2         9920624   3823112   5585444  41% /
      /dev/hdc3         4956316    141376   4559108   4% /home
      /dev/hdc1          101086     11126     84741  12% /boot
      tmpfs              371332         0    371332   0% /dev/shm
      

      在 Linux 底下如果 df 沒有加任何選項(xiàng),那么默認(rèn)會將系統(tǒng)內(nèi)所有的 (不含特殊內(nèi)存內(nèi)的文件系統(tǒng)與 swap) 都以 1 Kbytes 的容量來列出來!

    • 實(shí)例 2

      將容量結(jié)果以易讀的容量格式顯示出來

      [root@www ~]# df -h
      Filesystem            Size  Used Avail Use% Mounted on
      /dev/hdc2             9.5G  3.7G  5.4G  41% /
      /dev/hdc3             4.8G  139M  4.4G   4% /home
      /dev/hdc1              99M   11M   83M  12% /boot
      tmpfs                 363M     0  363M   0% /dev/shm
      
      • 實(shí)例 3

      將系統(tǒng)內(nèi)的所有特殊文件格式及名稱都列出來

      [root@www ~]# df -aT
      Filesystem    Type 1K-blocks    Used Available Use% Mounted on
      /dev/hdc2     ext3   9920624 3823112   5585444  41% /
      proc          proc         0       0         0   -  /proc
      sysfs        sysfs         0       0         0   -  /sys
      devpts      devpts         0       0         0   -  /dev/pts
      /dev/hdc3     ext3   4956316  141376   4559108   4% /home
      /dev/hdc1     ext3    101086   11126     84741  12% /boot
      tmpfs        tmpfs    371332       0    371332   0% /dev/shm
      none   binfmt_misc         0       0         0   -  /proc/sys/fs/binfmt_misc
      sunrpc  rpc_pipefs         0       0         0   -  /var/lib/nfs/rpc_pipefs
      
      • 實(shí)例 4

        將 /etc 底下的可用的磁盤容量以易讀的容量格式顯示

    [root@www ~]# df -h /etc
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/hdc2             9.5G  3.7G  5.4G  41% /
    

    ?

  • du:Linux du 命令也是查看使用空間的,但是與 df 命令不同的是 Linux du 命令是對文件和目錄磁盤使用的空間的查看,還是和df命令有一些區(qū)別的,這里介紹 Linux du 命令。

    語法:

    du [-ahskm] 文件或目錄名稱
    

    選項(xiàng)與參數(shù):

    • -a :列出所有的文件與目錄容量,因?yàn)槟J(rèn)僅統(tǒng)計(jì)目錄底下的文件量而已。
    • -h :以人們較易讀的容量格式 (G/M) 顯示;
    • -s :列出總量而已,而不列出每個(gè)各別的目錄占用容量;
    • -S :不包括子目錄下的總計(jì),與 -s 有點(diǎn)差別。
    • -k :以 KBytes 列出容量顯示;
    • -m :以 MBytes 列出容量顯示;

    實(shí)例 1

    只列出當(dāng)前目錄下的所有文件夾容量(包括隱藏文件夾):

    [root@www ~]# du
    8       ./test4     <==每個(gè)目錄都會列出來
    8       ./test2
    ....中間省略....
    12      ./.gconfd   <==包括隱藏文件的目錄
    220     .           <==這個(gè)目錄(.)所占用的總量
    

    直接輸入 du 沒有加任何選項(xiàng)時(shí),則 du 會分析當(dāng)前所在目錄里的子目錄所占用的硬盤空間。

    實(shí)例 2

    將文件的容量也列出來

    [root@www ~]# du -a
    12      ./install.log.syslog   <==有文件的列表了
    8       ./.bash_logout
    8       ./test4
    8       ./test2
    ....中間省略....
    12      ./.gconfd
    220     .
    

    實(shí)例 3

    檢查根目錄底下每個(gè)目錄所占用的容量

    [root@www ~]# du -sm /*
    7       /bin
    6       /boot
    .....中間省略....
    0       /proc
    .....中間省略....
    1       /tmp
    3859    /usr     <==系統(tǒng)初期最大就是他了啦!
    77      /var
    

    通配符 * 來代表每個(gè)目錄。

    與 df 不一樣的是,du 這個(gè)命令其實(shí)會直接到文件系統(tǒng)內(nèi)去搜尋所有的文件數(shù)據(jù)。

7 vi/vim

img

  • 基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode)輸入模式(Insert mode)底線命令模式(Last line mode)。 這三種模式的作用分別是:

    命令模式:用戶剛剛啟動(dòng) vi/vim,便進(jìn)入了命令模式。此狀態(tài)下敲擊鍵盤動(dòng)作會被Vim識別為命令,而非輸入字符。比如我們此時(shí)按下i,并不會輸入一個(gè)字符,i被當(dāng)作了一個(gè)命令。

    以下是常用的幾個(gè)命令:

    • i 切換到輸入模式,以輸入字符。
    • x 刪除當(dāng)前光標(biāo)所在處的字符。
    • : 切換到底線命令模式,以在最底一行輸入命令。

    若想要編輯文本:啟動(dòng)Vim,進(jìn)入了命令模式,按下i,切換到輸入模式。命令模式只有一些最基本的命令,因此仍要依靠底線命令模式輸入更多命令。

    輸入模式:在命令模式下按下i就進(jìn)入了輸入模式。

    在輸入模式中,可以使用以下按鍵:

    • 字符按鍵以及Shift組合,輸入字符
    • ENTER,回車鍵,換行
    • BACK SPACE,退格鍵,刪除光標(biāo)前一個(gè)字符
    • DEL,刪除鍵,刪除光標(biāo)后一個(gè)字符
    • 方向鍵,在文本中移動(dòng)光標(biāo)
    • HOME/END,移動(dòng)光標(biāo)到行首/行尾
    • Page Up/Page Down,上/下翻頁
    • Insert,切換光標(biāo)為輸入/替換模式,光標(biāo)將變成豎線/下劃線
    • ESC,退出輸入模式,切換到命令模式

    底線命令模式:在命令模式下按下:(英文冒號)就進(jìn)入了底線命令模式。底線命令模式可以輸入單個(gè)或多個(gè)字符的命令,可用的命令非常多。

    在底線命令模式中,基本的命令有(已經(jīng)省略了冒號):

    • q 退出程序
    • w 保存文件

    按ESC鍵可隨時(shí)退出底線命令模式。

  • 按鍵說明:第一部分:一般模式可用的光標(biāo)移動(dòng)、復(fù)制粘貼、搜索替換等

    移動(dòng)光標(biāo)的方法
    h 或 向左箭頭鍵(←)光標(biāo)向左移動(dòng)一個(gè)字符
    j 或 向下箭頭鍵(↓)光標(biāo)向下移動(dòng)一個(gè)字符
    k 或 向上箭頭鍵(↑)光標(biāo)向上移動(dòng)一個(gè)字符
    l 或 向右箭頭鍵(→)光標(biāo)向右移動(dòng)一個(gè)字符
    如果你將右手放在鍵盤上的話,你會發(fā)現(xiàn) hjkl 是排列在一起的,因此可以使用這四個(gè)按鈕來移動(dòng)光標(biāo)。 如果想要進(jìn)行多次移動(dòng)的話,例如向下移動(dòng) 30 行,可以使用 “30j” 或 “30↓” 的組合按鍵, 亦即加上想要進(jìn)行的次數(shù)(數(shù)字)后,按下動(dòng)作即可!
    [Ctrl] + [f]屏幕『向下』移動(dòng)一頁,相當(dāng)于 [Page Down]按鍵 (常用)
    [Ctrl] + [b]屏幕『向上』移動(dòng)一頁,相當(dāng)于 [Page Up] 按鍵 (常用)
    [Ctrl] + [d]屏幕『向下』移動(dòng)半頁
    [Ctrl] + [u]屏幕『向上』移動(dòng)半頁
    +光標(biāo)移動(dòng)到非空格符的下一行
    -光標(biāo)移動(dòng)到非空格符的上一行
    n那個(gè) n 表示『數(shù)字』,例如 20 。按下數(shù)字后再按空格鍵,光標(biāo)會向右移動(dòng)這一行的 n 個(gè)字符。例如 20 則光標(biāo)會向后面移動(dòng) 20 個(gè)字符距離。
    0 或功能鍵[Home]這是數(shù)字『 0 』:移動(dòng)到這一行的最前面字符處 (常用)
    $ 或功能鍵[End]移動(dòng)到這一行的最后面字符處(常用)
    H光標(biāo)移動(dòng)到這個(gè)屏幕的最上方那一行的第一個(gè)字符
    M光標(biāo)移動(dòng)到這個(gè)屏幕的中央那一行的第一個(gè)字符
    L光標(biāo)移動(dòng)到這個(gè)屏幕的最下方那一行的第一個(gè)字符
    G移動(dòng)到這個(gè)檔案的最后一行(常用)
    nGn 為數(shù)字。移動(dòng)到這個(gè)檔案的第 n 行。例如 20G 則會移動(dòng)到這個(gè)檔案的第 20 行(可配合 :set nu)
    gg移動(dòng)到這個(gè)檔案的第一行,相當(dāng)于 1G 啊! (常用)
    nn 為數(shù)字。光標(biāo)向下移動(dòng) n 行(常用)
    搜索替換
    /word向光標(biāo)之下尋找一個(gè)名稱為 word 的字符串。例如要在檔案內(nèi)搜尋 vbird 這個(gè)字符串,就輸入 /vbird 即可! (常用)
    ?word向光標(biāo)之上尋找一個(gè)字符串名稱為 word 的字符串。
    n這個(gè) n 是英文按鍵。代表重復(fù)前一個(gè)搜尋的動(dòng)作。舉例來說, 如果剛剛我們執(zhí)行 /vbird 去向下搜尋 vbird 這個(gè)字符串,則按下 n 后,會向下繼續(xù)搜尋下一個(gè)名稱為 vbird 的字符串。如果是執(zhí)行 ?vbird 的話,那么按下 n 則會向上繼續(xù)搜尋名稱為 vbird 的字符串!
    N這個(gè) N 是英文按鍵。與 n 剛好相反,為『反向』進(jìn)行前一個(gè)搜尋動(dòng)作。 例如 /vbird 后,按下 N 則表示『向上』搜尋 vbird 。
    使用 /word 配合 n 及 N 是非常有幫助的!可以讓你重復(fù)的找到一些你搜尋的關(guān)鍵詞!
    :n1,n2s/word1/word2/gn1 與 n2 為數(shù)字。在第 n1 與 n2 行之間尋找 word1 這個(gè)字符串,并將該字符串取代為 word2 !舉例來說,在 100 到 200 行之間搜尋 vbird 并取代為 VBIRD 則: 『:100,200s/vbird/VBIRD/g』。(常用)
    :1,$s/word1/word2/g:%s/word1/word2/g從第一行到最后一行尋找 word1 字符串,并將該字符串取代為 word2 !(常用)
    :1,$s/word1/word2/gc:%s/word1/word2/gc從第一行到最后一行尋找 word1 字符串,并將該字符串取代為 word2 !且在取代前顯示提示字符給用戶確認(rèn) (confirm) 是否需要取代!(常用)
    刪除、復(fù)制與貼上
    x, X在一行字當(dāng)中,x 為向后刪除一個(gè)字符 (相當(dāng)于 [del] 按鍵), X 為向前刪除一個(gè)字符(相當(dāng)于 [backspace] 亦即是退格鍵) (常用)
    nxn 為數(shù)字,連續(xù)向后刪除 n 個(gè)字符。舉例來說,我要連續(xù)刪除 10 個(gè)字符, 『10x』。
    dd剪切游標(biāo)所在的那一整行(常用),用 p/P 可以粘貼。
    nddn 為數(shù)字。剪切光標(biāo)所在的向下 n 行,例如 20dd 則是剪切 20 行(常用),用 p/P 可以粘貼。
    d1G刪除光標(biāo)所在到第一行的所有數(shù)據(jù)
    dG刪除光標(biāo)所在到最后一行的所有數(shù)據(jù)
    d$刪除游標(biāo)所在處,到該行的最后一個(gè)字符
    d0那個(gè)是數(shù)字的 0 ,刪除游標(biāo)所在處,到該行的最前面一個(gè)字符
    yy復(fù)制游標(biāo)所在的那一行(常用)
    nyyn 為數(shù)字。復(fù)制光標(biāo)所在的向下 n 行,例如 20yy 則是復(fù)制 20 行(常用)
    y1G復(fù)制游標(biāo)所在行到第一行的所有數(shù)據(jù)
    yG復(fù)制游標(biāo)所在行到最后一行的所有數(shù)據(jù)
    y0復(fù)制光標(biāo)所在的那個(gè)字符到該行行首的所有數(shù)據(jù)
    y$復(fù)制光標(biāo)所在的那個(gè)字符到該行行尾的所有數(shù)據(jù)
    p, Pp 為將已復(fù)制的數(shù)據(jù)在光標(biāo)下一行貼上,P 則為貼在游標(biāo)上一行! 舉例來說,我目前光標(biāo)在第 20 行,且已經(jīng)復(fù)制了 10 行數(shù)據(jù)。則按下 p 后, 那 10 行數(shù)據(jù)會貼在原本的 20 行之后,亦即由 21 行開始貼。但如果是按下 P 呢? 那么原本的第 20 行會被推到變成 30 行。 (常用)
    J將光標(biāo)所在行與下一行的數(shù)據(jù)結(jié)合成同一行
    c重復(fù)刪除多個(gè)數(shù)據(jù),例如向下刪除 10 行,[ 10cj ]
    u復(fù)原前一個(gè)動(dòng)作。(常用)
    [Ctrl]+r重做上一個(gè)動(dòng)作。(常用)
    這個(gè) u 與 [Ctrl]+r 是很常用的指令!一個(gè)是復(fù)原,另一個(gè)則是重做一次~ 利用這兩個(gè)功能按鍵,你的編輯,嘿嘿!很快樂的啦!
    .不要懷疑!這就是小數(shù)點(diǎn)!意思是重復(fù)前一個(gè)動(dòng)作的意思。 如果你想要重復(fù)刪除、重復(fù)貼上等等動(dòng)作,按下小數(shù)點(diǎn)『.』就好了! (常用)

    第二部分:一般模式切換到編輯模式的可用的按鈕說明

    進(jìn)入輸入或取代的編輯模式
    i, I進(jìn)入輸入模式(Insert mode): i 為『從目前光標(biāo)所在處輸入』, I 為『在目前所在行的第一個(gè)非空格符處開始輸入』。 (常用)
    a, A進(jìn)入輸入模式(Insert mode): a 為『從目前光標(biāo)所在的下一個(gè)字符處開始輸入』, A 為『從光標(biāo)所在行的最后一個(gè)字符處開始輸入』。(常用)
    o, O進(jìn)入輸入模式(Insert mode): 這是英文字母 o 的大小寫。o 為在目前光標(biāo)所在的下一行處輸入新的一行; O 為在目前光標(biāo)所在的上一行處輸入新的一行!(常用)
    r, R進(jìn)入取代模式(Replace mode): r 只會取代光標(biāo)所在的那一個(gè)字符一次;R會一直取代光標(biāo)所在的文字,直到按下 ESC 為止;(常用)
    上面這些按鍵中,在 vi 畫面的左下角處會出現(xiàn)『–INSERT–』或『–REPLACE–』的字樣。 由名稱就知道該動(dòng)作了吧!!特別注意的是,我們上面也提過了,你想要在檔案里面輸入字符時(shí), 一定要在左下角處看到 INSERT 或 REPLACE 才能輸入喔!
    [Esc]退出編輯模式,回到一般模式中(常用)

    第三部分:一般模式切換到指令行模式的可用的按鈕說明

    指令行的儲存、離開等指令
    :w將編輯的數(shù)據(jù)寫入硬盤檔案中(常用)
    :w!若文件屬性為『只讀』時(shí),強(qiáng)制寫入該檔案。不過,到底能不能寫入, 還是跟你對該檔案的檔案權(quán)限有關(guān)啊!
    :q離開 vi (常用)
    :q!若曾修改過檔案,又不想儲存,使用 ! 為強(qiáng)制離開不儲存檔案。
    注意一下啊,那個(gè)驚嘆號 (!) 在 vi 當(dāng)中,常常具有『強(qiáng)制』的意思~
    :wq儲存后離開,若為 :wq! 則為強(qiáng)制儲存后離開 (常用)
    ZZ這是大寫的 Z 喔!如果修改過,保存當(dāng)前文件,然后退出!效果等同于(保存并退出)
    ZQ不保存,強(qiáng)制退出。效果等同于 :q!
    :w [filename]將編輯的數(shù)據(jù)儲存成另一個(gè)檔案(類似另存新檔)
    :r [filename]在編輯的數(shù)據(jù)中,讀入另一個(gè)檔案的數(shù)據(jù)。亦即將 『filename』 這個(gè)檔案內(nèi)容加到游標(biāo)所在行后面
    :n1,n2 w [filename]將 n1 到 n2 的內(nèi)容儲存成 filename 這個(gè)檔案。
    :! command暫時(shí)離開 vi 到指令行模式下執(zhí)行 command 的顯示結(jié)果!例如 『:! ls /home』即可在 vi 當(dāng)中察看 /home 底下以 ls 輸出的檔案信息!
    vim 環(huán)境的變更
    :set nu顯示行號,設(shè)定之后,會在每一行的前綴顯示該行的行號
    :set nonu與 set nu 相反,為取消行號!

8 yum

  • yum( Yellow dog Updater, Modified)是一個(gè)在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端軟件包管理器?;?RPM 包管理,能夠從指定的服務(wù)器自動(dòng)下載 RPM 包并且安裝,可以自動(dòng)處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。yum 提供了查找、安裝、刪除某一個(gè)、一組甚至全部軟件包的命令,而且命令簡潔而又好記。

  • yum 語法

    yum [options] [command] [package ...]
    
    • **options:**可選,選項(xiàng)包括-h(幫助),-y(當(dāng)安裝過程提示選擇全部為 “yes”),-q(不顯示安裝的過程)等等。
    • **command:**要進(jìn)行的操作。
    • **package:**安裝的包名。
  • yum常用命令

      1. 列出所有可更新的軟件清單命令:yum check-update
      1. 更新所有軟件命令:yum update
      1. 僅安裝指定的軟件命令:yum install <package_name>
      1. 僅更新指定的軟件命令:yum update <package_name>
      1. 列出所有可安裝的軟件清單命令:yum list
      1. 刪除軟件包命令:yum remove <package_name>
      1. 查找軟件包命令:yum search
      1. 清除緩存命令:
      • yum clean packages: 清除緩存目錄下的軟件包
      • yum clean headers: 清除緩存目錄下的 headers
      • yum clean oldheaders: 清除緩存目錄下舊的 headers
      • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除緩存目錄下的軟件包及舊的 headers

9 apt

  • apt(Advanced Packaging Tool)是一個(gè)在 Debian 和 Ubuntu 中的 Shell 前端軟件包管理器。apt 命令提供了查找、安裝、升級、刪除某一個(gè)、一組甚至全部軟件包的命令,而且命令簡潔而又好記。apt 命令執(zhí)行需要超級管理員權(quán)限(root)。

  • apt 語法

      apt [options] [command] [package ...]
    
    • **options:**可選,選項(xiàng)包括 -h(幫助),-y(當(dāng)安裝過程提示選擇全部為"yes"),-q(不顯示安裝的過程)等等。
    • **command:**要進(jìn)行的操作。
    • package:安裝的包名。
  • apt 常用命令

    • 列出所有可更新的軟件清單命令:sudo apt update

    • 升級軟件包:sudo apt upgrade

      列出可更新的軟件包及版本信息:apt list --upgradeable

      升級軟件包,升級前先刪除需要更新軟件包:sudo apt full-upgrade

    • 安裝指定的軟件命令:sudo apt install <package_name>

      安裝多個(gè)軟件包:sudo apt install <package_1> <package_2> <package_3>

    • 更新指定的軟件命令:sudo apt update <package_name>

    • 顯示軟件包具體信息,例如:版本號,安裝大小,依賴關(guān)系等等:sudo apt show <package_name>

    • 刪除軟件包命令:sudo apt remove <package_name>

    • 清理不再使用的依賴和庫文件: sudo apt autoremove

    • 移除軟件包及配置文件: sudo apt purge <package_name>

    • 查找軟件包命令: sudo apt search

    • 列出所有已安裝的包:apt list --installed

    • 列出所有已安裝的包的版本信息:apt list --all-versions

10 同步命令

  • scp:scp 是 secure copy 的縮寫, scp 是 linux 系統(tǒng)下基于 ssh 登陸進(jìn)行安全的遠(yuǎn)程文件拷貝命令。

語法:

scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2

參數(shù)說明:

  • -1: 強(qiáng)制scp命令使用協(xié)議ssh1
  • -2: 強(qiáng)制scp命令使用協(xié)議ssh2
  • -4: 強(qiáng)制scp命令只使用IPv4尋址
  • -6: 強(qiáng)制scp命令只使用IPv6尋址
  • -B: 使用批處理模式(傳輸過程中不詢問傳輸口令或短語)
  • -C: 允許壓縮。(將-C標(biāo)志傳遞給ssh,從而打開壓縮功能)
  • -p:保留原文件的修改時(shí)間,訪問時(shí)間和訪問權(quán)限。
  • -q: 不顯示傳輸進(jìn)度條。
  • -r: 遞歸復(fù)制整個(gè)目錄。
  • -v:詳細(xì)方式顯示輸出。scp和ssh(1)會顯示出整個(gè)過程的調(diào)試信息。這些信息用于調(diào)試連接,驗(yàn)證和配置問題。
  • -c cipher: 以cipher將數(shù)據(jù)傳輸進(jìn)行加密,這個(gè)選項(xiàng)將直接傳遞給ssh。
  • -F ssh_config: 指定一個(gè)替代的ssh配置文件,此參數(shù)直接傳遞給ssh。
  • -i identity_file: 從指定文件中讀取傳輸時(shí)使用的密鑰文件,此參數(shù)直接傳遞給ssh。
  • -l limit: 限定用戶所能使用的帶寬,以Kbit/s為單位。
  • -o ssh_option: 如果習(xí)慣于使用ssh_config(5)中的參數(shù)傳遞方式,
  • -P port:注意是大寫的P, port是指定數(shù)據(jù)傳輸用到的端口號
  • -S program: 指定加密傳輸時(shí)所使用的程序。此程序必須能夠理解ssh(1)的選項(xiàng)。

用法示例:

# 復(fù)制當(dāng)前主機(jī)的fyq文件夾到遠(yuǎn)程主機(jī)上的/media/目錄下
scp -r /media/fyq F@192.168.10.1:/media/
# 也可以同時(shí)操作兩臺遠(yuǎn)程主機(jī)
scp -r F@192.168.10.1:/media/fyq F@192.168.10.2:/media/
  • rsync 是一個(gè)常用的 Linux 應(yīng)用程序,用于文件同步。它可以在本地計(jì)算機(jī)與遠(yuǎn)程計(jì)算機(jī)之間,或者兩個(gè)本地目錄之間同步文件(但不支持兩臺遠(yuǎn)程計(jì)算機(jī)之間的同步)。它也可以當(dāng)作文件復(fù)制工具,替代cpmv命令。它名稱里面的r指的是 remote,rsync 其實(shí)就是“遠(yuǎn)程同步”(remote sync)的意思。與其他文件傳輸工具(如 FTP 或 scp)不同,rsync 的最大特點(diǎn)是會檢查發(fā)送方和接收方已有的文件,僅傳輸有變動(dòng)的部分(默認(rèn)規(guī)則是文件大小或修改時(shí)間有變動(dòng))。

安裝

# Ubuntu 
sudo apt-get install rsync # Red Hat/CentOs
sudo yum install rsync # Arch Linux 
sudo pacman -S rsync

使用參數(shù)

  • -r:-r表示遞歸,即包含子目錄。

    # 本機(jī)使用 rsync 命令時(shí),可以作為cp和mv命令的替代方法,將源目錄拷貝到目標(biāo)目錄。-r表示遞歸,即包含子目錄。注意,-r是必須的,否則 rsync 運(yùn)行不會成功。source目錄表示源目錄,destination表示目標(biāo)目錄。
    rsync -r source destination 
    # 有多個(gè)文件或目錄需要同步
    rsync -r source1 source2 destination 
    
  • -a:-a參數(shù)可以替代-r,除了可以遞歸同步以外,還可以同步元信息(比如修改時(shí)間、權(quán)限等)。由于 rsync 默認(rèn)使用文件大小和修改時(shí)間決定文件是否需要更新,所以-a比-r更有用。

    # 目標(biāo)目錄destination如果不存在,rsync 會自動(dòng)創(chuàng)建。執(zhí)行命令后,源目錄source被完整地復(fù)制到了目標(biāo)目錄destination下面,即形成了destination/source的目錄結(jié)構(gòu)。
    rsync -a source destination 
    # 如果只想同步源目錄source里面的內(nèi)容到目標(biāo)目錄destination,則需要在源目錄后面加上斜杠。
    rsync -a source/ destination 
    
  • -n:如果不確定 rsync 執(zhí)行后會產(chǎn)生什么結(jié)果,可以先用-n--dry-run參數(shù)模擬執(zhí)行的結(jié)果。上面命令中,-n參數(shù)模擬命令執(zhí)行的結(jié)果,并不真的執(zhí)行命令。-v參數(shù)則是將結(jié)果輸出到終端,這樣就可以看到哪些內(nèi)容會被同步。

    rsync -anv source/ destination
    
  • –delete:默認(rèn)情況下,rsync 只確保源目錄的所有內(nèi)容(明確排除的文件除外)都復(fù)制到目標(biāo)目錄。它不會使兩個(gè)目錄保持相同,并且不會刪除文件。如果要使得目標(biāo)目錄成為源目錄的鏡像副本,則必須使用--delete參數(shù),這將刪除只存在于目標(biāo)目錄、不存在于源目錄的文件。

    rsync -av --delete source/ destination 
    
  • –exclude:有時(shí),我們希望同步時(shí)排除某些文件或目錄,這時(shí)可以用--exclude參數(shù)指定排除模式。

    # 排除所有txt文件
    rsync -av --exclude='*.txt' source/ destination 
    或者
    rsync -av --exclude '*.txt' source/ destination
    # rsync 會同步以“點(diǎn)”開頭的隱藏文件,如果要排除隱藏文件,可以這樣寫--exclude=".*"
    rsync -av --exclude=".*" source/ destination
    # 如果要排除某個(gè)目錄里面的所有文件,但不希望排除目錄本身,可以寫成下面這樣。
    rsync -av --exclude 'dir1/*' source/ destination 
    # 多個(gè)排除模式,可以用多個(gè)--exclude參數(shù)。
    rsync -av --exclude 'file1.txt' --exclude 'dir1/*' source/ destination 
    # 多個(gè)排除模式也可以利用 Bash 的大擴(kuò)號的擴(kuò)展功能,只用一個(gè)--exclude參數(shù)。
    rsync -av --exclude={'file1.txt','dir1/*'} source/ destination 
    # 如果排除模式很多,可以將它們寫入一個(gè)文件,每個(gè)模式一行,然后用--exclude-from參數(shù)指定這個(gè)文件。
    rsync -av --exclude-from='exclude-file.txt' source/ destination 
    
  • –include:--include參數(shù)用來指定必須同步的文件模式,往往與--exclude結(jié)合使用。

    # 上面命令指定同步時(shí),排除所有文件,但是會包括 TXT 文件。
    rsync -av --include="*.txt" --exclude='*' source/ destination 
    
  • -a,–archive:-a--archive參數(shù)表示存檔模式,保存所有的元數(shù)據(jù),比如修改時(shí)間(modification time)、權(quán)限、所有者等,并且軟鏈接也會同步過去。

  • –append:--append參數(shù)指定文件接著上次中斷的地方,繼續(xù)傳輸。

  • –append-verify:--append-verify參數(shù)跟--append參數(shù)類似,但會對傳輸完成后的文件進(jìn)行一次校驗(yàn)。如果校驗(yàn)失敗,將重新發(fā)送整個(gè)文件。

  • -b,–backup:-b、--backup參數(shù)指定在刪除或更新目標(biāo)目錄已經(jīng)存在的文件時(shí),將該文件更名后進(jìn)行備份,默認(rèn)行為是刪除。更名規(guī)則是添加由--suffix參數(shù)指定的文件后綴名,默認(rèn)是~。

  • –backup-dir:--backup-dir參數(shù)指定文件備份時(shí)存放的目錄,比如--backup-dir=/path/to/backups。

  • –bwlimit:--bwlimit參數(shù)指定帶寬限制,默認(rèn)單位是 KB/s,比如--bwlimit=100。

  • -c,–checksum:-c、--checksum參數(shù)改變rsync的校驗(yàn)方式。默認(rèn)情況下,rsync 只檢查文件的大小和最后修改日期是否發(fā)生變化,如果發(fā)生變化,就重新傳輸;使用這個(gè)參數(shù)以后,則通過判斷文件內(nèi)容的校驗(yàn)和,決定是否重新傳輸。

  • --delete參數(shù)刪除只存在于目標(biāo)目錄、不存在于源目標(biāo)的文件,即保證目標(biāo)目錄是源目標(biāo)的鏡像。

    -e參數(shù)指定使用 SSH 協(xié)議傳輸數(shù)據(jù)。

    --exclude參數(shù)指定排除不進(jìn)行同步的文件,比如--exclude="*.iso"。

    --exclude-from參數(shù)指定一個(gè)本地文件,里面是需要排除的文件模式,每個(gè)模式一行。

    --existing、--ignore-non-existing參數(shù)表示不同步目標(biāo)目錄中不存在的文件和目錄。

    -h參數(shù)表示以人類可讀的格式輸出。

    -h、--help參數(shù)返回幫助信息。

    -i參數(shù)表示輸出源目錄與目標(biāo)目錄之間文件差異的詳細(xì)情況。

    --ignore-existing參數(shù)表示只要該文件在目標(biāo)目錄中已經(jīng)存在,就跳過去,不再同步這些文件。

    --include參數(shù)指定同步時(shí)要包括的文件,一般與--exclude結(jié)合使用。

    --link-dest參數(shù)指定增量備份的基準(zhǔn)目錄。

    -m參數(shù)指定不同步空目錄。

    --max-size參數(shù)設(shè)置傳輸?shù)淖畲笪募拇笮∠拗?#xff0c;比如不超過200KB(--max-size='200k')。

    --min-size參數(shù)設(shè)置傳輸?shù)淖钚∥募拇笮∠拗?#xff0c;比如不小于10KB(--min-size=10k)。

    -n參數(shù)或--dry-run參數(shù)模擬將要執(zhí)行的操作,而并不真的執(zhí)行。配合-v參數(shù)使用,可以看到哪些內(nèi)容會被同步過去。

    -P參數(shù)是--progress--partial這兩個(gè)參數(shù)的結(jié)合。

    --partial參數(shù)允許恢復(fù)中斷的傳輸。不使用該參數(shù)時(shí),rsync會刪除傳輸?shù)揭话氡淮驍嗟奈募?#xff1b;使用該參數(shù)后,傳輸?shù)揭话氲奈募矔降侥繕?biāo)目錄,下次同步時(shí)再恢復(fù)中斷的傳輸。一般需要與--append--append-verify配合使用。

    --partial-dir參數(shù)指定將傳輸?shù)揭话氲奈募4娴揭粋€(gè)臨時(shí)目錄,比如--partial-dir=.rsync-partial。一般需要與--append--append-verify配合使用。

    --progress參數(shù)表示顯示進(jìn)展。

    -r參數(shù)表示遞歸,即包含子目錄。

    --remove-source-files參數(shù)表示傳輸成功后,刪除發(fā)送方的文件。

    --size-only參數(shù)表示只同步大小有變化的文件,不考慮文件修改時(shí)間的差異。

    --suffix參數(shù)指定文件名備份時(shí),對文件名添加的后綴,默認(rèn)是~

    -u、--update參數(shù)表示同步時(shí)跳過目標(biāo)目錄中修改時(shí)間更新的文件,即不同步這些有更新的時(shí)間戳的文件。

    -v參數(shù)表示輸出細(xì)節(jié)。-vv表示輸出更詳細(xì)的信息,-vvv表示輸出最詳細(xì)的信息。

    --version參數(shù)返回 rsync 的版本。

    -z參數(shù)指定同步時(shí)壓縮數(shù)據(jù)。

遠(yuǎn)程同步

  • rsync 除了支持本地兩個(gè)目錄之間的同步,也支持遠(yuǎn)程同步。它可以將本地內(nèi)容,同步到遠(yuǎn)程服務(wù)器。

  • # 將本地內(nèi)容,同步到遠(yuǎn)程服務(wù)器。
    rsync -av source/ username@remote_host:destination 
    # 將遠(yuǎn)程內(nèi)容同步到本地。
    rsync -av username@remote_host:source/ destination 
    # 早期 rsync 不使用 SSH 協(xié)議,需要用-e參數(shù)指定協(xié)議,后來才改的。所以,下面-e ssh可以省略。
    sync -av -e ssh source/ user@remote_host:/destination 
    # 如果 ssh 命令有附加的參數(shù),則必須使用-e參數(shù)指定所要執(zhí)行的 SSH 命令。
    rsync -av -e 'ssh -p 2234' source/ user@remote_host:/destination 
    
  • 除了使用 SSH,如果另一臺服務(wù)器安裝并運(yùn)行了 rsync 守護(hù)程序,則也可以用rsync://協(xié)議(默認(rèn)端口873)進(jìn)行傳輸。具體寫法是服務(wù)器與目標(biāo)目錄之間使用雙冒號分隔::。

    rsync -av source/ 192.168.122.32::module/destination
    # 注意,上面地址中的module并不是實(shí)際路徑名,而是 rsync 守護(hù)程序指定的一個(gè)資源名,由管理員分配。
    # 如果想知道 rsync 守護(hù)程序分配的所有 module 列表,可以執(zhí)行下面命令。
    rsync rsync://192.168.122.32 
    # rsync 協(xié)議除了使用雙冒號,也可以直接用rsync://協(xié)議指定地址。
    rsync -av source/ rsync://192.168.122.32/module/destination z
    

增量備份

  • rsync 的最大特點(diǎn)就是它可以完成增量備份,也就是默認(rèn)只復(fù)制有變動(dòng)的文件。除了源目錄與目標(biāo)目錄直接比較,rsync 還支持使用基準(zhǔn)目錄,即將源目錄與基準(zhǔn)目錄之間變動(dòng)的部分,同步到目標(biāo)目錄。具體做法是,第一次同步是全量備份,所有文件在基準(zhǔn)目錄里面同步一份。以后每一次同步都是增量備份,只同步源目錄與基準(zhǔn)目錄之間有變動(dòng)的部分,將這部分保存在一個(gè)新的目標(biāo)目錄。這個(gè)新的目標(biāo)目錄之中,也是包含所有文件,但實(shí)際上,只有那些變動(dòng)過的文件是存在于該目錄,其他沒有變動(dòng)的文件都是指向基準(zhǔn)目錄文件的硬鏈接。

    # --link-dest參數(shù)用來指定同步時(shí)的基準(zhǔn)目錄。
    rsync -a --delete --link-dest /compare/path /source/path /target/path 
    # 上面命令中,--link-dest參數(shù)指定基準(zhǔn)目錄/compare/path,然后源目錄/source/path跟基準(zhǔn)目錄進(jìn)行比較,找出變動(dòng)的文件,將它們拷貝到目標(biāo)目錄/target/path。那些沒變動(dòng)的文件則會生成硬鏈接。這個(gè)命令的第一次備份時(shí)是全量備份,后面就都是增量備份了。
    

11 ps

12 lsof

13 netstat

14 awk

http://aloenet.com.cn/news/43013.html

相關(guān)文章:

  • 編寫 網(wǎng)站 語言海外免費(fèi)網(wǎng)站推廣有哪些
  • 網(wǎng)站開發(fā)工作描述百度搜索引擎介紹
  • 商用自適應(yīng)網(wǎng)站建設(shè)智能搜索引擎
  • 自助建站廣告發(fā)布天津推廣的平臺
  • 自適應(yīng)營銷網(wǎng)站模板互聯(lián)網(wǎng)營銷培訓(xùn)班
  • 建立soho公司網(wǎng)站什么是搜索引擎優(yōu)化推廣
  • 代做畢業(yè)項(xiàng)目哪個(gè)網(wǎng)站好新浪微輿情大數(shù)據(jù)平臺
  • 新泰網(wǎng)站制作公司北京seo收費(fèi)
  • 公眾號小程序二維碼怎么生成搜索引擎排名優(yōu)化
  • 專業(yè)格泰建站海外自媒體推廣
  • 怎么設(shè)計(jì)公司的網(wǎng)站模板無代碼免費(fèi)web開發(fā)平臺
  • 可視化信息 網(wǎng)站個(gè)人如何在百度做廣告
  • 網(wǎng)站網(wǎng)站制作400多少錢百度app大全
  • 網(wǎng)站如何留住用戶關(guān)鍵詞代發(fā)排名首頁
  • 自己制作wordpress主題成都網(wǎng)站seo性價(jià)比高
  • 儋州網(wǎng)站建設(shè)網(wǎng)站查詢域名解析
  • node.js 做網(wǎng)站全媒體運(yùn)營師報(bào)名費(fèi)多少錢
  • 建站公司網(wǎng)站用什么好色目人
  • 天津網(wǎng)站建設(shè)報(bào)價(jià)登錄百度app
  • 做淘寶的批發(fā)網(wǎng)站有哪些百度sem
  • 日語網(wǎng)站建設(shè)需要注意什么seo快速排名網(wǎng)站優(yōu)化
  • 安徽省建設(shè)法治協(xié)會網(wǎng)站google play官網(wǎng)入口
  • 自然志wordpress百度網(wǎng)盤seo優(yōu)化
  • 網(wǎng)絡(luò)營銷推廣方法結(jié)論紹興網(wǎng)站快速排名優(yōu)化
  • 門戶網(wǎng)站做壓力測試搜索引擎的工作原理是什么?
  • python做網(wǎng)站入門寧波網(wǎng)站建設(shè)
  • 做網(wǎng)頁一個(gè)頁面多少錢重慶seo職位
  • 網(wǎng)站交互功能萬網(wǎng)是什么網(wǎng)站
  • 旅游電商網(wǎng)站建設(shè)方案優(yōu)速網(wǎng)站建設(shè)優(yōu)化seo
  • wordpress 菜單 圖片汕頭網(wǎng)站建設(shè)方案優(yōu)化