命令行可能非常强大,但是输入长的命令和文件路径很快就会变得乏味。这里有一些快捷方式,可以让您只需几次按键就可以运行冗长、乏味或复杂的命令。
图片由xkcd从原作重新混合而成。
高级用户喜欢命令行,因为它只需几次按键就可以执行复杂的任务。但是对于那些不知道快捷方式的初学者来说,把所有的东西都直接打出来似乎要花很长时间(我知道这一点是因为我自己刚过初学者阶段,但我仍然不知道这些快捷方式的大部分)。
这些命令主要应用于基于*NIX的命令行,这些命令行在osx和Linux等系统中都是现成的。要在Windows上使用它们,请安装Cygwin(我们强烈建议放弃Windows的糟糕的Cygwin命令行。)
从简单的键盘快捷键到内置的速记,再到您可以自己构建和自定义的命令,终端有很多方法可以加快您的命令行工作,这里我们将向您展示一些基本知识(以及一些可自定义的功能,您可以使用这些功能来缩短几乎任何您想要的命令)。
如果您刚刚开始使用命令行,我们建议您也可以查看我们的初学者命令行入门。见鬼,即使你不是初学者,浏览一下你肯定会发现一些你不知道的东西。我们将讨论其中的一些主题,并在此基础上进一步发展。
我们在初学者指南中介绍了一些基本的键盘快捷键,但是其中有很多快捷键,虽然不是很直观,但是对于导航shell来说非常有用。当您想引用以前的命令时,它们也很有用。
不管你输入了很多错别字,一遍又一遍地运行许多相同的命令,还是处理了又长又烦人的文件路径,终端都有相当多的内置速记功能,让你自己不必把所有的东西都打出来。这里有几个很好的例子。
在终端中处理文件时,浏览系统的文件夹结构可能需要很长时间。不断地输入长文件名从来都不是一件有趣的事,所以这里有一些技巧,只需轻触鼠标或键盘就可以让那些5个文件夹深的路径进入终端。
如果你有一个文件深埋在你的硬盘驱动器,键入它的完整路径可能需要永远。不用这样做,您只需打开Nautilus、Finder、Dolphin或您使用的任何文件管理器中的文件夹,并将文件拖动到终端窗口中即可。它会将其文件路径添加到当前命令中。
我们在初学者指南中简要讨论了这些问题,但值得重复。假设你正在硬盘上转来转去,但不想一遍又一遍地键入文件路径。如果您需要连续访问相同的文件夹或文件,从文件浏览器中拖拽它们甚至会变得乏味。幸运的是,您可以用替换当前目录及其父目录。和。例如,如果您将cd刻录到一个文件夹,运行以下命令将向上移动一个文件夹。
cd ..这样,您就不必重新键入整个文件路径(或者甚至点击向上箭头并删除一个文件夹名称--实际上只需几次按键)。
如果您要键入更长的路径,这也适用。假设你在~/Documents/工作,你想在~/Documents/玩。您可以键入:
cd ../Play马上就到。
另一个好的捷径是破折号(-)。这会将您移回上一个工作目录:
cd -因此,如果您在文档文件夹(~/documents)中工作,并简单地移到/etc/中,您可以通过键入cd-并按回车键切换回来。
最后,如果要返回主目录,则无需向cd命令添加任何参数。只要输入cd并按回车键,你就可以回家了。
访问最近使用的命令(或者运行最近使用的命令的一个小变体)是终端用户经常需要做的事情。不幸的是,这也是终端中最乏味的部分之一,谁想重新键入完全相同的命令,他们刚刚运行,但有一个小的区别?它让每一个打字错误都像是一种惩罚。幸运的是,有一些非常好的速记,其中大部分使用方便的bang符号(!)。
最有用的快捷方式之一就是使用!!表示您运行的最后一个命令。这在很多情况下都很有用。例如,如果您运行的命令需要root权限,但忘记将sudo添加到开头,则无需重新键入该命令。快跑:
sudo !!这将以root权限运行上次使用的命令。
如果要运行的命令在历史记录中的位置稍远,可以将bang与原始字符串结合使用来查找它。例如,如果要运行上次使用cat的命令,可以键入:
!cat如果您只想查看最后一个cat命令是什么,可以改为运行:
!cat:p这将打印该命令并将其添加到历史记录的末尾。如果你决定要运行它,你可以直接输入!!按回车键。
如果要运行上一次运行的不同命令,但参数相同,那么也有一个快捷方式。例如,假设您刚刚创建了一个文件夹,使用:
mkdir /new/awesome/folder要将cd放入该目录,只需键入:
cd !$那个!$表示上一个命令的参数。
另一个常见的问题是输入错误的命令。假设你想运行nano,但不小心输入了nanp:
nanp /path/to/a/document/buried/deep/in/the/filesystem你可以直接运行以下命令,而不是重新键入整个过程:
^nanp^nano这将在最后一个run命令中找到nanp的第一个实例,并用nano替换它。
虽然所有这些快捷方式都很好,但值得一提的是,历史命令是您的朋友。例如,如果要查看最近运行的所有包含nano的命令,可以运行:
history | grep nano您将得到一个如下所示的列表:
381 sudo nano /etc/NetworkManager/nm-system-settings.conf 387 sudo nano /etc/rc.conf 388 sudo nano /etc/rc.conf 455 sudo nano /boot/grub/menu.lst然后,您可以从该列表中选择一个命令,比如我想运行sudo nano/boot/grub/menu.lst,grep将其列为command 455并使用以下命令运行:
!455最后,如果您想将某些命令排除在历史记录之外,只需在它们前面加一个空格,即space+nano~/Documents/WorldDominationPlans.txt。
当您处理文件的变体(如备份或不同的文件类型)时,只需稍加调整就可以输入相同的命令。使用大括号符号({}),可以轻松地对文件的多个版本执行批处理操作。
假设您只想重命名文件名的一部分。不必键入mv/path/to/file.txt/path/to/file.xml,只需运行:
mv /path/to/file.{txt,xml}这将使用相同的参数运行命令,只是大括号内的部分发生了更改,第一部分对应于第一个参数,第二部分对应于第二个参数。
最常见的例子是备份要更改的文件时。例如,如果您正在调整rc.conf,您将需要进行备份,以防新的备份不起作用。因此,要做到这一点,您可以运行:
sudo cp /etc/rc.conf{,-old}在逗号前不加任何内容只会在用cp复制文件名后将-old追加到文件名中。如果新文件不起作用,并且要将备份文件还原到其原始位置,则可以使用:
sudo mv /etc/rc.conf{-old,}将逗号移到大括号的另一端将删除文件末尾的-old并将其还原为原始名称。
在一次移动或创建多个文件时,大括号也可以起作用。例如,如果要创建三个编号的目录,可以运行:
mkdir myfolder{1,2,3}这将创建三个文件夹:myfolder1、myfolder2和myfolder3。
虽然这些都很方便,但你能做的最有用的事情可能就是自己创造捷径。毕竟,我们都有一些反复运行的命令,但它们不一定对每个人都一样。为此,我们将编辑~/.bashrc配置文件(或者,如果您使用的是Mac OS X Snow Leopard,~/.bash\u配置文件)。这是一个基本的文本文件,所以你可以在Ubuntu中使用Gedit,在osx上使用TextEdit,甚至在终端中使用nano。我们之前已经讨论过几次了,但这确实是加速终端工作的最好方法之一。
要创建自定义快捷方式(称为别名或函数),您需要使用以下格式向.bashrc文件中添加新行:
alias la='ls -A'现在,无论何时键入la,终端都将运行ls,并带有-a修饰符,其中包括隐藏文件。有些thsee已经内置到流行的Linux发行版中,但是还有很多其他有用的版本。以下是我们的一些最爱:
alias ll='ls -l'这将提供比ls本身更详细的文件列表。在Ubuntu中,这个快捷方式已经存在,但是运行ls-alF。
alias desk='cd ~/Desktop'这将使您的桌面工作目录只需几次按键。当然,你可以对任何你经常访问的文件夹进行修改。
alias up='cd ..'这会在按键的一半时间内将工作目录向上移动一个文件夹。
alias emenu='aterm nano -e ~/.e16/menus/user_apps'这是打开文件进行编辑的别名示例。如果你有任何文件,你发现自己不断编辑,这是一个很好的一个保持左右抛出路径,你经常使用的文件在引号和编辑关键字的东西,有意义的。
alias agi='sudo apt-get install'这样,在Ubuntu中安装程序就快多了。例如,您可以键入agi chromium来安装chromium。当然,如果您使用的是不同风格的Linux,您可以用您选择的包管理器来代替它。
alias update='sudo apt-get update'这将更新你在Ubuntu中的所有软件包。
function cdl { cd $1; ls;}这是一个整洁的功能,我们以前的特色,将基本上运行cd和ls在同一时间。因此,只需键入cdl/path/to/folder,终端就会使您的工作目录成为您的工作目录,并一下子列出它的内容。
这些只是一些快捷键、速记和自定义别名的例子,可以让你的生活更轻松。那里真的有很多,取决于你经常使用的终端,不同的将证明对你有用。当然,由于您可以使用别名和函数来创建自己的应用程序,因此唯一的限制是您的想象力(不过,如果您没有想象力,我们会不时在这里发布一些不错的想象力)。有你自己喜欢的吗?在评论中发出声音。
... 您也可以使用上述方法向您喜欢的任何网站添加键盘快捷方式。要将网站快捷方式发送到桌面,可以使用Chrome为该站点创建一个迷你应用程序。如果不想使用Chrome,可以将浏览器书...
...式工具。每一个都在功能区上的鼠标单击内。例如,可以使用“开始”选项卡上的“段落”组格式化整齐段落的块。但是我们常常忽略了另一个重要的工具,它可以加速我们在多页Word文档中的工作。 ...
...题往往是,要记住的东西太多了。因此,除非你每天反复使用相同的快捷方式,否则你可能会转而使用鼠标或轨迹板。 ...
...我们做了很多事情来让它成为我们网络生活的语法。我们使用Google的语法进行搜索,生活在Gmail中,有时使用googledrive和googledocs之类的应用程序,我们的工作效率会很高。 ...
即使您经常使用Windows命令提示符,您也可能会惊讶于它支持的许多有用的键盘快捷键。您可以使用它们简化从选择和操作文本到重复已键入的命令的所有操作。我们有完整的名单给你。 在Windows中,命令提示符是一个强大的工...
...中一些命令可能会变得冗长而复杂。现在,您可以为经常使用的任何命令创建关键字快捷方式,这样您就可以在使用googlehome时节省时间和精力。 GoogleHome的新快捷方式允许您用简单、短的命令代替更长、更复杂的命令。例如,如...
...用于你的业务或组织,那么你也会喜欢它。Slack非常容易使用,也许你已经掌握了它的很多窍门,但你总能知道更多。 由互联网推动的爱情狂欢似乎没有停止的迹象。它改变了组织的沟通方式,尽管它的核心仍然是一个非常简单...
Mac用户知道在OSX中使用键盘快捷键是一种很好的方法。使用键盘执行日常和重复的任务可以节省大量时间,并且可以提高您的技能水平,但是您知道您可以添加甚至自定义键盘快捷键吗? 用键盘控制你的Mac电脑是OSX(以及更早...
...选择的浏览器,然后前往网站。 你要做的第一件事就是使用“green”命令来改变字体颜色。 接下来,我们将要实际登录到我们的SkyDrive,要做到这一点,请使用login命令。 如果您的浏览器阻止弹出窗口,您需要暂时允许它们。...