SHELL提示符學習彙總_1
title: SHELL 提示符學習彙總
data: 2018-8-20
tags: [shell , 提示符 , 學習]
categories: [SHELL,學習,命令列]
grammar_cjkRuby: true
copyright: true
學習Linux,怎麼能不會命令列呢?本文是對Linux命令列的學習過程記錄。
簡單命令
-
date
顯示當前時間和日期。 -
df
檢視磁碟使用情況。 -
exit
結束終端會話。 -
pwd
打印出當前工作目錄名。 -
cd
更改目錄。 -
ls
列出目錄內容。 以.
字元開頭的檔名是隱藏檔案。這僅表示,ls 命令不能列出它們,用ls -a
-
file
確定檔案型別。 -
less
瀏覽檔案內容。按下 q 按鍵退出 -
file filename
打印出檔案內容的簡單描述。
cd快捷鍵
cd
更改工作目錄到你的家目錄。cd-
跟改工作目錄到先前的工作目錄。cd ̃user name
更改工作目錄到使用者家目錄。- 符號
.
指的是工作目錄,..
指的是工作目錄的父目錄。
ls快捷指令
-a
--all
列出所有檔案,甚至包括檔名以圓點開頭的預設會被隱藏的隱藏檔案。-d
--directory
通常,如果指定了目錄名,ls 命令會列出這個目錄中的內容,而不是目錄本身。把這個選項與 -l 選項結合使用,可以看到所指定目錄的詳細資訊,而不是目錄中的內容。-F
-classify
這個選項會在每個所列出的名字後面加上一個指示
符。例如,如果名字是目錄名,則會加上一個’/’ 字
符。-h
--human-readable
當以長格式列出時,以人們可讀的格式,而不是以字
節數來顯示檔案的大小。-l
以長格式顯示結果。-r
--reverse
以相反的順序來顯示結果。通常,ls 命令的輸出結果
按照字母升序排列。-S
命令輸出結果按照檔案大小來排序。-t
按照修改時間來排序。
操作檔案和目錄
-
cp
複製檔案和目錄 -
mv
移動/重新命名檔案和目錄 -
mkdir
建立目錄 -
rm
刪除檔案和目錄 -
ln
建立硬連結和符號連結
萬用字元
*
匹配任意多個字元(包括零個或一個)?
匹配任意一個字元(不包括零個)[characters]
匹配任意一個屬於字符集中的字元[!characters]
匹配任意一個不是字符集中的字元[[:class:]]
匹配任意一個屬於指定字元類中的字元[:alnum:]
匹配任意一個字母或數字[:alpha:]
匹配任意一個字母[:digit:]
匹配任意一個數字[:lower:]
匹配任意一個小寫字母[:upper]
匹配任意一個大寫字母
cp的應用
-a, --archive
複製檔案和目錄,以及它們的屬性,包括所有權和許可權。通
常,複本具有使用者所操作檔案的預設屬性。-i, --interactive
在重寫已存在檔案之前,提示使用者確認。如果這個選項不指
定,cp 命令會預設重寫檔案。-r, --recursive
遞迴地複製目錄及目錄中的內容。當複製目錄時,需要這個
選項(或者 -a 選項)。-u, --update
當把檔案從一個目錄複製到另一個目錄時,僅複製目標目錄
中不存在的檔案,或者是檔案內容新於目標目錄中已經存在
的檔案。-v, --verbose
顯示翔實的命令操作資訊。
mv應用舉例
-
-i --interactive
在重寫一個已經存在的檔案之前,提示使用者確認資訊。 如果不指定這個選項,mv 命令會預設重寫檔案內容。 -
-u --update
當把檔案從一個目錄移動另一個目錄時,只是移動不存在的檔案,或者檔案內容新於目標目錄相對應檔案的內容。 -
-v --verbose
當操作 mv 命令時,顯示翔實的操作資訊。 -
mv file1 file2
移動 file1 到 file2。如果 file2 存在,它的內容會被 file1 的內容重寫。 如果 file2 不存在,則建立 file2。 每種情況下,file1 不再存在。 -
mv -i file1 file2
除了如果 file2 存在的話,在 file2 被重寫之前,使用者會得到提示資訊外,這個和上面的選項一樣。 -
mv file1 file2 dir1
移動 file1 和 file2 到目錄 dir1 中。dir1 必須已經存在。 -
mv dir1 dir2
如果目錄 dir2 不存在,建立目錄 dir2,並且移動目錄 dir1的內容到目錄 dir2 中,同時刪除目錄 dir1。如果目錄 dir2存在,移動目錄 dir1(及它的內容)到目錄 dir2。
rm應用
-i, --interactive
在刪除已存在的檔案前,提示使用者確認資訊。 如果不指定這個選項,rm 會默默地刪除檔案-r, --recursive
遞迴地刪除檔案,這意味著,如果要刪除一個目錄,而此目錄又包含子目錄,那麼子目錄也會被刪除。要刪除一個目錄,必須指定這個選項。-f, --force
忽視不存在的檔案,不顯示提示資訊。這選項顛覆了“–interactive”選項。-v, --verbose
在執行 rm 命令時,顯示翔實的操作資訊。
ln 建立連結
ln 命令即可建立硬連結,也可以建立符號連結。可以用其中一種方法來使用它:ln file link
建立硬連結,和:ln -s item link
建立符號連結,“item” 可以是一個檔案或是一個目錄。
使用命令
type
–說明怎樣解釋一個命令名which
–顯示會執行哪個可執行程式man
–顯示命令手冊頁apropos
–顯示一系列適合的命令info
–顯示命令 infowhatis
–顯示一個命令的簡潔描述alias
–建立命令別名
type命令
type
命令是 shell 內部命令,它會顯示命令的類別,給出一個特定的命令名(做為引數)。它像這樣工作:type command
。
which命令
為了確定所給定的執行程式的準確位置,使用 which
命令:
[[email protected] ~]$ which ls
/bin/ls
man命令
許多希望被命令列使用的可執行程式,提供了一個正式的文件,叫做手冊或手冊頁 (manpage)。一個特殊的叫做 man 的分頁程式,可用來瀏覽他們。它是這樣使用的:man program
。
appopos命令
apropos
-顯示適當的命令,也有可能搜尋參考手冊列表,基於某個關鍵字的匹配項。輸出結果每行的第一個欄位是手冊頁的名字,第二個欄位展示章節。注意,man 命令加上“-k” 選項,和 apropos 完成一樣的功能。(在手冊頁搜素關鍵字)
whatis命令
whatis
程式顯示匹配特定關鍵字的手冊頁的名字和一行命令說明。
info命令
info
-顯示程式 Info 條目。GNU 專案提供了一個命令程式手冊頁的替代物,稱為 “info”。info 內容可通過 info 閱讀器程式讀取。info 頁是超級連結形式的,和網頁很相似。
alias命令
alias name='string'
建立自己的命令,刪除別名使用 unalias 命令。
重定向—>``<
shell 內部參考標準輸入,輸出和錯誤為各自的檔案描述符 0,1 和 2。shell 提供了一種表示法來重定向檔案,使用檔案描述符。
cat
-連線檔案sort
-排序文字行uniq
-報道或省略重複行grep
-列印匹配行wc
-列印檔案中換行符,字,和位元組個數head
-輸出檔案第一部分tail
- 輸出檔案最後一部分tee
-從 Stdin 讀取資料,並同時輸出到 Stdout 和檔案
cat
命令
cat
命令讀取一個或多個檔案,然後複製它們到標準輸出,就像這樣:cat [file]
管道線
命令可以從標準輸入讀取資料,然後再把資料輸送到標準輸出,命令的這種能力被一個shell 特性所利用,這個特性叫做管道線。使用管道操作符 “|”(豎槓),一個命令的標準輸出可以管道到另一個命令的標準輸入:
command1 | command2
過濾器
管道線經常用來對資料完成複雜的操作。有可能會把幾個命令放在一起組成一個管道線。通常,以這種方式使用的命令被稱為過濾器。過濾器接受輸入,以某種方式改變它,然後輸出它。舉例:ls /bin /usr/bin | sort | less
uniq命令
uniq 從標準輸入或單個檔名引數接受資料有序列表(詳情檢視 uniq 手冊頁),預設情況下,從資料列表中刪除任何重複行。加-d
後顯示重複行。
wc命令
wc(字計數)命令是用來顯示檔案所包含的行,字和位元組數。
grep命令
grep
是個很強大的程式,用來找到檔案中的匹配文字。這樣使用 grep 命令:grep pattern [file...]
grep
有-對方便的選項:“-i” 導致 grep 忽略大小寫當執行搜尋時(通常,搜尋是大小寫敏感的),“-v” 選項會告訴 grep 只打印不匹配的行。
head/tail命令
有時候不需要一個命令的所有輸出。可能你只想要前幾行或者後幾行的輸出內容。head命令列印檔案的前十行,而 tail 命令列印檔案的後十行。預設情況下,兩個命令都列印十行文字,但是可以通過 “-n” 選項來調整命令列印的行數。
tee命令
tee
程式從標準輸入讀入資料,並且同時複製資料到標準輸出(允許資料繼續隨著管道線流動)和一個或多個檔案。當在某個中間處理階段來捕捉一個管道線的內容時,這很有幫助。