5个经常被忽略的Unix命令

使用unix系统的用户或许看了以后会有同感,unix系统已经有一段时间了。但还是有一些命令是被我一直忽略的,真希望我能早几年发现这些命令。这些命令点单方便区经常容易忽略,,希望本片可以给一些同样忽略的用户一个善意的提醒。

1. man ascii

这个命令会打印出八进制、十六进制和十进制的ASCII码表。难以置信我是一个月之前才知道这个命令的。我总是使用google来查询ASCII码表。这个命令其实更方便。

复制内容到剪贴板

  1. ASCII(7) BSD Miscellaneous Information Manual ASCII(7)
  2. NAME
  3. ascii -- octal, hexadecimal and decimal ASCII character sets
  4. DESCRIPTION
  5. The octal set:
  6. 000 nul 001 soh 002 stx 003 etx 004 eot 005 enq 006 ack 007 bel
  7. 010 bs 011 ht 012 nl 013 vt 014 np 015 cr 016 so 017 si
  8. 020 dle 021 dc1 022 dc2 023 dc3 024 dc4 025 nak 026 syn 027 etb
  9. 030 can 031 em 032 sub 033 esc 034 fs 035 gs 036 rs 037 us

2. cal

在很多系统上要显示日历一般要通过几个步骤。其实你可以使用 cal 命令。

复制内容到剪贴板

  1. > cal
  2. August 2013
  3. Su Mo Tu We Th Fr Sa
  4. 1 2 3
  5. 4 5 6 7 8 9 10
  6. 11 12 13 14 15 16 17
  7. 18 19 20 21 22 23 24
  8. 25 26 27 28 29 30 31

3. xxd当我们需要把二进制转成c语言中使用的16进制字符数组时,命令xxd是很有用的。

复制内容到剪贴板

  1. > xxd somefile.bin
  2. 0000000: 83ff 0010 8d01 0408 d301 0408 a540 0408 .............@..
  3. 0000010: d701 0408 d901 0408 db01 0408 0000 0000 ................
  4. 0000020: 0000 0000 0000 0000 0000 0000 1199 0508 ................
  5. 0000030: df01 0408 0000 0000 e199 0508 1d9a 0508 ................
  6. 0000040: e501 0408 2912 0508 e901 0408 eb01 0408 ....)...........
  7. 0000050: ed01 0408 ef01 0408 39e0 0408 55e0 0408 ........9...U...
  8. 0000060: 71e0 0408 8de0 0408 a9e0 0408 39f7 0408 q...........9...
  9. 0000070: 6df7 0408 a5f7 0408 ddf7 0408 15f8 0408 m...............
  10. 0000080: 49f8 0408 81f8 0408 7de5 0408 0b02 0408 I.......}.......
  11. 0000090: 4ded 0408 a9ed 0408 1102 0408 c5e0 0408 M...............
  12. 00000a0: 1502 0408 1702 0408 1902 0408 1b02 0408 ................
  13. 00000b0: e50a 0508 1d0b 0508 590b 0508 2302 0408 ........Y...#...
  14. 00000c0: 2502 0408 253d 0508 2941 0508 7106 0508 %...%=..)A..q...
  15. 00000d0: 8106 0508 690e 0508 990e 0508 c90e 0508 ....i...........
  16. 00000e0: 19e1 0408 3702 0408 3902 0408 3b02 0408 ....7...9...;...

这是另外一个让我难以置信是最近才知道的命令。xxd可以生成所给与文件的十六进制拷贝,也可以将编辑好的十六进制拷贝还原成二进制格式。它也可以将十六进制拷贝输出成C的数组,很方便:

复制内容到剪贴板

  1. > xxd -i data.bin
  2. unsigned char data_bin[] = {
  3. 0x6d, 0x61, 0x64, 0x65, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x6c, 0x6f, 0x6f,
  4. 0x6b, 0x0a
  5. };
  6. unsigned int data_bin_len = 14;

我也用这个命令来通过比较两个文件的十六进制拷贝来比较两个二进制文件。要查看更多信息,请参考xxd 手册页面。

4. ssh

ssh是我孰知的第一个稍复杂的unix工具,但是也是在不久前我才意识到除了使用它来登录到远端机器以外,它有更多其他用途。

ssh和它附带的工具可以用来:

在计算机之间传递文件(使用scp)

X-forwarding – 连接到远端的机器,并且开启一个GUI应用,看起来它们就像在本地开启的一样,即使远端的机器并没有提供X服务。

端口转发 – 将到本地端口的连接转发到远端机器的端口,或者将到远端机器端口的连接转发到本地端口

SOCKS 代理 – 允许你将一个支持SOCKET代理的应用上的所有连接转发到远端机器。这对于如何更安全使用公共wifi浏览网络和绕过严格的防火墙是很有用的。

在本地机器输入一次密码,然后就可以通过ssh的key代理来使用安全身份登陆其余的远端机器,而不需要重复输入你的密码了。

要查看更多信息,请参考ssh 手册页面。

5. mdfind

这个mac上特有的命令,当然其他的*nix也会有相类似的命令。它和find命令功能相同,但是它是使用Spotlight索引的。它可以让你在数秒内查询你的整个文件系统。你可以使用它来即时展示满足条件的新增文件的更新情况。我经常使用它来查询应用在隐蔽的位置存储的重要文件。

复制内容到剪贴板

  1. > mdfind -name homebrew
  2. /usr/local/Library/Homebrew
  3. /Users/job/Library/Logs/Homebrew

这就是经常被忽略的Unix的5个命令,希望大家能有所了解,实际操作的过程中可以用的到,谢谢大家的阅读。

(0)

相关推荐

  • UNIX命令行惯用语ibm官方完整版本

    当您到使用不同语言的国家去旅行时,可能需要掌握一些关键的日常用语,如“这个东西多少钱?”、“这是什么肉?”以及“洗手间在何处?”。记住这些简短的日常用语可以确保别人不会对您定购的三明治要价太高,并且在 ...

  • Linux/UNIX命令dd简介

    dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。 dd 的主要选项: 指定数字的地方若以下列字符结尾乘以相应的数字: b=512 ...

  • iPad平板电脑上常用Unix命令简单介绍

    iPad的操作系统iOS实际上是根据MacOSX操作系统简化而来的,底层大量的命令是通用的,都是类Unix的操作系统。下面简单介绍在iPad上可以使用的常见命令。 提示:以下命令要求巳经通过SSH登录 ...

  • iPad平板电脑上常用Unix命令

    iPad的操作系统iOS实际上是根据MacOSX操作系统简化而来的,底层大量的命令是通用的,都是类Unix的操作系统.下面简单介绍在iPad上可以使用的常见命令. 提示:以下命令要求巳经通过SSH登录 ...

  • linux free命令详解和使用实例(查看内存使用率)

    linux free命令详解和使用实例(查看内存使用率)

  • unix和linux的区别与联系详解

    区别和联系 Linux和UNIX的最大的区别是,前者是开发源代码的自由软件,而后者是对源代码实行知识产权保护的传统商业软件。这应该是他们最大的不同,这种不同体现在用户对前者有很高的自主权,而对后者却只 ...

  • 苹果Mac OS系统终端命令大全介绍

    Mac OS X操作系统下,也有类似于Windows下面的CMD运行框哦!你可以像 Windows 一样在 Mac 终端里面件数各种指令来操作你的Mac,例如:隐藏和显示文件,修改Hosts,查询IP ...

  • linux free命令详解和使用实例

    linux free命令详解和使用实例

  • Mac系统终端命令大全

    输入:sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /etc/hosts就可以用文本编辑来直接修改hosts 了. 隐藏文件是否显示有 ...