目錄和檔名的命名規則
除了/外,所有字元可用作目錄和檔名
大小寫敏感
避免使用非普通字元做檔案或目錄名
以"."開頭的檔案和目錄是隱含的
命令基本格式
cmd [options] [arguments]
cmd 命令名
options 選項
arguments 引數,也即操作物件
選項和引數作為Shell命令執行時的輸入,之間用空格隔開
單字元引數前使用一個減號(-),單詞引數前使用兩個減號(--)
多個單字元引數前可以只使用一個減號
有些命令不遵從以上規則,如dd、find等
萬用字元
* 匹配任何字元和任何數目的字元
? 匹配單一數目的任何字元
[] 匹配[]之內的任意一個字元
[!] 匹配[!]之外的任意一個字元
“*”能匹配檔案或目錄名中的“.”,但不能匹配首字元是“.”的檔案或目錄名
一、檔案與目錄操作命令
1.1 目錄操作命令
ls 顯示檔案和目錄列表
tree 顯示檔案和目錄樹
pwd 顯示當前工作目錄
cd 切換目錄
mkdir 建立目錄
rmdir 刪除空目錄
============================================================
pushd, popd和dirs
cd -
可用於返回上一次的目錄,-等同於 $OLDPWD變數
dirs -p -v
顯示棧裡的目錄
dirs -c
清空棧裡的目錄
pushd dir_name
將目錄推入棧,並切換至該目錄
pushd +n
切換到棧中的第n個目錄,並把此目錄以堆疊迴圈的方式推到棧的頂部
popd
把棧頂端的目錄從棧中刪除,並切換於位於新的頂端的目錄
popd +n
把棧中第n個目錄從棧中刪除,並切換於位於新的頂端的目錄
注意:
pushd和popd都可以隻影響棧而不切換目錄,用 -n引數即可
============================================================
1.2 檔案操作命令
touch 生成新的空檔案或更改現有檔案的時間戳
------------------------------------------------
GNU/Linux的檔案有3種型別的時間戳
mtime:最後修改時間
ctime:狀態改變時間
atime:最後訪問時間
------------------------------------------------
cp 複製檔案或目錄
mv 移動檔案或目錄、檔案或目錄改名
rm 刪除檔案或目錄
------------------------------------------------
預設情況,rm不刪除目錄,使用-r或-R可刪除每個給定的目錄,以及其下的所有內容;
刪除第一個字元為“-”的檔案(-foo),使用的方法:
$ rm -- -foo
$ rm ./-foo
------------------------------------------------
ln 建立連結檔案
symlinks 檢查目錄中的符號連結,並顯示符號連結的型別
------------------------------------------------
連結型別
absolute:使用絕對路徑的符號連結
dangling:原始檔案已經不存在的符號連結
lengthy: 符號連結路徑中包含了多餘的“../”
messy: 符號連結路徑中包含了多餘的“/”
other_fs:原始檔案位於其他檔案系統中
relative:使用相對路徑的符號連結
常用引數
-c:將absolute/messy型別的符號連結轉換為relative型別
-d:刪除dangling型別的符號連結
-r:檢查目錄下所有子目錄中的符號連結
-s:縮短lengthy型別的符號連結
-v:所有型別的符號連結
------------------------------------------------
1.3 檔案大包壓縮命令
gzip .gz檔案的壓縮和解壓縮程式
bzip2 .bz2檔案的壓縮和解壓縮程式
tar 檔案打包和解包
二、文字處理命令
cat 從檔案頭到檔案尾滾屏顯示文字檔案內容
tac 從檔案尾到檔案頭顯示文字檔案內容
rcv 把每行的內容反轉
more 從檔案頭到檔案為分屏顯示文字檔案內容
less 雙向分屏顯示文字檔案內容
head 顯示文字檔案頭部若干行
tail 顯示文字檔案尾部若干行(-F,用於跟蹤顯示不斷增長的檔案尾部內容,如日誌檔案)
cut 縱向切割出文字指定的部分並寫到標準輸出
paste 縱向合併多個文字並寫到標準輸出
sort 以行為單位對檔案進行排序
uniq 刪除文字檔案中相鄰的重複行並寫到標準輸出
wc 統計指定文字檔案的行數、單詞數、位元組數
expand 將檔案中的製表符轉換為空格,寫到標準輸出
unexpand 將檔案中的空格轉換為製表符,寫到標準輸出
iconv 將檔案從一種編碼轉換成另一種編碼
dos2unix 將DOS格式的文字檔案轉換成UNIX格式的文字檔案
unix2dos 將UNIX格式轉換成DOS格式
三、資訊顯示命令
uname 顯示系統資訊
hostname 顯示與主機名相關的資訊
dmesg 顯示開機資訊,kernel會將開機資訊儲存在ring buffer中,亦儲存在/var/log/dmesg中
uptime 顯示從開機到當前的時間
file 顯示檔案型別
stat 從inode中提取並顯示檔案狀態資訊或檔案系統資訊
du 統計檔案的磁碟用量,目錄取總用量
df 檢視磁碟剩餘情況
top 實時顯示程式任務
free 顯示記憶體使用狀態
w 顯示登入使用者
date 顯示和設定日期和時間
cal 顯示月曆
------------------------------------------------
$ cal 9 1752
九月 1752
日 一 二 三 四 五 六
1 2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
提示:
1752年9月第3日起改用西洋新曆,有11天被去除。
------------------------------------------------
which 在環境變數PATH設定的目錄下查詢指定檔案的位置
whereis 在特定目錄中查詢符合條件的檔案
locale 顯示本地支援的語言系統資訊
apropos 使用正規表示式搜尋手冊頁名稱和描述(whatis具有類似功能)
四、基本網路操作命令
telnet 用telnet協議與另一個主機通訊
ssh 用ssh協議登入遠端主機的客戶端
scp 給予ssh協議在本地主機和遠端主機之間複製檔案
ftp ftp字元介面客戶端
lftp 字元介面文件傳輸工具
wget 使用http和ftp協議,支援代理伺服器和斷點續傳的,基於控制檯的下載工具
------------------------------------------------
wget的遞迴功能允許檢視html檔案和ftp目錄樹結構,並在本地建立與遠端站點上相同層次關係的目錄結構,可用於映象網頁。
wget可以讀出並儲存http和ftp站點給出的時間戳,從而判斷遠端檔案的更新狀況。
------------------------------------------------
w3m 字元介面瀏覽器(其它瀏覽器lynx、elinks)
五、命令列補全
輸入部分目錄名、檔名、使用者名稱、變數名等,然後按Tab鍵,bash盡其所能地試圖補全命令,不行的話發出蜂鳴聲提醒,再按一次Tab鍵,bash將符合條件的目錄或檔案顯示出來。
六、命令歷史
歷史命令的數目有環境變數HISTSIZE值指定,記錄歷史命令的文字檔案由環境變數HISTFILE指定,預設記錄在~/.bash_history中。
1.使用上下方向鍵、PgUp和PgDn鍵檢視
2.history顯示歷史命令
3.!!執行最近執行過的命令
4.!<命令事件號>執行命令歷史中編號的命令
5.!<已執行過命令的前面部分>執行最近執行過的,前面部分匹配的命令
七、命令別名
命令別名的命令格式
alias [alias_name='original_command']
注意:
1.等號兩邊不允許有空格,命令中包含空格或其它特殊字串必須使用引號。
2.要使得別名的定義永久有效,應該將其寫入~/.bashrc檔案中。
3.若系統的命令與別名同名,別名優先於命令,要執行系統的命令需在命令前加“\”字元
取消別名的命令格式
unalias alias_name
gpm守護程式可以在字元介面下用滑鼠來複制與貼上。按住滑鼠左鍵拖動,使要複製的文字反白顯示,此時反白的區域被複制,單擊滑鼠右鍵,複製的內容貼上到游標所在的位置。
-------------------------
本文為轉載