根据 StackOverflow 的一项调查(Attention Required! | Cloudflare),Linux 是专业开发人员使用最多的操作系统,占有 55.9% 的市场份额。
我想这不只是巧合,因为Linux 是免费和开源的,具有比竞争对手更好的安全性,并拥有强大的命令行,使开发人员和高级用户更有效率。
什么是 Linux 命令?
Linux 命令是在命令行上运行的程序。命令行是一个界面,它接受文本行并将它们处理成计算机的指令。
任何图形用户界面 (GUI) 都只是命令行程序的抽象。例如,当您通过单击“X”关闭窗口时,该操作后面会运行一个命令。
最常用的 40 个 Linux 命令
在进入最常用的 Linux 命令之前,请确保启动了终端。在大多数 Linux 发行版 GUI 中,使用 Ctrl + Alt + T 可以快速打开终端,你也可以在应用程序面板中搜索 “终端”。
现在让我们深入了解 40 个最常用的 Linux 命令。
- ls 命令
ls 可能是每个 Linux 用户在其终端中键入的第一个命令。它允许您列出所需目录(默认为当前目录)的内容,包括文件和其他嵌套目录。
ls
若要对命令的输出进行着色,可以使用以下命令:
ls --color=auto
现在命令输出是彩色的,你可以看到目录和文件之间的区别。但是每次都加上 --color=auto 效率低下。
这就是我们使用 alias 命令的原因。
- alias 命令
该命令允许您在 shell 会话中定义临时别名。创建别名时,您可以指示 shell 用一系列命令替换一个单词。
例如,若要设置为具有颜色而不每次都键入标志,可以使用:
alias ls="ls --color=auto"
如你所见,该命令采用了一个键值对参数,请注意,该值必须位于引号内。
如果要列出 shell 会话中的所有别名,可以不带参数地运行该命令:
alias
- unalias 命令
顾名思义,该命令旨在从已定义的别名中删除别名,您可以使用:
unalias ls
- pwd 命令
该命令代表“打印工作目录”,它输出你所在目录的绝对路径。例如,如果您的用户名是“john”,并且您位于 Documents 目录中,则其绝对路径为:
pwd# My result: /home/kinsta/Documents/linux-commands
- cd 命令
该命令非常受欢迎,它指的是“change directory”,它会将您切换到您尝试访问的目录。
例如,如果您在“Documents”目录中,并且尝试访问其中一个名为“Videos”的子文件夹,则可以通过键入以下命令来输入它:
cd Videos
您还可以提供文件夹的绝对路径:
cd /home/kinsta/Documents/Videos
该命令有一些技巧可以在使用它时为您节省大量时间:
转到家目录
cd
转到上一级目录
cd ..
返回之前额目录
cd -
- cp 命令
直接在 Linux 终端中复制文件和文件夹非常容易,要使用该命令,只需将其与源文件和目标文件一起输入:
cp file_to_copy.txt new_file.txt
还可以使用递归标志复制整个目录:
cp -r dir_to_copy/ new_copy_dir/
请记住,在 Linux 中,文件夹以正斜杠 (/) 结尾。
- rm 命令
你可以使用该命令删除文件和目录。但是,使用它时要小心,因为恢复以这种方式删除的文件非常困难(当然也不是完全没法恢复)。
要删除常规文件,请输入:
rm file_to_copy.txt
如果要删除空目录,可以使用递归 (-r) 标志:
rm -r dir_to_remove/
另一方面,要删除包含内容的目录,需要使用强制 (-f) 和递归标志(-r):
rm -rf dir_with_content_to_remove/
注意:
不要轻易使用 rm -rf,论坛里各位同行分享的 rm -rf 的惨痛教训实在是太多了[灵光一闪]。
- mv 命令
你可以使用该命令在文件系统中移动(或重命名)文件和目录。若要使用此命令,只需要输入其名称以及源文件和目标文件:
mv source_file destination_folder/mv command_list.txt commands/
若要使用绝对路径,请使用:
mv /home/kinsta/BestMoviesOfAllTime ./
mv 还可以用了重命名文件:
mv old_file.txt new_named_file.txt
- mkdir 命令
若要在命令行中创建文件夹,请使用 mkdir。只需指定新文件夹的名称。
例如,要创建一个目录来保存所有图像,只需输入:
mkdir images/
要使用简单的命令创建子目录,请使用 parent () 标志:-p
mkdir -p movies/2004/
- man 命令
man 可以显示任何其他命令的帮助手册页。
比如我们要查看 mkdir命令的手册页,请输入:
man mkdir
你甚至可以查看 man 命令的帮助手册页:
man man
- touch 命令
该命令通常用于创建新的空文件:
touch new_file_name
另外 touch 命令也可以修改指定文件的修改时间,只需要加上 -m 即可。
- chmod 命令
该命令允许你快速更改文件的权限,它有很多可用的选项。
文件可以具有的基本权限包括:
- r(读取)
- w(写入)
- x(执行)
最常见的用例之一是使文件可由用户执行:
chmod +x script
- ./ 命令
严格来说这其实只是个符号,但我认为值得一提。它允许你的 shell 运行一个可执行文件。
例如,使用此命令,你可以运行 Python 脚本或仅以 .run 格式提供的程序,例如 XAMPP。运行可执行文件时,请确保它具有可执行文件 (x) 权限,可以使用上面提到的 chmod 命令修改这些权限。
下面是一个简单的 Python 脚本,以及我们将如何使用符号运行它:./
#! /usr/bin/python3# filename: scriptfor i in range(20):print(f"This is a cool script {i}")
以下是我们将脚本转换为可执行文件并运行它的方法:
chmod +x script./script
- exit 命令
该命令用于结束 shell 会话:
exit
- sudo 命令
此命令代表“以超级用户执行”,它允许你在运行特定命令时充当超级用户或 root 用户。这是 Linux 保护自己并防止用户意外修改机器文件系统或安装不适当的软件包的方式。
sudo 通常用于安装软件或编辑用户主目录之外的文件:
sudo apt install gimpsudo cd /root/
它会要求您输入管理员密码,然后再运行您在密码后键入的命令。
- shutdown 命令
顾名思义,该命令可让系统关机。但是,它也可以用于停止和重新启动它。
若要立即关闭计算机电源(默认值为一分钟),请输入:
shutdown now
你还可以计划以 24 小时格式关闭系统:
shutdown 20:40
若要取消上一次的关机计划,可以使用以下标志:
shutdown -c
- top/htop 命令
top/htop是进程查看器,可让您直接从终端管理机器的资源。个人更喜欢 htop 的 UI,不多大多数情况下,默认不会安装 htop ,要使用的话需要先下载安装。
htop
- unzip 命令
unzip 命令允许您从终端提取 .zip 文件的内容。同样,默认情况下可能不会安装此包,因此请确保使用包管理器安装它。
在这里,我们正在解压缩一个充满图像的 .zip 文件:
unzip images.zip
- apt/yum/pacman 命令
无论你使用哪个 Linux 发行版,都会用到包管理器来安装、更新和删除软件。
需要根据运行的发行版使用其中一个。
以下示例将安装 GIMP,这是一款免费的开源软件,通常在大多数包管理器中可用:
基于 Debian(Ubuntu、Linux Mint)
sudo apt install gimp
基于 Red Hat(Fedora、CentOS)
sudo yum install gimp
基于 Arch(Manjaro、Arco Linux)
sudo pacman -S gimp
- echo 命令
该命令在终端中显示定义的文本:
echo "Cool message"
- cat 命令
Cat是“Concatenate”的缩写,可让你直接从终端创建、查看和连接文件,主要用于在不打开图形文本编辑器的情况下预览文件:
cat long_text_file.txt
- ps 命令
使用 ps 可以查看当前 shell 会话正在运行的进程。它打印有关正在运行的程序的有用信息,例如进程 ID、TTY (TeleTYpewriter)、时间和命令名称。
ps
- kill 命令
当程序无响应时,而你怎样都无法关闭它时,可以使用 kill 命令。
你可以通过输入 PID(进程 ID)或程序的二进制名称来终止进程:
kill 533494kill firefox
- ping 命令
ping是用于测试网络连接的最流行的网络终端实用程序。 有很多选项,但在大多数情况下,只需要用来测试域名或 IP 地址:
ping google.comping 8.8.8.8
- vim 命令
vim是一个免费的开源终端文本编辑器。
要启动 Vim,只需输入:
vim
vim 文本编辑器。
- history 命令
history 显示一个列表,包含了过去使用过的命令:
history
- passwd 命令
passwd 允许更改用户帐户的密码。
passwd
- which 命令
该命令可以输出 shell 命令的完整路径。
例如,我们可以使用它来检查 Python 的二进制路径:
which python# /usr/bin/python
- shred 命令
如果你希望文件无法恢复,可以使用 shred。此命令会重复覆盖文件的内容。
下面是一个内容很少的文件:
shred file_to_shred.txt
如果要立即删除文件,可以使用以下标志:-u
shred -u file_to_shred.txt
- less 命令
less(与More相反)是一个可让您向前和向后查看文件的命令:
less large_text_file.txt
- tail 命令
tail 也用于打印文件的内容,但默认情况下,它打印文档的最后 10 行,但你可以使用 -n 修改行数。
例如,要打印大型文本文件的最后几行:
tail long.txt
要仅查看最后四行:
tail -n 4 long.txt
- head 命令
默认输出文本文件的前 10 行,但可以与 -n 标志一起显示的任意数量的行:
head long.txthead -n 5 long.txt
- grep 命令
grep 是用于处理文本文件的最强大的实用程序之一,它搜索与正则表达式匹配的行并打印它们:
grep "linux" long.txt
也可以使用以下标志来计算模式重复的次数:-c
grep -c "linux" long.txt# 2
- whoami 命令
该命令(“谁是我”的缩写)显示当前正在使用的用户名:whoami
whoami# weller
通过使用环境变量 $USER,您将获得相同的结果:echo
echo $USER# weller
- whatis 命令
whatis 打印任何其他命令的单行说明,使其成为有用的参考:
whatis python# python (1) - an interpreted, interactive, object-oriented programming languagewhatis whatis# whatis (1) - display one-line manual page descriptions
- wc 命令
wc 代表 “word count(字数统计)”,顾名思义,它返回文本文件中的字数:
wc long.txt# 37 207 1000 long.txt
让我们分析一下此命令的输出:
- 37 行
- 207字
- 1000 字节大小
- 文件的名称 (long.txt)
如果只需要字数,请使用以下标志:-w
wc -w long.txt207 long.txt
- uname 命令
uname(“Unix name”的缩写)打印操作系统信息,当您知道当前的 Linux 版本时,这些信息会派上用场。
大多数情况下,我们会使用 -a 标志,因为默认输出不是那么有用:
uname# Linuxuname -a# Linux rockey9 5.14.0-284.30.1.el9_2.x86_64 #1 SMP PREEMPT_DYNAMIC Sat Sep 16 09:55:41 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
- neofetch 命令
neofetch 是一个 CLI(命令行界面)工具,可在 Linux 发行版的 ASCII 徽标旁边显示有关系统的信息,例如内核版本、shell 和硬件:
neofetch
在大多数发行版,此命令默认没有安装,因此请确保先使用包管理器安装它。
- find 命令
该命令基于正则表达式在目录层次结构中搜索文件。要使用它,请遵循以下语法:
find [flags] [path] -name [expression]
要在当前目录中搜索名为 long.txt 的文件,请输入以下内容:
find ./ -name "long.txt" # ./long.txt
若要搜索以 .py (Python) 扩展名结尾的文件,可以使用以下命令:
find ./ -type f -name "*.py" ./get_keys.py ./github_automation.py ./binarysearch.py
- wget 命令
wget(World Wide Web get)是从互联网下载内容的实用程序,下面介绍如何从 GitHub 存储库下载 Python 文件:
wget https://raw.githubusercontent.com/DaniDiazTech/Object-Oriented-Programming-in-Python/main/object_oriented_programming/cookies.py
Linux 命令备忘单
当你需要快速查看时,只需检索以下表:
命令 | 用法 |
ls | 列出目录的内容 |
alias | 定义或显示别名 |
unalias | 删除定义的 alias |
pwd | 打印工作目录 |
cd | 更改目录 |
cp | 复制文件和目录 |
rm | 删除文件和目录 |
mv | 移动(重命名)文件和目录 |
mkdir | 创建目录 |
man | 显示其他命令的手册页 |
touch | 创建空文件 |
chmod | 更改文件权限 |
./ | 运行可执行文件 |
exit | 退出当前 shell 会话 |
sudo | 以超级用户身份执行命令 |
shutdown | 关闭机器 |
htop | 显示进程和资源信息 |
unzip | 提取压缩的 ZIP 文件 |
apt, yum, pacman | 包管理器 |
echo | 显示文本行 |
cat | 打印文件内容 |
ps | 报告 shell 进程状态 |
kill | 终止程序 |
ping | 测试网络连接 |
vim | 高效的文本编辑 |
history | 显示以前命令的列表 |
passwd | 更改用户密码 |
which | 返回程序的完整二进制路径 |
shred | 覆盖文件以隐藏其内容 |
less | 以交互方式检查文件 |
tail | 显示文件的最后一行 |
head | 显示文件的第一行 |
grep | 打印与图案匹配的线条 |
whoami | 输出用户名 |
whatis | 显示单行描述 |
wc | 字数统计文件 |
uname | 显示操作系统信息 |
neofetch | 显示操作系统和硬件信息 |
find | 搜索遵循模式的文件 |
wget | 从 Internet 检索文件 |
总结
学习 Linux 需要一定的时间和精力,但一旦掌握了它的基本知识和工具,它将成为你最可靠的助手,让你在日常工作中如鱼得水。
Linux 的另一个优势是,它拥有强大的扩展性和可定制性,即使是经验丰富的用户也能不断发现新的用途。
除了本文提到的命令之外,还有许多其他实用的 Linux 命令,欢迎在评论区分享你的心得。
友情提示
本站部分转载文章,皆来自互联网,仅供参考及分享,并不用于任何商业用途;版权归原作者所有,如涉及作品内容、版权和其他问题,请与本网联系,我们将在第一时间删除内容!
联系邮箱:1042463605@qq.com