哪些是最基本的Linux命令?经常有读者问我这个问题,我尽量避免回答。为什么?我不知道Linux命令?不。这不是原因。这是因为很难对它们进行分类。对我来说必不可少的东西对你来说可能并不重要。但我想这适用于所有事物,我们网站上的每个此类推荐应用程序列表也是如此。这就是为什么我最终放弃并创建了这个基本但重要的Linux命令列表的原因,它应该可以帮助您作为Linux用户。这更适合像Ubuntu这样的桌面用户,但如果您将Ubuntu用作服务器,它们也应该对您有所帮助。基本Linux命令我在此处列出的每个命令都有多个选项和多种用途。如果我试着给出每个命令最常见的例子,它很容易变成一本超过10,000字的袖珍书。我不会详细介绍这些命令中的任何一个。我将列出每个命令的用途及其基本语法。您可以从这些命令的链接教程中阅读有关使用这些命令的更多信息。还有一件事。我在这里使用的术语文件夹多于目录。文件夹在Linux中称为目录,有些人可能不喜欢。但是,我相信对于初学者来说,这更容易掌握。1.ls命令:列出文件夹的内容这是Linux新用户最先学习的命令之一。此命令允许您查看当前文件夹中的文件和文件夹。ls您可以使用长列表选项ls-l查看文件大小、权限、修改时间等详细信息。如果需要,您可以对这些选项进行排序和控制。ls-lls命令的推荐阅读:ls命令示例2.cd命令:更改目录默认情况下,您从主目录开始。您经常需要更改目录并移动到另一个目录。例如,您下载了一个deb文件或脚本。现在你想运行它。您可以通过提供完整路径从当前工作目录运行它,但切换到下载位置会使事情变得更容易。cd命令代表“更改目录”,您可以更改位置并移动到另一个目录。cd命令示例此时,我强烈建议阅读Linux中路径的概念,以便在Linux命令行上浏览目录时容易理解。推荐阅读:cd命令示例3.cat命令:读取一个文本文件如果你想在Linux中快速查看一个文本文件的内容,cat是你需要使用的命令。它在屏幕上显示内容。cat文件名cat命令示例您还可以使用cat命令创建新文件或向现有文件添加更多文本。推荐阅读:cat命令实例4.less命令:读取大文本文件cat命令足以查看小文本文件。但是,如果您有一个包含数百行的巨大文本文件,我不建议使用cat。它会用所有文本淹没你的屏幕,你将很难处理它。这是less命令派上用场的地方。当您使用less打开文件时,它会以页面为单位打开文件。您可以向上/向下滚动、查找文本等。使用less命令读取大文件读取完文件后,您可以按Q键退出less视图。您会注意到屏幕上没有显示任何内容。你的屏幕很干净。推荐阅读:less命令示例5.touch命令:新建文件在Linux终端中,新建文件的方式有很多种。您在上面看到的cat命令也可以创建新文件。但是,我更喜欢为此目的使用touch命令。touchnew_file_nametouch命令ubuntu如果你在现有文件上使用它,它们的时间戳将被修改。推荐阅读:touch命令示例6.mkdir命令:创建新文件夹虽然没有创建新文件的具体命令,但是有一个专门用于创建新文件夹(或目录,我们在Linux中称为“目录”)。mkdirnew_dirmkdir命令示例推荐阅读:mkdir命令示例7.cp命令:复制文件和文件夹在命令行上复制文件和文件夹也是您会遇到的常见任务之一。cp命令是“复制”的缩写,用于此目的。想象一下,您必须修改一个配置文件。明智的做法是以另一个名称复制文件。这样,您就有了文件的备份。cpexisting_file.txtexisting_file.back您也可以使用相同的cp命令来复制目录。为此,您必须指定递归选项-r。cp-rdiranother_locationcp命令示例推荐阅读:cp命令示例8.mv命令:剪切和粘贴或重命名文件和文件夹mv命令的意思是“移动”。当您将文件复制到另一个地方时,它会保留在原处。mv命令将文件和文件夹移动到另一个位置。您可以将其视为剪切和粘贴操作。mvfile.txt/another/location您也可以使用mv命令重命名文件。mvfile.txtnew_file.txt同样的mv命令也可以在没有任何特殊选项的情况下移动或重命名文件夹。mv命令示例推荐阅读:mv命令示例9.rm命令:删除文件和文件夹要在Linux终端中删除文件,可以使用rm(“Remove”的缩写)命令。rmfilename在命令行删除文件后没有撤消选项。这就是为什么在删除文件时必须非常小心。如果你害怕删除错误的文件,你可以使用交互模式的选项-i,它会给你一个额外的提示来确认操作。rm-i文件名使用递归选项-r,你也可以使用相同的rm命令来删除文件夹。rm命令示例推荐阅读:rm命令示例10.nano命令:编辑文件迟早,你会被要求修改一个文件的内容。想象一下,您必须更改SSH、Grub或其他一些应用程序的配置文件。为此,有一些基于命令行的文本编辑器。Ubuntu预装了Nano编辑器,它比Vim、Emacs等更容易使用。更容易使用并不意味着它像基于GUI的文本编辑器一样舒适。您将不得不使用键盘快捷键来移动、修改、保存和退出文件。要使用nano打开一个新的无标题文件,请使用:nano要在nano中编辑现有文件,请使用:nanofilename在这两种情况下,您应该会看到与此类似的界面。Nano命令示例要保存(或放弃更改)并退出编辑器界面,请使用Ctrl+x键。请参考我之前创建的Nano初学者指南来习惯它。11.clear命令:清除终端屏幕Nano感觉很复杂吧?让我分享一个简单的命令。clear命令可以清空终端。就是这样。清楚为什么需要这样做?好吧,如果你的终端屏幕上充满了随机的东西,而你想做一些新的事情。清理终端就像清理黑板或在笔记本中打开新的一页。12.ps命令:检查和管理进程ps命令用于管理系统上运行的进程。每个进程都有一个关联的ID,称为PID,可用于各种目的,例如终止进程。~$pspidtty时间cmd15358?00:00:00庆典15404?00:00:00pshere:PID:processIDTTY:controllingterminalassociatedwiththeprocess(现在不太重要)TIME:总CPU使用率TimeCMD:运行进程的命令名但是一个系统不可能只运行两个或三个过程,不是吗?要查看所有用户运行的所有进程,请使用:psaux这将提供一个巨大的进程列表以及关于它们的更多详细信息。如果您运行此命令,现在是使用clear命令的绝佳时机。进程列表推荐阅读:ps命令示例13.top命令:系统监控ps命令为您提供所有正在运行的进程,而top命令为您提供进程和系统资源消耗的实时视图。将top视为Linux中任务管理器的终端版本。通过top命令,你会看到很多有趣的细节。我主要使用top命令来检查哪个进程占用了过多的CPU或内存。如果您有兴趣进行试验,还有更好的顶级替代品。top命令要停止正在运行的top命令,请使用Ctrl+C键盘快捷键。14.lsblk命令:列出磁盘和分区lsblk命令列出系统中的所有块设备。用非常简单(在技术上不完全准确)的术语来说,它显示了磁盘和分区。~#lsblkNAMEMAJ:MINRMSIZEROTYPEMOUNTPOINTSloop07:0079.9M1loop/snap/lxd/22923loop17:10103M1loop/snap/lxd/23541loop27:2063.2M1loop/snap20/core/1623loop37:3048M1循环/snap/snapd/17336loop47:4048M1循环/snap/snapd/17029loop67:6063.2M1循环/snap/core20/1634vda252:0025G0磁盘├─vda1252:1024.9G0part/├─vda14252:1404M0part└─vda15252:150106M0part/boot/efivdb252:160466K1disk~#15,fdiskcommand:list另一个类似但更好的用于导出和管理磁盘和分区的命令是fdisk命令。它允许您操作磁盘分区。这意味着您可以使用此命令创建新分区、删除和调整现有分区的大小。您还可以使用它列出系统上的所有块设备,包括环回设备。如果您有许多分区、磁盘和环回设备(由Snap应用程序创建),sudofdisk-l输出可能会很大。我在这里显示输出的相关部分:Disk/dev/vda:25GiB,26843545600bytes,52428800sectorsUnits:sectorsof1*512=512bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDisklabeltype:gptDiskidentifier:0B7C796D-51CD-4DD4-962A-7D94B31690E2DeviceStartEndSectorsSizeType/dev/vda1227328524287665220143924.9GLinuxfilesystem/dev/vda11BIOS/dev/vda14bootM8120482048dev/vda1510240227327217088106MEFISystem16,find命令:搜索文件即使是桌面用户,你也会遇到在Linux命令行上搜索文件的情况。find命令是用于此目的的广泛且通用的命令。它有50多个选项,您可能永远用不完。下面是一个查找命令的示例,它将为您提供当前目录中以.txt扩展名结尾的所有文件。寻找。-typef-name"*.txt"其他常见示例包括按大小、修改时间等查找文件。您可以将find与exec或xargs结合使用以对find命令的结果进行操作。例如,您可以找到所有.txt文件并选择删除它们。推荐阅读:find命令示例17、grep命令:在文件内容中搜索find命令根据文件的名称和类型搜索文件。如果要根据文件的内容进行搜索,可以使用grep命令。因此,不是查找所有以.txt结尾的文件,而是查找所有包含文本foss的文件。grep-risearch_termgrep命令示例想了解更多?这里有一些更多的grep命令示例。方便的grep备忘单应该可以帮助您。18.kill命令:终止进程暴力不是答案……它是解决方案。只是在开玩笑!如果你有一个行为不端的进程占用了太多的系统资源,你可以找到它并使用kill命令终止它。sudokill-9process_ID_or_Name正如您在上面的命令中看到的,您需要知道进程ID(PID)或进程名称才能杀死它。您可以使用ps或top命令获取PID或确切的进程名称。ps辅助|grep-i"nameofyourdesiredprogram"你注意到grep命令的使用了吗?您已经在使用此列表中提到的命令。findkillprocess我不了解你,但当我寻找要杀死的流氓进程时,我感觉就像《飓风营救》中的LiamNeeson。Takedmemefindyoukillyou19,historycommand:回头看看你过去运行过哪些命令比如你前几天使用了一个特定的Linux命令。现在需要重新运行,但是记错了。您可以按向上和向下箭头键。对于许多Linux用户来说,这是一个熟悉的场景:这就是history命令的作用。在Ubuntu中,您的shell会保留您运行的命令的历史记录。在终端中输入history,您将看到您过去运行过的命令的历史记录。history命令让您可以选择从历史记录中运行一个条目,使用它的编号,就像这样。!number但即使是历史也可能很大,所以(再次)使用grep命令来过滤您的搜索词。~$历史|grepaux1915psaux1952psaux|grep-ispotify1955ps-aux|grep-i计算器1957ps-aux|grep-i计算器1959ps-aux|grep-i计算器1970历史|grepaux也有进入命令历史和搜索的方法。按Ctrl+R,然后输入您的搜索词。推荐阅读:历史命令示例20.chmod命令:更改文件权限我强烈建议在此阶段阅读有关Linux文件权限的内容。这将帮助您更好地理解,而不是盲目地运行chmod命令。chmod(“更改模式更改模式”)命令用于更改文件权限。此命令最常见的用途是当您要使文件可执行时。有shell脚本吗?让它像这样可执行:chmodu+xfile-executable还有很多用例使chmod成为Ubuntu用户必须知道的命令。有趣的事实:chmod777命令将所有权限授予所有用户。这代表了我们的座右铭,即“让每个人都能获得知识”。21、lshw命令:获取硬件详细信息在Linux中,有大量的命令行工具可以用来获取硬件详细信息和其他系统信息。可能预装在Ubuntu上的是lshw(“列出硬件”的缩写)。现在,默认情况下,它显示了很多关于所有硬件组件的详细信息,相信我,这不是很容易理解。lshw在这里您可能会想使用grep,但没有必要。lshw的输出被分成几类,你可以用它来显示一类硬件的详细信息。想知道您的网络适配器的制造商吗?使用这个:lshw-C网络lshw命令示例22.sudo命令:使用root权限运行命令您一定已经注意到,我在前面讨论的一些命令中使用sudo作为前缀。默认情况下,在Ubuntu中,sudo的配置方式允许您(默认管理用户)以root权限运行任何命令。系统会要求您输入密码,这是您的用户帐户密码。当您输入密码时,屏幕上不会显示任何内容。新用户对此感到困惑,但这是UNIX/Linux上的预期行为。您输入密码并按回车键。sudo使用示例推荐阅读:Ubuntu23中的Root用户apt命令:安装、删除和管理.deb包在Ubuntu中,apt命令用于管理包。您必须将它与sudo一起使用,因为这些是管理任务。要安装软件包,请使用:sudoaptinstallpackage_name要删除已安装的软件包,请使用:sudoaptremovepackage_name要一次使用所有可升级软件包更新您的Ubuntu系统:sudoaptupdate&&sudoaptupgradeaptupdate与upgrade的区别在于:update会刷新包的缓存,而upgrade会实际安装更新。apt命令还有更多内容。您可以阅读这份详细的apt命令指南。24.add-apt-repository命令:添加和删除PPA嗯,这个命令不像十年前那么流行了。您仍然会到处遇到add-apt-repository命令。它用于管理系统上的PPA(非官方的、用户生成的软件存储库)。在网上学习教程时,您可能会遇到由三行组成的安装说明:sudoadd-apt-repositoryppa:dr-akulavich/lighttablesudoaptupdatesudoaptinstalllighttable-installer第一个命令是添加PPA(外部资源库)。您已经熟悉接下来的两个,它们用于更新包缓存和安装您刚刚添加的PPA存储库提供的软件。要删除PPA,您应该首先删除您从中安装的软件,然后像这样删除它:sudoadd-apt-repository-rppa:dr-akulavich/lighttable25,snap命令:安装、删除和管理Snap包到到目前为止,您了解了apt包及其管理。但是,Ubuntu也使用并积极推荐其Snap打包格式。学习一些基本的snap命令将帮助您有效地管理这些包。要查找包,请使用:snapfindsearch_term要安装包,请使用:sudosnapinstallpackage_name要列出已安装的Snap应用程序:snaplist要删除已安装的Snap应用程序,请使用:sudosnapremovepackage_name26,ip命令:检查IP地址和其他信息ip命令允许您检查您的IP地址。您还可以查看和操作路线、网络设备等。ipaipaddresscheck27.ping命令:检查远程系统是否可达Ping是另一个你应该知道的Linux网络命令。要检查远程系统是否可用,请将其IP地址提供给ping命令:pingip_address您还可以使用它来检查网站是否已关闭,尽管现在它不是很准确。ping命令ubuntu使用Ctrl+C来停止正在运行的ping命令。推荐阅读:Ping命令示例28.ssh命令:连接到远程系统我对将ssh添加到必须知道的Linux命令列表中持怀疑态度。许多桌面用户可能不需要它。SSH用于从您的终端连接到其他Linux系统。sshuser@address_of_remote_system当然,你需要知道远程系统的用户和密码。如果你的云服务器或家庭设置中有其他Linux系统,你可以使用它从你的主系统连接到它们。29.scp命令:在远程系统之间复制文件因为我在列表中包含了ssh,所以包含一些通过SSH连接在远程系统之间传输文件的命令是公平的。scp命令的工作方式与您之前看到的cp命令非常相似。下面是一个将文件从远程系统上的用户主目录复制到本地登录系统上的当前目录的示例。scpuser@remote_address:/home/用户名/文件名。推荐阅读:scp命令示例30.exit命令:关闭终端Linux的基本命令列表即将结束。因此,让我们谈谈退出终端。这很简单。如果您正在使用另一个用户或shell,只需键入exit,您将从那里注销。您也可以使用Ctrl+D键退出终端。31、关机命令:关闭或重启系统。如果您还没有退出终端,让我分享最后一个命令。从命令行关闭系统怎么样?使用shutdown命令来实现这一点:上面的shutdown命令计划在一分钟内关机。你可以立即关闭它:shutdown-now你也可以使用相同的shutdown命令来重启你的Ubuntu系统。shutdown-rnowMore:mancommand:了解有关命令的更多信息还有一个,这是最后一个,我保证。所有的Linux系统都有一个命令手册。它称为手册页,您可以通过以下方式访问已安装命令的手册页:mancommand_name理解手册页对于新用户来说可能是难以理解的,但它很方便。它为您提供命令的一般语法和所有选项的描述。当您不确定如何使用命令时,请先查看其手册页,然后再进行网络搜索。总是有更多……而且只有大约30个命令。这还不到Linux命令的20%。我还没有介绍很多网络命令。我什至没有涉及用户管理命令。我写这篇文章时考虑的是普通的Ubuntu桌面用户。这些是您更有可能使用的命令。从长远来看,对此有一些了解可能会有所帮助。除此之外,学无止境。即使是经验最丰富的Linux用户也在不断地发现和学习新事物。
