1. 程式人生 > >UNIX SHELL基礎知識總結(二)

UNIX SHELL基礎知識總結(二)

chm shell基礎 文件夾 丟失 查看 .cn exec log ges

1. vim,vi及ex的關系

vim不需要安裝,vi為ex的“Visual Mode”,Vim是vi的高級版本;

2. Unix Shell 快捷鍵

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

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

3. Unix Shell中的時間提取

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

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

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

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

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:更改文件/目錄的用戶組;

UNIX SHELL基礎知識總結(二)