干货丨Linux终端常见用法总结(收藏)

news2024/11/27 16:42:18

一、前言

熟悉Linux终端的基础用法和常见技巧可以极大提高运维及开发人员的工作效率,笔者结合自身学习实践,总结以下终端用法供同行交流学习。

二、常见用法

1.快捷键

1.1.Alt+.

在光标位置插入上一次执行命令的最后一个参数。

1.2.Ctrl+R

模糊搜索历史执行命令。下载安装fzf可以提升该命令的交互性。

1.3.Ctrl+Z

将正在执行的命令送入后台,以继续使用终端。执行bg命令可以查看后台正在执行的命令列表,执行fg命令可以调回后台正在执行的命令。

1.4.Ctrl+A

移动光标到首位字符。例如,在已输入命令前追加sudo,赋予命令执行权限。

1.5.Ctrl+E

移动光标到末位字符。例如,在已输入命令后追加&,将命令送入后台执行。

1.6.Ctrl+U

删除全部已输入字符。

1.7.Ctrl+W

删除光标所在单词。

2.命令

2.1.cd

切换目录。例如,使用cd-回到上一次执行cd时所在目录。

2.2.mkdir

创建目录。例如,使用mkdir-p<**/*/dirname>创建嵌套目录。

2.3.xargs

将管道的标准输入作为执行命令的输入。例如,使用ls|xargs-I{}echo"{}"将ls展示的目录内文件列表重新分行打印,其中,-I{}是将标准输入表示为{}。

2.4.tee

将管道的标准输入同时写入标准输出和文件。例如,使用echo"foo"|tee<filename>打印文本并写入文件,使用echo“foo”|tee>(<command>)打印文本并作为命令输入,使用echo"foo"|tee>(xargs mkdir)>(wc-c)打印文本及其长度并创建同名目录。

2.5.find

在指定目录下查询目录或文件。例如,使用find.-f'*.log'-exec ls-l{}+将目录下log文件名转换为参数列表,使用find.-f'*.log'-exec ls-l{}\;逐行打印目录下log文件名。

2.6.tr

字符替换。例如,使用echo$PATH|tr':''\n'逐行打印系统路径。

2.7.cut

切分输入文本。例如,使用cur-f,1<csvfile>打印CSV文本的第一列。

2.8.awk

对多行输入文本中与模式(pattern)匹配的行实现基于列的操作(action)。例如,使用awk-F',''{print$NF}'<csvfile>打印CSV文本的最后一列。

2.9.nohup

命令执行进程不会随用户或终端退出。例如,使用nohup<command>&将命令进程送入后台,使用nohup>log.out 2>log.error保存命令执行日志。

2.10.tar

打包工具。例如,使用tar czvf<filename>.tar.gz打包并压缩日志文件,使用tar xvf<filename>.tar.gz解包文件。

2.11.lsof

列表已打开文件及其进程。例如,使用lsof-ti:<port>|xargs kill关闭端口进程。

2.12.tail-f

持续打印目标文件新增文本。例如,使用tail-f<filename>持续打印日志文件的新增文本。

2.13.watch

重复执行命令。例如,使用watch-n 1 nvidia-smi观测GPU的资源利用情况。

2.14.top

查看系统资源和进程的占用情况。

2.15.du

查看磁盘占用情况。例如,使用du-sh<dirname>查看目录的磁盘占用情况。

3.特殊字符

3.1.>

重定向。例如,使用command>log.out将标准输出写入log.out,使用command>>log.out将标准输出追加到log.out末尾,使用command 2>log.err将标准错误写入log.err,使用command&>log将标准输出和标准错误写入log,使用command 2>&1>dev/null只打印标准错误。

3.2.$_

上一次执行命令的最后一个参数。

3.3.$?

上一次执行命令的退出码。

3.4.!!

重复上一次执行命令。除此之外,还可以使用!*重复上一次执行命令的参数列表,使用!$重复上一次执行命令的最后一个参数。

三、总结

掌握Linux终端的常见用法不仅是编写脚本和实现自动化的基础,也能有效提高运维及开发人员的系统运维和故障排查能力。本文从Linux终端快捷键、命令及特殊字符三大类出发,分别介绍常见用法并例举,希望与同行分享,共同学习进步。

文末了:

可以到我的个人号:atstudy-js,可以免费领取一份10G软件测试工程师面试宝典文档资料。同时我邀请你进入我们的软件测试学习交流平台,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,了解测试行业的最新趋势,助你快速进阶Python自动化测试/测试开发,稳住当前职位同时走向高薪之路。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

jenkins gitlab CI/CD

jenkins的安装教程就不说了&#xff1a;Jenkins docker 一键发布 (一)_jenkins 一键发布-CSDN博客 最近打算从svn切换到gitlab&#xff0c;所以配置了一下jenkins的git 很简单&#xff0c;直接上图 1 选择 Git 2 录入gitlab的http地址&#xff08;由于我的git地址不是22端口&…

数据结构与算法之美代码:排序算法3

目录 算法原理桶排序 代码实现桶排序代码实现计数排序代码实现 算法原理 桶排序 核心思想是将要排序的数据分到几个有序的桶里&#xff0c;每个桶里的数据再单独进行排序。桶内排完序之后&#xff0c;再把每个桶里的数据按照顺序依次取出&#xff0c;组成的序列就是有序的了。…

【小白专用】PHP中的JSON转换操作指南 23.11.06

一、JSON的基础知识 1.1JSON数据格式 JSON数据格式是一组键值对的集合&#xff0c;通过逗号分隔。键值对由“键”和“值”组成&#xff0c;中间使用冒号分隔。JSON数据格式可以嵌套&#xff0c;而且可以使用数组 二、PHP中的JSON函数 JSON的操作需要使用编程语言进行处理&am…

接口测试及接口测试工具

首先&#xff0c;什么是接口呢&#xff1f; 接口一般来说有两种&#xff0c;一种是程序内部的接口&#xff0c;一种是系统对外的接口。 系统对外的接口&#xff1a;比如你要从别的网站或服务器上获取资源或信息&#xff0c;别人肯定不会把数据库共享给你&#xff0c;他只能给你…

【NI-DAQmx入门】外部采样时钟相关

1.时钟的作用 时钟在几乎所有测量系统中都起着至关重要的作用。通过硬件定时测量&#xff0c;时钟控制采样或更新的发生时间。与依赖软件计时测量相比&#xff0c;您可以选择硬件定时测量来实现采样或更新之间更一致的时间间隔。以数模转换器特性分析为例。该应用由三个基本部分…

阿里云安全恶意程序检测(速通一)

阿里云安全恶意程序检测 赛题理解赛题介绍赛题说明数据说明评测指标 赛题分析数据特征解题思路 数据探索数据特征类型数据分布箱型图 变量取值分布缺失值异常值分析训练集的tid特征标签分布测试集数据探索同上 数据集联合分析file_id分析API分析 特征工程与基线模型构造特征与特…

大厂面试题-innoDB如何解决幻读

从三个方面来回答&#xff1a; 1、Mysql的事务隔离级别 Mysql有四种事务隔离级别&#xff0c;这四种隔离级别代表当存在多个事务并发冲突时&#xff0c;可能出现的脏读、不可重复读、幻读的问题。 其中InnoDB在RR的隔离级别下&#xff0c;解决了幻读的问题。 2、什么是幻读&…

Java手动引入Maven依赖的Jar包

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开心好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…

65从零开始学Java之初学者必会的几个常用Java类

作者&#xff1a;孙玉昌&#xff0c;昵称【一一哥】&#xff0c;另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 我们在解决实际问题时&#xff0c;除了经常需要对数字、日期、时间进行操作之外&#xff0c;有时候还…

js原型链

什么叫原型链 原型链是js中的核心&#xff0c;原型链将各个属性链接起来&#xff0c;在原型链上面定义&#xff0c;原型链上的其他属性能够使用&#xff0c;原型链就是保证继承 原型链区分 原型链分为显式原型和隐式原型 显式原型&#xff1a;只有函数和构建函数才有显式原型…

【ARM AMBA AXI 入门 12 -- AXI协议中的 WLAST 与 RLAST】

文章目录 AXI协议中的 WLAST 与 RLAST AXI协议中的 WLAST 与 RLAST AMBA AXI协议是由ARM公司定义的一种高性能&#xff0c;高频率的总线协议。总线协议中的 WLAST 信号是一个重要的信号&#xff0c;它在 AXI 协议中用来标识一个突发&#xff08;Burst&#xff09;传输的最后一…

requests库编写的爬虫程序没有那么难!

下文是用requests库编写的爬虫程序&#xff0c;用于爬取toutiao上的图片。程序使用了代理服务器&#xff0c;代理服务器的地址为duoip&#xff0c;端口号为8000。 import requests from bs4 import BeautifulSoup# 设置代理服务器 proxy_host duoip proxy_port 8000 proxy {…

STM32创建工程步骤

以创建led工程为例&#xff1a; 新建一个led文件夹 新建一个以led命名的工程&#xff08;用keil_uVision5&#xff09;并添加三个组。 Library文件夹里放置库函数文件。 User&#xff1a; 点亮led灯的程序&#xff1b; 直接给寄存器赋值 调用库函数。 #include "stm…

网络运维Day05

文章目录 实验环境用户与组概述用户账号创建查看用户-查创建用户-增修改用户属性-改删除用户-删 用户密码管理交互式修改密码非交互式修改密码 用户初始配置文件基本权限和归属基本权限的类别权限适用对象(归属)查看权限 修改权限设置基本权限如何判断用户对某目录所具备怎样的…

〔002〕虚幻 UE5 发送 get、post 请求、读取 json 文件

✨ 目录 🎈 安装 varest 扩展🎈 开启 varest 扩展🎈 发送 get 请求🎈 发送 post 请求🎈 读取 json 文件🎈 安装 varest 扩展 打开 虚幻商城,搜索 varest 关键字进行检索, varest 是一个 api 调用插件,支持 http/https 请求,也支持 json 文件的读取,最关键是该…

基于SSM的新闻类网站

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

特征融合(三):MLFPN-M2det多级特征金字塔网络

图像处理中&#xff0c;融合不同尺度的特征是提高图像效果的重要手段&#xff0c;在卷积中&#xff1a; ✅浅层特征&#xff1a;浅层特征分辨率更高&#xff0c;包含更多位置、细节信息&#xff0c;但是由于经过的卷积更少&#xff0c;其语义性更低&#xff0c;噪声更多。 ✅高…

求职者如何提高网申测评通过率?

如果是测评专业知识&#xff0c;这个帮不忙&#xff0c;靠自己了&#xff0c;这说的是素质测评&#xff0c;包括&#xff1a;心理&#xff0c;性格等方面的.....建议多刷刷这方面的题&#xff0c;也花不了多少时间&#xff0c;哪些常用的测评量表&#xff0c;可以多刷几遍。 本…

【年底不想背锅!网络工程师必收藏的排障命令大全】

网络故障排除工具是每个网络工程师的必需品。 为了提升我们的工作效率&#xff0c; 不浪费时间&#xff0c;工具的重要性显而易见 特别是每当添加新的设备或网络发生变更时&#xff0c;新的问题就会出现&#xff0c;而且很难快速确定问题出在哪里。每一位网络工程师或从事网…

Direct3D地形绘制基础

高度图 用高度图来描述地形中的丘陵和山谷,高度图其实就是一个数组,该数组每个元素都指定了地形方格中某一个特定顶点的高度值。通常将高度图视为一个矩阵,这样高度图中的元素就与地形栅格中的顶点一一对应。 高度图被保存在磁盘中,通常为其每个元素元素只分配一个字节存…