前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >用户必会的 20 个 Linux 基础命令

用户必会的 20 个 Linux 基础命令

原创
作者头像
用户1685462
修改于 2021-09-10 03:24:59
修改于 2021-09-10 03:24:59
38900
代码可运行
举报
文章被收录于专栏:网站教程网站教程
运行总次数:0
代码可运行

无论新手老手,这 20 个 Linux 命令都能让你的操作更轻松。

在黝黑的终端窗口中输入命令,这样的方式对某些人群来说可能好像过时了,但对许多专业计算机人员来说,这几乎是计算机完成能够执行的所有任务的最有效、最简便和最清晰的方式。如今,一些项目将开源命令引入了 macOS 和 Windows 等非开放平台,因此终端命令不仅仅是针对 Linux 和 BSD 用户,更是与每个人都息息相关。你可能会惊讶地发现,在一台普通的 POSIX 计算机上安装了数千个命令,当然,其中很多命令并不是真的有用,至少不是直接或经常性被使用。而其中的一部分命令虽然不是有效终端必须使用的命令,但相比其他命令而言使用频率较高,值得大家学习一下。

以下是终端用户最可能会使用的前 20 个命令:

cd

在终端外,你可以单击图标从一个文件夹移动到另一个文件夹,但在终端中,你需要使用 cdcd 命令代表变更目录change directory,是用户在 Linux 系统中移动的方式。这是 Linux 中从一个地方到另一个地方最快、最直接的路线。

例如,在桌面上,当你想从你的主目录(你保存所有文件夹的地方)移动到一个名为 presentations 的文件夹时,你首先要打开你的 Documents 文件夹,然后打开一个名叫 work 的文件夹,然后是 projects 文件夹,然后是 conference 文件夹,最后是 presentations 文件夹,里面存放的是 LibreOffice Impress 幻灯片。这个过程包含了很多次的双击操作。同时屏幕上还需要许多鼠标移动动作,这取决于新窗口出现的位置,以及大脑需要跟踪的许多路径点。许多人通过将 所有文件 都放在桌面上来避免这个看似微不足道的任务。

而终端用户只需键入以下内容即可避免此问题:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ cd ~/Documents/work/projects/conference/presentations

一些有经验的终端用户甚至都懒得输入所有这些,而是使用 Tab 键自动完成单词填充。更甚者,有时你都不必依赖自动完成,而是改用通配符:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ cd ~/Doc*/work/*/conf*/p*

pwd

用 Buckaroo Banzai 的话来说:“无论你走到哪里,你就在那里。”

当你想弄清楚确切位置时,就可以使用 pwd 命令。pwd 代表打印工作目录print working directory,这正是它的作用。--physical(在某些情况时缩写为 -P)显示解析所有符号链接后的确切位置。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ pwd/home/tux/presentation$ pwd --physical/home/tux/Documents/work/projects/conference/presentations

sed

流编辑器 sed 更广为人知的是一个强大的批量 查找和替换 命令,但它同时也是一个正当合理的文本编辑器。你可以通过阅读我的 介绍性文章 来学习使用它,然后通过我的 高级教程和备忘录 成为老手。

grep

grep 命令使用很普遍,以至于经常被用作动词(例如 “我会对一些文件进行 grep”)和动名词(例如 “grep 一些输出”)。无论是查看日志文件还是解析其他命令的输出,它都是在 shell 中解析文本时的关键组件。这是忙碌的用户专注于特定信息的一种方式。考虑一下计算世界中的数据量,grep 命令的流行就见怪不怪了。你可以通过阅读我的 介绍性文章 了解 grep,然后下载 备忘录 学习。

file

当你需要知道文件包含什么类型的数据时,请使用 file 命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ file example.fooexample.foo: RIFF (little-endian) data, Web/P image [...]$ file example.barexample.bar: ELF 64-bit LSB executable, x86-64 [...]

当然,file 命令并不神奇。它只不过是根据文件如何标识自身而进行输出的,并且文件可能是错误的、损坏的或伪装的。使用 hexdump 进行严格检查的方式确定性更强,但对于日常使用而言,file 命令非常方便。

awk

awk 不仅仅是一个命令,它还是一种字面意义上的 编程语言。点此下载我们的免费 Awk 电子书 进行学习,你可能会写出远超你想象的脚本。

curl

curl 命令是用于终端的 非交互式 Web 浏览器。它是面向 Web 和 API 开发人员的 开发工具。它是一个复杂灵活的命令,但如果你想从你的终端顺利地与 Web 服务交互,该命令是很值得学习的。

下载我们免费的 curl 备忘录,你可以从中学会 curl 的许多选项。

ps

管理系统资源主要由内核负责,当你更喜欢或更需要手动管理时,可以使用 ps 命令。读者可以在我的 使用 procps-ng 监控 Linux 系统 文章中了解 ps

cat

cat 命令 是连接concatenate的缩写,它曾因为能将若干小文件合并而显得非常有用,这些小文件可能是由于大小限制而(使用 split 命令)拆分的。如今,cat 主要是用来将文本文件的内容转储到终端中以供快速阅读,除非你为此专门去使用 headtailmore 或 less 等命令。

尽管它的原始用途几乎已被弃用,并且其他几个命令也主要提供了其次要功能,但 cat 仍然是一个有用的工具。例如,它可以是复制(cp)命令的替代品:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ cat myfile.ogg > /backups/myfile.ogg

它可以显示文件中不便观察的隐形字符。例如,使用 --show-tabs 选项,分割 YAML 的 Tab 字符就会显示为 ^I

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ cat --show-tabs my.yaml---- hosts: all  tasks:  - name: Make sure the current version of 'sysstat' is installed.    dnf:     name:^I- sysstat^I- httpd^I- mariadb-server     state: latest

它还可以用 --show-nonprinting 显示非打印字符,用 --show-ends 标记行尾,用 --number 提供行号,等等。

find

find 命令可以用来查找文件,但它还有许多选项,这些选项可以帮助你通过各种过滤器和参数查找文件。读者可以从我的 介绍性文章 中学习该命令的基础知识。

如果你一直想知道为什么最基本的、不起眼的 ls 命令,不在本文列表中,那是因为 find 的灵活性。它不仅可以列表文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ find ../bar.txt./baz.xml./foo.txt[...]

它还可以提供包含详细信息的长列表功能:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ find . -ls3014803  464 -rw-rw-r--   1 tux users  473385 Jul 26 07:25 ./foo.txt3014837  900 -rwxrwxr-x   1 tux users  918217 Nov  6  2019 ./baz.xml3026891  452 -rw-rw-r--   1 tux users  461354 Aug 10 13:41 ./foo.txt[...]

这是一个技术问题,但也是很一个巧妙的技巧。

tar

人们有时会引用 BSD 的 tar 语法来拿 Linux 命令开玩笑。尽管有这样的名声,但 tar 命令实际上非常直观。读者可以阅读我的 如何解压缩 tar.gz 文件 文章,了解在需要时使用 tar 命令的简单知识。

more、less 和 most

这些统称为分页命令。分页命令与 cat 类似,但前者会在屏幕底部暂停输出,直到你向下滚动查看更多内容。这些命令比较简单,但每个之间都有细微差别。用户是用箭头键还是空格键滚动?是必须手动退出,还是在显示的文件末尾自动退出?用户的首选搜索行为是什么样的?选择你最喜欢的分页命令并将其设置在 .bashrc 中吧!

ssh 和 scp

OpenSSH 不仅有助于保护与远程系统的连接安全,还可以用于启用其他命令。例如,对于许多用户来说,有了 .ssh 目录,他们才能与 Git 存储库顺利交互、将更新发布到网站、登录云控制平台。

mv

mv 命令有双重作用:它既可以 移动文件 又可以 重命名文件。它有几个可用的保护措施,例如 --interactive 和 --no-clobber 选项避免破坏现有文件,--backup 命令确保数据在新位置验证之前被保留,以及 --update 选项确保旧版本不会替换新版本文件。

sudo

当某个用户账户的用户名已知,且具有 全部 系统权限时,该用户很快就会成为黑客攻击的目标。sudo 命令消除了对字面上 root 用户的需求,从而优雅地移除了有关系统的重要信息。不过这还不是全部,使用 sudo 你还可以轻松地管理单个命令、用户和组的权限。你可以在选定的命令上启用无密码执行、记录用户会话、使用摘要验证来验证命令,等等。

alias

使用 alias 命令将长命令变成易于记忆的快捷方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ alias ls='ls --classify --almost-all --ignore-backups --color'

clear

有时终端会显得很混乱,输入 clear(或在某些 shell 中按 Ctrl+L)后,你就能得到漂亮、刷新的屏幕了。

setfacl

传统上,POSIX 文件权限由 chown 和 chmod 决定。然而,如今系统变得更加复杂,因此有一个灵活性更高的命令。setfacl 命令允许创建一个 访问控制列表(ACL),可以配置任意用户所需权限,并可以为文件夹及其中创建的内容设置默认权限。

netcat

可能需要使用 netcatnc)的人不多,但这些使用它的人确离不开它。nc 命令是一个通用的网络连接工具。

它可以连接到一个端口,类似于 telnet 命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ nc -u 192.168.0.12 80

它可以 ping 一个端口,类似于 ping 命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ nc -zvn 192.168.0.12 25

它可以探测开放端口,类似于 nmap 命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ nc -zv 192.168.0.12 25-80

以上仅是该命令的一小部分用途。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
掌握这些常用Linux命令,一起提升工作效率
汪国真在《热爱生命》这首诗中写到:既然选择了远方,便只顾风雨兼程。技术上还是持续精进和学习,远方虽远,要迈开脚步,一步步抵达远方的目标。
全栈程序员站长
2022/07/20
8670
掌握这些常用Linux命令,一起提升工作效率
新手需知的 Linux 基础命令
按 Ctrl+X 退出编辑,如果你修改了文件,会询问你是否需要保存修改。输入Y确认保存,输入N不保存,按Ctrl+C取消返回。
py3study
2020/01/06
7710
Linux 常用基础命令(2024年最新篇)新手小白必看 初识Linux
Linux 常用的压缩与解压缩命令有:tar、gzip、gunzip、bzip2、 zip、rar等。
神秘泣男子
2024/06/03
2400
shell 命令记录
一些为了安全操作,推荐使用私钥进行登录服务器,拿jenkins来说,默认的验证方式就是私钥
郭顺发
2021/12/18
6690
《前端运维》一、Linux基础--基础命令
在开始之前,你需要做一些准备工作,去阿里买一台服务器,服务器的具体细节其实并不是十分重要,我也不会在这里一步一步的教大家如何去买一个服务器。百度一下足够了,但是还是要贴一下这篇文章中,我所使用的服务器系统及其版本:
zaking
2021/05/10
1.3K0
《前端运维》一、Linux基础--基础命令
Linux基础命令
栖西
2023/10/17
2130
Linux基础命令
链接:https://pan.baidu.com/s/1tNgjDgAIWeKsCkE2cufBDQ 密码:r2zi
CBeann
2023/12/25
1600
Linux基础命令
29 条运维工程师必会实用 Linux 命令
虽然Linux发行版支持各种各样的饿GUI(graphical user interfaces),但在某些情况下,Linux的命令行接口(bash)仍然是简单快速的。Bash和 Linux Shell 需要输入命令来完成任务,因而被称为 命令行 接口。 命令是计算机执行任务的指令。可以使用命令去关闭计算机,或者列出当前目录的文件列表,或当前文本的内容,或者屏幕显示一条消息。 如果你是一个新手,并尝试使用命令行接口,我们收集了各种基本的Linux命令来供你学习,帮你在各种Linux发行版中完成各种任务。虽然
小小科
2018/05/04
1.8K0
29 条运维工程师必会实用 Linux 命令
Linux内核与基础命令学习总结
Linux操作系统博大精深,其中对线程,IO,文件系统等概念的实现都很有借鉴意义。
程序视点
2025/03/15
440
Linux基础命令
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
奋飛
2019/08/15
1.1K0
29 个你必须知道的 Linux 命令
虽然Linux发行版支持各种各样的饿GUI(graphical user interfaces),但在某些情况下,Linux的命令行接口(bash)仍然是简单快速的。Bash和 Linux Shell 需要输入命令来完成任务,因而被称为 命令行接口。
哲洛不闹
2018/09/18
5240
29 个你必须知道的 Linux 命令
【Python Learning第一篇】Linux命令学习及Vim命令的使用
学了两天,终于把基本命令学完了,掌握以后可以当半个程序员了♪(^∇^*) 此文是一篇备忘录或者查询笔记,如果哪位大佬看上了并且非常嫌弃的话,还请大佬不吝赐教,多多包涵 以下是我上课做的一些笔记,非常的凌乱,(⊙﹏⊙)反正是留给自己看的 Day1学习: 以Ubuntu为例子 Ctrl + Shift +‘+’ 变大 Ctrl + ‘-’变小 ls 能显示当前路径下的所有文件名及文件夹名的命令 Ubuntu没有盘符的概念,只有一个根目录 bin 放的是程序相关的 boot 和Ubuntu的启动项相关,开机项相关
Angel_Kitty
2018/04/08
1K0
[Linux] Linux 基础命令 (持续更新)
在介绍Linux命令之前,先简单了解下操作系统的作用,操作系统是应用程序与硬件之间插入的一层软件,所有应用对硬件的操作都必须经过操作系统。操作系统的两个最主要的作用是
轻舞飞扬SR
2021/02/24
2.1K0
[Linux] Linux 基础命令 (持续更新)
【Linux】命令简介------迅速掌握Linux命令
Linux作为开源系统的代表,不仅广泛应用于服务器、云计算、大数据处理等领域,还深刻影响着软件开发、网络安全等多个方向。掌握Linux,意味着能够深入理解系统底层原理,提升问题解决能力。
小言从不摸鱼
2024/09/10
1380
【Linux】命令简介------迅速掌握Linux命令
2 Linux 基础命令
cd 路径/目录名称:这个命令将当前目录更改为提交的路径。例如:cd home/user/documents将切换到 documents目录。
Lemon黄
2023/11/27
1900
2 Linux 基础命令
Linux 命令总结
启动终端: ctr+alt+t 终端字体放大: ctr+shift+'+',终端字体缩小: ctr+'-' ls: 查看当前目录下的文件信息 pwd: 查看目录所在的路径 touch: 创建文件 mkdir: 创建文件夹 rmdir: 删除文件夹,提示:只能是空文件夹 rm: 默认删除的是文件,如果删除文件夹需要加上-r选项,-r:以递归的方式把文件夹下的所有文件信息删除掉 cd:切换目录 9.1 cd 目录名 : 切换到指定目录 9.2 cd .: 切换到当前目录 9.3 cd ..: 切换到上一级目录
小闫同学啊
2019/07/18
1K0
都快0202年了,还不会Linux 基础命令?
“rm -rf” 引发的血案都在菜鸟程序员中经常出现,初初入行的前后端们基础不扎实。
前端劝退师
2019/11/25
6590
都快0202年了,还不会Linux 基础命令?
centos基础命令
1.linux机器相互登录 先在服务器上生成公钥和私钥,使用命令:ssh-keygen [root@linux-01 ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): Enter sa
嘻哈记
2020/11/24
4460
Linux命令汇总
描述:jps是jdk提供的一个查看当前java进程的小工具, 可以看做是JavaVirtual Machine Process Status Tool的缩写。非常简单实用。
HLee
2020/12/28
1.4K0
Linux命令汇总
初学者如何快速的上手Linux命令,这34条新手必会的命令一定得会!
听到 Linux,大多数人都会想到一个只有程序员才能使用的复杂操作系统,但Linux其实并不难。
网络技术联盟站
2023/03/05
1.7K0
初学者如何快速的上手Linux命令,这34条新手必会的命令一定得会!
相关推荐
掌握这些常用Linux命令,一起提升工作效率
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文