bash shell (鳥哥bash shell教學)
共同版本基本指令(初階指令應用)(, man, unix2dos / dos2unix , cat(將檔案內容直接輸出在螢幕上) , , apt-get , apt-catch , aptitude , dmesg )
小技巧:
- [Ctrl] + [Shift] + [R]:指令回溯(輸入使用過指令的關鍵字母,就會幫我們自動完成指令的完整路徑)
- 11/16補:如果要使用彩色的 ls, 以不同顔色來區分不同類型的檔案
- 在〔家目錄〕的 .bashrc 檔案加入以下幾行:
if [ "$TERM" != "dumb" ]; then
eval "`dircolors -b`"
alias ls='ls --color=auto'
fi - 再重開啟終端機,執行 ls,顏色就不同了
- 在〔家目錄〕的 .bashrc 檔案加入以下幾行:
- Ubuntu Terminal(終端機)放大或縮小顯示
(用 [Ctrl] + [Alt] + [T]啟用) (用 [Alt] + [F4]關閉)- [Ctrl] + [Shift] + [+]: (放大顯示)(不是數字鍵盤上的 + 喔)
- [Ctrl] + [-] : (縮小顯示)(不是數字鍵盤上的 - 喔)
檔案應用
cp - 複製檔案 (cp -參數 來源檔 (或目錄) 目的檔 (或目錄))
- a:拷貝目錄,保留所有的資訊,包括連結的檔
- d:保留連結的檔案
- s:製造符號連結
- f:拷貝時若相同檔名的檔案直接覆蓋不提出警告
- i:拷貝時若相同檔名的檔案不直接複蓋而會提出警告
- l:不拷貝,但是連結檔案
- p:保留檔案的修改時間及存取權限
- r:拷貝時包含目錄及目錄下的檔案
cd - 子目錄名稱 → 轉移目錄
- cd ~ → 回自家目錄
- cd .. 為上一層目錄
- cd - 回到前一個目錄
- 分隔符號為/,非dos的\
-------------------------------------------------------------
tar壓縮/解壓指令
tar(常用)
打包:tar -cvf FileName.tar DirName
解包: tar -xvf FileName.tar
.tar.gz(常用)
壓縮:tar -zcvf FileName.tar.gz DirName
解壓:tar -zxvf FileName.tar.gz
.tar.bz2(常用)
壓縮:tar -jcvf FileName.tar.bz2 DirName
解壓:tar -jxvf FileName.tar.bz2
.gz
壓縮:gzip FileName
解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
.bz2
壓縮: bzip2 -z FileName
解壓1:bzip2 -d FileName.bz2
解壓2:bunzip2 FileName.bz2
.bz
壓縮:unkown
解壓1:bzip2 -d FileName.bz
解壓2:bunzip2 FileName.bz
.tar.bz
壓縮:unkown
解壓:tar jxvf FileName.tar.bz
.Z
壓縮:compress FileName
解壓:uncompress FileName.Z
.tar.Z
壓縮:tar Zcvf FileName.tar.Z DirName
解壓:tar Zxvf FileName.tar.Z
.tgz
壓縮:unkown
解壓:tar zxvf FileName.tgz
.tar.tgz
壓縮:tar zcvf FileName.tar.tgz FileName
解壓:tar zxvf FileName.tar.tgz
.zip
壓縮:zip FileName.zip DirName
解壓:unzip FileName.zip
.rar
壓縮:rar e FileName.rar
解壓:rar a FileName.rar
.lha
壓縮:lha -a FileName.lha FileName
解壓:lha -e FileName.lha
--------------------------------------------------------------------------------------------
Cksum
cksum 檔名 > 檔名.txt
將該檔案check sum的內容寫到指定的txt檔內
mv
mv - 更改、移動目錄或檔案(mv -參數 來源檔 (或目錄) 目的檔 (或目錄))
- b:移動之前先做備份
- v:做完移動之後顯示所做的移動情形
- f:強迫性移動,不會詢問使用者是否確認
rm
rm - 刪除檔案
- rm 檔名 刪除「檔名」
- rm -r 資料夾名 刪除「資料夾名」
mkdir
mkdir - 建立子目錄(mkdir -參數 目錄名稱)
- p:連續建立兩個以上不存在的目錄
- m:設定這個目錄的存取權限
rmdir
rmdir
find:找尋檔案、目錄
- find 【起始目錄】 -name 【欲找的檔名】 -print
- 從起始目錄開始尋找檔案;使用萬用字元 * 時須在檔名兩端加 "
chown
chmod
clear
ls(通常會用ls -l或ls -l |more ) 列出檔案資訊(類似dos之dir)
- -l:列出詳細的檔案資訊
- -a:列出全部檔案包括隱藏檔
- -R:遞迴列出檔案及子目錄其下的所有子目錄和檔案
- -x:以多欄方式列出,字母順序由左而右
- -i:以i -node來列出,會列出每個檔案在磁碟中的編號
- -m:列出檔案時以逗號 , 來分隔
- -n:把群組及檔案擁有者名稱轉成數字代碼
- -t:依檔案的修改時間排序 (由新而舊)
- -u:依檔案上次的存取時間排序 (需與t配合)
- -s:檔案的大小以區塊為單位 (每個區塊block = 512 bytes)
- -o:用顏色來顯示各種類別的檔案
- -r:以相反的英文字母順序顯示
- -d:只顯示目錄訊息而非目錄下的檔案
pwd(看目前路徑) - 列出現在的工作目錄
系統常用指令
ssh遠端連線 需安裝ssh >#ssh 帳號@ip
scp遠端傳檔 須安裝scp #scp 帳號@ip:目的地 本地路徑
ln 檔案鏈接
沒有接任何子參數 為hard link
ln -s symbolic link
範例:ln 檔案1 檔案2
ls -l後 發現 檔案1→檔案2
ln 藍色資料名 就是鏈接
ln鏈接檔案大小不會是目的檔一樣大
ex.假設a連結b 示意:a→b
用ls -l檢視資料時
a.txt a.txt→b.txt 5kb
b.txt 25kb
為什麼a連結b,b有25kb而a只有5kb 因為a只是一個連結檔,可以意會成windows系統下的捷徑 我們看到的5kb的a檔只是捷徑的檔案大小
但是今天我們使用cp指令
cp a.txt c.txt
複製一個a.txt並取名為c.txt
再用ls -l會發現 c.txt 會是 25kb
這表示 是直接複製b.txt的實體 故整個檔案都會複製過來。
man 指令:查詢系統各個指令的詳細用法
指令 --help 簡單查詢指令的用法
history :列出曾經用過的指令
- -c:清空 Bash 指令記錄
- -d 編號:可刪除該「編號」的指令
- 數字:列出最近「數字」項指令
-r:以反方向顯示所下過的指令
n:顯示前n次所下過的指令
whereis:尋找某個指令的檔案位置 → whereis 指令名稱
whatis:查詢某個指令的用途 → whatis 指令名稱
whatis:查詢某個指令的用途 → whatis 指令名稱
passwd:設定密碼
- passwd -d 使用者名稱 刪除「使用者名稱」之密碼
- passwd -l 使用者名稱 鎖住「使用者名稱」之帳號,使之失效
sudo shutdown:關機(shutdown -參數 時間 訊息)
- r:關機後重新開機
- f:快速關機
- h:快速關機,不要經過init的程序
- c:取消關時的程序
- 時間可用now或任意數字 (代表分鐘)
- 關機時間:
- sudo shutdown -h now
- sudo shutdown -h 23:30 (23:30關機)
- sudo shutdown -h +60 (60分鐘後關機)
沒有留言:
張貼留言