巧用 20个 Linux 命令贴士与技巧,让你生产力瞬间翻倍?

在本文中,我将向您演示一些专业的Linux命令技巧,这些技巧将使您节省大量时间,在某些情况下还可以避免很多麻烦,而且它也将帮助您提高工作效率。

并不是说这些只是针对初学者的 Linux 技巧。即使有经验的Linux用户也有可能没有发现这些,尽管你这些年来一直在使用 Linux。

很酷的 Linux 终端技巧,帮助您节省时间和提高生产力

您很可能已经知道这些Linux命令中的一些或全部。无论哪种情况,都欢迎您在评论部分中分享您喜欢的技巧。

其中一些技巧还取决于shell的配置方式。现在让我们开始!

1、使用tab键进行自动完成

我将从一些看得见但又非常重要的事情开始:tab补全。

当您开始在 Linux 终端中键入内容时,您可以按Tab键,它会建议所有可能的选项,这些选项以您到目前为止所键入的字符串开头。

例如,如果您要复制名为 linuxidc.txt 的文件,则只需键入 “cp l”,然后按tab 键查看可能的选项。

使用Tab键进行自动完成

2、切换回上一个工作目录

假设您以长目录路径结尾,然后转到完全不同的路径中的另一个目录。然后您意识到必须返回到先前所在的目录。在这种情况下,您要做的就是键入以下命令:

cd -

这会将您带回到上一个工作目录。您无需输入长目录路径,也无需复制粘贴。

在目录之间轻松切换,如下所示:

$ cd -bash: cd: OLDPWD 未设定

是因为 cd 命令设置了 OLDPWD 环境变量值。除非你至少执行了一次 cd 命令,否则 OLDPWD 环境变量不会包含任何值

cd - 和 cd $OLDWPD 命令的执行结果并非在所有环境下都相同。

3、返回主目录

这太明显了。您可以使用以下命令从 Linux 命令行中的任何位置移至主目录:

cd ~

但是,您也可以仅使用 CD 返回主目录:

cd

大多数现代 Linux 发行版均已为此命令预配置了shell。在这里至少可以节省两次击键。

图片

快速返回主目录

4、列出目录的内容

您一定在想在列出目录内容的命令中还有了什么技巧。每个人都知道在这种情况下使用ls -l。

就是这样。大多数人使用ls -l来列出目录的内容,而同样的事情也可以用下面的命令来完成:

ll

同样,这也取决于Linux发行版和shell配置,但是您很可能能够在大多数Linux发行版中使用它。

图片

使用ll而不是ls -l

5、在一个命令中运行多个命令

假设您必须一个接一个地运行几个命令。您是否在等待第一个命令完成运行,然后执行下一个命令?

那么,您可以使用“;”分隔符。这样,您可以在一行中运行许多命令。无需等待先前的命令完成后再执行其他任务。

command_1; command_2; command_3
6、仅在上一个命令成功的情况下,才能在一个命令中运行多个命令

在上一个命令中,您了解了如何在一个命令中运行多个命令以节省时间。但很多时候你必须确保命令不会失败才能执行下一条命令,那怎么半?

比如您要构建代码,然后在构建成功的情况下才接着运行make。

在这种情况下,可以使用&&分隔符。&&确保下一条命令仅在上一条命令成功执行时运行。

command_1 && command_2

此命令的一个很好的例子是当您使用 sudo apt update && sudo apt upgrade 升级系统时。

7、轻松搜索您使用过的命令

想象一下一种情况,您在几分钟/几小时前使用了很长的命令,而您不得不再次使用它。问题是您不再记得确切的命令了。

反向搜索是您的救星。您可以使用搜索词在历史记录中搜索命令。

只需使用ctrl + r键即可启动反向搜索并键入命令的某些部分。它将查询历史记录,并向您显示与搜索词匹配的命令。

ctrl + r 搜索词

默认情况下,它将仅显示一个结果。要查看更多与您的搜索字词匹配的结果,您将不得不反复使用ctrl + r。要退出反向搜索,只需使用Ctrl + C。

图片

在命令历史记录中进行反向搜索

请注意,在某些Bash Shell中,还可以在搜索词中使用Page Up和Down键,它将自动完成命令。

8、解除Linux终端意外冻结的Ctrl + S

在很多类Unix 的系统上,Ctrl-S 都有特殊的含义:它会“冻结”终端(它曾经被用来暂停快速滚动)。因为“保存”一般也是用这个快捷键,所以经常会有人不假思索地按下这个快捷键,结果大多数人都会被搞糊涂(我也经常犯这个错误)。解冻终端是用Ctrl-Q,所以如果你忽然发觉终端看起来被冻结了,试一下Ctrl-Q,看能不能释放它。

9、移至行首或行尾

假设您正在键入一个长命令,并且在途中您意识到必须在开始时进行一些更改。您将使用几次向左键击移动到行的开头。并且类似地进行到该行的末尾。

当然,您可以在此处使用Home和End键,但是也可以使用Ctrl + A转到行的开头,并使用Ctrl + E转到结尾。

动图演示如下

图片

移至该行的开头或结尾

我发现它比使用Home和End键更方便,尤其是在笔记本电脑上。

10、实时读取日志文件

在需要在应用程序运行时分析日志的情况下,可以将tail命令与-F选项一起使用。

tail -F linuxidc_log

等同于--follow=name --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪。

图片

11、读取压缩日志而不解压缩

服务器日志通常被gzip压缩以节省磁盘空间。这给分析日志的开发人员或系统管理员带来了一个问题。您可能必须将其scp到本地,然后提取它来访问文件,因为有时您没有提取日志的写权限。

值得庆幸的是,在这种情况下,z命令可以帮助您。z命令提供了用于处理日志文件(例如less,cat,grep等)的常规命令的替代方法。

这样您就可以使用zless,zcat,zgrep等命令查看压缩包的内容,甚至不必显式提取压缩文件。

$zcat linuxidc_log.zip | more

图片

不解压缩读取压缩文件

12、使用 less读取文件

要查看文件的内容,cat不是最佳选择,特别是如果文件很大。cat命令将在屏幕上显示整个文件。

您可以使用Vi,Vim或其他基于终端的文本编辑器,但是如果您只想读取文件,则 less 命令是更好的选择。​​​​​​​

less -N linuxidc.txt
//按下v键来编辑文件//退出编辑器后,你可以继续用less浏览了

您可以在更少的范围内搜索字词,按页移动,高亮与行号等。

13、使用 !$ 重新使用上一个命令中的最后一项

在许多情况下,使用上一个命令的参数很方便。

假设您必须创建一个目录,然后进入新创建的目录。那么,您可以使用!$选项。

图片

使用 !$

更好的方法您可以使用使用alt + . 。在最后一个命令的选项之间来回移动的次数。

14、用!!重用当前命令中的上一个命令。

您可以使用!!调用前面的整个命令。当您必须运行一个命令并意识到它需要root特权时,这一点特别有用。

一个快速 sudo !! 省去了很多击键。

图片

!!重用当前命令中的上一个命令。

15、使用别名来修正错别字

您可能已经知道Linux中的别名命令是什么。你能做的是,用它们来修正打字错误。

例如,您可能经常将grep输入为gerp。如果您以这种方式在您的bashrc中放置一个别名:

alias gerp=grep

这样,您无需再次输入命令。

16、在Linux终端中复制粘贴

这一点有点模棱两可,因为它取决于Linux发行版和终端应用程序。但通常,您应该能够使用以下快捷键复制粘贴命令:

  • 选择要复制的文本,然后右键单击以粘贴(在Putty和其他Windows SSH客户端中有效)

  • 选择要复制的文本,然后单击鼠标中键(滚动按钮)以进行粘贴

  • Ctrl + Shift + C表示复制,Ctrl + Shift + V表示粘贴

17、终止正在运行的命令/进程

这可能太明显了。如果有一个命令正在运行运行,并且您想退出该命令,则可以按Ctrl + C停止该正在运行的命令。

18、清空文件而不删除它

如果只想清空文本文件的内容而不删除文件本身,则可以使用类似于以下命令:

> 文件名
19、查找是否有包含特定文本的文件

在 Linux 命令行中有多种搜索和查找方法。但是,当您只想查看是否有包含特定文本的文件时,可以使用以下命令:

grep -Pri 要搜索的字符串 路径
20、对任何命令都可使用帮助命令(help)

最后我将用一个更明显但却非常重要的“技巧”来结束本文,即使用命令或命令行工具的帮助命令(help)。

几乎所有的命令和命令行工具都带有一个帮助页面,显示如何使用该命令。经常使用帮助会告诉你这个工具/命令的基本用法。

比如bc命令的帮助:

$bc -help

您最喜欢哪个 Linux 命令行技巧?

本文讨论的技巧应该可以在几乎所有Linux发行版和shell中使用,而不需要安装新工具。我还建议在Linux中使用alias命令将复杂的命令替换为简单的命令。可以让你节省很多时间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/285661.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单了解单例模式

什么是单例模式 对于一个类,只有一个实例化的对象,我们构建单例模式一般有两种:饿汉式和懒汉式 饿汉式 优点是无线程安全问题,类加载就创建对象缺点是占内存 class Singleton01{private static Singleton01 instance new Sing…

shell实现查询进程号并批量kill(脚本)

问题或需求描述 在shell中,如果你想通过命令行查询出一系列匹配某个关键词的进程,并使用xargs命令批量结束这些进程,可以按照以下步骤操作: # 查询并提取进程号 pgrep -f "关键词" | xargs kill# 或者,如果…

图书馆RFID(射频识别)数据模型压缩/解压缩算法实现小工具

点击下载《C# 实现图书馆射频识别数据模型压缩算法(源代码pdf参考资料)》 1. 前言 最近闲来无聊,看了一下《图书馆射频识别数据模型第1部分:数据元素的设置及应用规则》以及《图书馆射频识别数据模型第2部分:基于ISO…

如何联合Qt,VS,C++,来开发一个电脑版软件(简单有趣,详细)

本教程适合 新手VS+QT小白。目前更新到了可以写一个计算器【拉到文章末尾,可以看到界面】。 前置安装 VS2019 或2022 社区版(这个太简单,就不在这里写了!)建议参考之前写的文章: https://zhuanlan.zhihu.com/p/682531067 注册登陆Qt账户 Try Qt 下载Qt 登陆之后,…

iOS开发 - 转源码 - __weak问题解决

iOS开发 - 转源码 - __weak问题解决 在使用clang转换OC为C代码时,可能会遇到以下问题 cannot create __weak reference in file using manual reference 原因 __weak弱引用是需要runtime支持的,如果我们还只是使用静态编译,是无法正常转换的…

Jenkins的快速入门

文章目录 一、Jenkins是什么?二、Jenkins安装和持续集成环境配置1.持续集成流程说明2.Gitlab代码托管服务器安装Gitlab简介:Gitlab安装Gitlab的使用切换中文添加组创建用户将用户添加到组创建项目idea中代码上传Gitlab 3.Jenkins持续集成环境服务器安装J…

在MongoDB建模1对N关系的基本方法

“我在 SQL 和规范化数据库方面拥有丰富的经验,但我只是 MongoDB 的初学者。如何建立一对 N 关系模型?” 这是我从参加 MongoDB 分享日活动的用户那里得到的最常见问题之一。 我对这个问题没有简短的答案,因为方法不只有一种,还有…

【Python实战】——神经网络识别手写数字

🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一|统计学|干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项,参与研究经费10w、40w级横向 文…

【C++从练气到飞升】05---运算符重载

🎈个人主页:库库的里昂 ✨收录专栏:C从练气到飞升 🎉鸟欲高飞先振翅,人求上进先读书。 目录 ⛳️推荐 一、运算符重载的引用 二、运算符重载 三、赋值运算符重载 1 .赋值运算符重载格式: 2 .赋值运算符只能重载成…

SAP 标准委外业务对已收货后对组件的后续调整简介

标准委外业务对已收货后对组件的后续调整 通常在委外的业务中经常会存在发给供应商的物料发现有少发,或者需要补发的情况,委外的业务都是基于采购订单收货的时候才对供应商库存进行扣减。委外成品在收货后产生543的移动类型原材料进行冲消。 但是我们在物…

【C语言】编译和链接----预处理详解【图文详解】

欢迎来CILMY23的博客喔,本篇为【C语言】文件操作揭秘:C语言中文件的顺序读写、随机读写、判断文件结束和文件缓冲区详细解析【图文详解】,感谢观看,支持的可以给个一键三连,点赞关注收藏。 前言 欢迎来到本篇博客&…

继承和多态(2)(多态部分)

提前讲的重要知识点 一个类在没有父类的情况下默认有一个父类为Object类。 而当在有父类情况下,如果你那父类没有父类,则其父类的父类默认为object类,所以即使一个类有父类,其内部还是有object类。 object类都是隐藏起来的&…

【机器学习】基于北方苍鹰算法优化的BP神经网络分类预测(NGO-BP)

目录 1.原理与思路2.设计与实现3.结果预测4.代码获取 1.原理与思路 【智能算法应用】智能算法优化BP神经网络思路【智能算法】北方苍鹰优化算法(NGO)原理及实现 2.设计与实现 数据集: 数据集样本总数2000 多输入单输出:样本特征24&#x…

Vue3:网页项目中路由的设计和配置

为了避免我每次建项目配路由的时候都回去翻网课,打算整一博客 路由设计 不同网页的路由设计思路基本相同,分为一级路由和二级路由,基本设计思路如下图 以我之前做过的招新系统管理端为例,可设计出如下路由 路由配置 还是以招新系…

剖析美国政府视角下的ICT供应链安全

2018 年 11 月 15 日,美国国土安全部(DHS)宣布成立了信息和通信技术 (ICT) 供应链风险管理(SCRM)工作组,这个工作组是由美国多个政府部门、IT行业企业代表及通信行业企业代表联合成立的。该组织对外宣传的目…

Docker Command

小试牛刀 # 查看docker版本 docker -v docker --version # 查看帮助 docker --help # 永远的Hello World docker run hello-world镜像操作 查看本地已有的镜像 docker images -a :列出本地所有的镜像(含中间映像层) -q :只显示镜像ID --digests :显示…

C# 右键快捷菜单(上下文菜单)的两种实现方式

在C#中,ContextMenuStrip是一种用于创建右键菜单的控件。它提供了一种方便的方式来为特定的控件或窗体添加自定义的上下文菜单选项。有两种实现方式,如下: 一.通过ContextMenuStrip控件实现 1.从工具箱中拖一个ContextMenuStrip控件到窗体上…

Java面试题总结200道(四)

76、ApplicationContext 通常的实现是什么? FileSystemXmlApplicationContext :此容器从一个 XML 文件中加 载 beans 的定义,XML Bean 配置文件的全路径名必须提供给它的构造函数。ClassPathXmlApplicationContext:此容器也从一个 XML 文件…

python、execl数据分析(数据描述)

一 python 1.各函数 1.1python库的安装与导入 #pip install os#pip install matplotlib#pip install seaborn#pip install scikit-learn#pip install scipy#修 改 工 作 目 录import osos.getcwd () # 查看当前工作环境os.chdir( F :\my course\database ) # 修改工作环境o…

数据挖掘不是挖土豆,而是让数据开口说话!

文章目录 1、 缘起1.1 啤酒与尿布 - 发现商业价值1.2 数据挖掘 - 让数据说话 2、数据挖掘的难点3、数据挖掘的方法 Part 1 - 专业技术流3.1 网络数据采集 - 代理技术3.2 网络数据采集 - 爬虫浏览器3.3 网络数据采集 - 网络解锁器3.4 网络数据采集 - Web Scraper IDE 4、数据挖掘…