1、總結部分
常用指令
ls 顯示檔案或目錄
-l 列出檔案詳細資訊l(list)
-a 列出目前目錄下所有檔案及目錄,包括隐藏的a(all)
mkdir 建立目錄
-p 建立目錄,若無父目錄,則建立p(parent)
cd 切換目錄
touch 建立空檔案
echo 建立帶有内容的檔案。
cat 檢視檔案内容
nl 顯示行号
tac 倒叙檢視檔案内容
cp 拷貝
mv 移動或重命名
rm 删除檔案
-r 遞歸删除,可删除子目錄及檔案
-f 強制删除
find 在檔案系統中搜尋某檔案
wc 統計文本中行數、字數、字元數
grep 在文本檔案中查找某個字元串
rmdir 删除空目錄
tree 樹形結構顯示目錄,需要安裝tree包
pwd 顯示目前目錄
ln 建立連結檔案
more、less 分頁顯示文本檔案内容
head、tail 顯示檔案頭、尾内容
ctrl+alt+F1 指令行全屏模式
系統管理指令
stat 顯示指定檔案的詳細資訊,比ls更詳細
who 顯示線上登陸使用者
whoami 顯示目前操作使用者
hostname 顯示主機名
uname 顯示系統資訊
top 動态顯示目前耗費資源最多程序資訊
ps 顯示瞬間程序狀态 ps -aux
du 檢視目錄大小 du -h /home帶有機關顯示目錄資訊
df 檢視磁盤大小 df -h 帶有機關顯示磁盤資訊
ifconfig 檢視網絡情況
ping 測試網絡連通
netstat 顯示網絡狀态資訊
man 指令不會用了,找男人 如:man ls
clear 清屏
alias 對指令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit
kill 殺死程序,可以先用ps 或 top指令檢視程序的id,然後再用kill指令殺死程序。
檢視系統資訊
lsb_release -a
uname -a 可顯示電腦以及作業系統的相關資訊。
cat /etc/issue 顯示的是發行版本資訊
打包壓縮相關指令
gzip:
bzip2:
tar: 打包壓縮
-c 歸檔檔案
-x 壓縮檔案
-z gzip壓縮檔案
-j bzip2壓縮檔案
-v 顯示壓縮或解壓縮過程 v(view)
-f 使用檔名
例:
tar -cvf /home/abc.tar /home/abc 隻打包,不壓縮
tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip壓縮
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2壓縮
當然,如果想解壓縮,就直接替換上面的指令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 換成“x” 就可以了。
關機/重新開機機器
shutdown
-r 關機重新開機
-h 關機不重新開機
now 立刻關機
halt 關機
reboot 重新開機
管道
将一個指令的标準輸出作為另一個指令的标準輸入。也就是把幾個指令組合起來使用,後一個指令除以前一個指令的結果。
例:grep -r "close" /home/* | more 在home目錄下所有檔案中查找,包括close的檔案,并分頁輸出。
軟體包管理
dpkg (Debian Package)管理工具,軟體包名以.deb字尾。這種方法适合系統不能聯網的情況下。
比如安裝tree指令的安裝包,先将tree.deb傳到Linux系統中。再使用如下指令安裝。
sudo dpkg -i tree_1.5.3-1_i386.deb 安裝軟體
sudo dpkg -r tree 解除安裝軟體
注:将tree.deb傳到Linux系統中,有多種方式。VMwareTool,使用挂載方式;使用winSCP工具等;
APT(Advanced Packaging Tool)進階軟體工具。這種方法适合系統能夠連接配接網際網路的情況。
依然以tree為例
sudo apt-get install tree 安裝tree
sudo apt-get remove tree 解除安裝tree
sudo apt-get update 更新軟體
sudo apt-get upgrade
将.rpm檔案轉為.deb檔案
.rpm為RedHat使用的軟體格式。在Ubuntu下不能直接使用,是以需要轉換一下。
sudo alien abc.rpm
vim使用
vim三種模式:指令模式、插入模式、編輯模式。使用ESC或i或:來切換模式。
指令模式下:
:q 退出
:q! 強制退出
:wq 儲存并退出
:set number 顯示行号
:set nonumber 隐藏行号
/apache 在文檔中查找apache 按n跳到下一個,shift+n上一個
yyp 複制光标所在行,并粘貼
h(左移一個字元←)、j(下一行↓)、k(上一行↑)、l(右移一個字元→)
使用者及使用者組管理
/etc/passwd 存儲使用者賬号
/etc/group 存儲組賬号
/etc/shadow 存儲使用者賬号的密碼
/etc/gshadow 存儲使用者組賬号的密碼
useradd 使用者名
userdel 使用者名
adduser 使用者名
groupadd 組名
groupdel 組名
passwd root 給root設定密碼
su root
su - root
/etc/profile 系統環境變量
bash_profile 使用者環境變量
.bashrc 使用者環境變量
su user 切換使用者,加載配置檔案.bashrc
su - user 切換使用者,加載配置檔案/etc/profile ,加載bash_profile
更改檔案的使用者及使用者組
sudo chown [-R] owner[:group] {File|Directory}
例如:還以jdk-7u21-linux-i586.tar.gz為例。屬于使用者hadoop,組hadoop
要想切換此檔案所屬的使用者及組。可以使用指令。
sudo chown root:root jdk-7u21-linux-i586.tar.gz
檔案權限管理
三種基本權限
R 讀 數值表示為4
W 寫 數值表示為2
X 可執行 數值表示為1
-rw-rw-r--一共十個字元,分成四段。
第一個字元“-”表示普通檔案;這個位置還可能會出現“l”連結;“d”表示目錄
第二三四個字元“rw-”表示目前所屬使用者的權限。 是以用數值表示為4+2=6
第五六七個字元“rw-”表示目前所屬組的權限。 是以用數值表示為4+2=6
第八九十個字元“r--”表示其他使用者權限。 是以用數值表示為2
是以操作此檔案的權限用數值表示為662
更改權限
sudo chmod [u所屬使用者 g所屬組 o其他使用者 a所有使用者] [+增權重限 -減少權限] [r w x] 目錄名
例如:有一個檔案filename,權限為“-rw-r----x” ,将權限值改為"-rwxrw-r-x",用數值表示為765
sudo chmod u+x g+w o+r filename
上面的例子可以用數值表示
sudo chmod 765 filename
改變檔案的所屬群組:chgrp
改變檔案擁有者:chown
改變檔案的權限:chmod
GZIP,TAR差別
tar是打包,不是壓縮,隻是把一堆檔案打成一個檔案而已GZIP用在HTTP協定上是一種用來改進WEB應用程式性能的技術,将網頁内容壓縮後再傳輸。
zip就不用說了,主流的壓縮格式。
zip最新的壓縮算法還是很好的,建議還是用zip格式化,全平台通用。
tar沒有怎樣壓縮,壓縮率100%,主要是永遠打包,
zip壓縮率看檔案類型,jpg就沒怎麼壓縮率,但bmp很高
gzip一般比zip高
假設一個目錄/home下有檔案mm.txt、sort.txt、xx.com。
例1:把/home目錄下的每個檔案壓縮成.gz檔案。
$ cd /home
$ gzip *
$ ls m.txt.gz sort.txt.gz xx.com.gz
例2:把例1中每個壓縮的檔案解壓,并列出詳細的資訊。
$ gzip -dv *
2、詳解部分
查找指令對比及詳解
1、find
find是最常見和最強大的查找指令,你可以用它找到任何你想找的檔案。
find的使用格式如下:
$ find <指定目錄> <指定條件> <指定動作>
- <指定目錄>: 所要搜尋的目錄及其所有子目錄。預設為目前目錄。
- <指定條件>: 所要搜尋的檔案的特征。
- <指定動作>: 對搜尋結果進行特定的處理。
如果什麼參數也不加,find預設搜尋目前目錄及其子目錄,并且不過濾任何結果(也就是傳回所有檔案),将它們全都顯示在螢幕上。
find的使用執行個體:
$ find . -name 'my*'
搜尋目前目錄(含子目錄,以下同)中,所有檔案名以my開頭的檔案。
$ find . -name 'my*' -ls
搜尋目前目錄中,所有檔案名以my開頭的檔案,并顯示它們的詳細資訊。
$ find . -type f -mmin -10
搜尋目前目錄中,所有過去10分鐘中更新過的普通檔案。如果不加-type f參數,則搜尋普通檔案+特殊檔案+目錄。
- locate
locate指令其實是"find -name"的另一種寫法,但是要比後者快得多,原因在于它不搜尋具體目錄,而是搜尋一個資料庫(/var/lib/locatedb),這個資料庫中含有本地所有檔案資訊。Linux系統自動建立這個資料庫,并且每天自動更新一次,是以使用locate指令查不到最新變動過的檔案。為了避免這種情況,可以在使用locate之前,先使用updatedb指令,手動更新資料庫。
locate指令的使用執行個體:
$ locate /etc/sh
搜尋etc目錄下所有以sh開頭的檔案。
$ locate ~/m
搜尋使用者主目錄下,所有以m開頭的檔案。
$ locate -i ~/m
搜尋使用者主目錄下,所有以m開頭的檔案,并且忽略大小寫。
- whereis
whereis指令隻能用于程式名的搜尋,而且隻搜尋二進制檔案(參數-b)、man說明檔案(參數-m)和源代碼檔案(參數-s)。如果省略參數,則傳回所有資訊。
whereis指令的使用執行個體:
$ whereis grep
- which
which指令的作用是,在PATH變量指定的路徑中,搜尋某個系統指令的位置,并且傳回第一個搜尋結果。也就是說,使用which指令,就可以看到某個系統指令是否存在,以及執行的到底是哪一個位置的指令。
which指令的使用執行個體:
$ which grep
- find詳解
·find path -option [ -print ] [ -exec -ok command ] {} \;
find指令的參數;
pathname: find指令所查找的目錄路徑。例如用.來表示目前目錄,用/來表示系統根目錄。
-print: find指令将比對的檔案輸出到标準輸出。
-exec: find指令對比對的檔案執行該參數所給出的shell指令。相應指令的形式為'command' { } \;,注意{ }和\;之間的空格。
-ok: 和-exec的作用相同,隻不過以一種更為安全的模式來執行該參數所給出的shell指令,在執行每一個指令之前,都會給出提示,讓使用者來确定是否執行。
-print 将查找到的檔案輸出到标準輸出
-exec command {} \; —–将查到的檔案執行command操作,{} 和 \;之間有空格
-ok 和-exec相同,隻不過在操作前要詢使用者
例:find . -name .svn | xargs rm -rf
====================================================
-name filename #查找名為filename的檔案
-perm #按執行權限來查找
-user username #按檔案屬主來查找
-group groupname #按組來查找
-mtime -n +n #按檔案更改時間來查找檔案,-n指n天以内,+n指n天以前
-atime -n +n #按檔案通路時間來查GIN: 0px">
-ctime -n +n #按檔案建立時間來查找檔案,-n指n天以内,+n指n天以前
-nogroup #查無有效屬組的檔案,即檔案的屬組在/etc/groups中不存在
-nouser #查無有效屬主的檔案,即檔案的屬主在/etc/passwd中不存
-newer f1 !f2 找檔案,-n指n天以内,+n指n天以前
-ctime -n +n #按檔案建立時間來查找檔案,-n指n天以内,+n指n天以前
-nouser #查無有效屬主的檔案,即檔案的屬主在/etc/passwd中不存
-newer f1 !f2 #查更改時間比f1新但比f2舊的檔案
-type b/d/c/p/l/f #查是塊裝置、目錄、字元裝置、管道、符号連結、普通檔案
-size n[c] #查長度為n塊[或n位元組]的檔案
-depth #使查找在進入子目錄前先行查找完本目錄
-fstype #查更改時間比f1新但比f2舊的檔案
-fstype #查位于某一類型檔案系統中的檔案,這些檔案系統類型通常可 在/etc/fstab中找到
-mount #查檔案時不跨越檔案系統mount點
-follow #如果遇到符号連結檔案,就跟蹤連結所指的檔案
-cpio %; #查位于某一類型檔案系統中的檔案,這些檔案系統類型通常可 在/etc/fstab中找到
-cpio #對比對的檔案使用cpio指令,将他們備份到錄音帶裝置中
-prune #忽略某個目錄
=====================================================
$find ~ -name "*.txt" -print #在$HOME中查.txt檔案并顯示
$find . -name "*.txt" -print
$find . -name "[A-Z]*" -print #查以大寫字母開頭的檔案
$find /etc -name "host*" -print #查以host開頭的檔案
$find . -name "a-z0–9.txt" -print #查以兩個小寫字母和兩個數字開頭的txt檔案
$find . -perm 755 -print
$find . -perm -007 -exec ls -l {} \; #查所有使用者都可讀寫執行的檔案同-perm 777
$find . -type d -print
$find . ! -type d -print
$find . -type l -print
$find . -size +1000000c -print #查長度大于1Mb的檔案
$find . -size 100c -print # 查長度為100c的檔案
$find . -size +10 -print #查長度超過期廢棄10塊的檔案(1塊=512位元組)
$cd /
$find etc home apps -depth -print | cpio -ivcdC65536 -o /dev/rmt0
$find /etc -name "passwd*" -exec grep "cnscn" {} \; #看是否存在cnscn使用者
$find . -name "yao*" | xargs file
$find . -name "yao*" | xargs echo "" > /tmp/core.log
$find . -name "yao*" | xargs chmod o-w
======================================================
find -name april* 在目前目錄下查找以april開始的檔案
find -name april* fprint file 在目前目錄下查找以april開始的檔案,并把結果輸出到file中
find -name ap -o -name may 查找以ap或may開頭的檔案
find /mnt -name tom.txt -ftype vfat 在/mnt下查找名稱為tom.txt且檔案系統類型為vfat的檔案
find /mnt -name t.txt ! -ftype vfat 在/mnt下查找名稱為tom.txt且檔案系統類型不為vfat的檔案
find /tmp -name wa* -type l 在/tmp下查找名為wa開頭且類型為符号連結的檔案
find /home -mtime -2 在/home下查最近兩天内改動過的檔案
find /home -atime -1 查1天之内被存取過的檔案
find /home -mmin +60 在/home下查60分鐘前改動過的檔案
find /home -amin +30 查最近30分鐘前被存取過的檔案
find /home -newer tmp.txt 在/home下查更新時間比tmp.txt近的檔案或目錄
find /home -anewer tmp.txt 在/home下查存取時間比tmp.txt近的檔案或目錄
find /home -used -2 列出檔案或目錄被改動過之後,在2日内被存取過的檔案或目錄
find /home -user cnscn 列出/home目錄内屬于使用者cnscn的檔案或目錄
find /home -uid +501 列出/home目錄内使用者的識别碼大于501的檔案或目錄
find /home -group cnscn 列出/home内組為cnscn的檔案或目錄
find /home -gid 501 列出/home内組id為501的檔案或目錄
find /home -nouser 列出/home内不屬于本地使用者的檔案或目錄
find /home -nogroup 列出/home内不屬于本地組的檔案或目錄
find /home -name tmp.txt -maxdepth 4 列出/home内的tmp.txt 查時深度最多為3層
find /home -name tmp.txt -mindepth 3 從第2層開始查
find /home -empty 查找大小為0的檔案或空目錄
find /home -size +512k 查大于512k的檔案
find /home -size -512k 查小于512k的檔案
find /home -links +2 查硬連接配接數大于2的檔案或目錄
find /home -perm 0700 查權限為700的檔案或目錄
find /tmp -name tmp.txt -exec cat {} \;
find /tmp -name tmp.txt -ok rm {} \;
find / -amin -10 # 查找在系統中最後10分鐘通路的檔案
find / -atime -2 # 查找在系統中最後48小時通路的檔案
find / -empty # 查找在系統中為空的檔案或者檔案夾
find / -group cat # 查找在系統中屬于 groupcat的檔案
find / -mmin -5 # 查找在系統中最後5分鐘裡修改過的檔案
find / -mtime -1 #查找在系統中最後24小時裡修改過的檔案
find / -nouser #查找在系統中屬于廢棄使用者的檔案
find / -user fred #查找在系統中屬于FRED這個使用者的檔案
find / -name filename| rm -rf,不成功,請問為什麼不成功?
find / -name filename -exec rm -rf {} \;
\; 則相當于“憲法”,沒什麼說頭,就是這麼規定的,在 -exec 後面需要一個表示該指令終結的的符号。可以在 man find 中找到答案。
要讓rm識别find的結果,如下:
find / -name filename |xargs rm -rf
之是以find . -name filename |rm -rf不通過,是因為rm指令不接受從标準輸入傳過來的指令
查找含特定字元串的檔案
日志查詢指令詳解
http://www.cnblogs.com/Genesisx/p/7457571.htmlTOP指令詳解
第四行中使用中的記憶體總量(used)指的是現在系統核心控制的記憶體數,空閑記憶體總量(free)是核心還未納入其管控範圍的數量。納入核心管理的記憶體不見得都在使用中,還包括過去使用過的現在可以被重複利用的記憶體,核心并不把這些可被重新使用的記憶體交還到free中去,是以在linux上free記憶體會越來越少,但不用為此擔心。
如果出于習慣去計算可用記憶體數,這裡有個近似的計算公式:第四行的free + 第四行的buffers + 第五行的cached,按這個公式此台伺服器的可用記憶體:530668+79236+4231276 = 4.7GB。
對于記憶體監控,在top裡我們要時刻監控第五行swap交換分區的used,如果這個數值在不斷的變化,說明核心在不斷進行記憶體和swap的資料交換,這是真正的記憶體不夠用了。
第七行以下:各程序(任務)的狀态監控
PID — 程序id
USER — 程序所有者
PR — 程序優先級
NI — nice值。負值表示高優先級,正值表示低優先級
VIRT — 程序使用的虛拟記憶體總量,機關kb。VIRT=SWAP+RES
RES — 程序使用的、未被換出的實體記憶體大小,機關kb。RES=CODE+DATA
SHR — 共享記憶體大小,機關kb
S — 程序狀态。D=不可中斷的睡眠狀态 R=運作 S=睡眠 T=跟蹤/停止 Z=僵屍程序
%CPU — 上次更新到現在的CPU時間占用百分比
%MEM — 程序使用的實體記憶體百分比
TIME+ — 程序使用的CPU時間總計,機關1/100秒
COMMAND — 程序名稱(指令名/指令行)
VIRT:virtual memory usage 虛拟記憶體
1、程序“需要的”虛拟記憶體大小,包括程序使用的庫、代碼、資料等
2、假如程序申請100m的記憶體,但實際隻使用了10m,那麼它會增長100m,而不是實際的使用量
RES:resident memory usage 常駐記憶體
1、程序目前使用的記憶體大小,但不包括swap out;程序使用的實體記憶體總和
2、包含其他程序的共享
3、如果申請100m的記憶體,實際使用10m,它隻增長10m,與VIRT相反
4、關于庫占用記憶體的情況,它隻統計加載的庫檔案所占記憶體大小
SHR:shared memory 共享記憶體
1、除了自身程序的共享記憶體,也包括其他程序的共享記憶體
2、雖然程序隻使用了幾個共享庫的函數,但它包含了整個共享庫的大小
3、計算某個程序所占的實體記憶體大小公式:RES – SHR
4、swap out後,它将會降下來
free指令
其中的相關說明:
Mem:表示實體記憶體統計
-/+ buffers/cached:表示實體記憶體的緩存統計
Swap:表示硬碟上交換分區的使用情況(這裡我們不去關心)
系統的總實體記憶體:255268Kb(256M),但系統目前真正可用的記憶體并不是第一行free 标記的 16936Kb,它僅代表未被配置設定的記憶體。
我們使用total1、used1、free1、used2、free2 等名稱來代表上面統計資料的各值,1、2 分别代表第一行和第二行的資料。
total1: 表示實體記憶體總量。
used1: 表示總計配置設定給緩存(包含buffers 與cache )使用的數量,但其中可能部分緩存并未實際使用。
free1: 未被配置設定的記憶體。
shared1: 共享記憶體,一般系統不會用到,這裡也不讨論。
buffers1: 系統配置設定但未被使用的buffers 數量。
cached1: 系統配置設定但未被使用的cache 數量。buffer 與cache 的差別見後面。
used2: 實際使用的buffers 與cache 總量,也是實際使用的記憶體總量。
free2: 未被使用的buffers 與cache 和未被配置設定的記憶體之和,這就是系統目前實際可用記憶體。
可以整理出如下等式:
total1 = used1 + free1
total1 = used2 + free2
used1 = buffers1 + cached1 + used2
free2 = buffers1 + cached1 + free1
buffer是用于存放要輸出到disk(塊裝置)的資料的,而cache是存放從disk上讀出的資料。這二者是為了提高IO性能的,并由OS管理。
因為被系統cache和buffer占用的記憶體可以被快速回收,是以通常free2比free1會大很多。
vmstat 指令
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 320 42188 167332 1534368 0 0 4 7 1 0 0 0 99 0 0
0 0 320 42188 167332 1534392 0 0 0 0 1002 39 0 0 100 0 0
0 0 320 42188 167336 1534392 0 0 0 19 1002 44 0 0 100 0 0
0 0 320 42188 167336 1534392 0 0 0 0 1002 41 0 0 100 0 0
字段說明:
Procs(程序)
r: 運作隊列中程序數量,這個值也可以判斷是否需要增加CPU。(長期大于1)
b: 等待IO的程序數量。
Memory(記憶體)
swpd: 使用虛拟記憶體大小,如果swpd的值不為0,但是SI,SO的值長期為0,這種情況不會影響系統性能。
free: 空閑實體記憶體大小。
buff: 用作緩沖的記憶體大小。
cache: 用作緩存的記憶體大小,如果cache的值大的時候,說明cache處的檔案數多,如果頻繁通路到的檔案都能被cache處,那麼磁盤的讀IO bi會非常小。
Swap
si: 每秒從交換區寫到記憶體的大小,由磁盤調入記憶體。
so: 每秒寫入交換區的記憶體大小,由記憶體調入磁盤。
注意:記憶體夠用的時候,這2個值都是0,如果這2個值長期大于0時,系統性能會受到影響,磁盤IO和CPU資源都會被消耗。有些朋友看到空閑記憶體(free)很少的或接近于0時,就認為記憶體不夠用了,不能光看這一點,還要結合si和so,如果free很少,但是si和so也很少(大多時候是0),那麼不用擔心,系統性能這時不會受到影響的。
IO(現在的Linux版本塊的大小為1kb)
bi: 每秒讀取的塊數
bo: 每秒寫入的塊數
注意:随機磁盤讀寫的時候,這2個值越大(如超出1024k),能看到CPU在IO等待的值也會越大。
system(系統)
in: 每秒中斷數,包括時鐘中斷。
cs: 每秒上下文切換數。
注意:上面2個值越大,會看到由核心消耗的CPU時間會越大。
CPU(以百分比表示)
us: 使用者程序執行時間百分比(user time)
us的值比較高時,說明使用者程序消耗的CPU時間多,但是如果長期超50%的使用,那麼我們就該考慮優化程式算法或者進行加速。
sy: 核心系統程序執行時間百分比(system time)
sy的值高時,說明系統核心消耗的CPU資源多,這并不是良性表現,我們應該檢查原因。
wa: IO等待時間百分比
wa的值高時,說明IO等待比較嚴重,這可能由于磁盤大量作随機通路造成,也有可能磁盤出現瓶頸(塊操作)。
id: 空閑時間百分比
3、工作中總結的奇淫絕技
按檔案大小排序取前五
ls -hlS|head -n 5
保留列頭
例如:ps aux|head -n 1; ps aux | grep 'java'
統計日志中關鍵詞出現的次數并排序
cat requstParams-2017-10-30-2.log | grep -i 'method' |sort -nr| uniq -c |sort -k1 -nr
!!:執行上一條指令
!num:執行曆史指令中第num條指令
!-num:執行曆史指令中倒數第num條指令
!?string?:執行最近一條包含有string字元串的指令
Ctrl+r:搜尋上一條比對的指令
!$:代表上一個指令的最後一個字元串
Esc+.:顯示上一個指令的最後一個字元串
移動相關指令
Ctrl+a:将光标移到行首
Ctrl+e:将光标移到行尾
Ctrl+右箭頭:向右移動一個單詞
Ctrl+左箭頭:向左移動一個單詞
Ctrl+f:向右移動一個字元,相當于按向右按鍵
Ctrl+b:向左移動一個字元,相當于按向左按鍵
Esc+f:移動到目前單詞的尾部
Esc+b:移動到目前單詞的首部
編輯相關的指令
tab:補全指令
Ctrl+c:中斷目前的操作(最常用)
Ctrl+u:剪切光标所在位置到行首間的字元,如果光标在最後,相當于剪切目前指令行
Ctrl+k:剪切光标所在位置到行尾間的字元,如果光标在行首,相當于剪切目前指令行
Ctrl+y:粘貼之前被剪切的字元串
Ctrl+d:删除光标處所在的字元
Ctrl+h:删除光标處所在的前一個字元
Ctrl+w:删除光标前的單詞
操作相關指令
Ctrl+d:登出目前shell并關閉
clear:清屏
exit:退出目前shell
Ctrl+l:清屏操作(将目前的顯示全部清除,保留目前行指令)
Ctrl+s: 挂起目前shell
Ctrl+q:重新啟動挂起的shell