使用unix系統(tǒng)的用戶或許看了以后會有同感,unix系統(tǒng)已經(jīng)有一段時(shí)間了。但還是有一些命令是被我一直忽略的,真希望我能早幾年發(fā)現(xiàn)這些命令。這些命令點(diǎn)單方便區(qū)經(jīng)常容易忽略,,希望本片可以給一些同樣忽略的用戶一個(gè)善意的提醒。
1. man ascii
這個(gè)命令會打印出八進(jìn)制、十六進(jìn)制和十進(jìn)制的ASCII碼表。難以置信我是一個(gè)月之前才知道這個(gè)命令的。我總是使用google來查詢ASCII碼表。這個(gè)命令其實(shí)更方便。
復(fù)制內(nèi)容到剪貼板
- 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
2. cal
在很多系統(tǒng)上要顯示日歷一般要通過幾個(gè)步驟。其實(shí)你可以使用 cal 命令。
復(fù)制內(nèi)容到剪貼板
- > 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
3. xxd 當(dāng)我們需要把二進(jìn)制轉(zhuǎn)成c語言中使用的16進(jìn)制字符數(shù)組時(shí),命令xxd是很有用的。
復(fù)制內(nèi)容到剪貼板
- > 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...;...
這是另外一個(gè)讓我難以置信是最近才知道的命令。xxd可以生成所給與文件的十六進(jìn)制拷貝,也可以將編輯好的十六進(jìn)制拷貝還原成二進(jìn)制格式。它也可以將十六進(jìn)制拷貝輸出成C的數(shù)組,很方便:
復(fù)制內(nèi)容到剪貼板
-
- > 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;
我也用這個(gè)命令來通過比較兩個(gè)文件的十六進(jìn)制拷貝來比較兩個(gè)二進(jìn)制文件。要查看更多信息,請參考xxd 手冊頁面。
4. ssh
ssh是我孰知的第一個(gè)稍復(fù)雜的unix工具,但是也是在不久前我才意識到除了使用它來登錄到遠(yuǎn)端機(jī)器以外,它有更多其他用途。
ssh和它附帶的工具可以用來:
在計(jì)算機(jī)之間傳遞文件(使用scp)
X-forwarding – 連接到遠(yuǎn)端的機(jī)器,并且開啟一個(gè)GUI應(yīng)用,看起來它們就像在本地開啟的一樣,即使遠(yuǎn)端的機(jī)器并沒有提供X服務(wù)。
端口轉(zhuǎn)發(fā) – 將到本地端口的連接轉(zhuǎn)發(fā)到遠(yuǎn)端機(jī)器的端口,或者將到遠(yuǎn)端機(jī)器端口的連接轉(zhuǎn)發(fā)到本地端口
SOCKS 代理 – 允許你將一個(gè)支持SOCKET代理的應(yīng)用上的所有連接轉(zhuǎn)發(fā)到遠(yuǎn)端機(jī)器。這對于如何更安全使用公共wifi瀏覽網(wǎng)絡(luò)和繞過嚴(yán)格的防火墻是很有用的。
在本地機(jī)器輸入一次密碼,然后就可以通過ssh的key代理來使用安全身份登陸其余的遠(yuǎn)端機(jī)器,而不需要重復(fù)輸入你的密碼了。
要查看更多信息,請參考ssh 手冊頁面。
5. mdfind
這個(gè)mac上特有的命令,當(dāng)然其他的*nix也會有相類似的命令。它和find命令功能相同,但是它是使用Spotlight索引的。它可以讓你在數(shù)秒內(nèi)查詢你的整個(gè)文件系統(tǒng)。你可以使用它來即時(shí)展示滿足條件的新增文件的更新情況。我經(jīng)常使用它來查詢應(yīng)用在隱蔽的位置存儲的重要文件。
復(fù)制內(nèi)容到剪貼板
- > mdfind -name homebrew
- /usr/local/Library/Homebrew
- /Users/job/Library/Logs/Homebrew
這就是經(jīng)常被忽略的Unix的5個(gè)命令,希望大家能有所了解,實(shí)際操作的過程中可以用的到,謝謝大家的閱讀。