1.用!!执行最后一个命令。
标题说明了一切,只需在终端中输入以下内容即可...
!!
…重新执行最后输入的命令。 当我们忘记输入时,此技巧非常有用 须藤 一开始。 在这种情况下,您将必须输入:
须藤!!
为了发现更有效地利用此技巧的更复杂的方法,我建议您阅读以下内容 旧帖子.
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
对于像该服务器这样的终端迷,我建议访问 命令行。 另外,为什么不别停下来看看 档案 从我们的博客。
我曾经用过一个,在我的输入法中省略了大写字母,因为老实说,许多像这样开始的文件都会落入我的脑海。
我认为最重要的一个是history命令,在该命令中它返回一个编号列表
使用过的命令,如果要使用其中任何一个,请使用以下行
!22
将执行历史记录中编号为22的命令
要搜索具有自动完成功能的命令是
Ctrl + r
我也总是使用Ctrl + r重复上一条命令; 当最后一个出现时,您可以按向上Pag(向上箭头)在历史记录中回滚。
问候。
好文章。 感谢您分享这些技巧。
我想共享一个我每天使用的“ fg”,它允许您打开之前用“ Ctrl + z”停止的应用程序。
并通过“ bg”将其发送到后台🙂
看你...好把戏! 感谢分享。
拥抱! 保罗
出色的帖子,它们总是使您记住您知道并最终忘记的事情,但这确实有用。
终极作弊总是受欢迎的。
令人难以置信的是,我不知道历史记录中省略了为命令添加空格的过程。
非常感谢,问候!
使用自动完成过滤历史记录添加到$ HOME / .inputrc文件中
“ \ E [5〜”:向后搜索历史
“ \ E [6〜”:历史搜索
例如在某个时候您曾经使用过:
$ cd /一个/路径/更长/超过/ the / shit
现在您想再次使用它,您必须执行以下操作:
$ cd
然后按“ Page Up”或“ Page Down”键浏览以“ cd”开头的历史记录中的所有命令。
要么…。 在不编辑任何内容的情况下,先按Ctrl + R,然后按cd(如果要使用“ cd”搜索某物),然后反复按Ctrl + R,将看到包含该命令的所有命令,直到找到所需的命令为止。 显然,如果它是前一个,您将得到一个。
挺好!
实际上,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!
你好,
在执行命令之前放置什么空格,以便它不会在历史记录中注册,因为它不起作用...
[用户@主机/] $ 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文件中,以下行:
#显示历史记录命令的日期
export HISTTIMEFORMAT ='%F%T:'
我几乎可以确定周围的许多人同时使用了多个终端。
现在,我不知道是否要告诉您这是一个终端把戏,但是由于我通常有许多窗口或使用屏幕打开多个终端,因此这将启用在这些终端之一中输入的任何命令,因为它将在全部。
这在.bashrc文件中:
HISTSIZE = 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进行操作)。
Saludos!
对于那些在一开始没有使用空格的人,或者可能将其添加到笔记中的人,有一个名为HISTIGNORE的变量,其中在命令之前添加的字符被配置为在历史记录中被忽略。
在某些安装中,此变量并非来自
问候和好帖子! 直接到收藏夹!
请注意,在评论中我还看到了一些有趣的东西..!
一切真的非常有用。 谢谢。