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...