来自 Windows 世界的新 Linux 转换者可能会发现使用命令行有点令人生畏。然而,使用起来并不困难。开始使用命令行所需要做的就是学习一些基本命令。
虽然大多数 Linux 发行版都是用户友好的并且具有易于使用的图形界面,但了解如何使用命令行可能非常有用。命令行使您可以更强大地控制系统并访问图形界面无法使用的功能。
在本文中,我们将介绍 Linux 系统管理员日常使用的一些最常见的 Linux 命令。
记住命令选项通常是没有必要的,而且可能会浪费时间。通常,如果您不经常使用该命令,您很容易忘记它的选项。
大多数命令都有一个--help
选项,它打印一条有关如何使用该命令的短消息并退出:
The man
命令#
几乎所有 Linux 命令都与手册页一起分发。手册页是一种文档形式,它解释了命令的作用、如何运行命令的示例以及它接受的参数。
The man
命令用于显示给定命令的手册页。
例如,要打开的手册页,cd
命令,您可以输入:
man cd
要浏览手册页,请使用Arrow
, Page Up
, and Page Down
键。您还可以按Enter
键一次移动一行,Space
栏移动到下一个屏幕,并且b
键返回一屏。要退出手册页,请按q
key.
浏览文件系统#
在 Linux 中,每个文件和目录都位于根目录下,即目录树中的第一个或最顶层目录。根目录由单个前导斜杠引用/
.
在对文件进行操作时导航文件系统时,可以使用资源的绝对路径或相对路径。
绝对路径或完整路径从系统根目录开始/
,相对路径从当前目录开始。
当前工作目录(pwd
命令)#
当前工作目录是用户当前正在工作的目录。每次与命令提示符交互时,您都是在一个目录中工作。
Use the pwd命令来找出您当前所在的目录:
pwd
该命令显示当前工作目录的路径:
/home/linuxize
更改目录(cd
命令)#
The cd(“更改目录”)命令用于更改 Linux 和其他类 Unix 操作系统中的当前工作目录。
当不带任何参数使用时,cd
将带您到您的主目录:
cd
要更改目录,可以使用其绝对或相对路径名。
假设目录Downloads
存在于运行命令的目录中,您可以使用该目录的相对路径导航到它:
cd Downloads
您还可以使用绝对路径导航到目录:
cd /home/linuxize/Downloads
两个点(..
),一个接一个,代表父目录,或者换句话说,代表当前目录的上一级目录。
假设您当前处于/usr/local/share
目录。要切换到/usr/local
目录(当前目录的上一级),您可以键入:
cd ../
向上移动两级:
cd ../../
要更改回之前的工作目录,请使用破折号 (-
) 字符作为参数:
cd -
如果要更改的目录名称中包含空格,则应该用引号将路径括起来或使用反斜杠 () 字符转义空格:
cd Dir\ name\ with\ space
使用文件和目录#
列出目录内容(ls
命令)#
The ls命令列表有关目录中文件和目录的信息。
当不带选项和参数使用时,ls
按字母顺序显示当前工作目录中所有文件名称的列表:
ls
要列出特定目录中的文件,请将目录的路径作为参数传递:
ls /usr
默认输出为ls
命令仅显示文件和目录的名称。使用-l
以长列表格式打印文件:
ls -l /etc/hosts
输出包括文件类型、权限、硬链接数量、所有者、组、大小、日期和文件名:
-rw-r--r-- 1 root root 337 Oct 4 11:31 /etc/hosts
The ls
命令默认不列出隐藏文件。隐藏文件是任何以句点 (.
).
要显示所有文件,包括隐藏文件,请使用-a
option:
ls -a ~/
显示文件内容(cat
命令)#
The cat命令打印一个或多个文件的内容,并通过将一个文件的内容附加到另一个文件的末尾来合并(连接)文件
要在屏幕上显示文件的内容,请将文件名传递给cat
作为一个论点:
cat /etc/hosts
创建文件(touch
命令)#
The touch命令用于更新现有文件和目录的时间戳以及创建新的空文件。
To 创建一个文件,指定文件名作为参数:
touch file.txt
如果文件已经存在,touch
会将文件的上次访问和修改时间更改为当前时间。
创建目录(mkdir
命令)#
在 Linux 中,您可以使用以下命令创建新目录(也称为文件夹)mkdir命令。
要创建目录,请将目录名称作为参数传递给命令:
mkdir /tmp/newdirectory
mkdir
可以采用一个或多个目录名称作为其参数。
如果参数是目录名,没有完整路径,则在当前工作目录中创建新目录。
要创建父目录,请使用-p
option:
mkdir -p Projects/linuxize.com/src/assets/images
上面的命令创建了整个目录结构。
When mkdir
被调用的是-p
选项,仅当目录不存在时才创建该目录。
创建符号链接 (ln
命令)#
符号链接(或符号链接)是指向另一个文件或目录的特殊类型的文件。
要创建到给定文件的符号链接,请使用ln命令与-s
选项,文件名作为第一个参数,符号链接的名称作为第二个参数:
ln -s source_file symbolic_link
如果只给出一个文件作为参数,ln
在当前工作目录中创建指向该文件的链接,其名称与其指向的文件相同。
删除文件和目录(rm
命令)#
要删除文件和目录,请使用rm命令。
默认情况下,当不带任何选项执行时,rm
不删除目录。它也不会提示用户是否继续删除给定文件。
要删除文件或符号链接,请使用rm
命令后跟文件名作为参数:
rm file.txt
rm
接受一个或多个文件或目录名作为其参数。
The -i
选项告诉rm
在删除每个给定文件之前提示用户:
rm -i file.txt
rm: remove regular empty file 'file.txt'?
Use the -d
删除一个或多个空目录的选项:
rm -d dirname
要递归删除非空目录及其中的所有文件,请使用-r
(递归)选项:
rm -rf dirname
The -f
选项告诉rm
永远不会提示用户并忽略不存在的文件和参数。
复制文件和目录(cp
命令)#
The cp命令允许您复制文件和目录。
要复制当前工作目录中的文件,请使用源文件作为第一个参数,使用新文件作为第二个参数:
cp file file_backup
要将文件复制到另一个目录,请指定目标目录的绝对路径或相对路径。当仅指定目录名称作为目标时,复制的文件将与原始文件具有相同的名称。
cp file.txt /backup
默认情况下,如果目标文件存在,它将被覆盖。
要复制目录,包括其所有文件和子目录,请使用-R
or -r
option:
cp -R Pictures /opt/backup
移动和重命名文件和目录(mv
命令)#
The mv命令(move 的缩写)用于将文件和目录从一个位置重命名和移动到另一个位置。
例如,要将文件移动到目录,您可以运行:
mv file.txt /tmp
要重命名文件,您需要指定目标文件名:
mv file.txt file1.txt
移动目录的语法与移动文件时的语法相同。
要一次移动多个文件和目录,请将目标目录指定为最后一个参数:
mv file.tx1 file1.txt /tmp
安装和删除软件包#
包管理器是一个允许您安装、更新、删除和以其他方式管理特定于发行版的软件包的工具。
不同的 Linux 发行版有不同的包管理器和包格式。
只有 root 或具有 sudo 权限的用户才能安装和删除软件包。
Ubuntu 和 Debian (apt
命令)#
Advanced Package Tool 或 APT 是基于 Debian 的发行版使用的包管理系统。
Debian 发行版中有多种命令行包管理工具,其中apt
and apt-get
是最常用的。
在安装新软件包之前,您需要先更新 APT 软件包索引:
apt update
APT 索引是一个数据库,保存系统中启用的存储库中可用软件包的记录。
要将已安装的软件包升级到最新版本,请运行:
apt upgrade
安装软件包就像运行一样简单:
apt install package_name
To 删除已安装的包, 进入:
apt remove package_name
CentOS 和 Fedora (dnf
命令)#
RPM 是 Red Hat Linux 及其衍生产品(例如 CentOS 和 Fedora)使用的功能强大的包管理系统。 RPM 也指rpm命令和.rpm
文件格式。
To 安装新包在基于 Red Hat 的发行版上,您可以使用yum
or dnf
命令:
dnf install package_name
从 CentOS 8 开始dnf
被取代yum
作为默认的包管理器。dnf
向后兼容yum
.
要将已安装的软件包升级到最新版本,请键入:
dnf update
删除软件包非常简单:
dnf remove package_name
文件所有权和权限#
在 Linux 中,对文件的访问是通过文件权限、属性和所有权来管理的。这确保只有授权的用户和进程才能访问文件和目录。
在 Linux 中,每个文件都与一个所有者和一个组相关联,并为三个不同类别的用户分配了权限访问权限:
每个类适用三种权限类型:
此概念允许您指定哪些用户可以读取文件、写入文件或执行文件。
要查看文件所有者和权限,请使用ls -l
命令。
更改权限(chmod
命令)#
The chmod命令允许您更改文件权限。它以两种模式工作:符号模式和数字模式。
使用数字模式时,您可以设置所有者、组和所有其他人的权限。每个写入、读取和执行权限都具有以下数值:
-
r
(读)= 4
-
w
(写)= 2
-
x
(执行)= 1
- 无权限 = 0
特定用户类别的权限数由该组的权限值的总和表示。
例如,要向文件所有者授予读写权限,并为组成员和所有其他用户授予只读权限,您可以运行:
chmod 644 filename
只有 root、文件所有者或具有 sudo 权限的用户才能更改文件的权限。
To 递归地对给定目录下的所有文件和目录进行操作,使用chmod
带有 -R, (–recursive) 选项的命令:
chmod -R 755 dirname
递归更改文件的权限时要格外小心。
改变所有权(chown
命令)#
The chown命令允许您更改给定文件、目录或符号链接的用户和组所有权。
要更改文件的所有者,请使用chown
命令后跟新所有者的用户名和目标文件:
chown username filename
要更改文件的所有者和组,请调用chown
命令后跟新所有者和组,并用冒号分隔(:
),没有中间空格和目标文件:
chown username:groupname filename
Use the -R
(--recursive
) 选项,递归操作给定目录下的所有文件和目录:
chown -R username:groupname dirname
提升权限(sudo
命令)#
The sudo命令允许您以其他用户身份运行程序,默认情况下为 root 用户。如果您在命令行上花费大量时间,sudo
是您将经常使用的命令之一。
Using sudo
而不是以 root 身份登录更安全,因为您可以向单个用户授予有限的管理权限,而无需他们知道 root 密码。
To use sudo
,只需在命令前面加上前缀sudo
:
sudo command
管理用户和组#
Linux 是一个多用户系统,这意味着多个人可以同时与同一个系统交互。组用于组织和管理用户帐户。组的主要目的是为组内用户共享的给定资源定义一组权限,例如读取、写入或执行权限。
创建用户(useradd
and passwd
命令)#
The useradd命令允许您创建新用户。
要创建新的用户帐户,请调用useradd
命令后跟用户名:
useradd newuser
创建用户后,通过运行以下命令设置用户密码passwd命令:
passwd newuser
删除用户(userdel
命令)#
在 Linux 中,您可以使用以下命令删除用户帐户userdel命令。
要删除名为的用户帐户,请将用户名传递给userdel
命令:
userdel newuser
Use the -r
(-remove) 选项用于删除用户的主目录和邮件池:
userdel -r newuser
管理组(groupadd
and groupdel
命令)#
要创建新组,请调用groupadd命令后跟组名称:
groupadd mygroup
要删除组,请使用groupdel以组名作为参数的命令:
groupdel mygroup
将用户添加到组(usermod
命令)#
要将现有用户添加到组中,请使用usermod命令后跟-G
选项和组名称:
usermod -a -G sudo linuxize
结论#
我们已经介绍了一些最常用的 Gnu/Linux 命令。
尽管您可以使用图形界面执行大多数开发和系统相关任务,但命令行可以提高您的工作效率并能够在更短的时间内完成更多工作。
单击每个命令上的链接以获取有关命令选项和用法的更多信息。
如果您有任何问题或反馈,请随时发表评论。