天天看點

希望早幾年知道的5個Unix指令

使用*nix系統已經有一段時間了。但還是有一些指令是被我一直忽略的,真希望我能早幾年發現這些指令。 1. man ascii這個指令會列印出八進制、十六進制和十進制的ASCII碼表。難以置信我是一個月之前才知道這個指令的。我總是使用google來查詢ASCII碼表。這個指令其實更友善。123456789101112 ASCII(7) BSD Miscellaneous Information Manual ASCII(7) NAME ascii -- octal, hexadecimal and decimal

ASCII character sets DESCRIPTION The octal set: 000 nul 001 soh 002 stx 003 etx 004 eot 005 enq 006 ack 007 bel 010 bs 011 ht 012 nl 013 vt 014 np 015 cr 016 so 017 si 020 dle 021 dc1 022 dc2 023 dc3 024 dc4 025 nak 026 syn 027 etb 030 can 031 em 032 sub 033

esc 034 fs 035 gs 036 rs 037 us 要檢視更多資訊,請參考 ascii 手冊頁面。 2. cal在很多系統上要顯示月曆一般要通過幾個步驟。其實你可以使用 cal 指令。123456789 > cal August 2013 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 要檢視更多資訊,請參考 cal 手冊頁面。 3.

xxd1234567891011121314151617 > xxd somefile.bin 0000000: 83ff 0010 8d01 0408 d301 0408 a540 0408 .............@.. 0000010: d701 0408 d901 0408 db01 0408 0000 0000 ................ 0000020: 0000 0000 0000 0000 0000 0000 1199 0508 ................ 0000030: df01

0408 0000 0000 e199 0508 1d9a 0508 ................ 0000040: e501 0408 2912 0508 e901 0408 eb01 0408 ....)........... 0000050: ed01 0408 ef01 0408 39e0 0408 55e0 0408 ........9...U... 0000060: 71e0 0408 8de0 0408 a9e0 0408 39f7 0408 q...........9... 0000070:

6df7 0408 a5f7 0408 ddf7 0408 15f8 0408 m............... 0000080: 49f8 0408 81f8 0408 7de5 0408 0b02 0408 I.......}....... 0000090: 4ded 0408 a9ed 0408 1102 0408 c5e0 0408 M............... 00000a0: 1502 0408 1702 0408 1902 0408 1b02 0408 ................ 00000b0:

e50a 0508 1d0b 0508 590b 0508 2302 0408 ........Y...#... 00000c0: 2502 0408 253d 0508 2941 0508 7106 0508 %...%=..)A..q... 00000d0: 8106 0508 690e 0508 990e 0508 c90e 0508 ....i........... 00000e0: 19e1 0408 3702 0408 3902 0408 3b02 0408 ....7...9...;... 這是另外一個讓我難以置信是最近才知道的指令。xxd可以生成所給與檔案的十六進制拷貝,也可以将編輯好的十六進制拷貝還原成二進制格式。它也可以将十六進制拷貝輸出成C的數組,很友善:1234567

> xxd -i data.bin unsigned char data_bin[] = { 0x6d, 0x61, 0x64, 0x65, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x0a }; unsigned int data_bin_len = 14; 我也用這個指令來通過比較兩個檔案的十六進制拷貝來比較兩個二進制檔案。要檢視更多資訊,請參考 xxd 手冊頁面。 4. sshssh是我孰知的第一個稍複雜的unix工具,但是也是在不久前我才意識到除了使用它來登入到遠端機器以外,它有更多其他用途。ssh和它附帶的工具可以用來:1

在計算機之間傳遞檔案(使用scp)2 X-forwarding – 連接配接到遠端的機器,并且開啟一個GUI應用,看起來它們就像在本地開啟的一樣,即使遠端的機器并沒有提供X服務。3 端口轉發 – 将到本地端口的連接配接轉發到遠端機器的端口,或者将到遠端機器端口的連接配接轉發到本地端口4 SOCKS 代理 – 允許你将一個支援SOCKET代理的應用上的所有連接配接轉發到遠端機器。這對于如何更安全使用公共wifi浏覽網絡和繞過嚴格的防火牆是很有用的。5 在本地機器輸入一次密碼,然後就可以通過ssh的key代理來使用安全身份登陸其餘的遠端機器,而不需要重複輸入你的密碼了。

要檢視更多資訊,請參考 ssh 手冊頁面。 5. mdfind這個mac上特有的指令,當然其他的*nix也會有相類似的指令。它和find指令功能相同,但是它是使用Spotlight索引的。它可以讓你在數秒内查詢你的整個檔案系統。你可以使用它來即時展示滿足條件的新增檔案的更新情況。我經常使用它來查詢應用在隐蔽的位置存儲的重要檔案。1234 > mdfind -name homebrew /usr/local/Library/Homebrew/Users/job/Library/Logs/Homebrew 要檢視更多資訊,請參考

mdfind 手冊頁面。

繼續閱讀