Linux用户必知之节省工作时间的技巧(下)

Linux 命令之技巧(Tips for Linux Commands) Linux‌是一种免费使用和自由传播的类Unix操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统,支持多线程和多CPU‌。 历史背景Linux最初是作为个人电脑操作系统开发的,但随着时间的推移,它逐渐被用于服务器、移动设备、超级计算机等各种类型的硬件设备上。Linux的开源特性使得用户可以获取其源代码并自由地修改和分发,这吸引了大量的开发者和企业加入,本章详细介绍Linux命令之技巧 阅读详情

翻译完了,相信稍微有点经验的程序员,肯定会发现作者总结的很多工具还是很实用的,翻译过来,只想和大家分享。当然,译者英文水平有限,翻译不妥之处在所难免,还望大家批评指正。后续,我会结合自己的工作实践,将其中实用的工具,以示例的方式再总结,好好学习,天天向上!

希望大家多多支持血蝙蝠!

前章地址:Linux用户必知之节省工作时间的技巧(上) 

数据处理:

  • 掌握sort和uniq(包括uniq命令的-u和-d选项)
  • 掌握操作文本文件的cut,paste和join命令。很多人用过cut但忘记了join
  • 通过sort和uniq对文本文件做集合的交、并、差等操作是很有用的。假设a和b是两个已经去重的文本文件。以下情况快速高效,可以作用于任何大小的文件。(sort命令不受内存限制,如果/tmp挂在在一个很小的root分区上,你可以使用-T选项来解决问题)

cat a b | sort | uniq > c    # c 是 a 和 b 的并集

cat a b | sort | uniq -d > c # c 是 a 和b的交集

cat a b b | sort | uniq -u > c # c 是a-b差集

  • 要知道locale命令影响很多命令行工具,包括sort的顺序和性能。大多说Linux发行版都会设置LANG或者其他本地变量为本地语言设置,比如US ENGLISH。这可能会使sort或者其他命令运行速度降低好几倍。(注意,使用utf-8可以安全地以ASCII码序进行排序)。关闭i18n的支持,采用传统的按字节序排序的方式,可以加快排序。使用方法是LC_ALL=C(通常考虑将这个设置放在.bashrc文件中).
  • 掌握用于数据处理的基本awk和sed命令。举例来说,求取第三个字段值得累加和:awk '{ x += $3 } END {print x}'. 这条命领可能比等价的python指令快3倍,而代码量却可能是python的1/3.
  • 替换一个文件中某个字符串的所有出现:

perl -pi.bak -e 's/old-string/new-string/g' my-files-*.txt

  • 使用shuf命令来打乱一个文件内的所有行和随机选取文件中的任意行
  • 掌握sort的选项。掌握怎么按关键字查询(比如-t和-k选项)。特别地,sort -k1,1是按第一个字段排序所有行,而sort -k1是按一整行排序。
  • 稳定排序可以使用sort -s。举例来说,先使用第一个字段排序,第一个字段相同则按第二个字段排序,可以使用如下命令:sort -k1,1 | sort -s -k2,2
  • 如果想在命令行输入制表符tab(比如使用sort的-t参数),可以使用ctrl-v或者直接键入$'\t'。
  • 对于二进制文件,可以使用hd进行16进制显示其内容,或者使用bvi来编辑二进制文件。
  • 同样是对于二进制文件,strings命令(结合grep命令等)可以用来查找二进制中的文本段。
  • 转换文本文件的编码,可以使用iconv命令。或者使用uconv命令来处理更为高级的转码任务。比如,下面的命令将大写转为小写,并去掉重音符号:

uconv -f utf-8 -t utf-8 -x ’::Any-Lower; ::Any-NFD; [:Nonspacing Mark:] >; ::Any-NFC; ' < input.txt output.txt

  • 切分文件可以使用split和csplit命令。前者按文件大小(size)切分,后者按模式规则(pattern)切分。
系统调试

  • 通过以下命令可以快速了解磁盘,cpu和网络的状态:iostat,netstat,top/htop,dstat。
  • 要了解内存的状态,可以使用free和vmstat命令。特别地,cached的值是Linux内核为文件缓存保留的内存部分,有效的内存值是free的值。
  • java系统调试是件截然不同的事情,但是一个简单的技巧是,在sun公司或者其他的JVM上,你可以使用kill -3来打印栈追踪和堆的摘要信息(包括垃圾收集器的细节信息)到标准错误或者日志文件。
  • mtr命令比traceroute还要强大,可以用来识别网络中出现的问题。
  • 查找磁盘为什么满了,ncdu命令比“du -sk *”要节省时间。
  • 查看哪个套接字或者进程占着带宽,可以使用iftop或者nethogs命令。
  • ab工具是Apache附带的web服务器性能应急工具,要进行更复杂的负载测试,可以使用siege命令。
  • 针对更为棘手的网络调试,可以使用wireshark或者tshark。
  • 掌握strace和ltrace命令。如果一个程序挂掉了,你却不知道原因,后者你想了解程序的性能,这两个工具非常有用。配置选项-c,和绑定一个运行中的进程的能力-p。
  • 掌握ldd检查动态链接库。
  • 掌握如何用gdb调试一个运行中的进程,以及获取进程的栈信息。
  • 使用/proc,在调试在线问题时很有用。比如,/proc/cpuinfo,/proc/xxx/cwd,/proc/xxx/exe,/proc/xxx/fd/,/proc/xxx/smaps.
  • 在调试过去为什么会出问题的内容是,sar命令很有用。该命令可以显示cpu、内存、网络等的历史统计信息。
  • 对于进一步的系统或性能分析,请查看stap(systemtap)和perf命令。
  • 如果出现硬件或驱动的某些奇妙问题,可以尝试使用dmesg命令。

英文原文PDF下载地址:http://download.youkuaiyun.com/detail/challenge_c_plusplus/6542415

其它类似内容: 《掌握Sed命令》

                                《掌握Awk命令》

在Ubuntu 22.04上从零搭建FVCOM环境:手把手搞定Linux、Intel编译器与NetCDF库 本文详细指导在Ubuntu 22.04上从零搭建FVCOM环境,涵盖Linux系统配置、Intel编译器安装、NetCDF库编译及常见问题解决。通过手把手教程,帮助科研人员高效完成水动力数值模拟环境的部署,特别适合水环境研究领域的初学者。 阅读详情

相关推荐

汽车级智能栅极驱动器深度解析 | 连载01:DRV871x-Q1系列产品架构与核心特性

集成度:单芯片集成多通道驱动器、电源管理、电流检测智能化:自适应控制算法,减少外部元件可靠性:多重保护机制,满足汽车级要求灵活性:SPI和硬件两种接口,适应不同应用需求。

VehSwHwDeveloper的博客 1150

linux限制用户本地或ssh远程登录

一:限制本地登录 1. 限制普通用户本地登录 把auth required pam_succeed_if.so user  = root quiet放到/etc/pam.d/login文件的第一行即可 2.限制root用户本地登录,只需要把 user = root 改成 user != root 即可 二:限制普通用户ssh远程登录 1.编辑/etc/pam.d/sshd文件,修

wjcaiyf的专栏 8807

七、从0开始卷出一个新项目之瑞萨RZN2L 2.2.2 启动模式和flash

七、从0开始卷出一个新项目之瑞萨RZN2L 2.2.2 启动模式和flash。

cl234583745的博客 1466

Linux程序编译速度提高方法

Linux开源程序编译往往会需要较长时间,多核处理器的应用可以大大缩短编译所需要的时间。   默认情况下,make并没有将多核处理器的性能发挥到极限。相反,它只使用了其中一个核心。   make的-j参数可以使make进行并行编译。make该参数的帮助如下: [xhtml] view plaincopy -j [N], --jobs[=N]          All

程序狗的成长之路 1494

独立游戏开发者的新武器:实测腾讯混元3D自动绑骨,搭配Mixamo让角色动画制作效率翻倍

本文实测腾讯混元3D自动绑骨功能与Mixamo动画库的协同使用,显著提升独立游戏开发者的角色动画制作效率。通过解决卡通角色绑骨偏差、优化骨骼权重及动画状态机配置,使原本两周的流程缩短至三天,并分享Unity中的性能优化与版权合规要点。

weixin_42662605的博客 488

Comsol 基于局部谐振压电材料的可调水下低频吸声

它通过建立基于LRPM的水下吸声理论模型,从有效材料的角度分析可调吸声特性和吸声机理,进一步提高吸声性能。该研究发现,薄的LRPM层可以在目标低频范围内实现出色的吸声效果,而这个目标低频可以通过操纵谐振分流电路进行主动调谐。通过引入局部谐振压电超材料和可调谐的谐振分流电路,研究人员能够有效地控制水下低频吸声特性,并且在吸声带宽方面取得了显著的改进。通过利用薄的活性超材料层,LRPM在水声吸声方面展现出潜力,并且通过操纵谐振分流电路,可以实现对吸声特性的精细控制。

weixin_45382232的博客 786

减小编译时间的两种做法

作者:朱金灿来源:http://blog.youkuaiyun.com/clever101随着源码工程越来越庞大,花在编译上面的时间越来越多。我们开始研究如何减少编译时间。一是执行每日自动构建。每日自动构建的原理很简单:安装每日构建工具CCNET(不熟悉该工具的同学可以去搜索下)。然后在源码服务器上安装编译环境。源码服务器每天获取最新代码,每天下班后开始编译最新代码,经过一个晚上基本上就能把库和应用程...

weixin_34348805的博客 269

gem5 run parsec2.1 ---- 亲测跑通教程

使用gem5模拟仿真parsec2.1,排除了各种bug,成功跑通,亲测有效!!!

m0_55539563的博客 1545

Linux用户必知之节省工作时间的技巧(上)

$血蝙蝠出品------作为一名程序员或者系统管理员,我们经常需要在unix-like(比如Linux)平台下工作。当我们第一次使用unix-linke系统,面对一个黑漆漆的屏幕,我们不知道它背后在做些什么,这是一件多么糟糕的事情!然而,如果我们能够掌握一些工具,那么我们会发现unix-like系统的美妙之处。这种系统快速、高效,非常完美。下面是一些重要的使用技巧,来帮助初学者使用Linux。

Challenge_C_PlusPlus的专栏 2060

Python中的串口通信库pyserial(基础)

pyserial是一个跨平台的库,可以在多个操作系统上使用,包括Windows、Linux和MacOS。:flushInput方法用于清除输入缓冲区中的所有数据,flushOutput方法用于清除输出缓冲区中的所有待发送数据。:PySerial允许在创建Serial对象后,通过修改对象的属性来设置串口参数,如波特率、数据位、校验位和停止位。同时,也提供了方法或属性来检查串口的状态,如是否已打开。:sendBreak方法用于向串口发送一个BREAK信号,这可以用于向连接的设备发送一个中断或重置信号。

weixin_44217158的博客 1万+

【毕设护航】从0构建YOLOv8犬类识别系统,120种犬类精准检测+可视化界面全流程指南

本文介绍了一个基于YOLOv8的120种犬类目标检测与可视化系统毕业设计项目。该项目使用Stanford Dogs数据集,将图像分类任务转化为目标检测任务。主要内容包括:数据预处理(XML标注转换为YOLO格式)、YOLOv8模型训练与测试(包含训练脚本编写和推理实现),以及基于Tkinter的图形界面开发。该项目技术链条完整,涵盖检测、分割等多任务支持,适合作为计算机视觉方向的毕业设计选题,兼具技术深度和展示效果。

LXY_LOVE36的博客 96

Linux Shell 的十几个技巧可以节省你的时间

对于管理员或用户来说,命令行不仅是一个可以做所有事情的工具,而且还是一个可以永远开发的高度定制的工具。并且,在 wget 运行的整个过程中,每个人都可以执行 ps 命令并查看您提供的密码。如果在控制台中的任何命令前加上空格,它将不会出现在命令历史记录中,因此如果您需要在命令中输入纯文本密码,那么使用此功能是一个好方法 - 查看下面的示例,但无论如何,请在评论中分享你的想法!选项 -P 非常有用,因为默认情况下 grep 使用的是相当过时的“基本正则表达式:”,而 -P 启用的 PCRE 甚至不支持分组。

2501_93209230的博客 681

震惊!用刚发布的GPT-5写研究现状,文献综述写作一整个大逆袭(附步骤+10条AI提示词)

每类分别给出:国内重点(3 条)、国外重点(3 条)、代表性方法(2–3 条)、代表成果(各 1–2 条)、主要问题(2 条)。每个场景给出:技术方案(2–3 种)、研究目标、实际成效/案例、当前挑战(3 点)。指令:基于国内外现状,系统列出当前学界的研究空白、关键未解问题与争议焦点(每项配简要证据/示例),并针对每个空白提出 1–2 条可行的研究方向或方法路径。三、差异与研究空白分析(≥300 字)。对每个小节提供:小标题、中心论点(1 句)、拟写要点(3–5 条)、建议引用类型(理论/方法/案例)。

qq_64378896的博客 114

linux more 高亮_分享20个Linux命令小贴士与技巧,让你提高生产力节省时间

简介:这里有一些很有用的Linux命令,终端技巧和快捷方式,可以在使用Linux命令行时节省大量时间。在本文中,我将向您演示一些专业的Linux命令技巧,这些技巧将使您节省大量时间,在某些情况下还可以避免很多麻烦,而且它也将帮助您提高工作效率。并不是说这些只是针对初学者的Linux技巧。即使有经验的Linux用户也有可能没有发现这些,尽管你这些年来一直在使用Linux。很酷的Linux终端技巧,帮...

weixin_39628105的博客 189

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

每个Linux 用户都应该知道的Linux技巧

是什么区分开普通的Linux用户和超级极客的呢?很简单:用在学习那些使长时工作转变为一瞬间工作的技巧、诀窍、秘诀和技术上的时间。如果你想提 高效率而又不用做这些搜集资料的跑腿活儿,那我们已经收集了50多条简单易学的Linux技巧,以帮助你更潇洒地工作,并且最大限度的利用你的电脑。开始 享受吧!...

chuanxifu4422的博客 896

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

只需20个Linux命令,让你的工作效率翻倍!

在许多情况下,使用上一个命令的参数很方便。假设您必须创建一个目录,然后进入新创建的目录。那么,您可以使用!$选项。更好的方法您可以使用使用alt + .。在最后一个命令的选项之间来回移动的次数。

不懂的博客 1146

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

10个节省时间和改善工作流的Git技巧

根据手册,Git 被定义为傻瓜式内容追踪器,它功能丰富,但有些功能却让人望而生畏。因此,我们只是重复使用那几个被记住的命令,而没有充分使用。 https://manpages.debian.org/stretch/git-man/git.1.en.html 技巧 1:优化配置 Git 在全局、用户和本地级别上都是高度可配置的。 https://git-scm.com/docs/git-co...

hellozhxy的博客 344

add git 的文件 移除_10个节省时间和改善工作流的Git技巧

这 10 个 Git 小技巧,不仅可以节省时间,而且能改善你的工作流程。根据手册,Git 被定义为傻瓜式内容追踪器,它功能丰富,但有些功能却让人望而生畏。因此,我们只是重复使用那几个被记住的命令,而没有充分使用。https://manpages.debian.org/stretch/git-man/git.1.en.html技巧 1:优化配置Git 在全局、用户和本地级别上都是高度可配置的。htt...

weixin_30189603的博客 98

高效linux用户需要了解的命令行技能

转自:http://it.zhans.org/04/449.htm#sec-1 摘要: 最近在Quora上看到一个问答题目,关于在高效率Linux用户节省时间Tips。 将该题目的回答进行学习总结,加上自己的一些经验,记录如下,方便自己和大家参考。 下面介绍的都是一些命令行工具,这些工具在几位回答者的日常工作中都很有用。 对于任何不了解的... 最近在Quora上看

Hello World! 794

20个超高效的Linux命令与技巧

简介:这里有一些很有用的 Linux 命令,终端技巧和快捷方式,可以在使用Linux命令行时节省大量时间。 在本文中,我将向您演示一些专业的Linux命令技巧,这些技巧将使您节省大量时间,在某些情况下还可以避免很多麻烦,而且它也将帮助您提高工作效率。 并不是说这些只是针对初学者的Linux技巧。即使有经验的Linux用户也有可能没有发现这些,尽管你这些年来一直在使用Linux。 很酷的Linux终端技巧,帮助您节省时间和提高生产力您很可能已经知道这些Linux命令中的一些或全部。 无论哪种情况,.

XMWS-IT 1298

Linux效率革命:用这些技巧节省90%时间

建议每个Linux用户都试试这种效率分析工具,你会发现原来每天浪费了这么多时间在重复输入上。通过持续优化,现在我的终端操作就像弹钢琴一样行云流水,工作效率提升看得见。作为一个经常和命令行打交道的人,我决定开发一个能自动分析并优化工作流的工具。使用一个月后,我的终端操作效率提升了近3倍。现在输入".."就能返回上层目录,"gs"代替了冗长的git status。上开发特别顺畅,它的在线编辑器响应很快,还能一键部署成Web应用分享给团队。上的一番尝试,终于做出了这个Linux效率分析器,效果出乎意料的好。

RubyLion28的博客 577

如何通过Awesome Linux资源列表提升你的Linux使用效率:7个实用技巧

你是否在寻找高质量的Linux工具和资源,但面对海量信息无从下手?Awesome Linux项目为你精心整理了Linux生态系统中真正优秀的内容,从桌面环境到命令行工具,从学习资源到实用应用,这个资源列表能帮你快速找到提升Linux使用效率的关键工具。 ## 为什么你需要一个高质量的Linux资源指南? 在Linux的世界里,选择过多往往成为问题。每天都有新的发行版、工具和应用出现,但质量参差

gitblog_00755的博客 552

一些提高生产力的 Linux 命令和技巧

文章目录1、使用tab自动补全2、切换回上一个工作目录3、回到主目录4、列出目录的内容5、在一个命令中运行多个命令6、仅当上一个命令成功时,才在一个命令中运行多个命令7、轻松搜索和使用你过去使用过的命令8、移动到行首或行尾9、从光标位置删除整行10、从意外的 Ctrl+S 中解冻你的 Linux 终端11、实时读取日志文件12、无需解压即可读取压缩日志13、使用less读取文件14、 用!!在当前命令中的重用前一个命令15、使用别名(alias)修复拼写错误16、在Linux终端复制粘贴17、杀死正在运行的

一个超会写Bug的程序猿的博客 2860

10 个提升效率的Linux小技巧

您是否曾经惊讶于看到某人在 UNIX 中非常快速地工作,触发命令并快速地执行操作?是的,我碰到过几次,并且我一直都在向那些超级巨星开发者学习。在本文中,我想分享一些 UNIX 命令实践,这些实践是我在Linux 中快速,快速或有效地工作所遵循的。我在金融服务行业工作,我的工作涉及电子交易,衍生工具等领域中在线股票和期货交易应用程序的开发和支持。我们的所有服务都在 Linux 服务器上运行,因此我需要在 Linux 中高效且快速地工作。这就是我在 Linux 中学习这些生产率提示的方式。 10 个提...

rizon886的博客 411

Linux系统管理员必知的10个高级cp命令技巧

技巧在日常系统管理中非常实用,熟练掌握后能节省大量时间。记住关键点:备份重要数据前总是先测试命令,使用适当参数保留文件属性,对大文件操作时显示进度信息。,它提供了在线的Linux环境,无需安装就能测试各种命令。我试过它的终端模拟器,响应速度很快,特别适合临时验证一些命令用法。虽然基础用法大家都很熟悉,但掌握一些高级技巧可以大幅提升工作效率。参数进行空运行,查看哪些文件会被修改。作为一名Linux系统管理员,日常工作中最常用的命令之一就是。想要快速体验这些命令的实际效果?测试命令,确认无误后再执行。

ObsidianRaven13的博客 626

有了这 27 个Linux 技巧,让你工作效率翻倍!

今天给大家分享 27 个实用的 Linux 技巧,对于一些经常在 Linux 操作系统下玩的重度爱好者,可以有效的提高你的工作效率。 今天给大家分享 27 个实用的 Linux 技巧,对于一些经常在 Linux 操作系统下玩的重度爱好者,可以有效的提高你的工作效率。 话不多说,进入正题。 谨慎删除文件 如果要谨慎使用 rm 命令,可以为它设置一个别名,在删除文件之前需要进行确认才能删除。有些系统管理员会默认使用这个别名,对于这种情况,你可能需要看看下一个技巧。 $ rm -i <== 请求确.

伤心的辣条 184
上一篇: Linux用户必知之节省工作时间的技巧(上)
下一篇: 搜索引擎学习资源收集
执迷的信徒
博客等级 码龄16年 245粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值