linux基本命令大全
目錄和文件名的命名規則
除了/外,所有字符可用作目錄和文件名
大小寫敏感
避免使用非普通字符做文件或目錄名
以"."開頭的文件和目錄是隱含的
命令基本格式
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守護進程可以在字符界面下用鼠標來復制與粘貼。按住鼠標左鍵拖動,使要復制的文字反白顯示,此時反白的區域被復制,單擊鼠標右鍵,復制的內容粘貼到光標所在的位置。
-------------------------
本文為轉載

浙公網安備 33010602011771號