Linux之更好的使用Bash

2021-09-22 13:42:54 字數 3379 閱讀 6808

bash是乙個為gnu計畫編寫的unix shell,也是目前大多數linux發行版採用的shell。shell英文翻譯為「貝殼」,顧名思義,shell是系統的使用者介面,提供了使用者與核心進行互動操作的一種介面。它接收使用者輸入的命令並把它送入核心去執行。實際上shell是乙個命令直譯器,它解釋由使用者輸入的命令並且把它們送到核心。 bash是linux預設的shell,bash 的東西非常的多,包括變數的設定與使用、 bash 操作環境的建置、資料流重導向的功能,掌握一些shell操作技巧,還有那好用的管線命令是很有必要的。

pwd:顯示當前工作路徑。

ls [-adlsht] [path]:列出當前[path]目錄下的非隱藏檔案

-a

cd [path]:切換到path目錄

..表示上一級目錄;.表示當前目錄;/表示根目錄,也即linux下的頂級目錄;~表示當前使用者主目錄,例如root使用者的~/root,achao使用者的~/home/achao

案例使用如下:

[root@www home]# pwd

/home

[root@www home]# ls

a.txt test

[root@www home]# ls -al

total 12

drwxr-xr-x 3 root root 4096 feb 26 00:51 .

drwxr-xr-x 18 root root 4096 jan 5 21:46 ..

-rw-r--r-- 1 root root 0 feb 26 00:51 a.txt

drwxr-xr-x 2 root root 4096 feb 26 00:52 test

[root@www home]# ls -ls ./test/

total 4

4 -rw-r--r-- 1 root root 1 feb 26 00:52 b.txt

[root@www home]#

cp filename1 filename2:複製filename1到filename2

cp -r dir1 dir2:複製dir1目錄到dir2目錄

cp命令後面跟的引數說明:

-a:–archive,與同時指定 dir1 這三個選項效果一樣,用於複製整個目錄,包括目錄中的子目錄等都遞迴的複製,而且還要保持檔案的訪問模式,所有者,時間戳等屬性與原檔案一樣。

-f:表示覆蓋已經存在的目標檔案而不提示

-i:引數i和f相反,表示在覆蓋目標檔案之前將給出提示要求使用者確認,回答y時目標檔案將被覆蓋,是互動式拷貝.

mv [opitons] 原始檔或目錄 目標檔案或目錄

[options]主要引數

-i:互動方式操作,如果mv操作將導致對已存在的目標檔案的覆蓋,此時系統詢問是否重寫,要求使用者回答「y」或「n」,這樣可以避免誤覆蓋檔案.

-f:禁止互動操作。mv操作要覆蓋某個已有的目標檔案時不給任何指示,指定此引數後i引數將不再起作用。

mv hello ../

mkdir [選項] 目錄

引數說明:

-m: —mode=模式,如755,設定許可權《模式》 (類似 chmod),而不是 rwxrwxrwx 減 umask

-p: —parents 遞迴建立目錄,可以是乙個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄;

rm [選項] 檔案

引數說明:

-f: —force 忽略不存在的檔案,從不給出提示。

-i: —interactive 進行互動式刪除

-r: -r, —recursive 指示rm將引數中列出的全部目錄和子目錄均遞迴地刪除。

chown [-cfhvr] user[:group] file...

引數說明:

-c: 若檔案擁有者確實已更改,才顯示其更改動作

-f: 若無法更改,也不要顯示錯誤資訊

-h: 只對link檔案進行更改,而非該link真正指向的檔案

-v: 顯示擁有者變更的詳細資料

-r: 對目錄下所有檔案資料夾遞迴更改

user:[group]: 指的是更改為group組中的user使用者

eg:chown -r fenix:root *:表示將當前目錄下所有檔案和資料夾改為root組的使用者fenix

chmod [-cfvr] mode file...

引數說明:

mode : 許可權設定字串,格式如下 : [ugoa…][[+-=][rwxx]…][,…],其中

u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬於同乙個群體(group)者,o 表示其他以外的人,a 表示這三者皆是。

ctrl+l:清屏

ctrl+k:清除游標後至行尾的內容

ctrl+u:清除游標前至行首的內容

ctrl+h:刪除游標前乙個字元

ctrl+w:刪除游標前乙個單詞

ctrl+w:貼上或恢復上次的刪除

alt+r:撤銷當前行的所有內容

ctrl

history:檢視歷史命令

!n:不再需要複製貼上,直接執行執行歷史上面的命令,只需將n替換為這條命裡記錄前的序號,比如!453

!-n:表示執行匯入第幾個命令

!!:執行上一條命令

ctrl

Linux相關知識之bash

注 相關知識來自 鳥哥的linux私房菜 變數與變數內容用等號 鏈結,如下 myname vbird等號兩邊不用直接用空格符,如下 錯誤事例 name vbird myname vbird tsai變數內容若有空格符可以用雙引號 或單引號 將變數內容結合起來,但 雙引號內的特殊字元如 可以保有原本特...

linux之bash內建指令

在螢幕上顯示出指定的字串 從標準輸入裝置讀入一行,分解成若干字,賦值給bash程式內部定義的變數 別名,alias l ls al export可以把bash的變數向下帶入子bash 即子bash中可以使用父bash的變數 從而讓子程序繼承父程序中的環境變數。但子bash不能用export把它的變數...

bash之特殊符號的使用

1.3 特殊符號的使用 雙引號用於括起一段字串值,支援 var形式的變數替換 a ls echo a 輸出結果是 ls 單引號也表示其內容是字串值,不支援轉義 a ls echo a 輸出結果是 ls 反引號的作用就是將反引號裡面的內容當做命令執行。必須是shell真的存在的命令 a ls echo...