linux命令行解释:
- ls - Linux 中最常用的列出目录的命令
- pwd - 在 Linux 中打印工作目录命令
- cd - 用于浏览目录的 Linux 命令
- mkdir - 用于在 Linux 中创建目录的命令
- mv - 在 Linux 中移动或重命名文件
- cp - 与 mv 类似的用法,但用于在 Linux 中复制文件
- rm - 删除文件或目录
- touch - 创建空白/空文件
- ln - 创建指向其他文件的符号链接(快捷方式)
- cat - 在终端上显示文件内容
- clear - 清除终端显示
- echo - 打印命令后面的任何文本
- less - Linux 命令在终端中显示分页输出
- man - 访问所有 Linux 命令的手册页
- uname - 用于获取有关操作系统基本信息的 Linux 命令
- whoami - 获取活动用户名
- tar - 在 Linux 中提取和压缩文件的命令
- grep - 在输出中搜索字符串
- head - 从顶部返回指定的行数
- tail - 从底部返回指定的行数
- diff - 查找两个文件之间的差异
- cmp - 允许您检查两个文件是否相同
- comm - 结合了 diff 和 cmp 的功能
- sort - Linux 命令,用于在输出时对文件内容进行排序
- export - 在 Linux 中导出环境变量
- zip - Linux 中的 zip 文件
- unzip - 在 Linux 中解压缩文件
- ssh - Linux 中的 Secure Shell 命令
- sevice - 用于启动和停止服务的 Linux 命令
- ps - 显示活动进程
- kill and killall - 按进程 ID 或名称终止活动进程
- df - 显示磁盘文件系统信息
- mount - 在 Linux 中挂载文件系统
- chmod - 更改文件权限的命令
- chown - 用于授予文件或文件夹所有权的命令
- ifconfig - 显示网络接口和 IP 地址
- traceroute - 跟踪所有网络跃点以到达目标
- wget - 从互联网直接下载文件
- ufw - 防火墙命令
- iptables - 用于所有其他防火墙实用程序接口的基础防火墙
- apt, pacman, yum, rpm - 软件包管理器取决于发行版
- sudo - 在 Linux 中提升权限的命令
- cal - 查看命令行日历
- alias-为常用命令创建自定义快捷方式
- dd - 主要用于创建可启动的USB记忆棒
- whereis - 找到命令的二进制、源和手册页
- whatis - 查找命令的用途
- top - 实时查看活动进程及其系统使用情况
- useradd and usermod - 添加新用户或更改现有用户数据
- passwd - 为现有用户创建或更新密码
Linux 中的 ls 命令
ls 命令用于列出当前工作目录中的文件和目录。这将是您必须知道的最常用的 Linux 命令之一。
如上图所示,在没有任何参数的情况下单独使用该命令将为我们提供目录中所有文件和目录的输出。该命令在输出中显示数据方面提供了很大的灵活性。
了解有关 ls 命令的更多信息(链接到全文)
Linux 中的 pwd 命令
pwd 命令允许您在终端上打印当前工作目录。这是一个非常基本的命令,可以很好地解决其目的。
现在,您的终端提示符通常应该具有完整的目录。但如果没有,这可能是一个快速命令,用于查看您所在的目录。此命令的另一个应用是在创建脚本时,此命令可以允许我们找到保存脚本的目录。
Linux 中的 cd 命令
在终端内工作时,在目录中移动几乎是必要的。cd 命令是您必须知道的重要 Linux 命令之一,它将帮助您浏览目录。只需键入 cd 后跟目录,如下所示。
root@ubuntu:~# cd <directory path>
正如你在上面的命令中看到的,我只是输入了cd /etc/进入/etc目录。我们使用 pwd 命令打印当前工作目录。
Linux 中的 mkdir 命令
mkdir 命令允许您从终端内创建目录。默认语法是 mkdir,后跟目录名称。
root@ubuntu:~# mkdir <folder name>
正如您在上面的屏幕截图中看到的,我们仅使用这个简单的命令创建了 JournalDev 目录。
了解有关 mkdir 命令的更多信息(链接到文章)
cp 和 mv 命令
cp 和 mv 命令等效于 Windows 中的复制粘贴和剪切粘贴。但是由于 Linux 实际上没有重命名文件的命令,我们也使用 mv 命令来重命名文件和文件夹。
root@ubuntu:~# cp <source> <destination>
在上面的命令中,我们创建了名为 Sample 的文件的副本。让我们看看如果我们以相同的方式使用 mv 命令会发生什么。在本演示中,我将删除示例复制文件。
root@ubuntu:~# mv <source> <destination
在上面的情况下,由于我们在同一目录中移动文件,因此它充当重命名。文件名现已更改。
了解有关 cp 命令(链接到文章)和 mv 命令(链接到文章)的更多信息。
Linux 中的 rm 命令
在上一节中,我们删除了示例复制文件。rm 命令用于删除文件和文件夹,是您必须知道的重要 Linux 命令之一。
root@ubuntu:~# rm <file name>
root@ubuntu:~# rm -r <folder/directory name>
要删除目录,必须向其添加 -r 参数。如果没有 -r 参数,rm 命令不会删除目录。
Linux 中的touch命令
要创建新文件,将使用触摸命令。touch 关键字后跟文件名将在当前目录中创建一个文件。
root@ubuntu:~# touch <file name>
Linux 中的 ln 命令
要创建指向另一个文件的链接,我们使用 ln 命令。如果您打算以 Linux 管理员的身份工作,这是您应该知道的重要 Linux 命令之一。
root@ubuntu:~# ln -s <source path> <link name>
基本语法涉及使用 -s 参数,以便我们可以创建符号链接或软链接。
cat, echo, 和 less的命令
当您想输出文件的内容或将任何内容打印到终端输出时,我们使用 cat 或 echo 命令。让我们看看它们的基本用法。我在之前创建的新文件中添加了一些文本。
root@ubuntu:~# cat <file name>
root@ubuntu:~# echo <Text to print on terminal>
正如你在上面的示例中所看到的,cat 命令在我们的“新文件”上使用时,会打印文件的内容。同时,当我们使用 echo 命令时,它只是打印命令后面的任何内容。
当任何命令打印的输出大于屏幕空间并需要滚动时,将使用 less 命令。less 命令允许使用分解输出并使用回车键或空格键滚动浏览它。
执行此操作的简单方法是使用管道运算符 (|)。
root@ubuntu:~# cat /boot/grub/grub.cfg | less
了解有关 echo 命令(链接到文章)和 cat 命令(链接到文章)的更多信息。
Linux 中的 man 命令
man 命令是一个非常有用的 Linux 命令,你必须知道。使用 Linux 时,我们下载的软件包可以具有很多功能。知道这一切是不可能的。
手册页提供了一种非常有效的方法来了解几乎所有软件包的功能,您可以使用 Linux 发行版中的软件包管理器下载这些软件包。
root@ubuntu:~# man <command>
uname 和 whoami 命令
uname 和 whoami 命令允许您了解一些基本信息,当您在多个系统上工作时,这些信息非常方便。通常,如果您使用一台计算机,则不会像网络管理员那样经常需要它。
让我们看看命令的输出以及我们可以使用这些命令的方式。
root@ubuntu:~# uname -a
我提供给 uname 的参数 -a 代表“全部”。这将打印出完整的信息。如果未添加参数,则输出的只是“Linux”。
tar、zip 和unzip命令
Linux 中的 tar 命令用于在 Linux 中创建和提取存档文件。我们可以使用 tar 命令提取多个不同的存档文件。
要创建存档,我们使用 -c 参数,要提取存档,我们使用 -x 参数。让我们看看它的工作原理。
#Compress
root@ubuntu:~# tar -cvf <archive name> <files seperated by space>
#Extract
root@ubuntu:~# tar -xvf <archive name>
在第一行中,我们创建了一个名为 Compress.tar 的存档,其中包含 New-File 和 New-File-Link。在下一个命令中,我们从存档中提取了这些文件。
现在来解压缩和解压缩命令。这两个命令都非常简单。您可以在没有任何参数的情况下使用它们,它们将按预期工作。让我们看看下面的一个例子。
root@ubuntu:~# zip <archive name> <file names separated by space>
root@ubuntu:~# unzip <archive name>
由于我们已经在同一目录中拥有这些文件,因此解压缩命令会在覆盖这些文件之前提示我们。
了解有关 tar 命令(链接到文章)以及压缩和解压缩命令(链接到文章)的更多信息
Linux 中的 grep 命令
如果您希望在输出中搜索特定字符串,则 grep 命令会出现在图片中。我们可以通过管道 (|) 将输出发送到 grep 命令并提取所需的字符串。
root@ubuntu:~# <Any command with output> | grep "<string to find>"
这是命令的简单演示。了解有关 grep 命令的更多信息(链接到文章)
head和tail命令
输出大文件时,头部和尾部命令会派上用场。我创建了一个名为“单词”的文件,其中有很多按字母顺序排列的单词。head 命令将输出文件中的前 10 行,而 tail 命令将输出最后 10 行。这还包括任何空白行,而不仅仅是带有文本的行。
root@ubuntu:~# head <file name>
root@ubuntu:~# tail <file name>
如您所见,head 命令从文件顶部显示 10 行。
tail 命令输出文件中底部的 10 行。
了解有关 tail 命令的更多信息(链接到文章)
diff, comm和 cmp 命令
Linux 提供了多个命令来比较文件。diff、comm 和 cmp 命令比较差异,是您必须知道的一些最有用的 Linux 命令。让我们看看所有三个命令的默认输出。
root@ubuntu:~# diff <file 1> <file 2>
正如您在上面看到的,我在“新建文件编辑”文件中添加了一小段文字,上面写着“此行已编辑”。
root@ubuntu:~# cmp <file 1> <file 2>
cmp 命令只告诉使用不同的行号。不是实际文本。让我们看看 comm 命令的作用。
root@ubuntu:~# comm <file 1> <file2>
向左对齐的文本是仅存在于文件 1 中的文本。居中对齐的文本仅存在于文件 2 中。并且两个文件中都存在右对齐的文本。
从外观上看,当我们尝试比较较大的文件并希望看到所有内容排列在一起时,comm 命令最有意义。
Linux 中的sort命令
排序命令将提供文件内容的排序输出。让我们使用不带任何参数的排序命令并查看输出。
排序命令的基本语法为:
root@ubuntu:~# sort <filename>
Linux 中的export命令
导出命令专门用于在运行时导出环境变量。例如,如果我想更新 bash 提示符,我将更新 PS1 环境变量。bash 提示将立即更新并生效。
root@ubuntu:~# export <variable name>=<value>
如果由于某种原因,您的 bash 提示符没有更新,只需输入 bash,您应该会看到更新的终端提示符。
了解有关导出命令的更多信息(链接到文章)
Linux 中的 ssh 命令
ssh 命令允许我们使用 ssh 协议连接到网络上的外部机器。ssh 命令的基本语法是:
root@ubuntu:~ -->> ssh username@hostname
了解有关 ssh 命令的更多信息(链接到文章)
Linux 中的service命令
Linux 中的服务命令用于启动和停止操作系统中的不同服务。该命令的基本语法如下。
root@ubuntu:~ -->> service ssh status
root@ubuntu:~ -->> service ssh stop
root@ubuntu:~ -->> service ssh start
如图所示,ssh 服务器正在我们的系统上运行。
ps、kill 和 kill all 命令
当我们讨论进程主题时,让我们看看如何找到活动进程并杀死它们。要查找正在运行的进程,我们只需在终端提示符中键入 ps 并获取正在运行的进程列表。
root@ubuntu:~ -->> ps
root@ubuntu:~ -->> kill <process ID>
root@ubuntu:~ -->> killall <process name>
出于演示目的,我正在创建一个具有无限循环的 shell 脚本,并将在后台运行它。
通过使用 & 符号,我可以将一个进程传递到后台。如您所见,创建了一个具有 PID 14490 的新 bash 进程。
现在,要使用 kill 命令杀死进程,您可以键入 kill ,然后键入进程的 PID。
但是,如果您不知道进程 ID,只想用该名称终止进程,则可以使用 killall 命令。
您会注意到 PID 14490 保持活动状态。那是因为两次,我都扼杀了睡眠过程。
了解有关 ps 命令的更多信息(链接到文章)。
df 和 mount命令
使用 Linux 时,df 和 mount 命令是非常有效的实用程序,用于挂载文件系统并获取文件系统的详细信息。
当我说挂载时,这意味着我们将设备连接到一个文件夹,以便我们可以从文件系统访问文件。挂载文件系统的默认语法如下:
root@ubuntu:~ -->> mount /dev/cdrom /mnt
root@ubuntu:~ -->> df -h
在上面的情况下,/dev/cdrom 是需要挂载的设备。通常,在 /dev 文件夹中可以找到可安装的设备。/mnt 是要将设备装载到的目标文件夹。您可以将其更改为所需的任何文件夹,但我使用了 /mnt,因为它几乎是用于挂载设备的系统默认文件夹。
要查看已安装的设备并获取有关它们的更多信息,我们使用 df 命令。只需键入 df 就会为我们提供不可读的字节数据。因此,我们将使用 -h 参数使数据可读。
了解有关 df 命令的更多信息(链接到文章)
chmod 和 chown 命令
chmod 和 chown 命令为我们提供了更改文件权限的功能,文件所有权是您应该知道的最重要的 Linux 命令。
两个命令的功能之间的主要区别在于,chmod命令允许更改文件权限,而chown允许我们更改文件所有者。
这两个命令的默认语法是 chmod <参数>文件名和 chown 用户:组文件名
root@ubuntu:~ -->> chmod +x loop.sh
root@ubuntu:~ -->> chmod root:root loop.sh
在上面的示例中,我们使用 chmod 命令向 loop.sh 文件添加可执行权限。除此之外,使用 chown 命令,我们使其只能由根用户和根组中的用户访问。
正如您将注意到的,根根部分现在更改为 www-data,这是拥有完全文件所有权的新用户。
了解有关 chmod 命令(链接到文章)和 chown 命令(链接到文章)的更多信息
ifconfig 和 traceroute 命令
转到 Linux 中的网络部分,我们会遇到 ifconfig 和 traceroute 命令,如果您管理网络,它们将经常使用。
ifconfig 命令将为您提供所有网络接口的列表以及有关该接口的 IP 地址、MAC 地址和其他信息。
root@ubuntu:~ -->> ifconfig
可以使用多个参数,但我们将在此处使用基本命令。
使用跟踪路由时,只需指定端点的 IP 地址、主机名或域名。
root@ubuntu:~ -->> traceroute <destination address>
现在很明显,本地主机只是一个跃点(这是网络接口本身)。您可以尝试使用任何其他域名或 IP 地址执行相同的命令,以查看数据包通过的所有路由器到达目的地。
Linux 中的 wget 命令
如果要从终端内下载文件,wget 命令是最方便的命令行实用程序之一。这将是您在处理源文件时应该知道的重要 Linux 命令之一。
指定要下载的链接时,它必须直接是指向文件的链接。如果 wget 命令无法访问该文件,它将仅以 HTML 格式下载网页,而不是您想要的实际文件。
让我们尝试一个例子。wget 命令的基本语法是:
root@ubuntu:~ -->> wget <link to file>
OR
root@ubuntu:~ -->> wget -c <link to file>
-c 参数允许我们恢复中断的下载。
ufw 和 iptables 命令
UFW 和 IPTables 是 Linux 内核的 netfilter 防火墙的防火墙接口。IPTables 直接将防火墙规则传递给 netfilter,而 UFW 在 IPTables 中配置规则,然后将这些规则发送到 netfilter。
当我们有IPTables时,为什么我们需要UFW?因为IPTables对于新手来说非常困难。UFW使事情变得非常容易。请参阅以下示例,我们尝试允许Web服务器的端口80。
root@ubuntu:~# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
root@ubuntu:~# ufw allow 80
我相信你现在知道为什么创建UFW!看看语法变得多么容易。这两种防火墙都非常全面,可以允许您创建网络所需的任何类型的配置。至少学习UFW或IPTables防火墙的基础知识,因为这些是您必须知道的Linux命令。
Linux 中的Package管理器
不同的Linux发行版使用不同的包管理器。由于我们在 Ubuntu 服务器上工作,因此我们有 apt 包管理器。但是对于在Fedora,Red Hat,Arch或Centos机器上工作的人来说,包管理器会有所不同。
- Debian 和基于 Debian 的发行版 - apt install <软件包名称>
- Arch 和基于 Arch 的发行版 - pacman -S <软件包名称>
- 基于红帽和红帽的发行版 - yum 安装<软件包名称>
- Fedora 和 CentOS - yum install <package>
从长远来看,让自己精通发行版的包管理器将使事情变得更容易。因此,即使您安装了基于 GUI 的包管理工具,在转到 GUI 实用程序之前,请尝试使用基于 CLI 的工具。将这些添加到您必须知道的 Linux 命令列表中。
Linux 中的 sudo 命令
“力量越大,责任越大”
这是启用 sudo 的用户 (sudoer) 首次使用 sudo 命令提升权限时显示的引号。此命令等效于以 root 用户身份登录(取决于您作为 sudoer 拥有的权限)。
non-root-user@ubuntu:~# sudo <command you want to run>
Password:
只需在您需要以升级的权限运行的任何命令之前添加单词 sudo,仅此而已。它使用起来非常简单,但如果恶意用户获得对 sudoer 的访问权限,也可能会增加安全风险。
了解有关 sudo 命令的更多信息(链接到文章)
Linux 中的 cal 命令
曾经想在终端中查看日历吗?我也没有!但显然有人希望它发生,而且就是这样。
cal 命令在终端上显示一个显示良好的日历。只需在终端提示符上输入单词cal即可。
<span style="color:#4d5b7c"><span style="background-color:#081b4b"><span style="color:#ffffff"><code>root@ubuntu:~<span style="color:#e3e8f4"># cal</span>
root@ubuntu:~<span style="color:#e3e8f4"># cal May 2019</span>
</code></span></span></span>
即使我不需要它,它也是一个非常酷的补充!我相信有些人是终端粉丝,这对他们来说是一个非常了不起的选择。
alias 命令
您是否有一些在使用终端时经常运行的命令?它可以是rm -r或ls -l,也可以是更长的东西,如tar -xvzf。这是您必须知道的提高生产力的 Linux 命令之一。
如果您知道经常运行的命令,那么是时候创建别名了。什么是别名?简单来说,它是您定义的命令的另一个名称。
root@ubuntu:~# alias lsl="ls -l"
OR
root@ubuntu:~# alias rmd="rm -r"
现在,每次您在终端中输入 lsl 或 rmd 时,您都会收到使用完整命令时收到的输出。
此处的示例适用于非常小的命令,您每次仍然可以手动键入这些命令。但是,在某些情况下,命令有太多需要键入的参数,最好创建相同的速记版本。
Linux 中的 dd 命令
创建此命令是为了转换和复制多种文件系统格式的文件。在当前,该命令仅用于为Linux创建可启动的USB,但仍然可以使用该命令执行一些重要操作。
例如,如果我想将整个硬盘驱动器按原样备份到另一个驱动器,我将使用 dd 命令。
root@ubuntu:~# dd if = /dev/sdb of = /dev/sda
if 和 of 参数代表输入文件和输出文件。
whereis 和 whatis 命令
命令的名称非常清楚地表明了它们的功能。但是,让我们演示一下它们的功能以使事情更加清晰。
whereis 命令将输出您在 whereis 命令之后键入的任何命令的确切位置。
root@ubuntu:~# whereis sudo
sudo: /usr/bin/sudo /usr/lib/sudo /usr/share/man/man8/sudo.8.gz
whatis 命令为我们解释了命令的实际含义。与 whereis 命令类似,您将收到在 whatis 命令之后键入的任何命令的信息。
root@ubuntu:~# whatis sudo
sudo (8) - execute a command as another user
Linux 中的top命令
前面几节,我们谈到了 ps 命令。您观察到 ps 命令将输出活动进程并自行结束。
top 命令类似于 Windows 中任务管理器的 CLI 版本。您可以实时查看进程以及这些进程随附的所有信息,例如内存使用情况,CPU使用情况等。
要获取 top 命令,您需要做的就是在终端中键入单词 top。
useradd和usermod命令
useradd 或 adduser 命令是完全相同的命令,其中 adduser 只是指向 useradd 命令的符号链接。此命令允许我们在 Linux 中创建新用户。
root@ubuntu:~# useradd JournalDev -d /home/JD
上面的命令将创建一个名为 JournalDev 的新用户,主目录为 /home/JD。
另一方面,usermod 命令用于修改现有用户。您可以修改用户的任何值,包括组、权限等。
例如,如果要向用户添加更多组,可以键入:
root@ubuntu:~# usermod JournalDev -a -G sudo, audio, mysql
了解有关如何在 Linux 上创建和管理用户的更多信息(链接到文章)
Linux 中的 passwd 命令
现在您知道如何创建新用户,让我们也为他们设置密码。passwd 命令允许您为自己帐户设置密码,或者如果您有权限,则为其他帐户设置密码。
命令用法非常简单:
root@ubuntu:~# passwd
New password:
如果在 passwd 后添加用户名,则可以为其他用户设置密码。输入新密码两次,您就完成了。就是这样!您将为用户设置一个新密码!