作家
登录

命令行的艺术:linux bash命令大全详解

作者: 来源: 2017-05-25 11:46:43 阅读 我要评论

  • 可以安装 Cygwin 许可你在 Microsoft Windows 中体验 Unix shell 的威力。如许的话,本文中介绍的大年夜多半内容都将实用。
  • 经由过程 Cygwin 的担保理器来安装额外的 Unix 法度榜样。
  • 应用 mintty 作为你的敕令行窗口。
  • 要拜访 Windows 剪贴板,可以经由过程 /dev/clipboard 。
  • 运行 cygstart 以经由过程默认法度榜样打开一个文件。
  • 要拜访 Windows 注册表,可以应用 regtool 。
  • 留意 Windows 驱动器路径 C:\ 在 Cygwin 顶用 /cygdrive/c 代表,而 Cygwin 的 / 代表 Windows 中的 C:\cygwin 。要转换 Cygwin 和 Windows 风格的路径可以用 cygpath 。这在须要调用 Windows 法度榜样的脚本里很有效。
  • 学会应用 wmic ,你就可以大年夜敕令行履行大年夜多半 Windows 体系治理义务,并编成脚本。
  • 要在 Windows 下获得 Unix 的界面和体验,另一个办法是应用 Cash 。须要留意的是,这个情况支撑的 Unix 敕令和敕令行参数异常少。
  • 要在 Windows 上获取 GNU 开辟者对象(比如 GCC)的另一个办法是应用 MinGW 以及它的 MSYS 软件包,该软件包供给了 bash、gawk、make、grep 等对象。然而 MSYS 供给的功能没有 Cygwin 完美。MinGW 在创建 Unix 对象的 Windows 原生移植方面异常有效。
  • 对于二进制文件,应用 hd , hexdump 或者 xxd 使其以十六进制显示,应用 bvi , hexedit 或者 biew 来进行二进制编辑。

    同样对于二进制文件, strings (包含 grep 等对象)可以赞助在二进制文件中查找特定比特。

    应用 iconv 更改文本编码。须要更高等的功能,可以应用 uconv ,它支撑一些高等的 Unicode 功能。例如,这条敕令移除了所有重音符号:

    1. uconv -f utf-8 -t utf-8 -x '::Any-Lower; ::Any-NFD; [:Nonspacing Mark:] >; ::Any-NFC; ' < input.txt > output.txt 
    • 拆分文件可以应用 split (按大年夜小拆分)和 csplit (按模式拆分)。
    • 操作日期和时光表达式,可以用 dateutils 中的 dateadd 、 datediff 、 strptime 等对象。
    • 应用 zless 、 zmore 、 zcat 和 zgrep 对紧缩过的文件进行操作。
    • 文件属性可以经由过程 chattr 进行设置,它交手件权限加倍底层。例如,为了保护文件不被不测删除,可以应用弗成修改标记: sudo chattr +i /critical/directory/or/file
    • 应用 getfacl 和 setfacl 以保存和恢复文件权限。例如:
    • getfacl -R /some/path > permissions.txt
    • setfacl --restore=permissions.txt
    • 为了高效地创建空文件,请应用 truncate (创建 稀少文件 ), fallocate (用于 ext4,xfs,btrf 和 ocfs2 文件体系), xfs_mkfile (实用于几乎所有的文件体系,包含在 xfsprogs 包中), mkfile (用于类 Unix 操作体系,比如 Solaris 和 Mac OS)。

    体系捣言

    • curl 和 curl -I 可以被轻松地应用于 web 调试中,它们的好兄弟 wget 也是如斯,或者也可以尝尝更潮的 httpie 。
    • 获取 CPU 和硬盘的应用状况,平日应用应用 top ( htop 更佳), iostat 和 iotop 。而 iostat -mxz 15 可以让你获悉 CPU 和每个硬盘分区的根本信息和机能表示。
    • 应用 netstat 和 ss 查看收集连接的细节。
    • dstat 在你想要对体系的近况竽暌剐一个粗略的熟悉时是异常有效的。然而若要对体系有一个深度的总体熟悉,应用 glances ,它会在一个终端窗口中向你供给一些体系级的数据。
    • 若要懂得内存状况,运行并懂得 free 和 vmstat 的输出。值得留心的是“cached”的值,它指的是 Linux 内核用来作为文件缓存的内存大年夜小,而与余暇内存无关。
    • Java 体系捣言则是一件截然不合的事,一个可以用于 Oracle 的 JVM 或其他 JVM 上的调试的技能是你可以运行 kill -3 同时一个完全的┞坊轨迹和堆概述(包含 GC 的细节)会被保存到标准缺点或是日记文件。JDK 中的 jps , jstat , jstack , jmap 很有效。 SJK tools 更高等。
    • 应用 mtr 去跟踪路由,用于肯定收集问题。
    • 用 ncdu 来查看磁盘应用情况,它比平常的敕令,如 du -sh * ,更节俭时光。
    • 查找正在应用带宽的套接字连接或过程,应用 iftop 或 nethogs 。
    • ab 对象(Apache 中自带)可以简单粗暴地检查 web 办事器的机能。对于更复杂的负载测试,应用 siege 。
    • wireshark , tshark 和 ngrep 可用于复杂的收集调试。
    • 懂得 strace 和 ltrace 。这俩对象在你的法度榜样运行掉败、挂起甚至崩溃,而你却不知道为什么或你想对机能有个总体的熟悉的时刻是异常有效的。留意 profile 参数( -c )和附加到一个运行的过程参数 ( -p )。
    • 懂得应用 ldd 来检查共享库。
    • 懂得若何应用 gdb 连接到一个运行着的过程并获取它的客栈轨迹。
    • 学会应用 /proc 。它在调试正在出现的问题的时刻有时会效不雅惊人。比如: /proc/cpuinfo , /proc/meminfo , /proc/cmdline , /proc/xxx/cwd , /proc/xxx/exe , /proc/xxx/fd/ , /proc/xxx/smaps (这里的 xxx 表示过程的 id 或 pid)。
    • 当调试一些之前出现的问题的时刻, sar 异常有效。它展示了 cpu、内存以及收集等的汗青数据。
    • 关于更深层次的体系分析以及机能分析,看看 stap ( SystemTap ), perf ,以及 sysdig 。
    • 查看你当前应用的体系,应用 uname , uname -a (Unix/kernel 信息)或者 lsb_release -a (Linux 发行版信息)。
    • 无论什么器械工作得很欢快(可能是硬件或驱动问题)时可以尝尝 dmesg 。

    •   推荐阅读

        前端跨域请求原理及实践

      如不雅让 办事器3000 上的页面向 办事器 3001 提议请求会如何呢?浏览器的同源策略,出于防备跨站脚本的进击,禁止客户端脚本(如 JavaScript)对不合域的办事进行跨站调用。一般的,只要网站>>>详细阅读


      本文标题:命令行的艺术:linux bash命令大全详解

      地址:http://www.17bianji.com/lsqh/35418.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)