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