巧用 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.mfbz.cn/a/487053.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++ 扫描当前路径下文件并删除大文件

C 扫描当前路径下文件并删除大文件 C获取当前路径扫描文件路径下规定后缀名称的文件计算文件大小 1. 获取当前路径 使用<Windows.h>中的GetCurrentDirectory方法实现&#xff0c;单独编写验证程序如下&#xff1a; #include<iostream> #include<Windows.h&g…

R语言基础入门

1.保存或加载工作空间 改变工作目录——进行文件读写&#xff0c;默认去指定文件进行操作。&#xff08;使用R时&#xff0c;最好先设定工作目录&#xff08;setwd(),getwd()&#xff09;&#xff09; setwd(“工作文件路径”)&#xff1a;建立工作目录 getwd&#xff08;&…

Linux的进程控制(创建和终止)

进程创建 fork 我们前面已经认识过fork函数&#xff0c; 用fork创建新进程后&#xff0c; 新建立的进程为子进程&#xff0c; 该进程为父进程。fork给父进程返回的是子进程的pid&#xff0c; 给子进程返回的是0&#xff0c; 出错时返回-1 进程调用fork后&#xff0c; 当控制…

IS-IS路由

概览&#xff1a; Intermediate System-to-Intermediate System&#xff0c;中间系统到中间系统协议 IS-IS--IGP--链路状态协议--AD值&#xff1a;115 IS--中间系统&#xff08;路由器&#xff09; ES--终端系统&#xff08;PC&#xff09; 在早期IS-IS的开发并不是为了IP…

安防监控视频汇聚平台EasyCVR启用图形验证码之后如何调用login接口?

视频综合管理平台EasyCVR视频监控系统支持多协议接入、兼容多类型设备&#xff0c;平台可以将区域内所有部署的监控设备进行统一接入与集中汇聚管理&#xff0c;实现对监控区域的实时高清视频监控、录像与存储、设备管理、云台控制、语音对讲、级联共享等&#xff0c;在监控中心…

3.25号arm

1. I2C总线 1.1 i2c概述 I2C总线是PHLIPS公司在八十年代初推出的一种串行的半双工总线&#xff0c;主要用于连接整体电路。 I2C总线为两线制&#xff0c;只有两根双向信号线。一根是数据线SDA&#xff0c;另一根是时钟线SCL。 I2C硬件结构简单&#xff0c;接口连接方便&…

【OpenModelica】1 OpenModelica项目架构

1 OpenModelica项目架构 文章目录 1 OpenModelica项目架构一、 架构总览图二、OpenModelica各部分作用 一、 架构总览图 OpenModelica 环境由几个相互连接的子系统组成&#xff0c;如图 1.1 所示。 其中包括&#xff1a; MDT Eclipse 插件图形模型编辑器/浏览器文本模型编辑器…

日本科技巨头富士通遭遇网络攻击,客户数据被窃

日本科技巨头富士通3月15日发布通告&#xff0c;宣称公司经历了一起网络攻击事件&#xff0c;客户个人数据已被黑客窃取。 富士通在一份通知中写道&#xff1a;“我们已经确认有几台商用计算机上存在恶意软件&#xff0c;并且经过我们的内部调查&#xff0c;发现包含个人信息和…

SAP前台处理:物料计价方式:价格控制与价格确定 - 02 <CKM3>

一、背景&#xff1a; 物料主数据中我们讲解到物料的计价方式&#xff0c;SAP应用到的主要计价方式有移动平均价和标准价格方式两种&#xff0c;但也有按照批次计价等方式&#xff0c;我们主要介绍最常用的V2移动平均价和S3的标准价格&#xff1b; 二、示例差异分析&#xff…

k8s入门到实战(二)—— windows安装minikube

minikube 安装 minikube 是一个用于在本地计算机上运行单个节点的 k8s 集群的工具。它允许开发人员可以在自己的计算机上进行本地的 k8s 开发和测试。通过minikube&#xff0c;您可以模拟一个完整的 k8s 集群环境&#xff0c;包括节点、Pod、服务和存储等组件。它是一个轻量级…

Xcode-双架构arm64 x86_64编译

要启用通用构建&#xff0c;在最新版本的 Xcode 中&#xff0c;请打开您的项目设置&#xff0c;然后依次选择&#xff1a; 1. “Build Settings” 选项卡。 2. 在顶部输入框中输入 “Architectures”。 3. 在 “Architectures” 下拉列表中选择 “Other”。 4. 在输入框中输入 …

代码随想录刷题day32|K次反转后最大的数组和加油站分发糖果

文章目录 day34学习内容一、K次反转后最大的数组和1.1、思路1.2、代码-正确写法1.2.1、如何理解if (k % 2 1) &#xff1f;1.2.2、原始nums数组[2,-3,-1,5,-4]&#xff0c;那么排序后数组等于什么&#xff1f; 二、加油站2.1、思路2.2、正确写法12.2.1、 如何理解上面这段代码…

数据可视化-ECharts Html项目实战(7)

在之前的文章中&#xff0c;我们学习了如何设置漏斗图、仪表盘。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵的点赞&#xff0c;谢谢 数据可视化-ECharts Html项目实战&#xff08;6…

JavaScript 学习日记(1)---初识JavaScript

初识JavaScript 文章目录 初识JavaScript一、JavaScript 是什么?二、java 和JavaScript 的关系三、JavaScript 的组成四、JS的基本输入输出 ---> 单行注释五、js变量基本概念六、js基本数据类型七、js转义字符八、js类型转换九、运算符 END! 一、JavaScript 是什么? 我们…

FDGaussian:又快又好的三维重建方案 | Gaussian Splatting和扩散模型超强联合

项目地址&#xff1a;https://qjfeng.net/FDGaussian/ 文章链接&#xff1a;https://arxiv.org/pdf/2403.10242 本文介绍了一种名为FDGaussian的新型两阶段框架&#xff0c;用于单张图像的三维重建。最近的方法通常利用预先训练好的二维扩散模型从输入图像生成可能的新视图&…

DARTS-: ROBUSTLY STEPPING OUT OF PERFORMANCE COLLAPSE WITHOUT INDICATORS

DARTS-&#xff1a;增加辅助跳跃连接&#xff0c;鲁棒走出搜索性能崩溃 论文链接&#xff1a;https://arxiv.org/abs/2009.01027 项目链接&#xff1a;GitHub - Meituan-AutoML/DARTS-: Code for “DARTS-: Robustly Stepping out of Performance Collapse Without Indicators…

RAG笔记:常见问题以及解决方法

1 内容缺失 知识库中缺少必要的上下文信息。当知识库没有包含正确答案时&#xff0c;RAG 系统可能会给出一个貌似合理但实际上错误的回答&#xff0c;而不是明确表示它不知道答案。 1.1 解决方法 1.1.1 设置阈值 在回答问题前先设定一个质量标准。如果召回内容达不到标准或…

大数据Hadoop生态圈体系视频课程

课程介绍 熟悉大数据概念&#xff0c;明确大数据职位都有哪些&#xff1b;熟悉Hadoop生态系统都有哪些组件&#xff1b;学习Hadoop生态环境架构&#xff0c;了解分布式集群优势&#xff1b;动手操作Hbase的例子&#xff0c;成功部署伪分布式集群&#xff1b;动手Hadoop安装和配…

真假“长文本”,国产大模型混战

文&#xff5c;郝 鑫 Kimi有多火爆&#xff1f;凭一己之力搅乱A股和大模型圈。 Kimi概念股连日引爆资本市场&#xff0c;多个概念股随之涨停。在一片看好的态势中&#xff0c;谁都想来沾个边&#xff0c;据光锥智能不完全统计&#xff0c;目前&#xff0c;至少有包括读客…

(二)BSQ,BIL,BIP存储格式的相互转换算法

环境&#xff1a;Windows10专业版 IDEA2021.2.3 jdk11.0.1 GDAL(release-1928-x64-gdal-3-5-2-mapserver-8-0-0) 系列文章&#xff1a; &#xff08;一&#xff09;PythonGDAL实现BSQ&#xff0c;BIP&#xff0c;BIL格式的相互转换 &#xff08;二&#xff09;BSQ,BIL,BIP存…
最新文章