引言
作为一名后端工程师,使用终端是一种常见的做法,也是你应该学习的技能。许多命令和实用程序可以帮助你在使用 Linux 时更有效地完成任务。
基本 Linux 命令
如果你想使用 Linux 操作系统,学习常用的命令将会大有帮助。本篇将为后端工程师回顾一些基本到高级的 Linux 操作命令。
基础常用命令
Sudo Command
该命令是"superuser do"的缩写。sudo 是最常用的命令之一,可让你执行需要管理或 root 特权和权限的任务。
使用sudo命令时系统会提示用户重新使用密码进行身份验证。接下来,Linux 系统将记录一个时间戳,以跟踪用户在再次进行身份验证之前应该使用该命令的时间。默认情况下,每个 root 用户可以运行 sudo 命令 15 分钟/会话。
sudo 命令的语法:
bash
sudo [选项] 命令
常见选项:
-l
或--list
:列出当前用户可执行的sudo
命令。-v
或--validate
:验证sudo
权限是否仍然有效,可以用于延长授权的时间。-k
或--reset-timestamp
:重置sudo
授权的时间戳。-u
用户名:以其他用户的身份执行命令,前提是你有相应权限。-i
:以交互式方式获取超级用户权限,以root用户身份执行命令。
cd命令
cd
(Change Directory)是Linux和类Unix操作系统中的一个基本命令,用于更改当前工作目录。工作目录是命令行操作的基础路径,所有相对路径都是相对于当前工作目录来解析的。
另外,如果你想完全切换文件夹,你可以输入目录的完整路径,如下所示: 假设你要访问该Documents
文件夹。
bash
cd /home/username/Documents
# or you can do this as a shortcut.
cd ~/Documents
以下是一些可帮助你更快导航的快捷方式:
cd ..
:它可以帮助你上移一个目录。cd ~[username]
:它可以帮助你转到另一个用户的主目录。cd -
:它可以帮助你移动到以前的目录。
ls 命令
该ls
命令列出系统或目录中的文件和目录。如果运行此命令时不带标志、参数或选项,它将显示当前工作目录的内容。
要查看任何目录的内容,请导航该目录并键入命令ls
,或者键入ls
命令后跟所需的路径,如下所示: 要查看目录的内容Videos
:
bash
// Navigate
cd /home/username/Downloads/Videos
// Type the command
ls
或者
// Type the command followed by the path
ls /home/username/Downloads/Videos
以下是你可以与该ls
命令一起使用的一些选项:
ls -l
:以长格式(详细信息)显示文件列表。ls -a
:显示所有文件,包括所有隐藏文件ls -h
:以人类可读的格式显示文件大小。ls -R
:显示所有文件,包括子目录中的文件ls -t
:按修改时间排序文件列表。ls -lh
:以易于阅读的格式显示文件大小,例如 MB、GB 等
cat命令
该cat
命令是 Linux 中最常用的命令之一。它将文件内容列出、组合并将其写入标准输出。键入cat
命令,后跟文件名及其扩展名以运行该命令。例如,
bash
cat filename.txt
以下是使用该cat
命令的其他方法:
- 键入
cat > filename.txt
会创建一个新文件。 - 键入会将两个文件合并为.
cat filename1.txt filename2.txt > filename3.txt``filename3.txt
- 键入
tac filename.txt
内容会以相反的顺序显示。
查询日志
tail 命令
tail 命令是 Linux 和类 Unix 操作系统中用于显示文件尾部内容的实用工具。它通常用于查看日志文件、监控文件变化或仅显示文件的最后几行。
语法:
tail [选项] 文件名
常见选项:
-n num
或--lines=num
:显示文件的最后 num 行内容。 示例:tail -n 10 file.txt
(显示文件最后 10 行)。-f
或--follow
:实时监视文件的新增内容,并在内容变化时自动显示。 示例:tail -f log.txt
(实时监视 log.txt 文件的新增内容)。--pid=进程ID
:与-f
选项一同使用,指定进程ID,当该进程终止时,停止监视文件。 示例:tail -f --pid=12345 log.txt
。-n +num
:从文件的第 num 行开始显示内容。 示例:tail -n +20 file.txt
(从第 20 行开始显示内容)。
文件和目录操作命令
mkdir命令
该mkdir
命令用于一次创建一个或多个目录并为每个目录设置权限。如果你执行此命令,你必须有权在目录中创建新文件夹,否则你可能会收到权限被拒绝的错误。
这是一个基本语法:
arduino
mkdir [option] directory_name
这里有些例子:
arduino
mkdir videos
创建一个名为的目录videos
arduino
mkdir Documents/PDFs
创建一个名为PDFs
位于Documents
目录下面的新目录。
该mkdir
命令接受一些选项,例如:
- -p 或 ---parents 在两个现有文件夹之间创建目录。例如,将创建一个新目录。
mkdir -p Documents/PDFs/Books``PDFs
- 该
-m
选项设置文件权限。例如,运行该命令mkdir -m777 Documents/Books
将为所有用户设置完全读、写和执行的权限。 - 该
-v
选项为每个创建的目录打印一条消息。
cp命令
该cp
命令用于将文件或目录及其内容从一个位置复制到另一个位置。
要将文件从当前目录复制到另一个目录,请输入命令,cp
后跟文件名和目标目录。
例如:
avrasm
cp filename.txt ~/Documents
你可以将多个文件复制到同一位置,如下所示:
stylus
cp file1.txt file2.txt ~/Documents
将一个文件的内容复制到同一目录中的另一个文件。输入以下命令:
stylus
cp file1.txt file2.txt
要复制整个目录,请-R
在键入源目录和目标目录之前使用该选项,如下所示:
arcade
cp -R ~/Documents ~/Documents/All
MV命令
该mv
命令用于将文件或目录从源移动到目标或重命名文件和目录。
要使用该mv
命令,只需键入mv
文件名和目标目录,如下所示:
applescript
mv file.txt ~/Documents
mv
你还可以使用以下命令重命名文件:
haxe
mv old_file.txt new_file.txt
mv
最后,你还可以使用带有标志的命令将包括所有文件和子目录的完整目录移动到新目标,-rf
如下所示:
arcade
mv -rf ~/Documents/drectory1 ~/Documents/new_derectory
它-f
使用强制来实现它,使用时应该小心f
,最后它-r
是递归的,这意味着它将递归地访问每个子目录。
rmdir 命令
该rmdir
命令用于永久删除一个空目录。你应该使用 sudo 权限运行此命令。
例如,你想删除一个名为 的空子目录empty_folder
,可以使用rmdir
如下命令:
arduino
rmdir empty_folder
rm 命令
该rm
命令用于删除目录中的文件。不过,在执行该命令之前,必须先获得该sudo
命令的使用权限。另请注意,删除的文件或目录无法撤消。
这是一般语法:
bash
rm filename.txt
要删除多个文件,请输入以下命令:
gcode
rm filename1.txt filename2.txt filename3.txt
以下是你可以添加的一些可接受的选项:
-i
:在删除文件之前提示系统确认。-f
:允许系统无需确认即可删除。-r
:递归删除文件和目录。
vi命令
vi
使用两种操作模式来工作------插入模式和命令模式。该insert
模式用于编辑和创建文本文件,同时该command
模式执行保存、打开、复制和粘贴文件等操作。
要vi
在文件上使用,请输入:
apache
vi [filename.txt]
grep 命令
该greb
命令的意思是全局正则表达式打印。它允许你搜索特定文件中的所有文本。一旦找到匹配项,它就会打印包含特定模式的所有行。此命令有助于过滤大型日志文件。
例如,你要在 *filename* .txt 文件中搜索单词 *red* :
vim
grep red filename.txt
该命令的输出将显示包含 ***red 的***行。
权限命令
chmod 命令
该chmod
命令用于修改文件或目录的读、写、执行权限。在 Linux 中,每个文件都与三个用户类别相关联 -- 所有者 、 组成员 和 其他。
例如,这是一个通用语法:
css
chmod [option] [permission] [file_name]
虽然文件的所有者是唯一对任何文件具有完全权限的人,但你可以使用该chmod
命令向不同的用户或组授予不同的权限。
例如,要允许组成员和其他人读取、写入和执行该文件, 请使用以下命令将其更改为**-rwxrwxrwx** 权限类型,数值为 777 :
apache
chmod 777 filename.txt
该命令支持许多选项,包括:
- 使用
c
或 在进行更改时显示信息。--changes
- 使用
f
或 抑制错误消息。--silent
- 使用
v
或 显示每个已处理文件的诊断信息。--verbose
chown命令
该chown
命令意味着更改所有权。它允许你更改文件的所有权、到指定用户名或目录的符号链接。
这是一般语法:
scss
chown [option] owner[:group] file(s)
例如,你想让 user2成为****filename2.txt 的所有者 :
asciidoc
**chown user2 filename2.txt**
下载命令
wget命令
该wget
命令允许你从互联网下载文件,它在后台运行,不会妨碍其他正在运行的进程。wget命令 使用 HTTP、HTTPS 和 FTP 协议检索文件,并且可以执行递归下载。
输入以下命令来使用:
css
wget [option] [url]
例如,从 Mastering Backend 下载文件。假设这是要下载的文件。做这个:latest.zip
awk
wget <https://masteringbackend.com/latest.zip>
apt-get 命令
该命令是用于处理 Linux 中的高级包工具 (APT) 库的工具。它允许你从经过身份验证的来源检索信息和捆绑包,以管理、更新、删除和安装软件及其依赖项。apt-get
sudo`运行命令时需要使用command 。主要语法如下:`apt-get
apt-get [options] (command)
这些是你可以添加到apt-get 的最常用命令 :
- 用于
update
从源同步包文件。 - 用于
upgrade
安装所有已安装软件包的最新版本。 - 用于
check
更新包缓存并检查损坏的依赖项。
总结
学会Linux 常用命令是后端程序员的必备技能,本文介绍了一部分后端开发人员常用的Linux命令,每个命令都有更多的选项和用法。喜欢本文的可以点赞收藏,随时查阅和实践。