你是Linux新手还是有点生疏?以下是您需要知道的所有命令。可以将此作为Linux终端的重要参考。这也适用于macOS命令行。
Linux包含了大量的命令,但是我们选择了37个最重要的命令在这里展示。学习这些命令,您就可以在Linux命令提示符下更加熟悉了。
以下列表按字母顺序排列。命令在列表中的位置并不代表它的有用性或简单性。有关命令用法的最后一句话,请参阅其手册页。人的命令在我们的名单上,当然是“手动”的缩写
alias命令允许您为命令或命令序列指定自己的名称。然后您可以键入您的短名称,shell将为您执行命令或命令序列。
alias cls=clear这将设置一个名为cls的别名。这将是clear的另一个名字。当您键入cls时,它将清除屏幕,就像您键入clear一样。你的别名可以省下一些按键,当然。但是,如果您经常在Windows和Linux命令行之间移动,您会发现自己在一台Linux机器上键入windowscls命令,而这台机器不知道您的意思。现在它会知道的。
别名可能比那个简单的例子复杂得多。这里有一个名为pf(用于processfind)的别名,它稍微复杂一点。注意在命令序列周围使用引号。如果命令序列中有空格,则这是必需的。此别名使用ps命令列出正在运行的进程,然后通过grep命令对它们进行管道传输。grep命令在ps的输出中查找与命令行参数$1匹配的条目。
alias pf="ps -e | grep $1"如果您想发现shutter进程的进程ID(PID),或者想知道shutter是否正在运行,您可以使用这样的别名。键入pf、空格和您感兴趣的进程的名称:
pf shutter命令行上定义的别名将随着终端窗口而消失。当你关上它,它们就不见了。要使您的别名始终可用,请将其添加到.bash\u别名主目录中的文件。
cat命令(concatenate的缩写)将文件的内容列出到终端窗口。这比在编辑器中打开文件要快,而且不可能意外更改文件。要读取.bash\u log\u文件的内容,请在主目录是当前工作目录时键入以下命令,默认情况下是这样的:
cat .bash_logout当文件长度超过终端窗口中的行数时,文本将以过快的速度闪过,使您无法阅读。您可以通过较少的管道传递cat的输出,使过程更易于管理。使用较少的资源,您可以使用上下箭头键、PgUp和PgDn键以及Home和End键在文件中前后滚动。键入q从less退出。
cat .bashrc | lesscd命令更改当前目录。换句话说,它将您移动到文件系统中的一个新位置。
如果要更改到当前目录中的目录,只需键入cd和另一个目录的名称即可。
cd work如果要更改到文件系统目录树中其他位置的目录,请使用前导/,提供指向该目录的路径。
cd /usr/local/bin要快速返回主目录,请使用~(tilde)字符作为目录名。
cd ~还有一个窍门:你可以用双点符号。。表示当前目录的父目录。您可以键入以下命令进入目录:
cd ..假设你在一个目录里。父目录中有其他目录,以及您当前所在的目录。要切换到其他目录之一,可以使用。。符号来缩短您必须键入的内容。
cd ../gameschmod命令设置文件或文件夹的文件权限标志。标志定义谁可以读取、写入或执行文件。当您使用-l(长格式)选项列出文件时,您将看到一个字符串
-rwxrwxrwx如果第一个字符是a,则项目是文件,如果是d,则项目是目录。字符串的其余部分是三组三个字符。从左边开始,前三个代表所有者的文件权限,中间三个代表组的文件权限,最右边的三个字符代表其他人的权限。在每个集合中,r代表读取,w代表写入,x代表执行。
如果存在r、w或x字符,则授予文件权限。如果信件不存在,而出现-则不授予该文件权限。
使用chmod的一种方法是将要授予所有者、组和其他人的权限作为3位数字提供。最左边的数字代表所有者。中间的数字代表组。最右边的数字代表其他数字。此处列出了您可以使用的数字及其代表的内容:
看看我们的示例.txt文件中,我们可以看到这三组字符都是rwx。这意味着每个人都有读取、写入和执行文件的权限。
要为所有者设置读、写和执行权限(列表中的7);为组设置读和写权限(列表中的6);为其他组设置读和执行权限(列表中的5),我们需要使用chmod命令中的数字765:
chmod -R 765 example.txt要为所有者设置读、写和执行权限(列表中的7),为组和其他组设置读和写权限(列表中的6),我们需要使用chmod命令中的数字766:
chmod 766 example.txtchown命令允许您更改文件的所有者和组所有者。列出我们的示例.txt我们可以在文件描述中看到戴夫。其中第一个表示文件所有者的名称,在本例中是用户dave。第二个条目显示组所有者的名称也是dave。每个用户都有一个在创建用户时创建的默认组。该用户是该组的唯一成员。这表明该文件不与任何其他用户组共享。
可以使用chown更改文件的所有者或组,或同时更改两者。必须提供所有者和组的名称,并用:字符分隔。你需要使用sudo。要保留dave作为文件的所有者,但要将mary设置为组所有者,请使用以下命令:
sudo chown dave:mary example.txt要将所有者和组所有者都更改为mary,可以使用以下命令:;
sudo chown mary:mary example.txt要更改文件,使dave再次成为文件所有者和组所有者,请使用以下命令:
sudo chown dave:dave example.txtcurl命令是从统一资源***(url)或internet地址检索信息和文件的工具。
curl命令可能不是Linux发行版的标准部分。如果您使用的是Ubuntu或其他基于Debian的发行版,请使用apt get将此软件包安装到您的系统上。在其他Linux发行版上,请改用Linux发行版的包管理工具。
sudo apt-get install curl假设您想从GitHub存储库中检索单个文件。没有官方支持的方法。您必须克隆整个存储库。但是,使用curl,我们可以自己检索所需的文件。
此命令为我们检索文件。请注意,您需要使用-o(output)选项指定要保存的文件的名称。如果不这样做,文件的内容将在终端窗口中快速滚动,但不会保存到计算机。
curl https://raw.githubusercontent.com/torvalds/linux/master/kernel/events/core.c -o core.c如果不想查看下载进度信息,请使用-s(静默)选项。
curl -s https://raw.githubusercontent.com/torvalds/linux/master/kernel/events/core.c -o core.cdf命令显示计算机上已装入的文件系统的大小、已用空间和可用空间。
两个最有用的选项是-h(人类可读)和-x(排除)选项。“人类可读”选项以Mb或Gb为单位显示大小,而不是以字节为单位。exclude选项允许您告诉df不要考虑您不感兴趣的文件系统。例如,使用snap命令安装应用程序时创建的squashfs伪文件系统。
df -h -x squashfs相关:如何从Linux终端查看可用磁盘空间和磁盘使用情况
diff命令比较两个文本文件并显示它们之间的差异。有许多选项可根据您的要求定制显示器。
-y(并排)选项并排显示行差异。使用-w(width)选项可以指定用于避免环绕线的最大线宽。这两个文件在本例中称为alpha1.txt和alpha2.txt。--suppress common line阻止diff列出匹配的行,使您可以将注意力集中在有差异的行上。
diff -y -W 70 alpha1.txt alpha2.txt --suppress-common-lines相关:如何比较Linux终端中的两个文本文件
echo命令将文本字符串打印(回显)到终端窗口。
下面的命令将在终端窗口上打印“一串文本”。
echo A string of textecho命令可以显示环境变量的值,例如,$USER、$HOME和$PATH环境变量。它们包含用户名、用户的主目录以及用户在命令行中键入内容时搜索匹配命令的路径的值。
echo $USER echo $HOME echo $PATH以下命令将导致发出bleep。e(转义码)选项将转义的a字符解释为“bell”字符。
echo -e "\a"echo命令在shell脚本中也是非常有用的。脚本可以使用此命令生成可见的输出,以指示脚本执行时的进度或结果。
exit命令将关闭终端窗口,结束shell脚本的执行,或使您退出SSH远程访问会话。
exit如果记不起放在哪里,可以使用find命令来跟踪已知存在的文件。你必须告诉他们从哪里开始搜索以及它在找什么。在本例中,是。匹配当前文件夹,-name选项告诉find查找名称与搜索模式匹配的文件。
可以使用通配符,其中*表示任意字符序列,而?表示任何单个字符。我们使用*ones*来匹配任何包含“ones”序列的文件名。这将匹配像bones,stones和lonesome这样的词。
find . -name *ones*如我们所见,find返回了一个匹配列表。其中之一是一个名为Ramones的目录。我们可以告诉find只搜索文件。我们使用带有f参数的-type选项来实现这一点。f参数代表文件。
find . -type f -name *ones*如果希望搜索不区分大小写,请使用-iname(不区分大小写的名称)选项。
find . -iname *wild*finger命令提供有关用户的简短信息转储,包括用户上次登录的时间、用户的主目录和用户帐户的全名。
free命令提供计算机内存使用情况的摘要。它对主随机存取存储器(RAM)和交换存储器都这样做。-h(human)选项用于提供人性化的数字和单位。如果没有此选项,则数字以字节表示。
free -hgrep实用程序搜索包含搜索模式的行。当我们查看alias命令时,我们使用grep搜索另一个程序ps的输出。grep命令还可以搜索文件的内容。在这里,我们在当前目录的所有文本文件中搜索单词“train”。
grep train *.txt输出列出文件名并显示匹配的行。匹配的文本将高亮显示。
grep的功能性和纯粹的实用性肯定让您可以查看它的手册页。
groups命令告诉您用户是哪个组的成员。
groups dave groups marygzip命令压缩文件。默认情况下,它会删除原始文件并保留压缩版本。要保留原始版本和压缩版本,请使用-k(keep)选项。
gzip -k core.chead命令提供文件前10行的列表。如果希望看到更少或更多的行,请使用-n(number)选项。在本例中,我们使用head,其默认值为10行。然后我们重复这个命令,只需要五行。
head -core.c head -n 5 core.chistory命令列出以前在命令行上发出的命令。您可以通过键入感叹号来重复历史记录中的任何命令!以及历史记录列表中命令的编号。
!188键入两个感叹号将重复上一个命令。
!!kill命令允许您从命令行终止进程。您可以通过提供要终止的进程的进程ID(PID)来实现这一点。不要随便杀掉进程。你需要有充分的理由这样做。在本例中,我们将假设快门程序已锁定。
为了找到shutter的PID,我们将使用上面关于alias命令一节中的ps和grep技巧。我们可以搜索快门过程并获得其PID,如下所示:
ps -e | grep shutter.在这种情况下,一旦我们确定了PID-1692,我们可以按如下方式杀死它:
kill 1692less命令允许您在不打开编辑器的情况下查看文件。它使用起来更快,而且您不会无意中修改文件。使用更少的资源,您可以使用上下箭头键、PgUp和PgDn键以及Home和End键在文件中前后滚动。按Q键退出less。
要查看文件,请按以下方式将其名称提供给less:
less core.c您还可以将其他命令的输出通过管道传输到更少的内存中。要查看ls输出的整个硬盘的列表,请使用以下命令:
ls -R / | less使用/在文件中向前搜索并使用?向后搜索。
这可能是大多数Linux用户遇到的第一个命令。它列出了指定目录中的文件和文件夹。默认情况下,ls在当前目录中查找。有很多选择,你可以使用ls,我们强烈建议审查其手册页。这里给出了一些常见的例子。
要列出当前目录中的文件和文件夹,请执行以下操作:
ls要列出当前目录中的文件和文件夹以及详细列表,请使用-l(long)选项:
ls -l要使用人性化的文件大小,请使用-h(人类)选项:
ls -lh要包含隐藏文件,请使用-a(所有文件)选项:
ls -lhaman命令以较少的时间显示命令的“手册页”。手册页是该命令的用户手册。因为man使用less来显示手册页,所以可以使用less的搜索功能。
例如,要查看chown的手册页,请使用以下命令:
man chown使用上下箭头或PgUp和PgDn键滚动文档。按q退出手册页,或按h寻求帮助。
mkdir命令允许您在文件系统中创建新目录。必须向mkdir提供新目录的名称。如果新目录不在当前目录中,则必须提供新目录的路径。
要在当前目录中创建两个名为“invoices”和“quotes”的新目录,请使用以下两个命令:
mkdir invoices mkdir quotes要在“invoices”目录中创建名为“2019”的新目录,请使用以下命令:
mkdir invoices/2109如果要创建一个目录,但其父目录不存在,可以使用-p(parents)选项让mkdir也创建所有必需的父目录。在下面的命令中,我们正在“quotes”目录中的“annual”目录中创建“2019”目录。“年度”目录不存在,但我们可以让mkdir一次创建所有指定的目录:
mkdir -p quotes/yearly/2019还将创建“年度”目录。
mv命令允许您将文件和目录从一个目录移动到另一个目录。它还允许您重命名文件。
要移动文件,必须告诉mv文件的位置以及要将其移动到的位置。在本例中,我们移动一个名为阿帕奇.pdf从“~/Document/ukule”目录中,并将其放置在当前目录中,由单个表示。性格。
mv ~/Documents/Ukulele/Apache.pdf .要重命名该文件,请将其“移动”到具有新名称的新文件中。
mv Apache.pdf The_Shadows_Apache.pdf文件移动和重命名操作可以通过一个步骤实现:
mv ~/Documents/Ukulele/Apache.pdf ./The_Shadows_Apache.pdfpasswd命令允许您更改用户的密码。只需键入passwd来更改您自己的密码。
您也可以更改另一个用户帐户的密码,但必须使用sudo。系统将要求您输入两次新密码。
sudo passwd maryping命令允许您验证是否与另一个网络设备有网络连接。它通常用于帮助解决网络问题。要使用ping,请提供其他设备的IP地址或计算机名。
ping 192.168.4.18ping命令将一直运行,直到您用Ctrl+C停止它。
这里发生了什么:
要要求ping运行特定次数的ping尝试,请使用-c(count)选项。
ping -c 5 192.168.4.18要听到ping声,请使用-a(可听)选项。
ping -a 192.168.4.18ps命令列出正在运行的进程。使用ps而不使用任何选项会导致它列出当前shell中运行的进程。
ps要查看与特定用户相关的所有进程,请使用-u(user)选项。这可能是一个很长的列表,所以为了方便,管道通过它较少。
ps -u dave | less要查看正在运行的每个进程,请使用-e(每个进程)选项:
ps -e | less非常简单,pwd命令从root/目录打印工作目录(当前目录)。
pwdshutdown命令允许您关闭或重新启动Linux系统。
使用无参数关机将在一分钟内关闭您的计算机。
关闭
要立即关闭,请使用now参数。
shutdown now您还可以安排关机,并将挂起的关机通知任何登录的用户。要让shutdown命令知道您希望它何时关闭,您需要为它提供一个时间。这可以是一个固定的分钟数,例如+90,也可以是一个精确的时间,例如23:00。您提供的任何文本消息都会广播给登录的用户。
shutdown 23:00 Shutdown tonight at 23:00, save your work and log out before then!要取消关机,请使用-c(cancel)选项。在这里,我们计划从现在起关闭15分钟,然后改变主意。
shutdown +15 Shutting down in 15 minutes! shutdown -c相关:如何使用命令行重新启动或关闭Linux
使用ssh命令连接到远程Linux计算机并登录到您的帐户。要建立连接,必须提供您的用户名和远程计算机的IP地址或域名。在本例中,用户mary正在192.168.4.23登录计算机。一旦建立了连接,就会要求她输入密码。
ssh [email protected]她的用户名和密码已被验证和接受,她已登录。注意,她的提示已从“Nostromo”更改为“howtogeek”
Mary发出w命令列出“howtogeek”系统中的当前用户。她被列为从pts/1连接,pts/1是一个伪终端从机。也就是说,它不是直接连接到计算机的终端。
要关闭会话,mary键入exit并返回到“Nostromo”计算机上的shell。
w exit在执行需要root或超级用户权限的操作(例如更改另一个用户的密码)时,需要sudo命令。
sudo passwd marytail命令提供文件最后10行的列表。如果希望看到更少或更多的行,请使用-n(number)选项。在本例中,我们使用默认值为10行的tail。然后我们重复这个命令,只需要五行。
tail core.c tail -n 5 core.c使用tar命令,您可以创建一个可以包含许多其他文件的归档文件(也称为tarball)。这使得分发文件集合更加方便。您还可以使用tar从存档文件中提取文件。通常要求tar压缩归档文件。如果不要求压缩,则会以未压缩的方式创建存档文件。
要创建存档文件,您需要告诉tar要在存档文件中包含哪些文件,以及希望存档文件具有的名称。
在本例中,用户将归档当前目录中的Ukulele目录中的所有文件。
他们使用了-c(create)选项和-v(verbose)选项。verbose选项通过在将文件添加到归档文件时向终端窗口列出这些文件来提供一些视觉反馈。-f(filename)选项后跟所需的存档名称。在这种情况下,它是歌曲.tar.
tar -cvf songs.tar Ukulele/将文件添加到存档文件时,这些文件将列在终端窗口中。
有两种方法可以告诉tar您想要压缩存档文件。第一种是使用-z(gzip)选项。这告诉tar在创建存档文件后使用gzip实用程序压缩它。
通常将“.gz”作为后缀添加到这种类型的存档中。这使得从中提取文件的任何人都可以知道哪些命令要传递给tar以正确地检索文件。
tar -cvzf songs.tar.gz Ukulele/这些文件与以前一样添加到存档文件时,会列在终端窗口中,但由于压缩所需的时间,创建存档文件的时间会稍长一些。
要创建一个使用高级压缩算法压缩的归档文件,使用-j(bzip2)选项可以得到一个较小的归档文件。
tar -cvjf songs.tar.bz2 Ukulele/同样,在创建存档文件时会列出这些文件。-j选项明显慢于-z选项。
如果要归档大量文件,则必须在-z选项中进行选择,以获得适当的压缩和合理的速度,或者选择-j选项以获得更好的压缩和较慢的速度。
如下面的屏幕截图所示,“.tar”文件是最大的,也是最大的。焦油.gz“是小的,和”。焦油bz2“是档案中最小的。
要从存档文件中提取文件,请使用-x(extract)选项。-v(verbose)和-f(filename)选项的行为与创建存档时相同。使用ls确认要从哪种类型的存档中提取文件,然后发出以下命令。
ls tar -xvf songs.tar文件在解压缩时列出。请注意,还将为您重新创建Ukulele目录。
从文件中提取文件。焦油.gz“存档,使用-z(gzip)选项。
tar -xvzf songs.tar.gz最后,从“文件”中提取文件。焦油bz2“使用-j选项而不是-z(gzip)选项。
tar -xvjf songs.tar.bz2相关:如何从文件中提取文件。焦油.gz或者。焦油bz2Linux上的文件
top命令显示与Linux机器相关的数据的实时显示。屏幕顶部是状态摘要。
第一行显示您的计算机运行的时间和时间,有多少用户登录到它,以及过去一分钟、五分钟和十五分钟的平均负载。
第二行显示任务的数量及其状态:running、stopped、sleeping和zombie。
第三行显示CPU信息。字段的含义如下:
第四行显示了物理内存的总量,以及空闲、使用、缓冲或缓存的内存量。
第五行显示交换内存的总量,以及空闲、已用和可用的内存量(考虑到预期可以从缓存中恢复的内存)。
用户按了E键,将显示改为更易于理解的数字,而不是表示字节的长整数。
主显示中的列包括:
(命令列与屏幕截图不符。)
进程的状态可以是:
按Q键退出顶部。
相关:如何在Linux上使用nice和renice设置进程优先级
您可以使用uname命令获得有关正在使用的Linux计算机的一些系统信息。
w命令列出当前登录的用户。
w使用whoami来找出您是以谁的身份登录的,或者谁是以无人Linux终端的身份登录的。
whoami相关:如何在Linux中确定当前用户帐户
学习Linux就像学习其他东西一样。在熟悉这些命令之前,你需要一些练习。一旦你掌握了这些命令,你就可以很好地达到熟练程度。
有一个可能和Unix本身一样古老的笑话说,您需要知道的唯一命令是man命令。这里面有一点道理,但是有些手册页没有介绍是无法穿透的。本教程将为您提供所需的介绍。
对于Linux用户来说,命令行本质上是一个非常强大的工具。虽然更为用户友好的Linux操作系统(OS)提供了大量功能,而不需要进入终端,但它是操作系统的一个必要元素。与流行的观点相反,命令行甚至可以简化某些操作。 ...
... 在途中,它在每一个重要的命令停止,给你上下文和背景。这些都是学习的重要方面,可以防止事情变得枯燥。更好的是,加农炮的评论贯穿始终,其重点是使用终端作为一种工具。 ...
...已经了解了如何取消关闭或重新启动命令。然而,当一个重要的进程正在运行时——特别是在远程服务器上——很容易发现自己启动了一个shutdown命令。解决这个问题的方法是安装mollyguard,它可以通过检查某些参数来覆盖关机。...
...是,杀毒软件对于任何计算机、Windows、Linux或Mac都是至关重要的。此外,随着恶意软件和勒索软件的流行,以及针对Linux系统的恶意软件的增加,安装Linux防病毒套件至关重要。 ...
...它没有显示在任何地方,所以你怎么知道呢?这里有九个命令帮助检查Linux版本和当前发行版的内核版本。 ...
...代表“change group”,将文件分配给另一个组。知道这些很重要,但不像chmod那样常用。 ...
... 在使用终端时,了解当前的“工作”目录非常重要。许多命令会导致在当前目录中发生更改,您不希望在错误的目录中进行这些更改。 ...