linux继续执行上一个命令快捷键,整理了上linux 命令行上常用的 快捷键
整理了下linux 命令行下常用的 快捷鍵
整理了下linux 命令行下常用的 快捷鍵
1.CTRL + u 刪除正行你敲的命令。
例如 : find . -name 'hoho'
按下CTRL + U 后 正行都會被刪除
2.若是你只是想刪除一個局部的命令的話,那么可以用
CTRL+ w ?以空格為分隔符 刪除你的命令
例如 find . | grep -v vm$ | xargs -I {} ?grep "hoho" ?{}
使用一次 ctrl + w 后 刪除了 “{}”,多次使用就可以達到你想要的命令結構
find . | grep -v vm$ | xargs -I {} ?grep
但是如果當那你發現時誤刪除的時候,那么可以用 ctrl + y 來回復上一個操作!
3.我們在線上看日志的經常需要 tail -f xx.log .若是突然發現錯誤日志了,想停下來的話怎么辦呢?
有兩個快捷鍵盤可以使用 .先介紹一個
CTRL + s : 暫時屏幕的輸出。這個時候就會停留在錯誤的頁面不會在輸出信息!
我們看個小例子!下面這個腳本每隔一秒輸出一個數字:
#!/bin/bash
NUM=1
while true
do
echo 'current num is ' "$NUM"
sleep 1
NUM=$((NUM+1))
done
命名為 circle.sh
>chmod 755 circle.sh
>./circle.sh
....
> ctrl + s
inter12@inter12:~/myshell/shell$ ./circle
current num is 1
current num is 2
current num is 3
current num is 4
current num is 5
屏幕就會停留在這個時候,若是想繼續呢。好辦!使用
CTRL + Q 這個時候就會繼續輸出內容!
4.再來介紹另一個停止的命令,我猜這個才是大家最常用的快捷鍵了
噹噹噹噹噹噹 CTRL+C :終止目前的命令 和它類似的一個快捷鍵就是 Ctrl + Z:『暫停』目前的命令
還是上面的那個腳本
CTRL+C后的結果是:
inter12@inter12:~/myshell/shell$ ./circle
current num is 1
current num is 2
^C
Ctrl+Z后的結果是:
inter12@inter12:~/myshell/shell$ ./circle
current num is 1
current num is 2
current num is 3
current num is 4
current num is 5
^Z
[2]+ Stopped ./circle
命令被終止了!
也順便提下下面這個家伙吧,我用的不是很多!一般在各種嘗試使用后,都無法終止 我會試試這個。有誤導他人之嫌!哈哈
Ctrl + D:輸入結束(EOF)
5.繼續,如果你能看到現在的話,恭喜你。 下面這兩個快捷鍵也是非常常用的
我們知道在使用VIM 或者是VI的時候,會有跳轉到行尾或是行首的場景,那么在普通的命令使用中的怎么能辦到呢?
很簡單:
CTRL+A :跳到命令行的 行首
CTRL+E :跳到命令行的行尾
非常實用的兩個快捷鍵!
--------------------------這是一條偉大的分割線--------------------------
好像內容有點少,那就再加點基礎的東西吧
若是你希望在命令行敲兩個命令,而第二個命令又依賴于第一個命令的執行結果才執行的話。怎么辦呢?
使用 COMMAND1 && COMMAND2
比如說我們需要進入夠個目錄下。刪除所有東西,若是目錄不存在的話,那就不執行
cd /tmp/xx && rm -rf *
下面是執行效果:
inter12@inter12:~$ cd /tmp/xx && rm -rf *
bash: cd: /tmp/xx: No such file or directory
在腳本中另一種較麻煩的寫法就是
#!/bin/bash
cd /tmp/xx
if [ ! $? ];then
echo 'last command success'
rm -rf *
else
echo 'last command failed'
fi
這個時候有人會相同,若是用分號也可以達到這個效果呢!
cd /tmp/xx ; rm -rf *
答案是:不是,具體大家可以自己試試,這個時候終端停留在錯誤提示,不往下走了
若是希望用分號是聯系兩個命令,你能保證第一個命令是一定成功的話,可以采用分號的方式 還是看個例子吧!
mvn install ; mvn eclipse:eclipse 當然這兩個命令也是可以合并在一起的!這里只是演示下而已!牛人們不要噴我。
--------------------------這是第二條偉大的分割線--------------------------
看起來已經不少內容,最后再加點料吧!
在終端命令行的時候,對于一些命令的東西 都是喜歡用 單引號 ’ 。比如sed 或是時 awk 中。
看個替換命令
sed 's/haha/hoho/g' filename :我們希望將文件中的haha替換成hoho 。在命令行下時沒有任何的問題,但是在腳本中呢,也不會出問題。好像說了一大堆廢話,但是!!!
一般我們寫腳本的話,其中的haha和hoho一般時通過變量的方式來取代,這個時候命令的腳本就是
sed 's/$HAHA/$HOHO/g' filenmae ,這個時候你就會傻了,為什么我的命令為什么沒有執行。
用sh -x shell.sh ,你會發現腳本中執行你這條命令根本就沒有被正確執行.還是用個例子來說話吧!
filename:sedpp
#!/bin/bash
FILE_NAME=/tmp/haha.txt
HAHA="haha"
HEHE="hehe"
sed -e 's/$HAHA/$HEHE/g' $FILE_NAME
>chmod 755 sedpp
> sh sedpp
> cat /tmp/haha.txt
我們發現haha.txt文件中根本就沒有被替換掉,那就用sh -x sedpp 看下吧
inter12@inter12:~/myshell/shell$ sh -x sedpp
+ FILE_NAME=/tmp/haha.txt
+ HAHA=haha
+ HEHE=hehe
+ sed -e s/$HAHA/$HEHE/g /tmp/haha.txt
haha
---------------------
我們可以看到命令執行的是
+ sed -e s/$HAHA/$HEHE/g /tmp/haha.txt
腳本解釋器沒有把變量跟替換掉,這個因為腳本中‘引號時不對$變量進行解釋的,直接當作字符串進行處理,只有雙引號才會解析其中的變量!
把腳本中的 sed -e 's/$HAHA/$HEHE/g' $FILE_NAME 替換成 sed -e ”s/$HAHA/$HEHE/g“ $FILE_NAME 就OK 了!
---------------------------最后一條分割線:預告---------------------------
我想大家在寫腳本正則時候經常碰到的問題就是 ? * . + $ [] / \ 等符號在不同場景下時代表什么意思!好的,盡情期待下篇將介紹這些令人頭疼的符號!
--------------------------下面這些內容是由2011-11-14添加的--------------------------
CRTL + R : 搜索已經輸入過的命令
類似于我們的 !命令 。 !command :執行上一個這個命令,或是開頭的命令!
看實際的例子吧:
[admin@vm-icbu-qa-142-57 out]$ echo "1:haha"
1:haha
[admin@vm-icbu-qa-142-57 out]$ echo "2:hoho"
2:hoho
[admin@vm-icbu-qa-142-57 out]$ echo "3:heihei"
3:heihei
(reverse-i-search)`echo': echo "1:haha" ? ? //這里按住了 CTRL + R
當然你想玩的玄一點的話,那么可以實用 histrory|grep "command" ?適合你只記住命令的一部分的原因!
CTRL + P ?=== 向上的箭頭符號 就是查找上一個命令! 同理:CTRL + N 就是查詢下一個命令!
CTRL + L ?=== CLEAR 清理屏幕的操作!
總結
以上是生活随笔為你收集整理的linux继续执行上一个命令快捷键,整理了上linux 命令行上常用的 快捷键的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 竣工验收备案时间要求(竣工验收备案时间)
- 下一篇: linux创建txt文件命令(linux