命令行不仅仅适用于聪明的Linux用户。它实际上是一个非常棒的工具,具有几乎无限的功能。这里有一个关于它是如何工作的入门,以及你如何用它做任何事情。
注意:本文是为那些不熟悉命令行或者只掌握了几个命令行技巧的人准备的。如果你已经熟悉了最基本的命令,你可以把这篇文章发给那些还没有达到你的技能水平的人,告诉他们命令行到底有多棒。
命令行界面(有时称为CLI)是一种工具,您可以在其中键入文本命令来执行特定任务,而不是鼠标指向和单击菜单和按钮。由于您可以通过键入直接控制计算机,因此许多任务可以更快地执行,有些任务可以通过特殊命令自动执行,这些命令可以循环执行许多文件,并对这些文件执行相同的操作,从而在执行过程中为您节省大量时间。
接受您键入的响应并在屏幕上显示数据的应用程序或用户界面称为shell,您可以选择许多不同的变体,但目前最常见的是Bash shell,它是Linux和Mac系统中终端应用程序的默认值。
默认情况下,Windows系统只包含贫乏的命令提示符应用程序,它远没有Bash的强大功能,因此在本文中,我们建议您使用开源Cygwin工具作为Windows命令行,因为它的功能要强大得多。在某个时候,您还需要阅读关于在Cygwin下使用bashshell的系列文章的第一、二和三部分,这些技巧也适用于Linux和osx。
要开始使用命令行,您需要打开一个终端窗口并准备开始输入命令。以下是您可以使用的基本命令列表,按您可能要执行的活动类型进行组织。
运行终端应用程序(Windows上的Cygwin、Mac和Linux上的终端)时,命令提示符将指向硬盘上的特定文件夹。您可以在文件夹之间导航、对这些文件夹中的文件执行操作或执行其他操作。
首先列出文件,让我们显示活动文件夹中的文件列表。对于此任务,需要使用ls命令。可以向命令传递多个参数以显示额外的详细信息或更改排序。例如,如果我在ls命令的末尾添加-l,我将看到一个详细的列表-t将按文件时间对结果排序-S将按文件大小排序;和-r将反转排序。您可以将这些文件组合使用,如以下命令,它将显示按文件大小排序的所有文件,最大的文件位于底部:
负载感应-负载感应
如果您使用–a选项,您可以看到隐藏的文件,并且您还会注意到列表中的其他内容:在列表的开头有两个“.”和“.”项。它们表示当前文件夹“.”文件夹和父文件夹“.”文件夹。
更改目录您可以使用cd命令在目录之间进行更改,使用我们刚刚了解的“.”文件夹,您可以使用以下命令切换到当前目录正上方的目录:
光盘
您可以导航到完整路径或相对路径。例如,上面的命令导航到当前文件夹上方的相对路径。如果您在/path/to/中,并且希望导航到该文件夹中的文件夹stuff,只需键入:
cd资料
也可以导航到绝对路径。同样,如果我在/path/to/中并且想导航到/other/path/,我只需键入:
cd/另一个/路径
要将目录交换到上一个工作目录,'-'(连字符)快捷方式很方便。例如,如果您在/first/folder/path/目录中,然后切换到/etc/以进行配置更改,则可能不希望键入完整路径以切换回。您可以使用以下命令快速切换回上一个工作目录:
光盘-
创建或删除文件夹要创建新文件夹,只需使用mkdir<;文件夹名称>;命令。然后可以使用rmdir<;删除任何文件夹;文件夹名称>;命令,只要文件夹是空的。如果文件夹中有文件,则必须先删除这些文件,然后才能删除文件夹。
创建和删除文件您可以使用触摸屏<;文件名>;命令创建一个新的空白文件,然后使用rm<;文件名>;删除文件的命令:
删除档案
您可以使用“*”(星号)通配符快速删除目录中的所有文件另一个简单的工具,在您使用命令行时非常方便。例如,如果您在一个文件夹中,想要删除该文件夹中的每个文件,只需键入:
林吉特*
如果要删除文件和文件夹的列表,包括子目录中的所有文件,而不提示您输入每个条目,则可以使用-r选项表示递归,使用-f选项表示强制。此命令将从当前目录和以下目录中清除匹配文件名模式的每个实例(注意通配符的使用略有不同):
rm–rf文件名*
编辑纯文本文件您用于编辑文本文件的命令将根据您使用的平台和您喜欢使用的应用程序而有所不同。如果您使用的是ubuntulinux,那么可以使用nano编辑器快速编辑文件,这可能更适合初学者。
nano/路径/到/文件
否则,vim编辑器几乎可以在任何系统上使用,并且可以用vi语法调用。
显示文件您可以使用cat命令直接在屏幕上显示文件内容,但是在大多数大文件上,结果可能会从您身边飞过,因此通常最好使用more或less命令。例如:
更多<;文件名>;
这将在屏幕上显示文件的内容,并提示您一次在屏幕上滚动文件。
命令重定向每个命令行应用程序都可以接受标准输入并写入标准输出,并且您可以使用>;或者|运算符将输出从一个命令重定向到另一个命令,这样可以将命令链接到一起,生成更强大的命令。
例如,如果您想使用ls–l显示文件列表,但它一直在屏幕上滚动,则可以使用|字符将ls–l命令的输出通过管道传输到more命令的输入中:
ls–l |更多
如果要将该列表的输出直接保存到文件中,而不是显示在控制台上,则可以使用>;运算符将输出重定向到文件中:
ls-l>;文件名.list
然后,您可以使用cat命令显示该文件的内容,将其导入grep命令(下面将详细介绍),然后将该输出重定向到一个单独的文件中:
cat filename.list | grep关键字>;文件找到。列表
在当前文件夹中运行脚本如果当前文件夹中有应用程序或shell脚本,则不能简单地键入命令名并期望它启动。您需要在命令的开头添加./才能启动它。为什么?因为在bashshell中,当前目录或“.”文件夹不包括在系统路径中。因此,要在当前文件夹中启动scriptname.sh,您需要使用:
脚本名称.sh
使用History可以使用History命令显示最近使用的所有命令的列表,也可以使用向上/向下箭头循环显示这些命令。Ctrl+R快捷键将启动搜索模式,您可以在其中键入命令的前几个字符来搜索最近的历史记录。
循环浏览一组文件如果要循环浏览一组文件名并对每个文件名执行操作,可以使用for命令循环浏览一组文件。例如,要遍历当前目录中的所有.txt文件并在控制台上显示它们,可以使用:
对于*.txt中的f;不回显$f;完成
查找文件您可以使用非常强大的Find命令在系统上搜索文件。例如,如果要查找名称中包含.txt且在过去5天内修改过的所有文件,可以使用以下命令:
查找–名称“*.txt”–mtime 5
在文件中查找文本字符串grep命令可以用于快速查找文件中的文本,甚至可以搜索子目录。例如,如果要在当前目录及其下的所有文件中搜索“文本字符串”,可以使用以下命令:
grep–ir“文本字符串”*
批重命名文件您可以使用Rename命令使用正则表达式模式快速重命名文件。例如,如果要将包含foo的所有文件重命名为包含bar,可以使用如下命令:
重命名–v's/foo/bar/g'*
使用Bash快捷键在bashshell中有许多非常有用的快捷键,掌握它们是值得的。以下是一些让您开始学习的方法:
当你可以做各种各样的技巧来定制它时,你就不需要在一个无聊的终端上工作了,比如改变颜色、字体,给复杂的命令添加别名来节省时间。
首先,您需要阅读我们的自定义命令提示符指南,该指南将向您展示如何更改颜色并将它们添加到您的配置文件中,以便在启动新shell时显示它们。
使用别名别名可以将长而复杂的命令缩短为非常简单的命令,或者将默认参数设置为命令,这样就不必每次都键入它们,从而节省了大量的时间。例如,如果您想设置一个别名,以便在Ubuntu安装程序上安装比sudo apt get install packagename更快更简单的软件包,您可以使用以下方法:
别名agi='sudo apt get install'
这个别名可以使您只需在shell中键入agi packagename,就可以用更少的按键来安装任何包。您还可以使用别名来设置命令的默认参数,因此如果您总是希望ls实际执行ls–l,则可以使用以下别名:
别名ls='ls–l'
有许多有用的别名可以用来个性化设置,但是如果你想不出好主意,请查看十个最有用的别名列表。
终端有一套丰富的工具,用于操作进程和检查系统状态。可以使用ps命令查看系统进程列表,如下所示:
ps辅助
然后可以使用kill<;pid>;命令以除去任何要终止的进程。您还可以使用top,通过简单地使用K键,轻松地从运行进程的图形化列表中终止进程。
这些例子对你来说还不够吗?查看我们的十大命令行工具、我们为Mac用户提供的有用命令列表、我们的终端涡轮增压指南,或者十个方便的bash别名列表。
您最喜欢的命令行技巧是什么?在评论中分享你最喜欢的技巧和建议。
How-To-Geek花了47%的时间在bash提示上。他的极客文章每天都可以在Lifehacker、How To Geek和Twitter上找到。
...档很全面,但它确实假定对Linux的熟悉程度适中。新手和初学者在初始安装时可能会遇到一些问题。 ...
...个简短的课程,让你熟悉应用程序,特别是如果你是一个初学者。否则,有一张备忘单可能会有所帮助。不管是哪种方式,你都能很好地处理谷歌扔给你的任何东西。 ...
...地方使用SSH访问服务器。您可以在这个在Linux上设置SSH的初学者指南中了解更多关于SSH的信息。 ...
... 两个建设者的初学者库都很不错,但是如果你正在构建一个严肃的网站,你根本就没有什么用处。 ...
从树莓皮开始是一个令人兴奋的经历。对于初学者来说,开始编写代码和DIY电子产品从来都不是一件容易的事。 ...
...:您需要知道的11个命令 如何从Linux终端获得命令帮助:初学者和专业人士的8个技巧 使用以下8个技巧成为Linux终端的超级用户 如何在命令行上安装Ubuntu中的程序 如何从Linux终端管理进程:您需要知道的10个命令 如何从Linux终端...
“shell脚本”一词在Linux论坛中经常被提及,但许多用户并不熟悉。学习这种简单而强大的编程方法可以帮助您节省时间,更好地学习命令行,并消除繁琐的文件管理任务。 什么是shell脚本(shell scripting)? 作为一个Linux用户,意...
...使用nano,我们强烈建议您查看Linux命令行文本编辑器nano初学者指南。您应该在终端窗口中看到如下内容: Nano完全由键盘控制,使用箭头键将光标移动到要编辑的位置。当您单击配置设置时,您将看到一些值得注意或更改的设...