你应该知道的 40 个最常用的 Linux 命令

根据 StackOverflow 的一项调查(Attention Required! | Cloudflare),Linux 是专业开发人员使用最多的操作系统,占有 55.9% 的市场份额。

我想这不只是巧合,因为Linux 是免费和开源的,具有比竞争对手更好的安全性,并拥有强大的命令行,使开发人员和高级用户更有效率。


什么是 Linux 命令?

你应该知道的 40 个最常用的 Linux 命令

Linux 命令是在命令行上运行的程序。命令行是一个界面,它接受文本行并将它们处理成计算机的指令。

任何图形用户界面 (GUI) 都只是命令行程序的抽象。例如,当您通过单击“X”关闭窗口时,该操作后面会运行一个命令。


最常用的 40 个 Linux 命令

在进入最常用的 Linux 命令之前,请确保启动了终端。在大多数 Linux 发行版 GUI 中,使用 Ctrl + Alt + T 可以快速打开终端,你也可以在应用程序面板中搜索 “终端”。

现在让我们深入了解 40 个最常用的 Linux 命令。

  1. ls 命令

ls 可能是每个 Linux 用户在其终端中键入的第一个命令。它允许您列出所需目录(默认为当前目录)的内容,包括文件和其他嵌套目录。

ls

若要对命令的输出进行着色,可以使用以下命令:

ls --color=auto
你应该知道的 40 个最常用的 Linux 命令

现在命令输出是彩色的,你可以看到目录和文件之间的区别。但是每次都加上 --color=auto 效率低下。

这就是我们使用 alias 命令的原因。

  1. alias 命令

该命令允许您在 shell 会话中定义临时别名。创建别名时,您可以指示 shell 用一系列命令替换一个单词。

例如,若要设置为具有颜色而不每次都键入标志,可以使用:

alias ls="ls --color=auto"

如你所见,该命令采用了一个键值对参数,请注意,该值必须位于引号内。

如果要列出 shell 会话中的所有别名,可以不带参数地运行该命令:

alias
你应该知道的 40 个最常用的 Linux 命令

  1. unalias 命令

顾名思义,该命令旨在从已定义的别名中删除别名,您可以使用:

unalias ls
  1. pwd 命令

该命令代表“打印工作目录”,它输出你所在目录的绝对路径。例如,如果您的用户名是“john”,并且您位于 Documents 目录中,则其绝对路径为:

pwd# My result: /home/kinsta/Documents/linux-commands
  1. cd 命令

该命令非常受欢迎,它指的是“change directory”,它会将您切换到您尝试访问的目录。

例如,如果您在“Documents”目录中,并且尝试访问其中一个名为Videos”的子文件夹,则可以通过键入以下命令来输入它:

cd Videos

您还可以提供文件夹的绝对路径:

cd /home/kinsta/Documents/Videos

该命令有一些技巧可以在使用它时为您节省大量时间:

转到家目录

cd

转到上一级目录

cd ..

返回之前额目录

cd -
  1. cp 命令

直接在 Linux 终端中复制文件和文件夹非常容易,要使用该命令,只需将其与源文件和目标文件一起输入:

cp file_to_copy.txt new_file.txt

还可以使用递归标志复制整个目录:

cp -r dir_to_copy/ new_copy_dir/

请记住,在 Linux 中,文件夹以正斜杠 (/) 结尾。

  1. 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 的惨痛教训实在是太多了[灵光一闪]。

  1. mv 命令

你可以使用该命令在文件系统中移动(或重命名)文件和目录。若要使用此命令,只需要输入其名称以及源文件和目标文件:

mv source_file destination_folder/mv command_list.txt commands/

若要使用绝对路径,请使用:

mv /home/kinsta/BestMoviesOfAllTime ./

mv 还可以用了重命名文件:

mv old_file.txt new_named_file.txt
  1. mkdir 命令

若要在命令行中创建文件夹,请使用 mkdir。只需指定新文件夹的名称。

例如,要创建一个目录来保存所有图像,只需输入:

mkdir images/

要使用简单的命令创建子目录,请使用 parent () 标志:-p

mkdir -p movies/2004/
  1. man 命令

man 可以显示任何其他命令的帮助手册页。

比如我们要查看 mkdir命令的手册页,请输入:

man mkdir

你甚至可以查看 man 命令的帮助手册页:

man man
你应该知道的 40 个最常用的 Linux 命令

  1. touch 命令

该命令通常用于创建新的空文件:

touch new_file_name

另外 touch 命令也可以修改指定文件的修改时间,只需要加上 -m 即可。

  1. chmod 命令

该命令允许你快速更改文件的权限,它有很多可用的选项。

文件可以具有的基本权限包括:

  • r(读取)
  • w(写入)
  • x(执行)

最常见的用例之一是使文件可由用户执行:

chmod +x script
  1. ./ 命令

严格来说这其实只是个符号,但我认为值得一提。它允许你的 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
  1. exit 命令

该命令用于结束 shell 会话:

exit
  1. sudo 命令

此命令代表“以超级用户执行”,它允许你在运行特定命令时充当超级用户或 root 用户。这是 Linux 保护自己并防止用户意外修改机器文件系统或安装不适当的软件包的方式。

sudo 通常用于安装软件或编辑用户主目录之外的文件:

sudo apt install gimpsudo cd /root/ 

它会要求您输入管理员密码,然后再运行您在密码后键入的命令。

  1. shutdown 命令

顾名思义,该命令可让系统关机。但是,它也可以用于停止和重新启动它。

若要立即关闭计算机电源(默认值为一分钟),请输入:

shutdown now

你还可以计划以 24 小时格式关闭系统:

shutdown 20:40

若要取消上一次的关机计划,可以使用以下标志:

shutdown -c
  1. top/htop 命令

top/htop是进程查看器,可让您直接从终端管理机器的资源。个人更喜欢 htop 的 UI,不多大多数情况下,默认不会安装 htop ,要使用的话需要先下载安装。

htop
你应该知道的 40 个最常用的 Linux 命令

  1. unzip 命令

unzip 命令允许您从终端提取 .zip 文件的内容。同样,默认情况下可能不会安装此包,因此请确保使用包管理器安装它。

在这里,我们正在解压缩一个充满图像的 .zip 文件:

unzip images.zip
  1. 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
  1. echo 命令

该命令在终端中显示定义的文本:

echo "Cool message"
你应该知道的 40 个最常用的 Linux 命令

  1. cat 命令

Cat是“Concatenate”的缩写,可让你直接从终端创建、查看和连接文件,主要用于在不打开图形文本编辑器的情况下预览文件:

cat long_text_file.txt
你应该知道的 40 个最常用的 Linux 命令

  1. ps 命令

使用 ps 可以查看当前 shell 会话正在运行的进程。它打印有关正在运行的程序的有用信息,例如进程 ID、TTY (TeleTYpewriter)、时间和命令名称。

ps
你应该知道的 40 个最常用的 Linux 命令

  1. kill 命令

当程序无响应时,而你怎样都无法关闭它时,可以使用 kill 命令。

你可以通过输入 PID(进程 ID)或程序的二进制名称来终止进程:

kill 533494kill firefox
  1. ping 命令

ping是用于测试网络连接的最流行的网络终端实用程序。 有很多选项,但在大多数情况下,只需要用来测试域名或 IP 地址:

ping google.comping 8.8.8.8
  1. vim 命令

vim是一个免费的开源终端文本编辑器。

要启动 Vim,只需输入:

vim
你应该知道的 40 个最常用的 Linux 命令

vim 文本编辑器。

  1. history 命令

history 显示一个列表,包含了过去使用过的命令:

history
你应该知道的 40 个最常用的 Linux 命令

  1. passwd 命令

passwd 允许更改用户帐户的密码。

passwd
你应该知道的 40 个最常用的 Linux 命令

  1. which 命令

该命令可以输出 shell 命令的完整路径。

例如,我们可以使用它来检查 Python 的二进制路径:

which python# /usr/bin/python
  1. shred 命令

如果你希望文件无法恢复,可以使用 shred。此命令会重复覆盖文件的内容。

下面是一个内容很少的文件:

你应该知道的 40 个最常用的 Linux 命令

shred file_to_shred.txt
你应该知道的 40 个最常用的 Linux 命令

如果要立即删除文件,可以使用以下标志:-u

shred -u file_to_shred.txt
  1. less 命令

less(与More相反)是一个可让您向前和向后查看文件的命令:

less large_text_file.txt
你应该知道的 40 个最常用的 Linux 命令

  1. tail 命令

tail 也用于打印文件的内容,但默认情况下,它打印文档的最后 10 行,但你可以使用 -n 修改行数。

例如,要打印大型文本文件的最后几行:

tail long.txt
你应该知道的 40 个最常用的 Linux 命令

要仅查看最后四行:

tail -n 4 long.txt
你应该知道的 40 个最常用的 Linux 命令

  1. head 命令

默认输出文本文件的前 10 行,但可以与 -n 标志一起显示的任意数量的行:

head long.txthead -n 5 long.txt
你应该知道的 40 个最常用的 Linux 命令

  1. grep 命令

grep 是用于处理文本文件的最强大的实用程序之一,它搜索与正则表达式匹配的行并打印它们:

grep "linux" long.txt
你应该知道的 40 个最常用的 Linux 命令

也可以使用以下标志来计算模式重复的次数:-c

grep -c "linux" long.txt# 2
  1. whoami 命令

该命令(“谁是我”的缩写)显示当前正在使用的用户名:whoami

whoami# weller

通过使用环境变量 $USER,您将获得相同的结果:echo

echo $USER# weller
  1. whatis 命令

whatis 打印任何其他命令的单行说明,使其成为有用的参考:

whatis python# python (1) - an interpreted, interactive, object-oriented programming languagewhatis whatis# whatis (1) - display one-line manual page descriptions
  1. wc 命令

wc 代表 “word count(字数统计)”,顾名思义,它返回文本文件中的字数:

wc long.txt# 37 207 1000 long.txt

让我们分析一下此命令的输出:

  • 37 行
  • 207字
  • 1000 字节大小
  • 文件的名称 (long.txt)

如果只需要字数,请使用以下标志:-w

wc -w long.txt207 long.txt
  1. 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
  1. neofetch 命令

neofetch 是一个 CLI(命令行界面)工具,可在 Linux 发行版的 ASCII 徽标旁边显示有关系统的信息,例如内核版本、shell 和硬件:

neofetch
你应该知道的 40 个最常用的 Linux 命令

在大多数发行版,此命令默认没有安装,因此请确保先使用包管理器安装它。

  1. 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 
  1. 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