最近在學Linux系統指令,在阿裡雲買了一台linux伺服器。為友善自己也友善他人,整理了Linux常用指令及快捷鍵。
用指令:
檔案和目錄:
# cd /home 進入 '/home' 目錄
# cd .. 傳回上一級目錄
# cd ../.. 傳回上兩級目錄
# cd - 傳回上次所在目錄
# cp file1 file2 将file1複制為file2
# cp -a dir1 dir2 複制一個目錄
# cp -a /tmp/dir1 . 複制一個目錄到目前工作目錄(.代表目前目錄)
# ls 檢視目錄中的檔案
# ls -a 顯示隐藏檔案
# ls -l 顯示詳細資訊
# ls -lrt 按時間顯示檔案(l表示詳細清單,r表示反向排序,t表示按時間排序)
# pwd 顯示工作路徑
# mkdir dir1 建立 'dir1' 目錄
# mkdir dir1 dir2 同時建立兩個目錄
# mkdir -p /tmp/dir1/dir2 建立一個目錄樹
# mv dir1 dir2 移動/重命名一個目錄
# rm -f file1 删除 'file1'
# rm -rf dir1 删除 'dir1' 目錄及其子目錄内容
檢視檔案内容:
# cat file1 從第一個位元組開始正向檢視檔案的内容
# head -2 file1 檢視一個檔案的前兩行
# more file1 檢視一個長檔案的内容
# tac file1 從最後一行開始反向檢視一個檔案的内容
# tail -3 file1 檢視一個檔案的最後三行
文本處理:
# grep str /tmp/test 在檔案 '/tmp/test' 中查找 "str"
# grep ^str /tmp/test 在檔案 '/tmp/test' 中查找以 "str" 開始的行
# grep [0-9] /tmp/test 查找 '/tmp/test' 檔案中所有包含數字的行
# grep str -r /tmp/* 在目錄 '/tmp' 及其子目錄中查找 "str"
# diff file1 file2 找出兩個檔案的不同處
# sdiff file1 file2 以對比的方式顯示兩個檔案的不同
查找:
# find / -name file1 從 '/' 開始進入根檔案系統查找檔案和目錄
# find / -user user1 查找屬于使用者 'user1' 的檔案和目錄
# find /home/user1 -name \*.bin 在目錄 '/ home/user1' 中查找以 '.bin' 結尾的檔案
# find /usr/bin -type f -atime +100 查找在過去100天内未被使用過的執行檔案
# find /usr/bin -type f -mtime -10 查找在10天内被建立或者修改過的檔案
# locate \*.ps 尋找以 '.ps' 結尾的檔案,先運作 'updatedb' 指令
# find -name '*.[ch]' | xargs grep -E 'expr' 在目前目錄及其子目錄所有.c和.h檔案中查找 'expr'
# find -type f -print0 | xargs -r0 grep -F 'expr' 在目前目錄及其子目錄的正常檔案中查找 'expr'
# find -maxdepth 1 -type f | xargs grep -F 'expr' 在目前目錄中查找 'expr'
壓縮和解壓:
# bzip2 file1 壓縮 file1
# bunzip2 file1.bz2 解壓 file1.bz2
# gzip file1 壓縮 file1
# gzip -9 file1 最大程度壓縮 file1
# gunzip file1.gz 解壓 file1.gz
# tar -cvf archive.tar file1 把file1打包成 archive.tar
(-c: 建立壓縮檔案;-v: 顯示所有過程;-f: 使用檔案名字,是必須的,是最後一個參數)
# tar -cvf archive.tar file1 dir1 把 file1,dir1 打包成 archive.tar
# tar -tf archive.tar 顯示一個包中的内容
# tar -xvf archive.tar 釋放一個包
# tar -xvf archive.tar -C /tmp 把壓縮包釋放到 /tmp目錄下
# zip file1.zip file1 建立一個zip格式的壓縮包
# zip -r file1.zip file1 dir1 把檔案和目錄壓縮成一個zip格式的壓縮包
# unzip file1.zip 解壓一個zip格式的壓縮包到目前目錄
# unzip test.zip -d /tmp/ 解壓一個zip格式的壓縮包到 /tmp 目錄
yum工具:
# yum -y install [package] 下載下傳并安裝一個rpm包
# yum localinstall [package.rpm] 安裝一個rpm包,使用你自己的軟體倉庫解決所有依賴關系
# yum -y update 更新目前系統中安裝的所有rpm包
# yum update [package] 更新一個rpm包
# yum remove [package] 删除一個rpm包
# yum list 列出目前系統中安裝的所有包
# yum search [package] 在rpm倉庫中搜尋軟體包
# yum clean [package] 清除緩存目錄(/var/cache/yum)下的軟體包
# yum clean headers 删除所有頭檔案
# yum clean all 删除所有緩存的包和頭檔案
網絡:
# ifconfig eth0 顯示一個以太網卡的配置
# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 配置網卡的IP位址
# ifdown eth0 禁用 'eth0' 網絡裝置
# ifup eth0 啟用 'eth0' 網絡裝置
# iwconfig eth1 顯示一個無線網卡的配置
# iwlist scan 顯示無線網絡
# ip addr show 顯示網卡的IP位址
其他:
# su - 切換到root權限(與su有差別)
# shutdown -h now 關機
# shutdown -r now 重新開機
# top 羅列使用CPU資源最多的linux任務 (輸入q退出)
# pstree 以樹狀圖顯示程式
# man ping 檢視參考手冊(例如ping 指令)
# passwd 修改密碼
# df -h 顯示磁盤的使用情況
# cal -3 顯示前一個月,目前月以及下一個月的月曆
# cal 10 1988 顯示指定月,年的月曆
# date --date '1970-01-01 UTC 1427888888 seconds' 把一相對于1970-01-01 00:00的秒數轉換成時間
常用快捷鍵:
CentOS 6.4 中可以通過系統->首選項->鍵盤快捷鍵來設定快捷鍵,如圖所示。例如可将運作終端的快捷鍵設為Ctrl+Alt+T。

Ctrl + u 删除光标之前到行首的字元
Ctrl + k 删除光标之前到行尾的字元
Ctrl + c 取消目前行輸入的指令,相當于Ctrl + Break
Ctrl + a 光标移動到行首(ahead of line),相當于通常的Home鍵
Ctrl + e 光标移動到行尾(end of line)
Ctrl + f 光标向前(forward)移動一個字元位置
Ctrl + b 光标往回(backward)移動一個字元位置
Ctrl + l 清屏,相當于執行clear指令
Ctrl + r 顯示:号提示,根據使用者輸入查找相關曆史指令(reverse-i-search)
Ctrl + w 删除從光标位置前到目前所處單詞(word)的開頭
Ctrl + t 交換光标位置前的兩個字元
Ctrl + y 粘貼最後一次被删除的單詞
Ctrl + Alt + d 顯示桌面
Alt + b 光标往回(backward)移動到前一個單詞
Alt + d 删除從光标位置到目前所處單詞的末尾
Alt + F2 運作
Alt + F4 關閉目前視窗
Alt + F9 最小化目前視窗
Alt + F10 最大化目前視窗
Alt + Tab 切換視窗
Alt +按住左鍵 移動視窗(或在最下面的工作列滾動滑鼠滑輪)
[滑鼠中間鍵] 粘貼突出顯示的文本。使用滑鼠左鍵來選擇文本。把光标指向想粘貼文本的地方。點選滑鼠中間鍵來粘貼。
[Tab] 指令行自動補全。使用 shell 提示時可使用這一方式。鍵入指令或檔案名的前幾個字元,然後按 [Tab] 鍵,它會自動補全指令或顯示比對鍵入字元的所有指令。
在桌面或檔案管理器中直接按 / 就可以輸入位置,打開檔案管理器。
快速搜尋:在 vi 或 Firefox 中直接按 / 即可進入搜尋狀态。
網站連結和圖檔可直接拖放到桌面或者目錄,可以馬上下載下傳。
直接将檔案管理器中的檔案拖到終端中就可以在終端中得到完整的路徑名。
在滾動條的空白處點選滑鼠中鍵,螢幕即滾動到那個地方。