《Linux命令列與shell指令碼編程大全》 第三章 學習筆記

來源:互聯網
上載者:User

標籤:style   blog   http   io   color   ar   os   使用   sp   

第三章:基本的bash shell命令

 

bash程式使用命令列參數來修改所啟動shell的類型

參數 描述
-c string 從string中讀取命令並處理他們
-r 啟動限制性shell,限制使用者在預設目錄下活動
-i 啟動互動性shell,允許使用者輸入
-s 從標準輸入讀取命令

 

環境變數PS1、PS2

PS1:控制預設命令列提示符格式

PS2:控制後續命令列提示符格式

 

bash shell提示符字串中使用的特殊字元

字元 描述
\a 警示字元
\d “日 月 年”格式顯示的日期
\e ASCII逸出字元
\h 本地主機名稱
\H 完全限定名(FQDN)
\j shell當前管理的任務數
\l shell的終端裝置名稱中的基名
\n ASCII分行符號
\r ASCII斷行符號符
\s shell的名稱
\t 24小時制HH:MM:SS格式的目前時間
\T 12小時制HH:MM:SS格式的目前時間
\@ 12小時制am/pm格式的目前時間
\u 目前使用者的使用者名稱
\v bash shell的版本
\V bash shell的發行版本
\w 當前工作目錄
\W 當前工作目錄的基名
\! 這個命令在bash shell記錄中的位置
\# 這個命令在當前命令列的位置
\$ 普通使用者下的美元符,root使用者下的井號
\nnn 與8進位nnn對應的字元
\\ 反斜線
\[ 開始一個控制字元序列
\] 結束一個控制字元序列

 

Linux檔案系統

Linux PC上安裝的第一塊硬碟為根磁碟機。根磁碟機包含了虛擬目錄的核心,其他目錄都是從那裡開始建立的

掛載點(mount point)是虛擬目錄中用於分配額外存放裝置的目錄

 

ls

(其餘參數及例子見#2 )

單字母 全字 描述
-A --almost-all 不要輸出“.”和“..”檔案
  --author 作者
-b --escape 輸出不可列印字元的8進位值
  --block-size=size 按size位元組大小的塊來計算塊大小(塊數)
-B --ignore-backups 不要列出名稱中包含波浪線(~)的條目(波浪線用來表示備份的副本)
-F --classify 給條目追加檔案類型標識符
  --file-type 只在部分檔案類型(非可執行檔)後追加檔案類型標識符
  --format=word 將輸出格式化成across(交叉)、commas(逗號)、horizontal(水平)、long(長)、single-column(單列)、verbose(詳細)或vertical(垂直)
  --group-directories-first 在檔案之前列出所有目錄
-G --no-group 長列表輸出格式下,不要顯示組名(in a long listing, don‘t print group names)
-h --human-readable 列印大小
  --si 和-h相同,但進位為1000
-i --inode 顯示每個檔案的索引值(inode)(見#1 )
-L --dereference 對於連結檔案,顯示原檔案資訊
-n --numeric-uid-gid 顯示數字類型的userid和groupid以替代名字
-o   長列表輸出格式下,不要顯示組資訊(like -l, but do not list group information)
-S --sort=size 按檔案大小排序輸出
-U --sort=none 不要將輸出排序
-v --sort=version 按文本版本排序
-x   按行而非列輸出條目
-X --sort=extension 按副檔名排序輸出

 

 

建立檔案(touch) (見#1 )

複製檔案(cp) (見#1 )

cp命令參數

參數 描述
-a 歸檔檔案,並保留他們現有的屬性
-b 建立已存在目標檔案的備份,而非覆蓋它
-d 保留
-f 強制覆蓋已存在的目標檔案,不提示
-i 在覆蓋目標檔案之前提示
-l 建立檔案連結而非複製檔案
-p 如果可能,保留檔案屬性
-r 遞迴複製檔案
-R 遞迴複製目錄
-s 建立一個符號連結而非複製檔案
-S 覆蓋預設的備份檔案的尾碼(預設為~)
-u 僅在源檔案比目標檔案新的情況下複製
-v 詳細模式,解釋到底發生了什麼
-x 僅限於當前檔案系統的複製

(見#1 )

 

連結檔案 (見#1 )

永久連結會建立一個獨立的檔案,其中包含源檔案的資訊以及位置。引用永久連結檔案等同於引用了源檔案

只能在同種儲存媒體上的檔案之間建立永久連結。不能在不同掛載點下的檔案之間建立永久連結,但是可以建立軟連結

 

如果用cp複製一個連結到另一個源檔案的檔案,那麼複製的是源檔案的另一個副本,而不是連結檔案

可以建立一個指向源檔案的新連結,而不用複製連結檔案

可以建立指向同一檔案的多個連結,但不要建立指向其他符號連結檔案的多個符號連結(這樣會產生一個連結檔案鏈,容易混淆、斷掉)

 

重新命名檔案(mv) (見#1 ,#2 )

刪除檔案(rm) (見#1 )

當刪除所有此檔案的永久連結時,此檔案才會被刪除

刪除軟連結指向的檔案後,軟連結指向無效的檔案

  

建立目錄(mkdir) (見#2 )

刪除目錄(rmdir) (見#2 )

查看檔案統計資訊(stat) (見#1 )

查看檔案類型(file) (見#2 )

查看整個檔案(cat、more、less) (見#16 ,#21 )

cat -T:定位字元用^I代替

 

more

文法

more  [-s ] [file ...]

-s(squeeze,擠壓) :將多個空白行壓縮成一個

基本命令
h 顯示協助資訊
<Space>、z 前進一屏
q 退出程式
進階命令
= 顯示當前行號
<Return>、s 前進一行
d 前進(向下)半屏
f 前進一屏
b 後退一屏
/pattern 向前搜尋指定模式
/ 重複上次搜尋
!command 執行指定的shell命令
v 使用當前檔案啟動vi編輯器
. 重複執行前一個命令
n 在檔案中尋找下溢出匹配已指定運算式的內容
跳到指定運算式匹配到的第一處內容
CTRL+L 重繪當前屏

 

查看部分檔案(head、tail) (見#16 )

《Linux命令列與shell指令碼編程大全》 第三章 學習筆記

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.