UNIX SHELL基礎知識總結(二)

1. vim,vi及ex的關係vim

vim不須要安裝,vi爲ex的「Visual Mode」,Vim是vi的高級版本;bash

2. Unix Shell 快捷鍵spa

Ctrl+a/e將光標定位到 命令的頭/尾操作系統

Ctrl+u/k剪切光標前/後的內容       Ctrl+y 粘貼Ctrl+u/k的內容命令行

3. Unix Shell中的時間提取調試

dt="`date +%F`"         //2017-09-27blog

yy="`date +%Y`"        //2017input

mm="`date +%m`"    //09it

dd="`date +%d`"       //27test

hh="`date +%H`"      //16

nn="`date +%M`"     //10

4. export設置或顯示環境變量

A. 查看:export

B. 設置:export PATH="$PATH:xxx"

5. 關於命令行執行命令文件時必須加./或bash才能執行的緣由說明:

Unix按$PATH變量搜索用戶的當前路徑,而當前路徑是不包括在此變量中的,因此要加"./"來代表。因此可使用命令export path=$PATH:./將當前路徑加入$PATH 中,而在命令行直接輸入文件名便可!

8. 定時執行Crontab

特殊符號說明:*:任什麼時候刻;:分割; /n:每n個單位執行一次;

 例:0   2    *    *    * / test.sh   >    output.file   2  >& 1  &

 做用:將錯誤輸出2重定向到標準輸出1,而後將標準輸出1存入文件output.file中;

 具體使用:打開以下文件並添加上述示例代碼便可:

9. 輸出重定向2>&1 &

bash中,0,1,2分別表明STDIN_FILENO,STDOUT_FILENO,STDERR_FILENO,也即標準輸入,標準輸出和標準錯誤;

對於 2>&1 &,指的是將標準錯誤2重定向到標準輸出1。此時1前面的&就是爲了讓bash將1解釋成標準輸出而不是文件1。至於最後一個&,則是讓bash在後臺運行;

10. 查看磁盤使用狀況的查看:

 du (Disk Usage) :逐個文件統計,能夠跨區;

    df(Disk Free):直接讀取分區的超級塊信息;

11. 關於UNIX中的"~":

    對於root用戶,"~"表明root用戶;

    對於通常用戶,"~"表明當前用戶的目錄,如/JoyeZhou

12. 問題:在Windows中建立的文件,爲何在Unix下調用xc -l時,老是少算一行,why?

      Windows操做系統中,文件以'\n'做爲結束符.因此最後一行若是沒有\n就會統計丟失.而Unix會自動在文件的結尾加上\n,再加上文件結束符EOF,因此Windows文件在Unix下會存在兼容問題。

13. 關於ksh調用腳本文件執行命令

     在bash命令行中調用腳本文件時,須要使用ksh來進行調用,但調用腳本時當前腳本文件必須有可執行權限x;

14.  文件權限管理:

     chmod:改變文件或目錄的訪問權限(先設文件夾權限);

     用戶組權限:r(read:4)   w(write:2)   x(execute:1)

     *此處共有10位,第一位表示文件類型,其他9位由三個三元組字符rwx組成。第一個三元組表示文件全部者的權限;第二組表示文件用戶組的權限,第三組表示全部其餘用戶的權限;

     具體示例:chmod 777 FileName(777表示徹底開放權限);

     chown:改變文件或目錄的全部者;

     chgrp:更改文件/目錄的用戶組;

15. 利用set -x 與 set +x 進行腳本調試:

      如:set -x

             echo "Hello World!"     => +echo 'Hello World!'

                                                      Hello World!

16. <<! 動態輸入內容:

     如:Command Block  <<!

            inputA

            inputB

            !

    Ps:將參數依次傳遞給Command Block;

相關文章
相關標籤/搜索