1.用!!執行最後一個命令。
標題說明了一切,只需在終端中輸入以下內容即可...
!!
…重新執行最後輸入的命令。 當我們忘記輸入時,此技巧非常有用 須藤 一開始。 在這種情況下,您將必須輸入:
sudo !!
為了發現更有效的方法以充分利用此技巧,我建議您閱讀以下內容 舊帖子.
2.執行最後一條命令,但更正鍵入錯誤
當我們輸入帶有簡單錯字的命令時,此技巧非常有用。 例如,如果我們運行:
迴聲”desdelinuxz"
您可以通過輸入以下內容進行更正:
^z
3.調用文本編輯器輸入長命令
有時您需要在終端中輸入無盡的命令。 在這種情況下,簡單的文本編輯器(例如nano或emacs)的幫助可能會有所幫助。
要打開編輯器,只需按 Ctrl + X + E 在一個終端。 到目前為止,您輸入的文本一旦打開將被複製到文本編輯器中。
就其本身而言,使用的編輯器將是$ EDITOR變量中指定的編輯器。 要更改此配置,可以執行...
出口編輯器=納米
…用您喜歡的編輯器替換nano。
4.執行命令而不將其保存到歷史記錄
真正的黑客不能忽略這個技巧。 眾所周知,bash保存了已執行命令的歷史記錄,使用鍵盤箭頭或 按Ctrl + R (執行 反向搜尋 在歷史上)。
在這種情況下,為了使輸入的命令不會保存在歷史記錄中,您需要做的是在前面加一個空格:
命令
5.自動放置命令的最後一個參數
假設先前執行的命令是
cp file.txt / var / www / wp-content / uploads / 2009/03 /
要訪問有問題的目錄,可以輸入以下命令 cd 接下來 Alt +。 o Esc +。 :
cd'ALT +。
這只不過是輸入的一種簡便方法:
cd / var / www / wp-content /上傳/ 2009/03 /
6.在指定時間執行命令
是的,這就是它的存在 cron的。 但是,有時我們想運行一個命令,使其在特定時間運行,但只能運行一次。
假設我們要執行命令 ls -l 在午夜。 在這種情況下,我們必須通過以下方式執行它:
迴聲“ ls -l” | 在午夜
7.獲取您的外部IP
感謝提供的服務 http://ifconfig.me/ 可以直接從終端了解Internet連接的各種數據:
curl ifconfig.me/ip // IP地址curl ifconfig.me/host //遠程服務器curl ifconfig.me/ua //用戶代理curl ifconfig.me/port //端口
8.了解如何使用Ctrl + u和Ctrl + y
您開始輸入命令並想起要執行其他操作之前發生了幾次? 好吧,可以進行某種剪切粘貼,以便以後可以更輕鬆地重新輸入剩下的一半命令。
假設您開始寫...
cd /家庭/用戶
您還記得在必須檢查當前目錄中的內容之前。 在這種情況下,請按 按Ctrl + U (這有點像“切”)。
輸入需要首先運行的命令。 假設...
ls -l
...然後按 Ctrl + y (它的工作方式類似於“粘貼”)。
9.輕鬆清潔端子
同 Ctrl + L 可以輕鬆清潔終端。
10.轉到目錄,運行命令,然後返回當前目錄
這個把戲很高興。 要在不離開當前目錄的情況下執行一系列命令,只需將它們放在括號中即可。 幾乎每個人都知道,要執行一系列命令,必須使用&&將它們串聯起來。 使用這些概念,我們可以執行以下操作:
(cd / tmp && ls)
該命令的結果(請注意括號)將是文件夾中文件和目錄的列表 / tmp目錄。 全部都沒有離開我們的當前目錄。 一顆寶石!
Yapa。 列出最常用的命令
去看他們 最常用的命令 只需執行以下命令:
歷史| awk'{a [$ 2] ++} END {for(i in a){打印a [i]“” i}}''| 排序-rn | 頭
就我而言,獲獎者是:
450 yaourt 415 sudo 132 git 99 cd 70 leafpad 70 killall 68 ls 52 pacman 50 xrandr 45 top
對於像該服務器這樣的終端迷,我建議訪問 命令行。 另外,為什麼不別停下來看看 檔案 從我們的博客。
我曾經用過一個,在我的inputrc中省略了大寫字母,因為老實說,許多像這樣開始的文件都會落入我的腦海。
我認為最重要的一個是history命令,它在其中返回一個編號列表
使用過的命令,如果要使用其中任何一個,請使用以下行
!22
將執行您歷史記錄中編號為22的命令
要搜索具有自動完成功能的命令是
Ctrl + R
我也總是使用Ctrl + r重複上一條命令; 當最後一個出現時,您可以按向上Pag(向上箭頭)在歷史記錄中回滾。
問候。
好文章。 感謝您分享這些提示。
我想共享一個我每天使用的“ fg”,它可以讓您打開使用Ctrl + z停止的應用程序。
並通過“ bg”將其發送到後台🙂
看著你...好招! 感謝分享。
擁抱! 保羅
這篇帖子很棒,它們總是讓您記住您知道並最終忘記的事情,但是這些確實有用。
終極作弊總是很受歡迎的。
令人難以置信的是,我不知道歷史記錄中省略了為命令添加空格的過程。
非常感謝,問候!
使用自動完成過濾歷史記錄添加到$ HOME / .inputrc文件中
“ \ E [5〜”:向後搜索歷史
“ \ E [6〜”:歷史搜索
例如在某個時候您曾經使用過:
$ cd /一個/路徑/更長/大於/該/屎
現在您想再次使用它,您必須執行以下操作:
$ cd
然後按“ Page Up”或“ Page Down”鍵瀏覽以“ cd”開頭的歷史記錄中的所有命令。
要么…。 在不編輯任何內容的情況下,先按Ctrl + R,然後按cd(如果要使用“ cd”搜索某些內容),然後反复按Ctrl + R,將看到包含該命令的所有命令,直到找到所需的命令為止。 顯然,如果它是前一個,您將得到一個。
Muy bueno!
實際上,ls / tmp應該足以列出目錄而無需離開當前目錄。
您也可以使用“;”連接命令。 如示例n°10,它將是這樣的:
(cd / tmp; ls)
問候
他“;” 它與“ &&”(和)的工作方式不同,當我們執行command-1和&& command-2時,僅當第一個命令的輸出為“ 0”時才執行第二個命令,即沒有錯誤。 對於分號,無論第一個命令的輸出如何,都會執行第二個命令。 為了擴展,這裡有運算符«||» (或),在這種情況下,僅當第一個命令在輸出上引發錯誤時才執行第二個命令。 問候。
為了使記住歷史的每一行都有日期和時間,普通用戶或root的〜.bashrc中必須有一個環境變量。
#nano .bashrc
出口HISTTIMEFORMAT =»%F%T»
#歷史
492 2014-09-02 14:25:57 revdep-rebuild -i -v
493 2014-09-02 14:31:14 eclean-dist -d
494 2014-09-02 14:31:23 localepurge -v
495 2014-09-02 14:31:29等更新
496 2014-09-02 14:31:54出現–depclean –假裝
497 2014-09-02 14:39:08更新b
我正在測試更多的選項,這些選項用於節省的行數。
很好的帖子。 真的非常有用。 技巧4是執行命令而不將其保存在歷史記錄中的技巧,僅在Ubuntu中對我有用,在Debian和Centos中不起作用。
它在樹莓上對我有用,而不是拱門上。
Merveilleux!
HOLA,
在執行命令之前放置什麼空格,以便它不會在歷史記錄中註冊,因為它不起作用...
[用戶@主機/] $ ls -l
總104
dr-xr-xr-x。 2 root root 4096年21月03日55:XNUMX bin
dr-xr-xr-x。 5 root root 3072 Aug 20 17:26 boot
drwxr-xr-x。 2 root root 4096 9年2013月XNUMX日cgroup
[用戶@主機/] $歷史
1024磅
1025磅
1026年的歷史
1027 ls -l
1028年的歷史
有趣的文章
問候
抱歉,未閱讀所有帖子,
測試也以centos進行。
可以使用Ctrl + U和Ctrl + Y一起使用。
在我的系統上,最常用的命令列表通過將變量更改為$ 5為我工作。
輸出示例:
1122須藤
362升
279清除
214 cd
142挖
第141話
第130話
122 MV
112病毒
112歷史
這是因為在我的.bashrc文件中,以下行:
#顯示歷史記錄命令的日期
出口HISTTIMEFORMAT ='%F%T:'
我幾乎可以肯定,周圍的許多人同時使用了多個終端。
現在,我不知道是否要告訴您這是一個終端把戲,但是由於我通常有許多窗口或使用屏幕打開多個終端,因此這將啟用在這些終端之一中輸入的任何命令,因為它將在全部。
這在.bashrc文件中:
歷史記錄= 90000
HISTFILESIZE = $ HISTSIZE
HISTCONTROL = ignorespace:忽略的ups
歷史(){
_bash_history_sync
內置歷史記錄“ $ @”
}
_bash_history_sync(){
內置歷史記錄-a#1
HISTFILESIZE = $ HISTSIZE#2
內置歷史記錄-c#3
內置歷史記錄-r#4
}
PROMPT_COMMAND = _bash_history_sync
很好的貢獻! 感謝通過。
擁抱! 保羅
恭喜這篇文章。
非常實用,我學到了一些命令。
儘管我已經在這些問題上有所“經驗”,但是這些技巧總是值得讚賞的,所以……作為技巧的主要部分!
太好了,謝謝你的把戲,它們真的很有用😀
控制台的路徑是難以理解的
按下control + u和control + y的技巧並不取決於shell,而是取決於tty的配置。 到目前為止,在Linux下tty是非常複雜的實體,實際上我一直在研究它們的操作,並且我可以確保它們的來龍去脈要比看上去的多。 tty的某些控製字符會更改其狀態,例如,我偶然遇到了一個貓二進製文件,並且在所有“垃圾”出現在屏幕上之後,提示很奇怪或帶有其他編碼。 這是因為在隨機文件中,遇到tty控製字符的可能性很高。
例如,在外殼中運行此命令:
打印'33c'
這將清除屏幕(就像您運行清除一樣)。
其他組合,例如使用control + L清除屏幕,來自於正在使用的外殼本身,經典的/ bin / sh外殼通常不會帶來此功能。
另外,今天有很多用於在Linux下處理文件和套接字的複雜選項。 例如,如果您使用open()打開tty設備,則在AIO(異步輸入/輸出)模式下,每當輸入緩衝區中有可用數據時,該進程將收到SIGIO。
例如,如果bash只是通過讀取行並執行命令來工作(就像執行腳本時一樣),則在按control + L時,此字符序列將被簡單地包含在命令中,但由於bash具有控制權輸入緩衝區的緩衝區可以檢測到它。
例如,有時在編程時,我開始使用fcntl來獲取非阻塞輸入緩衝區,甚至在ncurses庫中也使用了該緩衝區(在程序中啟動ncurses之前要對控件tty進行操作)。
您好!
對於那些在一開始沒有使用空格的人,也許沒有將其添加到音符中的人,有一個名為HISTIGNORE的變量,其中配置了命令之前添加的字符,以便在歷史記錄中將其忽略。
在某些安裝中,此變量並非來自
問候和好帖子! 直接到收藏夾!
請注意,在評論中我還看到了一些有趣的東西..!
一切真的非常有用。 謝謝。