在本教程中,我们将了解什么是Linux,它与其他操作系统有何不同,一个Linux命令的初学者指南和一个常用Linux命令列表。
简介
每个人都至少有一个朋友是支持“Linux”的人,经常看不起Windows和Mac用户。如果你对你的“Linux”朋友的咆哮感到沮丧,想看看所有关于Linux的大惊小怪是什么,或者你只是出于好奇想尝试Linux的味道,那么你可能会遇到术语“Linux命令”。
在这篇Linux命令入门指南中,我们将尝试帮助您了解一些Linux的基本知识,以及如何从大量的Linux命令开始(不要被术语“海洋”吓倒,它只是意味着有很多命令)。让我们开始吧。
注意:深入了解操作系统、内核等概念就像跳进了一个我们爬不上来的兔子洞。这里的讨论非常微妙。
Linux是什么?
Linux是基于Linux内核的类unix操作系统家族中的一员,Linux内核最初是由Linus Benedict Torvalds开发的。Linux内核,连同一些GNU工具(如C库,编译器等),一个GUI和许多额外的软件通常组合成一个Linux发行版。
一些常见的Linux发行版有Debian、Kali Linux、Ubuntu、Fedora、Red Hat Enterprise Linux、CentOS、openSUSE、Arch Linux、Manjaro Linux、Gentoo等等。
在初学者和学生中,Ubuntu似乎是最受欢迎的。所以,我假设你有一个运行在Ubuntu(或任何风格的GNU/Linux,因为这无关紧要)上的系统供你使用,然后再继续学习Linux命令。
Shell提示符和终端
一旦安装了操作系统并且启动并运行了系统,您就可以开始使用新的Linux系统了。有两种方法可以与系统交互。一种是更简单的图形化方式,类似于Windows或Mac,使用鼠标(或触摸板)来控制屏幕上的光标。
第二种也是更好的与系统交互的方法是使用Shell。Shell是一个命令语言解释器,您可以在其中键入命令与计算机交互。如果您是Windows用户,您可能遇到过“cmd”处理器。使用shell将与此类似,但功能非常强大。
Bash (Bourne Again Shell)是许多Linux发行版中的主要命令处理器,用户可以在其中以文本形式输入命令,系统用相应的操作响应。
在任何Linux系统中,有多种方式可以进入shell界面,如shell提示符、终端窗口和虚拟控制台。在本教程中,我们将使用终端。
shell提示符是使用shell的非GUI方式,而终端模拟器或终端窗口是启动shell的GUI方式。有多种方式可以启动终端。在Ubuntu中,您可以右键单击桌面,并从上下文菜单中选择“终端”。
或者,还有一个键盘短。只需在Ubuntu中输入以下键。
同时,新闻ALT + F2在空格内输入“gnome-terminal”(不带引号),然后按回车键。
一旦启动终端模拟器,就会出现shell提示符,如上图所示。shell提示符上显示的第一个文本(同样,这取决于分布)是username@computername后面是当前工作目录和“$”符号。
如果最后一个字符是“#”符号,那么您可能以root用户身份登录,并且终端会话具有超级用户权限。
警告:只有当您打算执行需要管理员权限的设置和配置任务时,才需要以root用户或超级用户的身份登录。这些任务包括安装软件包、执行系统配置或网络配置。
既然这一点已经清楚了,让我们继续使用一些简单的命令。
简单的Linux命令
有一些简单的Linux命令,您可以键入它们,查看输出,并习惯终端及其布局。这些只是需要测试的简单命令,后面将解释更多命令及其功能。
日期
第一个命令是date。顾名思义,当您输入日期并按回车键时,终端将以当前日期和时间响应。
卡尔
如果日期是你的第一个命令,那么日历可能是你的第二个命令。输入cal,然后回车。
注意:在这里,当我说输入某个命令时,我的意思是输入命令并按下回车键来运行命令,除非另有说明。
清晰的
clear命令将通过删除之前输入的所有命令和相应的输出来清除终端屏幕。或者,您可以使用ctrl+l来实现相同的结果。
显示本用户信息
“whoami”命令将显示当前登录用户的用户名。
退出
为了结束终端的当前会话,可以输入exit命令,也可以直接关闭终端窗口。
基本的Linux命令
现在我们已经了解了一些简单的Linux命令以及如何使用终端,让我们继续学习一组基本Linux命令。这些命令不是根据它们所执行的功能进行分类的,而是由于它们是最常用和经常使用的命令而被挑选出来的。
在了解了这些基本命令之后,我将以更分类的方式列出一些其他命令。
“pwd”命令显示当前的工作目录。当您第一次启动终端时,您在登录用户的主目录中,在我的例子中,它是/home/ravi。每个用户帐户都有自己的主目录,通常是/home/username
为了列出当前工作目录中的文件和目录,我们使用“ls”命令。
大多数命令都有多个选项,您可以添加这些选项来修改命令的行为。这些选项通常由前面加连字符的单个字母组成。
例如,ls命令有许多选项,如-a、-l、-t等。添加这些选项将带来额外的功能,例如,通过使用-a选项,将显示所有的文件和目录,包括隐藏的文件和目录。
cd命令用于更改shell环境的工作目录,即它将您带到指定的目录。例如,从上面的ls命令输出中,我们在我们的主目录中有几个目录,如Documents、Downloads、Music、Pictures等。如果你想去图片,然后简单输入cd图片。
目录名区分大小写,例如“pictures”和“pictures”是不同的。另外,如果您的文件夹名称包含任何空格,那么直接使用它将会给您一个错误。例如,您有一个名为“my folder”的文件夹,那么您必须使用以下格式。
cd \文件夹
如果您想创建一个新目录,那么使用命令mkdir。例如,mkdir NewDir将在pwd中创建一个名为NewDir的新文件夹。如果您的目录名称包含任何空格,请遵循上述约定。
如果您有一个空目录,并且您想要删除它,那么您可以使用命令rmdir。如果您想删除的目录中有任何文件(或目录),那么rmdir将不起作用,您必须使用rm命令。
缺省情况下,rm命令只删除文件。但如果要删除非空文件夹,则使用该命令rm - r foldername.
man命令是Linux中非常有用的命令之一。它显示命令的手册页。man命令的参数可以是程序、实用程序或函数。例如,如果您想打开ls命令的“man”页面,只需输入man ls。
要退出手册页面,可以输入q。
- -help命令显示一个关于如何使用某个命令的简短解释,还显示可用选项的列表。大多数GNU命令支持- -help选项。例如,cd命令没有手册页,但是要获得关于cd命令的更多信息,可以使用- -help选项,如下所示。
cd - - - - - - -
Linux系统中的每个文件都与时间戳相关,也就是说,它包含最后访问时间、最后修改时间和最后更改时间等信息。但是,如果您想要更新文件的访问或修改次数,则可以使用touch命令。
触摸文件名
默认情况下,如果文件已经存在,touch命令将更改访问和修改时间戳。如果文件不存在,那么touch命令将创建一个空文件。
cp命令用于通过终端复制文件和目录。第一个参数是文件的源,第二个参数是文件(或目录)必须复制到的目标。
通过添加多个源参数和单个目标参数,可以复制单个文件或多个文件。
如果您想移动或重命名文件,那么可以使用mv命令。如果两个参数都是文件名,那么mv命令将重命名文件。但如果第二个参数是一个目录,则文件将从源文件夹移动到目标文件夹。
cat命令用于连接文件并在标准输出(即终端)上显示文件的内容。这是一种查看文件内容的简单方法,而不用担心对文件进行任何更改。例如,您有一个名为newfile.txt的简单文本文件,要立即查看其内容,只需使用cat命令。
echo命令用于在终端上显示一行文本。您还可以使用echo命令将一些文本数据移动到文件中。如果您有一个空文本文件,并希望向其中添加一行文本,那么使用Echo " text to be insert " > filename.txt.
df或disk free命令用于显示分区及其挂载的文件系统(逻辑上的)信息。只需输入命令df,结果将是关于各种文件系统的详细信息,它们的大小、已使用大小、可用大小、使用率百分比和挂载点。默认情况下,结果将以KB为单位显示。
du或disk usage命令用于查询文件或目录的磁盘使用情况。例如,如果您想知道Documents目录的磁盘使用情况,只需输入du Documents。如果du命令后面不带选项和参数,那么它将显示从当前工作目录作为父目录开始的所有目录的信息。
uname命令显示系统硬件(体系结构)和软件(内核及其版本)的基本信息。简单地输入uname将只显示内核(在我们的例子中是Linux)。因此,带option -a的uname将提供尽可能多的信息。
free命令提供关于已使用和未使用内存以及交换空间(虚拟内存)的信息。只需在终端中输入free,就可以得到关于空闲内存的结果。
sudo命令(superuser do或switch user do的缩写)允许用户以root或管理员权限执行命令。一般来说,安装软件、进行任何系统配置、更新系统软件(如操作系统)等都需要root权限。
例如,apt-get install packagename将在Ubuntu中安装相应的包(例如python)。但是如果没有根权限,此操作将失败。因此,您必须输入sudo apt-get install python3.6在您的系统中安装python3.6。
输入此命令后,系统将要求用户输入密码并对用户进行身份验证。
su命令是替代用户的缩写。该命令用于从一个用户切换到另一个用户。或者,您也可以使用su命令成为超级用户,只需输入su而不需要任何用户名。因此,su也被称为超级用户命令。
注意:默认情况下,root帐号在Ubuntu中是禁用的。另一种方法是输入sudo su。
file命令用于确定作为参数输入的文件类型。文件类型可以是ASCII文本,tar存档,HTML文档,ELF等。
tar命令是tape archiver的缩写,用于创建、查看、提取tar归档文件以及各种其他压缩文件格式,如gzip、bzip2等。例如,要将不同的文件存档为tarball(使用tar创建的存档),则必须使用以下命令。
Tar -cvf test.tar file1 file2 file3
选项c、v和f用于创建.tar归档文件、查看进度(详细地)并指示下一个参数是归档文件的名称。
要提取。tar文件,请使用tar -xvf test.tar。还有其他选项,如-j用于.bz2 (bzip2)归档文件,-z用于.gz (gzip)归档文件,-t用于查看归档文件的内容,等等。
如果您想知道系统的主机名,可以使用hostname命令。该命令还可以设置主机名。
高级包装工具是一种与包装系统交互的工具。用于软件管理,即安装、更新和删除软件包。有三种工具可用于此目的。
- 恰当的
- apt-get
- apt-cache
Apt-get用于安装、升级或删除软件包,apt-cache用于搜索新的软件包。
注意:使用“apt”命令需要root权限,因此必须在apt命令前使用sudo命令。
在安装任何新包之前,必须使用apt命令执行两个步骤。它们是sudo apt-get update,它将更新包数据库和sudo apt-get upgrade,以升级已经安装的包。
一旦一切都是最新的,您就可以继续安装新的包了。现在,如果你想安装一个新的软件,例如vlc player,使用下面的命令。
Sudo apt-get安装VLC
chmod命令用来修改文件(或目录)的访问权限。但是在进行任何更改之前,可以使用ls -l命令查看当前的权限。
-后的前三个值是与用户相关的权限,后三个值与组相关,后三个值与其他所有人相关。这里,r是读,w是写(修改),x是执行。
现在要修改这些权限,可以使用chmod命令。例如,您有一个shell脚本文件test.sh,其当前权限如下所示。
如果希望将其修改为user - rwx、group - r-x、others - r-x,则使用以下命令。
chmod 755 tesh.sh
这里,755表示权限的八进制值。对于user,权限是rwx,所以是111。它的八进制等于7。其余的情况也是如此。
Linux命令综合列表(分类明智列表)
注意:每个命令都有几个与之相关的选项,很难包含所有可能的组合和变化。因此,如果您有兴趣了解更多关于某个命令的信息,我建议您参考该特定命令的“man”页或“help”选项。
文件和导航命令
命令 | 剧情简介 | |
1 | ls | 列出文件和目录。 |
2 | ls - | 列出所有文件和目录,包括隐藏的。 |
3. | ls - l | 长格式列表,包含额外的详细信息,如所有者、文件类型、大小、时间戳等。 |
4 | cd dir | 更改工作目录为dir。 |
5 | CD或CD ~ | 移动到用户的主目录。 |
6 | cd . . | 移回父目录。 |
7 | cd / | 切换到根目录。 |
8 | 松材线虫病 | 显示当前工作目录。 |
9 | mkdir dir | 创建一个名为dir的目录。 |
10 | 删除目录dir | 删除空目录。 |
11 | rm文件 | 删除该文件。 |
12 | rm - r dir | 删除目录及其内容。 |
13 | rm - f文件 | 强制删除文件。 |
14 | rm射频dir | 强制删除目录(及其内容)。 |
15 | 猫的文件 | 显示文件的内容。 |
16 | cp file1 file2 | 将file1的内容复制到file2 |
17 | Cp -r dir1 dir2 | 将dir1的内容复制到dir2。如果不存在,则创建dir2。 |
18 | mv file1 file2 | 重命名或移动file1到file2。要移动,file2目录必须存在。 |
19 | 触摸文件 | 创建一个文件(如果不存在)或更新时间戳。 |
20. | 更多的文件 | 逐行或逐屏查看文件。 |
系统信息的命令
命令 | 剧情简介 | |
1 | 日期 | 显示当前日期和时间。 |
2 | 卡尔 | 显示当前月份的日历。 |
3. | 显示本用户信息 | 显示登录用户的用户名。 |
4 | w | 包含用户名、登录时间等的所有登录用户列表。 |
5 | 手指用户 | 显示用户名、登录名、主目录、shell等。 |
6 | 正常运行时间 | 告诉系统运行了多长时间。 |
7 | df | 显示所有文件系统上的可用磁盘空间量。 |
8 | 杜文件 | 显示参数(file或dir)使用的间隔磁盘。 |
9 | 免费的 | 显示内存和交换空间的详细信息。 |
10 | uname - | 显示硬件和软件信息(arch, Kernel等) |
11 | 男子命令 | 显示命令的手动页面。 |
12 | 那儿离应用 | 显示应用程序(文件)的源代码/二进制文件、手册页。 |
13 | whatis命令 | 命令的简要说明。 |
14 | ——文件 | 搜索所有目录并显示所有同名文件。 |
15 | 猫/proc/cpuinfo | 显示CPU信息。 |
16 | 猫/proc/meminfo | 显示内存信息。 |
文件压缩命令
命令 | 剧情简介 | |
1 | Tar -cvf newarchive.tar文件 | 创建新的。tar存档,命名为newarchive并包含文件。 |
2 | Tar -cvzf newarchev . Tar .gz文件 | 创建新的Gzip (.gz)文件。 |
3. | 焦油-cvjf newarchive.tar。bz2文件获取 | 创建新的Bzip2 (.bz2)文件。 |
4 | 焦油-xvf archive.tar | 解压.tar文件的内容到当前文件夹。 |
5 | tar -xvf archive.tar -C /dest/目录 | 解压.tar文件的内容到指定的文件夹。 |
6 | 焦油-xvzf archive.tar | 提取.gz文件的内容。 |
7 | 焦油-xvjf archive.tar | 提取.bz2文件的内容。 |
8 | 焦油tvf archive.tar | 列出.tar归档文件的内容。同样的命令也可以用来查看.gz和.bz2文件的内容。 |
9 | gzip文件 | 压缩文件并将其重命名为file.gz。 |
10 | gzip - d file.gz | 解压缩file.gz |
tar命令的常用选项如下所示。
-c创建一个存档文件。
-x -提取一个存档文件。
-v -详细显示过程。
-t -查看归档文件的内容。
-z -通过gzip (.gz)过滤档案。
-j -通过bzip2 (.bz2)过滤档案。
-r -追加文件(或目录)到现有的存档。
流程管理命令
命令 | 剧情简介 | |
1 | ps | 显示当前工作流程。 |
2 | 流行 | 显示所有正在运行的进程。 |
3. | 杀死pid | 用给定的pid终止进程。 |
4 | killall proc | 杀死所有名为proc的进程。 |
5 | pkill模式 | 终止所有与模式匹配的进程。 |
6 | bg | 列表已停止或后台进程。恢复已停止的工作。 |
7 | 成品 | 把最近的工作摆在前台。 |
8 | fg n | 把工作n放在前台。 |
文件搜索命令
命令 | 剧情简介 | |
1 | grep模式文件 | 在文件中搜索图案。 |
2 | Grep -r模式dir | 在目录中递归地搜索模式。 |
3. | 定位文件 | 查找文件的所有实例。 |
4 | 找到。- name文件名 | 在当前目录及其所有子目录中搜索名称以filename开头的文件和目录。 |
5 | pgrep模式 | 搜索所有命名进程,查找匹配的模式并返回它们的id(默认情况下)。 |
6 | 命令| grep pattern | 在命令的输出中搜索模式 |
文件权限的命令
命令 | 剧情简介 | |
1 | chmod octalvalue文件 | 根据八进制值更改文件的权限。 |
网络相关的命令
命令 | 剧情简介 | |
1 | ping主机名 | ping主机以检查它是否存在。 |
2 | 域名查询服务域 | 执行whois操作并获取域信息。 |
3. | 挖掘领域 | 显示有关域的DNS信息。 |
4 | 挖- x主机 | 反向查找主机。 |
5 | wget文件 | 下载文件。 |
6 | wget - c文件 | 继续已停止的下载。 |