引言
Linux常用快捷鍵和基本命令整理,先上思維導圖:
命令行提示符
如下為基本命令行提示符的樣子,其中root為用戶名,代表超級用戶,oldbodyedu代表主機名,~代表當前目錄,即家目錄,#是超級用戶提示符,如果是普通用戶使用$。
基本快捷鍵的使用
(1)Tab,補充命令
不用輸入完整的命令,輸入命令前幾個字母后Tab鍵,會自動補全命令提示。
(2)移動光標命令
Ctrl+A:移動光標到開頭
Ctrl+E:移動光標到結尾
Ctrl+F:往光標后面移動一個字符
Ctrl+B:往光標前面移動一個字符
(3)剪切字符
Ctrl+K:剪切光標處到行尾的字符
Ctrl+U:剪切光標處到行首的字符
Ctrl+Y:將剪切的字符進行粘貼
(4)復制粘貼
Ctrl+Ins:復制
Shift+Ins:粘貼
(5)中斷正在運行的命令行
Ctrl+C
(6)退出當前Xshell
Ctrl+D
(7)搜索命令行使用過的歷史命令記錄
Ctrl+R
(8)獲取上一條命令的最后部分,用空格分隔開來的部分
ESC+.
(9)清屏命令
Ctrl+L
(10)暫停命令
Ctrl+Z
如上面sleep 40命令執行后一直動不了,光標一直在閃,按Ctrl+Z后就可以重新回到命令行
(11)鎖屏
Ctrl+S
(12)解除鎖屏
Ctrl+Q
(13) !+命令 執行上一條命令,!! 執行上兩條命令
基本命令
(1)查詢命令解釋
man 命令 或者 命令 --help
man命令一般用於查詢普通命令,就是存在於系統文件中的命令,而help是用來查詢內置命令,命令在系統中不存在文件,存在於bash解釋器中。
查看一條命令是否存在,使用which+命令來查詢:
查看當前bash下的內置命令,使用man+cd,找到bash下的所有內置命令,發現cd內置命令在bash中
使用info+命令也可以查詢命令相關信息,但是用的很少。
(2)linux關機重啟注銷
立即重啟:shutdown -r now,-r就是reboot的意思
立即關機:shutdown -h now,-h就是halt的意思
或者直接用systemctl halt、systemctl poweroff、systemctl reboot或者shutdown命令,也可以關機。
Linux常用命令
Linux命令的語法格式為:命令 [參數選項] [文件或路徑],其中中括號中的東西不是必須的,是可選的。
(1)創建文件
touch 文件名
如上圖在root目錄下,創建了一個clyang.txt的文件。
(2)刪除文件
rm -f 文件名,其中-f的作用是忽略是否存在文件,直接執行刪除。
Windows和Linux的目錄結構
Windows分為好幾個盤,如C,D,E等,有多少個盤就有多少個樹形結構,並且各個分區是隔離的,如果是Linux操作系統,則是只有一棵樹,只有一個根,並且文件之間可以關聯。
(1)查看當前目錄
pwd,是簡寫,為查看當前目錄。
查看當前目錄,如圖發現在根目錄下:
(2)切換工作目錄
cd,是change directory的簡寫,如下圖切換到/opt目錄下
cd - 去上一次所在的目錄
cd ~ 去家目錄
cd . 去當前目錄
cd .. 去上一級目錄
cd命令切換目錄時,有需要切換相對路徑或者絕對路徑的說法,但凡有"/"的路徑都是絕對路徑,否則就是相對路徑,如下圖使用絕對路徑切換到根目錄,然后在根目錄下使用相對路徑切換到usr目錄下。
(3)tree命令,查找系統目錄結構,以樹形結構顯示目錄
使用這個命令需要安裝軟件tree,如果忘記安裝需要使用yum install tree -y來完成安裝。
當前我的是安裝了的。
下面tree命令看下啟動分區下的目錄結果,如下所示,在windows中也有類似的命令。
如果只想顯示一層目錄,需要加參數L,如tree -L 1 /。
可以看出來目錄結構清爽了很多,只顯示了一級目錄。
如果只顯示目錄使用命令 tree -d /boot
可以同時組合上面的命令,只顯示一級目錄,並且只顯示文件夾目錄,使用命令tree -L 1 -d /boot
(4)創建目錄
mkdir 是make directories的簡寫,如在根目錄下創建一個目錄test,使用mkdir test完成。
上面是使用相對路徑創建的目錄,如果使用絕對路徑,就是到了根目錄下,使用mkdir /test
創建目錄只有一個參數 -p,代表如果有目錄了不報錯,如果有需要創建一個父目錄。
如圖所示在家目錄下新建一個clyang的目錄,clyang目錄下面新建一個test目錄,當沒使用-p參數時會報錯提示不能創建目錄,使用后就成功創建了目錄。
目錄和文件名不能重復,linux下一切皆文件。
(5)創建一個文件,使用touch命令,以前有學習過。
如果要在linux下創建很多目錄,使用命令就會相對方便,如下圖創建了100個text文件,使用{1..100}命令組合文件名完成。
echo命令是打印一行文本的命令,可以使用它打印{1..100}查看效果。
(6)rename命令可以修改文件名,可以用來批量修改,語法為rename 修改對象 修改后樣子 符合條件的對象,可以參照man rename里面例子進行名字批量修改。
先創建200個文件
1 [root@node02 /home/test/name]]# touch foo{1..200} 2 [root@node02 /home/test/name]]# ls 3 foo1 foo117 foo135 foo153 foo171 foo19 foo27 foo45 foo63 foo81 4 foo10 foo118 foo136 foo154 foo172 foo190 foo28 foo46 foo64 foo82 5 foo100 foo119 foo137 foo155 foo173 foo191 foo29 foo47 foo65 foo83 6 foo101 foo12 foo138 foo156 foo174 foo192 foo3 foo48 foo66 foo84 7 foo102 foo120 foo139 foo157 foo175 foo193 foo30 foo49 foo67 foo85 8 foo103 foo121 foo14 foo158 foo176 foo194 foo31 foo5 foo68 foo86 9 foo104 foo122 foo140 foo159 foo177 foo195 foo32 foo50 foo69 foo87 10 foo105 foo123 foo141 foo16 foo178 foo196 foo33 foo51 foo7 foo88 11 foo106 foo124 foo142 foo160 foo179 foo197 foo34 foo52 foo70 foo89 12 foo107 foo125 foo143 foo161 foo18 foo198 foo35 foo53 foo71 foo9 13 foo108 foo126 foo144 foo162 foo180 foo199 foo36 foo54 foo72 foo90 14 foo109 foo127 foo145 foo163 foo181 foo2 foo37 foo55 foo73 foo91 15 foo11 foo128 foo146 foo164 foo182 foo20 foo38 foo56 foo74 foo92 16 foo110 foo129 foo147 foo165 foo183 foo200 foo39 foo57 foo75 foo93 17 foo111 foo13 foo148 foo166 foo184 foo21 foo4 foo58 foo76 foo94 18 foo112 foo130 foo149 foo167 foo185 foo22 foo40 foo59 foo77 foo95 19 foo113 foo131 foo15 foo168 foo186 foo23 foo41 foo6 foo78 foo96 20 foo114 foo132 foo150 foo169 foo187 foo24 foo42 foo60 foo79 foo97 21 foo115 foo133 foo151 foo17 foo188 foo25 foo43 foo61 foo8 foo98 22 foo116 foo134 foo152 foo170 foo189 foo26 foo44 foo62 foo80 foo99
然后將所有符合foo?的文件,即foo1~9的文件名字重新命名,將序號變成2位並以0開頭
1 [root@node02 /home/test/name]]# rename foo foo0 foo? 2 [root@node02 /home/test/name]]# ls 3 foo01 foo11 foo128 foo146 foo164 foo182 foo200 foo40 foo60 foo80 4 foo02 foo110 foo129 foo147 foo165 foo183 foo21 foo41 foo61 foo81 5 foo03 foo111 foo13 foo148 foo166 foo184 foo22 foo42 foo62 foo82 6 foo04 foo112 foo130 foo149 foo167 foo185 foo23 foo43 foo63 foo83 7 foo05 foo113 foo131 foo15 foo168 foo186 foo24 foo44 foo64 foo84 8 foo06 foo114 foo132 foo150 foo169 foo187 foo25 foo45 foo65 foo85 9 foo07 foo115 foo133 foo151 foo17 foo188 foo26 foo46 foo66 foo86 10 foo08 foo116 foo134 foo152 foo170 foo189 foo27 foo47 foo67 foo87 11 foo09 foo117 foo135 foo153 foo171 foo19 foo28 foo48 foo68 foo88 12 foo10 foo118 foo136 foo154 foo172 foo190 foo29 foo49 foo69 foo89 13 foo100 foo119 foo137 foo155 foo173 foo191 foo30 foo50 foo70 foo90 14 foo101 foo12 foo138 foo156 foo174 foo192 foo31 foo51 foo71 foo91 15 foo102 foo120 foo139 foo157 foo175 foo193 foo32 foo52 foo72 foo92 16 foo103 foo121 foo14 foo158 foo176 foo194 foo33 foo53 foo73 foo93 17 foo104 foo122 foo140 foo159 foo177 foo195 foo34 foo54 foo74 foo94 18 foo105 foo123 foo141 foo16 foo178 foo196 foo35 foo55 foo75 foo95 19 foo106 foo124 foo142 foo160 foo179 foo197 foo36 foo56 foo76 foo96 20 foo107 foo125 foo143 foo161 foo18 foo198 foo37 foo57 foo77 foo97 21 foo108 foo126 foo144 foo162 foo180 foo199 foo38 foo58 foo78 foo98 22 foo109 foo127 foo145 foo163 foo181 foo20 foo39 foo59 foo79 foo99
然后將所有foo??的文件重新命名,將序號變成3位並以0開頭
1 [root@node02 /home/test/name]]# rename foo foo0 foo?? 2 [root@node02 /home/test/name]]# ls 3 foo001 foo021 foo041 foo061 foo081 foo101 foo121 foo141 foo161 foo181 4 foo002 foo022 foo042 foo062 foo082 foo102 foo122 foo142 foo162 foo182 5 foo003 foo023 foo043 foo063 foo083 foo103 foo123 foo143 foo163 foo183 6 foo004 foo024 foo044 foo064 foo084 foo104 foo124 foo144 foo164 foo184 7 foo005 foo025 foo045 foo065 foo085 foo105 foo125 foo145 foo165 foo185 8 foo006 foo026 foo046 foo066 foo086 foo106 foo126 foo146 foo166 foo186 9 foo007 foo027 foo047 foo067 foo087 foo107 foo127 foo147 foo167 foo187 10 foo008 foo028 foo048 foo068 foo088 foo108 foo128 foo148 foo168 foo188 11 foo009 foo029 foo049 foo069 foo089 foo109 foo129 foo149 foo169 foo189 12 foo010 foo030 foo050 foo070 foo090 foo110 foo130 foo150 foo170 foo190 13 foo011 foo031 foo051 foo071 foo091 foo111 foo131 foo151 foo171 foo191 14 foo012 foo032 foo052 foo072 foo092 foo112 foo132 foo152 foo172 foo192 15 foo013 foo033 foo053 foo073 foo093 foo113 foo133 foo153 foo173 foo193 16 foo014 foo034 foo054 foo074 foo094 foo114 foo134 foo154 foo174 foo194 17 foo015 foo035 foo055 foo075 foo095 foo115 foo135 foo155 foo175 foo195 18 foo016 foo036 foo056 foo076 foo096 foo116 foo136 foo156 foo176 foo196 19 foo017 foo037 foo057 foo077 foo097 foo117 foo137 foo157 foo177 foo197 20 foo018 foo038 foo058 foo078 foo098 foo118 foo138 foo158 foo178 foo198 21 foo019 foo039 foo059 foo079 foo099 foo119 foo139 foo159 foo179 foo199 22 foo020 foo040 foo060 foo080 foo100 foo120 foo140 foo160 foo180 foo200
最后全部修改完成,並完成自然排序。
以上即linux系統下常用快捷鍵和命令的記錄。