快捷搜索:  汽车  科技

linux开发必备的10大实用神器(程序员提高工作效率)

linux开发必备的10大实用神器(程序员提高工作效率)以下是仅限于 OS X 系统的技巧。对大厂架构设计,BAT等厂家面试题解读,编程语言理论或者互联网圈逸闻趣事这些感兴趣,欢迎关注笔者,没有错,干货文章都在这里。

熟练使用命令行是一种常常被忽视,或被认为难以掌握的技能,但实际上,它会提高你作为工程师的灵活性以及生产力。

目录
  1. Linux系统实用命令
  2. OS X 系统实用命令
  3. 实用 Windows 命令行工具命令

本文是一份在工作时,包括了在Linux OS X Window系统,总结的一些冷门但特别实用的一些命令,希望可以帮助到大家。

这篇文章并不长,但当你能够熟练掌握这里列出的所有技巧时,你就学会了很多关于命令行的东西了。

欢迎关注笔者,优质文章都在这里等你。

linux开发必备的10大实用神器(程序员提高工作效率)(1)

总结如下:Linux系统
  • expr:计算表达式或正则匹配
  • m4:简单的宏处理器
  • yes:多次打印字符串
  • cal:漂亮的日历
  • env:执行一个命令(脚本文件中很有用)
  • printenv:打印环境变量(调试时或在写脚本文件时很有用)
  • look:查找以特定字符串开头的单词或行
  • cut,paste 和 join:数据修改
  • fmt:格式化文本段落
  • pr:将文本格式化成页/列形式
  • fold:包裹文本中的几行
  • column:将文本格式化成多个对齐、定宽的列或表格
  • expand 和 unexpand:制表符与空格之间转换
  • nl:添加行号
  • seq:打印数字
  • bc:计算器
  • factor:分解因数
  • gpg:加密并签名文件
  • toe:terminfo 入口列表
  • nc:网络调试及数据传输
  • socat:套接字代理,与 netcat 类似
  • slurm:网络流量可视化
  • dd:文件或设备间传输数据
  • file:确定文件类型
  • tree:以树的形式显示路径和文件,类似于递归的 ls
  • stat:文件信息
  • time:执行命令,并计算执行时间
  • timeout:在指定时长范围内执行命令,并在规定时间结束后停止进程
  • lockfile:使文件只能通过 rm -f 移除
  • logrotate: 切换、压缩以及发送日志文件
  • watch:重复运行同一个命令,展示结果并/或高亮有更改的部分
  • when-changed:当检测到文件更改时执行指定命令。参阅 inotifywait 和 entr。
  • tac:反向输出文件
  • shuf:文件中随机选取几行
  • comm:一行一行的比较排序过的文件
  • strings:从二进制文件中抽取文本
  • tr:转换字母
  • iconv 或 uconv:文本编码转换
  • split 和 csplit:分割文件
  • sponge:在写入前读取所有输入,在读取文件后再向同一文件写入时比较有用,例如 grep -v something some-file | sponge some-file
  • units:将一种计量单位转换为另一种等效的计量单位(参阅 /usr/share/units/definitions.units)
  • apg:随机生成密码
  • xz:高比例的文件压缩
  • ldd:动态库信息
  • nm:提取 obj 文件中的符号
  • ab 或 wrk:web 服务器性能分析
  • strace:调试系统调用
  • mtr:更好的网络调试跟踪工具
  • cssh:可视化的并发 shell
  • rsync:通过 ssh 或本地文件系统同步文件和文件夹
  • wireshark 和 tshark:抓包和网络调试工具
  • ngrep:网络层的 grep
  • host 和 dig:DNS 查找
  • lsof:列出当前系统打开文件的工具以及查看端口信息
  • dstat:系统状态查看
  • glances:高层次的多子系统总览
  • iostat:硬盘使用状态
  • mpstat: CPU 使用状态
  • vmstat: 内存使用状态
  • htop:top 的加强版
  • last:登入记录
  • w:查看处于登录状态的用户
  • id:用户/组 ID 信息
  • sar:系统历史数据
  • iftop 或 nethogs:套接字及进程的网络利用情况
  • ss:套接字数据
  • dmesg:引导及系统错误信息
  • sysctl: 在内核运行时动态地查看和修改内核的运行参数
  • hdparm:SATA/ATA 磁盘更改及性能分析
  • lsblk:列出块设备信息:以树形展示你的磁盘以及磁盘分区信息
  • lshw,lscpu,lspci,lsusb 和 dmidecode:查看硬件信息,包括 CPU、BIOS、RAID、显卡、USB设备等
  • lsmod 和 modinfo:列出内核模块,并显示其细节
  • fortune,ddate 和 sl:额,这主要取决于你是否认为蒸汽火车和莫名其妙的名人名言是否“有用”

linux开发必备的10大实用神器(程序员提高工作效率)(2)

仅限 OS X 系统

以下是仅限于 OS X 系统的技巧。

  • 用 brew (Homebrew)或者 port (MacPorts)进行包管理。这些可以用来在 OS X 系统上安装以上的大多数命令。
  • 用 pbcopy 复制任何命令的输出到桌面应用,用 pbpaste 粘贴输入。
  • 若要在 OS X 终端中将 Option 键视为 alt 键(例如在上面介绍的 alt-b、alt-f 等命令中用到),打开 偏好设置 -> 描述文件 -> 键盘 并勾选“使用 Option 键作为 Meta 键”。
  • 用 open 或者 open -a /Applications/Whatever.app 使用桌面应用打开文件。
  • Spotlight:用 mdfind 搜索文件,用 mdls 列出元数据(例如照片的 EXIF 信息)。
  • 注意 OS X 系统是基于 BSD UNIX 的,许多命令(例如 ps,ls,tail,awk,sed)都和 Linux 中有微妙的不同( Linux 很大程度上受到了 System V-style Unix 和 GNU 工具影响)。你可以通过标题为 "BSD General Commands Manual" 的 man 页面发现这些不同。在有些情况下 GNU 版本的命令也可能被安装(例如 gawk 和 gsed 对应 GNU 中的 awk 和 sed )。如果要写跨平台的 Bash 脚本,避免使用这些命令(例如,考虑 Python 或者 perl )或者经过仔细的测试。
  • 用 sw_vers 获取 OS X 的版本信息。
实用 Windows 命令行工具
  • 可以使用 wmic 在命令行环境下给大部分 Windows 系统管理任务编写脚本以及执行这些任务。
  • Windows 实用的原生命令行网络工具包括 ping,ipconfig,tracert,和 netstat。
  • 可以使用 Rundll32 命令来实现许多有用的 Windows 任务 。

linux开发必备的10大实用神器(程序员提高工作效率)(3)


您的转发 关注就是对笔者最大的支持,欢迎关注。

对大厂架构设计,BAT等厂家面试题解读,编程语言理论或者互联网圈逸闻趣事这些感兴趣,欢迎关注笔者,没有错,干货文章都在这里。

猜您喜欢: