无论你是新手还是老手,这20条Linux命令都能让你的操作更加得心应手。在黑暗的终端窗口中键入命令对某些人来说似乎已经过时,但对于许多计算机专业人员来说,这是计算机执行几乎任何计算机可以执行的任务的最有效、最简单和最简单的方法。明确的方式。如今,项目正在将开源命令引入macOS和Windows等非开放平台,因此终端命令与每个人都相关,而不仅仅是Linux和BSD用户。您可能会惊讶地发现,在普通的POSIX计算机上安装了数千条命令,当然其中许多命令并不是真正有用,至少不是直接或经常使用。虽然有些命令对于有效终端来说不是必需的,但它们比其他命令使用得更频繁,值得学习。以下是终端用户最有可能使用的前20个命令:cd在终端外,您可以单击图标从一个文件夹移动到另一个文件夹,但在终端中,您需要使用cd。cd命令代表更改目录,这是用户在Linux系统中移动的方式。这是Linux中从一个地方到另一个地方最快、最直接的路线。例如,在桌面上,当你想从你的主目录(你保存所有文件夹的地方)移动到一个名为presentations的文件夹时,你首先打开你的Documents文件夹,然后打开一个名为work文件夹的文件夹,然后是projects文件夹,然后是会议文件夹,最后是演示文稿文件夹,其中包含LibreOfficeImpress幻灯片。这个过程涉及很多双击操作。屏幕上还有许多鼠标移动,这取决于新窗口出现的位置,以及大脑需要跟踪的许多航路点。许多人通过将所有文件保存在桌面上来避免这项看似微不足道的任务。最终用户只需键入以下内容即可避免此问题:$cd~/Documents/work/projects/conference/presentations一些有经验的最终用户甚至懒得键入所有这些内容,而是使用Tab键自动完成单词。更重要的是,有时您不必依赖自动完成,而是使用通配符代替:$cd~/Doc*/work/*/conf*/p*pwd用BuckarooBanzai的话来说:“无论你走到哪里,你就在那里。”当你想知道它的确切位置时,你可以使用pwd命令。pwd代表打印工作目录,这正是它的作用。--physical(在某些情况下缩写为-P)显示解析所有符号链接后的确切位置。$pwd/home/tux/presentation$pwd--physical/home/tux/Documents/work/projects/conference/presentationssed流编辑器sed更广为人知的是一个强大的批量查找和替换命令,但它也是一个合法的Reasonable文本编辑器。您可以通过阅读我的介绍性文章来学习使用它,然后通过我的高级教程和备忘单成为一名老手。grepgrep命令非常普遍,经常用作动词(例如“我将grep一些文件”)和动名词(例如“grep一些输出”)。它是在shell中解析文本时的关键组件,无论是查看日志文件还是解析其他命令的输出。这是让忙碌的用户专注于特定信息的一种方式。考虑到计算世界中的数据量,grep命令变得如此流行也就不足为奇了。您可以通过阅读我的介绍性文章来了解grep,然后下载备忘单进行学习。file当你需要知道文件包含什么类型的数据时,使用文件命令:$fileexample.fooexample.foo:RIFF(little-endian)data,Web/Pimage[...]$fileexample.barexample.bar:ELF64-bitLSBexecutable,x86-64[…]当然,文件命令并不神奇。它只是基于文件如何识别自身的输出,文件可能是错误的、损坏的或伪造的。使用hexdump进行严格检查更具确定性,但对于日常使用,文件命令很方便。awkawk不仅仅是一个命令,它是一种文字编程语言。在此处下载我们的免费Awk电子书进行学习,您可能会编写比您想象的更多的脚本。curlcurl命令是用于终端的非交互式Web浏览器。它是面向Web和API开发人员的开发工具。这是一个复杂而灵活的命令,但如果您想从终端顺利地与Web服务交互,则非常值得学习。下载我们的免费curl备忘单,您可以在其中了解curl的众多选项。ps管理系统资源主要由内核负责,当你喜欢或需要手动管理时,可以使用ps命令。读者可以在我的文章MonitoringLinuxSystemswithprocps-ng中了解ps。catcat命令是concatenate的缩写,曾经对于合并几个可能由于大小限制而被拆分(使用split命令)的小文件非常有用。如今,cat主要用于将文本文件的内容转储到终端中以便快速阅读,除非您专门为此使用head、tail等命令。尽管它的最初用途几乎已被弃用,并且其他几个命令大多提供其次要功能,但cat仍然是一个有用的工具。例如,它可以替代复制(cp)命令:$catmyfile.ogg>/backups/myfile.ogg它可以显示文件中不易观察到的不可见字符。例如,使用--show-tabs选项,分隔YAML的Tab字符将显示为^I:$cat--show-tabsmy.yaml----hosts:alltasks:-name:Makesurethecurrentversionof'sysstat'isinstalled.dnf:name:^I-sysstat^I-httpd^I-mariadb-serverstate:latest也可以用--show-nonprinting显示非打印字符,用--show-ends标记行尾,以及使用--number等提供行号。findfind命令可用于查找文件,但它也有许多选项可帮助您通过各种过滤器和参数查找文件。读者可以从我的介绍文章中了解命令的基础知识。如果您一直想知道为什么最基本、不起眼的ls命令不在此列表中,那是因为find的灵活性。它不仅可以列出文件:$find../bar.txt./baz.xml./foo.txt[…]它还可以提供一个长列表功能,详细信息:$find.-ls3014803464-rw-rw-r--1tuxusers473385Jul2607:25./foo.txt3014837900-rwxrwxr-x1tuxusers918217Nov62019./baz.xml3026891452-rw-rw-r--1tuxusers461354Aug1013:41./foo.txt也是一个技术问题,[…]tar人们有时会通过引用BSDtar语法来取笑Linux命令。尽管享有盛誉,但tar命令实际上非常直观。读者可以阅读我的Howtouncompressatar.gzfile一文,简单介绍一下在需要的时候使用tar命令。more、less、most统称为分页命令。分页命令类似于cat,但它会在屏幕底部暂停输出,直到您向下滚动以查看更多内容。这些命令相对简单,但每个命令之间存在细微差别。用户是否使用箭头键或空格键滚动?是必须手动退出,还是显示文件结束后自动退出?用户首选的搜索行为是什么?选择您最喜欢的分页命令并将其设置在您的.bashrc中!ssh和scpOpenSSH不仅有助于保护与远程系统的连接,还可以用于启用其他命令。例如,对于许多用户来说,需要一个.ssh目录才能顺利地与Git存储库交互、发布网站更新以及登录云控制平台。mvmv命令有双重作用:它既可以移动文件又可以重命名文件。它有几个可用的保护措施,例如--interactive和--no-clobber选项以避免破坏现有文件,--backup命令确保在新位置被验证之前保留数据,以及--update选项确保旧版本不替换新版本文件。sudo当用户帐户具有已知的用户名和完整的系统权限时,该用户很快就会成为黑客的目标。sudo命令消除了真正成为root的需要,优雅地删除了有关系统的重要信息。但这还不是全部,使用sudo还可以轻松管理单个命令、用户和组的权限。您可以对选定的命令启用无密码执行、记录用户会话、使用摘要身份验证对命令进行身份验证等等。alias使用alias命令将长命令变成易于记忆的快捷方式:$aliasls='ls--classify--almost-all--ignore-backups--color'clear在某些shell中按Ctrl+L后,你可以得到一个漂亮的、刷新的屏幕。setfacl传统上,POSIX文件权限由chown和chmod确定。然而,现在的系统变得更加复杂,所以有更灵活的命令。setfacl命令允许创建访问控制列表(ACL),为任何用户配置所需的权限,并为文件夹和在其中创建的内容设置默认权限。netcat可能没有多少人需要netcat(nc),但使用它的人离不开它。nc命令是一个通用的网络连接工具。可以连接一个端口,类似telnet命令:$nc-u192.168.0.1280可以ping一个端口,类似ping命令:$nc-zvn192.168.0.1225可以检测开放端口,类似nmap命令:$nc-zv192.168.0.1225-80以上只是该命令的一小部分用法。您自己构建的命令在某种程度上,Linux终端是一个创造性解决问题的平台。当您学习命令时,您也在学习可用于创建您自己的命令的块。MyShellHistory中的许多命令都是我自己编写的shell脚本,允许您根据自己的工作方式自定义工作流程。您为自己的效率和舒适度而设计的命令也可以作为shell中的基本命令使用。花时间学习一些很棒的命令,然后尝试构建自己的命令。当您构建一个运行良好的命令时,请将其开源,以便您可以与他人分享您的想法!
