来自公众号:Linux公社
链接:https://www.linuxmi.com/35-linux-minling.html
您是Linux新手还是只是疏于使用了?本文介绍的是您需要了解的所有命令。可以将此视为Linux终端的基本参考。这也适用于macOS命令行。Linux包含了大量命令,但是我们在这里选择了其中的35个最重要的命令。学习这些命令,您将更加熟悉Linux命令提示符。下面的列表按字母顺序显示。命令在列表中的位置并不代表它的有用性或简单性。有关命令用法的更多说明,请参阅其手册页。当然man命令在我们的列表中,它是manual的缩写。使用alias命令可以给命令或命令序列指定自己的名称。然后,您可以输入您的简称,然后Shell将为您执行命令或命令序列。linuxmi@linuxmi:~/www.linuxmi.com$ alias cls=clear这将设置一个名为cls的别名。这将是的另一个名称clear。当您键入cls时,它将像您键入clear一样清除屏幕。你的别名减少了一些按键。别名可能比这个简单的示例复杂得多。这里有一个名为pf(用于进程查找)的别名,它只是稍微复杂一点。请注意在命令序列周围使用了引号。如果命令序列中有空格,这是必需的。这个别名使用ps命令列出正在运行的进程,然后将它们通过grep命令传输。grep命令在ps的输出中查找与命令行参数$1匹配的条目。linuxmi@linuxmi:~/www.linuxmi.com$ alias pf='ps -e | grep $1'如果您想要发现shutter进程的进程ID (PID)——或者想要知道shutter是否在运行——您可以像这样使用别名。输入pf,空格,以及你感兴趣的进程名称:linuxmi@linuxmi:~/www.linuxmi.com$ pf shutter当终端关闭后,命令行上定义的别名也消失了。要使您的别名永久可用,请将其添加到.bash_aliases主目录中的文件中。cat命令(“concatenate”的缩写)将文件的内容列出到终端窗口。这比在编辑器中打开文件要快,而且您不可能意外地修改文件。要读取.bash_log_out文件的内容,在主目录是当前工作目录的情况下,键入以下命令:linuxmi@linuxmi:~$ cat .bash_logout如果文件的行数超过终端窗口中的行数,那么文本拉到的速度会快得让您无法阅读。您可以将来自cat的输出通过less管道传输,以使流程更易于管理。使用less,您可以使用向上和向下箭头键、PgUp和PgDn键以及主键和结束键在文件中向前和向后滚动。键入q退出less。linuxmi@linuxmi:~$ cat .bashrc | lesscd命令将更改当前目录。它将您带到文件系统中的新位置。如果要切换到当前目录内的目录,则只需键入cd和另一个目录的名称即可。linuxmi@linuxmi:~$ cd www.linuxmi.com如果要切换到文件系统目录树中其他位置的目录,请使用前导/表示目录路径。linuxmi@linuxmi:~/www.linuxmi.com$ cd /usr/local/bin要快速返回您的主目录,请使用 ~(波浪号)字符作为目录名。linuxmi@linuxmi:/usr/local/bin$ cd
另一个技巧:可以使用双点符号..表示当前目录的父目录。您可以键入以下命令进入目录:
假设您在目录中。父目录中还有其他目录,以及您当前所在的目录。要更改为其他目录之一,可以使用..符号缩短输入的内容。chmod命令设置文件或文件夹上的文件权限标志。这些标志定义了谁可以读取、写入或执行文件。当您使用-l (long format)选项列出文件时,您将看到一个类似于这样的字符串具体见Linux修改权限命令chmod用法示例:https://www.linuxmi.com/linux-chmod.htmlchown命令允许您更改文件的所有者和组所有者。使用ls -l列出我们的example.txt文件,我们可以在文件描述中看到dave dave。第一个指示文件所有者的名称,在本例中是用户linuxmi。第二个条目显示组所有者的名字也是linuxmi。每个用户都有一个在创建用户时创建的默认组。该用户是该组的唯一成员。这表明该文件不与任何其他用户组共享。可以使用chown更改文件的所有者或组,或同时更改文件的所有者或组。必须提供所有者和组的名称,中间用:字符分隔。您将需要使用sudo。要保留linuxmi作为文件的所有者,但设置linux为组所有者,使用以下命令:linuxmi@linuxmi:~/www.linuxmi.com$ sudo chown linuxmi:linux linuxmi.py要将所有者和组所有者都更改为linux,可以使用以下命令;linuxmi@linuxmi:~/www.linuxmi.com$ sudo chown linux:linux linuxmi.py要更改文件,使linuxmi再次成为文件所有者和组所有者,使用以下命令:linuxmi@linuxmi:~/www.linuxmi.com$ sudo chown linuxmi:linuxmi linuxmi.py在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。具体见 Linux curl 命令进阶:https://www.linuxmi.com/linux-curl-mingling.htmldf命令显示计算机安装的文件系统上的大小、使用空间和可用空间。两个最有用的选项是-h(human readable【通俗易懂的】)和-x(排除)选项。通俗易懂的选项以Mb或Gb而不是字节显示大小。排除选项允许您告诉df贴现您不感兴趣的文件系统。例如,使用snap命令安装应用程序时创建的squashfs伪文件系统。linuxmi@linuxmi:~/www.linuxmi.com$ df -h -x squashfsdiff命令比较两个文本文件并显示它们之间的差异。有许多选项可以根据您的需求定制显示。-y (side by side)选项并排显示行差。w(宽度)选项允许您指定用于避免绕行的最大行宽。在本例中,这两个文件称为alpha1.txt和alpha2.txt。--suppress-common-lines 防止diff列出匹配的行,从而使您能够关注具有差异的行。diff -y -W 70 linuxmi.py linux.py --suppress-common-lines下面的命令将在终端窗口上打印“Linux迷www.linuxmi.com与您分享关于开源的新鲜事”。linuxmi@linuxmi:~/www.linuxmi.com$ echo Linux迷www.linuxmi.com与您分享关于开源的新鲜事echo命令可以显示环境变量的值,例如,$USER、$HOME和$PATH环境变量。它们包含用户名、用户的主目录以及用户在命令行上键入内容时搜索匹配命令的路径。linuxmi@linuxmi:~/www.linuxmi.com$ echo $USER
linuxmi
linuxmi@linuxmi:~/www.linuxmi.com$ echo $HOME
/home/linuxmi
linuxmi@linuxmi:~/www.linuxmi.com$ echo $PATH下面的命令将导致发出哔哔声。e(转义代码)选项将转义的字符解释为“bell”字符。linuxmi@linuxmi:~/www.linuxmi.com$ echo -e '\a'echo命令在shell脚本中也是非常宝贵的。脚本可以使用此命令生成可见的输出,以指示脚本执行时的进度或结果。exit命令将关闭一个终端窗口,结束shell脚本的执行,或者使您退出SSH远程访问会话。linuxmi@linuxmi:~/www.linuxmi.com$ exitLinux中的Find(查找)命令是在Linux系统中最重要并且更有用的命令之一。Find命令主要用于指定匹配文件条件的参数查找或者定位文件和目录的列表。Find命令能够被使用基于各种各样的条件,例如permissions(权限),users(用户),groups(组),file type(文件类型),date(日期),size(大小)等等其它可能的条件。具体见Linux find 命令使用简述:https://www.linuxmi.com/linux-find-mingling-shiyong.htmlfinger命令提供一个关于用户的简短信息转储,包括用户最后一次登录的时间、用户的主目录和用户帐户的全名。free命令提供计算机内存使用情况的摘要。它对主随机访问内存(RAM)和交换内存都这样做。-h(人)选项用于提供人类友好的数字和单位。如果没有这个选项,图形将以字节表示。linuxmi@linuxmi:~/www.linuxmi.com$ free -hgrep实用程序搜索包含搜索模式的行。在查看alias命令时,我们使用grep搜索另一个程序ps的输出。grep命令还可以搜索文件的内容。这里我们在当前目录的所有文本文件中搜索单词“le”。linuxmi@linuxmi:~/www.linuxmi.com$ grep le *.py输出将列出文件的名称并显示与之匹配的行。高亮显示匹配的文本。更多详情见 Linux grep 命令高级用法实例:https://www.linuxmi.com/linux-grep-mingling-gaoji.htmllinuxmi@linuxmi:~/www.linuxmi.com$ groups linuxmi
linuxmi : linuxmi adm cdrom sudo dip plugdev kvm lpadmin lxd sambashare libvirt
linuxmi@linuxmi:~/www.linuxmi.com$ groups linux
linux : linuxgzip命令压缩文件。默认情况下,它删除原始文件并留下压缩版本。要同时保留原始版本和压缩版本,可以使用-k (keep)选项。linuxmi@linuxmi:~/www.linuxmi.com$ gzip -k linux.pyhead命令给出一个文件的前10行清单。如果希望看到更少或更多的行,可以使用-n (number)选项。在本例中,我们使用head,其缺省值为10行。然后重复该命令,只请求5行代码。linuxmi@linuxmi:~/www.linuxmi.com$ head linuxmi.com.cpp
linuxmi@linuxmi:~/www.linuxmi.com$ head -n 5 linuxmi.com.cpphistory命令列出您以前在命令行上发出的命令。您可以通过键入感叹号来重复历史记录中的任何命令!以及历史列表中的命令编号。linuxmi@linuxmi:~/www.linuxmi.com$ historylinuxmi@linuxmi:~/www.linuxmi.com$ !840linuxmi@linuxmi:~/www.linuxmi.com$ !!kill命令允许您从命令行终止进程。您可以通过提供要终止的进程的进程ID (PID)来实现这一点。不要随意杀死进程。您需要有一个很好的理由这样做。在本例中,我们将假装快门程序已经锁定。为了找到shutter的PID,我们将使用上面关于alias命令一节中的ps和grep技巧。我们可以搜索shutter进程,得到它的PID如下:linuxmi@linuxmi:~/www.linuxmi.com$ ps -e | grep shutter
14205 ? 00:00:02 shutter一旦我们确定了本例中的PID-14205,我们可以按如下方式杀死它:
linuxmi@linuxmi:~/www.linuxmi.com$ kill 14205
linuxmi@linuxmi:~/www.linuxmi.com$ ps -e | grep shutterless命令允许您在不打开编辑器的情况下查看文件。它使用起来更快,而且您不会无意中修改文件。使用更少的键,您可以使用向上和向下箭头键、PgUp和PgDn键以及主键和结束键在文件中向前和向后滚动。按Q键退出less。linuxmi@linuxmi:~/www.linuxmi.com$ less linuxmi.com.cpp您还可以将其他命令的输出传输到less中。要查看ls的整个硬盘驱动器清单的输出,请使用以下命令:这可能是大多数Linux用户遇到的第一个命令。它列出了您指定目录中的文件和文件夹。默认情况下,ls查找当前目录。对于ls,您可以使用许多选项,我们强烈建议您查看它的手册页。这里给出了一些常见的例子。使用-l (long)选项列出当前目录下的文件和文件夹的详细列表:具体详情见 Linux常用命令 ls 入门基础知识 https://www.linuxmi.com/linux-ls-rm.htmlman命令以less显示命令的“man页面”。手册页是该命令的用户手册。因为man使用less来显示man页面,所以您可以使用less的搜索功能。例如,要查看chown的手册页,可以使用以下命令:linuxmi@linuxmi:~/www.linuxmi.com$ man chown使用向上和向下箭头或PgUp和PgDn键来滚动文档。按q退出手册页或按h请求帮助。mkdir命令允许您在文件系统中创建新的目录。您必须向mkdir提供新目录的名称。如果新目录不在当前目录中,则必须提供新目录的路径。要在当前目录中创建名为“ubuntu”和'centos'的新目录,请使用以下两个命令:linuxmi@linuxmi:~/www.linuxmi.com$ mkdir ubuntu要在“ubuntu”目录中创建一个名为“2020”的新目录,可以使用以下命令:linuxmi@linuxmi:~/www.linuxmi.com$ mkdir ubuntu/2020如果您要创建一个目录,但是它的父目录不存在,那么您可以使用-p(父目录)选项让mkdir也创建所有必需的父目录。在下面的命令中,我们将在“centos”目录中的“linux”目录中创建“33”目录。“linux”目录不存在,但是我们可以让mkdir一次创建所有指定的目录:linuxmi@linuxmi:~/www.linuxmi.com$ mkdir -p centos/linux/33mv命令允许您将文件和目录从一个目录移动到另一个目录。它还允许您重命名文件。要移动文件,您必须告诉mv文件的位置以及您希望它移动到的位置。在本例中,我们将从主目录中移动一个名为atop.wrapper的文件,并将其放在当前目录中。linuxmi@linuxmi:~/www.linuxmi.com$ mv ~/code.png .要重命名该文件,您可以将其“mv”到具有新名称的新文件中。linuxmi@linuxmi:~/www.linuxmi.com$ mv code.png linuxmi.pnglinuxmi@linuxmi:~/www.linuxmi.com$ mv /linux/code.png ./linuxmi.pngpasswd命令允许您更改用户的密码。只需键入passwd来更改您自己的密码。您还可以更改另一个用户帐户的密码,但必须使用sudo。您将被要求输入两次新密码。linuxmi@linuxmi:~/www.linuxmi.com$ sudo passwd linuxping命令允许您验证与另一个网络设备是否具有网络连接。它通常用于帮助解决网络问题。要使用ping,请提供另一个设备的IP地址或机器名称。linuxmi@linuxmi:~/www.linuxmi.com$ ping 23.185.0.3ping命令将一直运行,直到您使用Ctrl+C停止它为止。要要求ping运行特定的ping尝试次数,使用-c (count)选项。linuxmi@linuxmi:~/www.linuxmi.com$ ping -c 5 23.185.0.3ps命令列出了正在运行的进程。使用不带任何选项的ps将导致它列出当前shell中运行的进程。linuxmi@linuxmi:~/www.linuxmi.com$ ps要查看与特定用户相关的所有进程,请使用-u (user)选项。这可能是一个很长的列表,因此为了方便,可以通过更少的管道。linuxmi@linuxmi:~/www.linuxmi.com$ ps -u linuxmi | less要查看每个正在运行的进程,请使用-e(每个进程)选项:linuxmi@linuxmi:~/www.linuxmi.com$ ps -e | lesspwd命令打印根/目录中的工作目录(当前目录),这非常简单。linuxmi@linuxmi:~/www.linuxmi.com$ pwdshutdown命令允许您关闭或重新启动Linux系统。linuxmi@linuxmi:~/www.linuxmi.com$ shutdownlinuxmi@linuxmi:~/www.linuxmi.com$ shutdown now您还可以安排关闭,并通知任何登录的用户等待关闭。要让shutdown命令知道何时关闭它,需要为它提供一个时间。这可以是从现在开始的一段时间,比如+90,或者一个精确的时间,比如23:00。您提供的任何文本消息都将广播给登录的用户。linuxmi@linuxmi:~/www.linuxmi.com$ shutdown 23:00 电脑将于今晚23:00关闭,保存您 的工作并在那之前注销!要取消关闭,使用-c(取消)选项。在这里,我们计划从现在开始关闭15分钟,然后我们改变了主意。linuxmi@linuxmi:~/www.linuxmi.com$ shutdown +15 Shutting down in 15 minutes!linuxmi@linuxmi:~/www.linuxmi.com$ shutdown -c使用ssh命令连接到远程Linux计算机并登录到您的帐户。要建立连接,您必须提供您的用户名和远程计算机的IP地址或域名。在本例中,用户linux正在192.168.150.135登录计算机。一旦连接建立,就会要求输入密码。linuxmi@linuxmi:~/www.linuxmi.com$ ssh linux@192.168.150.135在执行需要root或超级用户权限的操作(例如更改另一个用户的密码)时,需要使用sudo命令。tail命令给出一个文件的最后10行清单。如果希望看到更少或更多的行,可以使用-n (number)选项。在本例中,我们使用了tail,其缺省值为10行。然后重复该命令,只请求最后5行代码。tail -n 5 linuxmi.com.cpptop命令显示与Linux机器相关的实时数据。屏幕的顶部是状态摘要。第一行显示了时间和计算机已经运行了多长时间,有多少用户登录到它,以及过去1、5和15分钟的平均负载。第二行显示了任务的数量及其状态:正在运行、已停止、休眠和僵死状态。
您可以使用uname命令获得有关您正在使用的Linux计算机的一些系统信息。使用whoami查找您以谁的身份登录,或者谁登录到无人操作的Linux终端。学习Linux就像学习其他东西一样。在熟悉这些命令之前,您需要进行一些实践。一旦你掌握了这些命令,你就会在熟练掌握这些命令的道路上走得很好。