欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
10 個(gè)最酷的 Linux 單行命令
1.以SUDO運行上條命令
$ sudo !!
大家應該都知sudo,不解釋。但通常出現的情況是,敲完命令執行后報錯才發(fā)現忘了sudo。這時(shí)候,新手用戶(hù)就會(huì ):按上箭頭,按左箭頭,盯著(zhù)光標回到開(kāi)始處,輸入sudo,回車(chē);高手用戶(hù)就蛋定多了,按Ctrl-p,按Ctrl-a,輸入sudo,回車(chē)。
這里介紹這個(gè)是天外飛仙級別的,對,就直接sudo !!。
當然這幾種解決方式效果是完全一樣的,只是款不一樣,嗯,不解釋。
兩個(gè)感嘆號其實(shí)是bash的一個(gè)特性,稱(chēng)為事件引用符(eventdesignators)。!!其實(shí)相當于!-1,引用前一條命令,當然也可以!-2,!-50。默認情況下bash會(huì )在~/.bash_history文件內記錄用戶(hù)執行的最近500條命令,history命令可以顯示這些命令。


關(guān)于事件引用符的更多用法可以深入閱讀 The Definitive Guide to Bash Command Line History。
2.以HTTP方式共享當前文件夾的文件
$ python -m **HTTPServer
這命令啟動(dòng)了Python的**HTTPServer模塊,考慮到Python在絕大多數的Linux發(fā)行版當中都默認安裝,所以這個(gè)命令很可能是最簡(jiǎn)單的跨平臺傳文件的方法。
命令執行后將在本機8000端口開(kāi)放HTTP服務(wù),在其他能訪(fǎng)問(wèn)本機的機器的瀏覽器打開(kāi)ttp://ip:8000即打開(kāi)一個(gè)目錄列表,點(diǎn)擊即可下載。
3.在以普通用戶(hù)打開(kāi)的VIM當中保存一個(gè)ROOT用戶(hù)文件
:w !sudo tee %
這題目讀起來(lái)糾結,其實(shí)是很常見(jiàn)的,常常忘記了sudo就直接用vim編輯/etc內的文件,(不過(guò)也不一定,vim發(fā)現保存的文件無(wú)法保存時(shí)候會(huì )提示)等編輯好了,保存時(shí)候才發(fā)現沒(méi)權限。曲線(xiàn)方法是先保存個(gè)臨時(shí)文件,退出后再sudocp回去。不過(guò)實(shí)際上在vim里面可以直接完成這個(gè)過(guò)程的,命令就是如此。
查閱vim的文檔(輸入:help :w),會(huì )提到命令:w!{cmd},讓vim執行一個(gè)外部命令{cmd},然后把當前緩沖區的內容從stdin傳入。
tee是一個(gè)把stdin保存到文件的小工具。
而%,是vim當中一個(gè)只讀寄存器的名字,總保存著(zhù)當前編輯文件的文件路徑。
所以執行這個(gè)命令,就相當于從vim外部修改了當前編輯的文件,好完工。
4.切換回上一個(gè)目錄
$ cd -
應該不少人都知道這個(gè),橫桿-代表上一個(gè)目錄的路徑。
實(shí)際上cd -就是cd $OLDPWD的簡(jiǎn)寫(xiě),bash的固定變量$OLDPWD總保存著(zhù)之前一個(gè)目錄的路徑。
相對地,$PWD總保存著(zhù)當前目錄的路徑。這些變量在編寫(xiě)shell腳本時(shí)候相當有用。
5.替換上一條命令中的一個(gè)短語(yǔ)
$ ^foo^bar^
又是另外一個(gè)事件引用符(event designator),可以把上一條命令當中的foo替換成bar。
在需要重復運行調試一道長(cháng)長(cháng)的命令,需要測試某個(gè)參數時(shí)候,用這個(gè)命令會(huì )比較實(shí)用;但多數人會(huì )首先選擇按上箭頭提出上道命令,再移動(dòng)光標去修改某參數,這樣更直觀(guān),但效率上就不夠使用引用符高,而且在腳本中用這個(gè)方法可以簡(jiǎn)化很多。
這道命令的原始樣式應該是這樣的:
!!:s/foo/bar/
本文一開(kāi)始介紹過(guò)!!,后面的一段大家應該很熟悉,vim、sed的替換操作都是這樣的語(yǔ)法。
關(guān)于事件引用符的更多用法可以深入閱讀The Definitive Guide to Bash Command Line History
6.快速備份一個(gè)文件
$ cp filename{,.bak}
這道命令把filename文件拷貝成filename.bak,大家應該在一些比較復雜的安裝教程里面見(jiàn)過(guò)這樣的用法。其原理就在于bash對大括號的展開(kāi)操作,filename{,.bak}這一段會(huì )被展開(kāi)成filename filename.bak再傳給cp,于是就有了備份的命令了。
大括號在bash里面是一個(gè)排列的意義,可以試試這個(gè):
$ echo {a,b,c}{a,b,c}{a,b,c}
將輸出三個(gè)集合的全排列:
aaa aab aac aba abb abc aca acb acc
baa bab bac bba bbb bbc bca bcb bcc
caa cab cac cba cbb cbc cca ccb ccc
關(guān)于shell當中的集合操作,可深入閱讀”Set Operations in the Unix Shell
7.免密碼SSH登錄主機
$ ssh-copy-id remote-machine
這個(gè)命令把當前用戶(hù)的公鑰串寫(xiě)入到遠程主機的~/.ssh/authorized_keys內,這樣下次使用ssh登錄的時(shí)候,遠程主機就直接根據這串密鑰完成身份校驗,不再詢(xún)問(wèn)密碼了。前提是你當前用戶(hù)有生成了公鑰,默認是沒(méi)有的,先執行ssh-keygen試試吧!
這個(gè)命令如果用手工完成,是這樣的:
your-machine$ scp ~/.ssh/identity.pub remote-machine:
your-machine$ ssh remote-machine
remote-machine$ cat identity.pub >> ~/.ssh/authorized_keys
如果你想刪掉遠程主機上的密鑰,直接打開(kāi)authorized_keys,搜索你的用戶(hù)名,刪除那行,即可。
8.抓取LINUX桌面的視頻
$ ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg

我們在一些視頻網(wǎng)站上看到別人的3D桌面怎么怎么酷的視頻,通常就是這么來(lái)的,ffmpeg可以直接解碼X11的圖形,并轉換到相應輸出格式。
ffmpeg的通常用法是,根據一堆參數,輸出一個(gè)文件,輸出文件通常放最后,下面解析下幾個(gè)參數:
-f x11grab 指定輸入類(lèi)型。因為x11的緩沖區不是普通的視頻文件可以偵測格式,必須指定后ffmpeg才知道如何獲得輸入。
-s wxga 設置抓取區域的大小。wxga是1366*768的標準說(shuō)法,也可以換成-s 800×600的寫(xiě)法。
-r 25 設置幀率,即每秒抓取的畫(huà)面數。
-i :0.0 設置輸入源,本地X默認在0.0
-sameq 保持跟輸入流一樣的圖像質(zhì)量,以用來(lái)后期處理。


1.用你最喜歡的編輯器來(lái)敲命令
command <CTRL-x CTRL-e>
在已經(jīng)敲完的命令后按 <CTRL-x CTRL-e>,會(huì )打開(kāi)一個(gè)你指定的編輯器(比如vim,通過(guò)環(huán)境變量$EDITOR指定),里面就是你剛輸入的命令,然后愛(ài)怎么編輯就怎么編輯吧,特別是那些參數異常復雜的程序,比如mencoder/ffmpeg,一個(gè)命令動(dòng)輒3、4行的,要修改其中的參數,這個(gè)方法最合適不過(guò)了,保存退出后自動(dòng)執行這個(gè)程序。
實(shí)際上這是readline庫的功能,在默認情況下,bash使用的是emacs模式的命令行操作方式, <CTRL-x  CTRL-e>是調用這個(gè)功能的一個(gè)綁定。如果你習慣使用vi模式,按 <ESC v> 可以實(shí)現同樣功能。
如果你喜歡別的編輯器,可以在~/.bashrc里面放上比如export EDITOR=nano的命令。
另外一個(gè)修改命令的方法是使用fc命令(Fix Command),在編輯器里面打開(kāi)上一句命令。我們的第一輯連載提過(guò)一個(gè)^foo^bar^命令可以用fc來(lái)實(shí)現:fc -s foo=bar。

2.清空或創(chuàng )建一個(gè)文件
> file.txt
>在shell里面是標準輸出重定向符,即把(前部個(gè)命令的)命令行輸出轉往一個(gè)文件內,但這里沒(méi)有”前部命令”,輸出為空,于是就覆蓋(或創(chuàng )建)成一個(gè)空文件了。
有些腳本的寫(xiě)法是:>file.txt,因為:是bash默認存在的空函數。
單純創(chuàng )建文件也可以用$touch file.txt,touch本來(lái)是用作修改文件的時(shí)間戳,但如果文件不存在,就自動(dòng)創(chuàng )建了。
3.用SSH創(chuàng )建端口轉發(fā)通道
ssh -N -L2001:remotehost:80 user@somemachine
這個(gè)命令在本機打開(kāi)了2001端口,對本機2001端口的請求通過(guò)somemachine作為跳板,轉到remotehost的80端口上。
實(shí)現效果跟術(shù)語(yǔ)反向代理是相似的,實(shí)際上就是端口轉發(fā),注意上面的描述涉及了3臺主機,但當然somemachine可以變成localhost。
這個(gè)命令比較抽象,但有時(shí)候是很有用的,比如因為眾所周知的原因國內的IP的80端口無(wú)法使用,又或者公司的防火墻只給外網(wǎng)開(kāi)了ssh端口,需要訪(fǎng)問(wèn)內部服務(wù)器一個(gè)web應用,以及需要訪(fǎng)問(wèn)某些限定了來(lái)源IP的服務(wù),就可以用上這個(gè)方法了。
舉一個(gè)具體例子,運行:
ssh -f -N -L 0.0.0.0:443:twitter.com:443 shell.cjb.net
ssh  -f -N -L 0.0.0.0:80:twitter.com:80 shell.cjb.net
然后在/etc/hosts里面添加127.0.0.1 twitter.com,好吧剩下的你懂的。
當然通常做這個(gè)功能的反向代理,應該要用squid、nginx之類(lèi),ssh就算是輕量級的嘗試吧!
4.重置終端
reset
如果你試過(guò)不小心cat了某個(gè)二進(jìn)制文件,很可能整個(gè)終端就傻掉了,可能不會(huì )換行,沒(méi)法回顯,大堆亂碼之類(lèi)的,這時(shí)候敲入reset回車(chē),不管命令有沒(méi)有顯示,就能回復正常了。
實(shí)際上reset命令只是輸出了一些特殊字符,我們看BusyBox里面最簡(jiǎn)單的reset程序的實(shí)現:
printf(“\033c\033(K\033[J\033[0m\033[?25h”);
輸出的這些字符對Shell是有特殊意義的:
\033c: “ESC c” – 發(fā)送重置命令;
\033(K: “ESC ( K” – 重載終端的字符映射;
\033[J: “ESC [ J” – 清空終端內容;
\033[0m: “ESC [ 0 m” – 初始化字符顯示屬性;
\033[?25h: “ESC [ ? 25 h” – 讓光標可見(jiàn);
其中字符顯示屬性經(jīng)常用來(lái)設定打印字符的顏色等,可參考這個(gè)博文。
5.在午夜的時(shí)候執行某命令
echo cmd | at midnight
說(shuō)的就是at這個(gè)組件,通常跟cron相提并論,不過(guò)at主要用于定時(shí)一次性任務(wù),而cron定時(shí)周期性任務(wù)。
at的參數比較人性化,跟英語(yǔ)語(yǔ)法一樣,可以tomorrow, next week之類(lèi)的,詳細的查看手冊man at。
6.遠程傳送麥克風(fēng)語(yǔ)音
dd if=/dev/dsp | ssh username@host dd of=/dev/dsp
沒(méi)錯就是實(shí)現一個(gè)喊話(huà)器的功能。
/dev/dsp是Linux下聲卡的文件映射(Digital Signal  Proccessor),從其中讀數據就是錄音,往里面寫(xiě)數據就是播放,相當簡(jiǎn)單!
dd是常用的數據拷貝程序,如果不同時(shí)指定if、of,就直接使用stdin/stdout來(lái)傳輸。
如果你沒(méi)有遠程主機,可以試試這樣:
dd if=/dev/dsp of=/dev/dsp
直接回放麥克風(fēng)的聲音,只是有一點(diǎn)延時(shí)。
但是如果有別的程序正在使用聲卡,這個(gè)方法就不湊效了,因為一般的聲卡都不允許多個(gè)音頻流同時(shí)處理,可以借用alsa組件的工具,arecord跟aplay:
arecord | ssh username@host aplay
本地回放就是:
arecord | aplay
如果你想嚇嚇別人:
cat /dev/urandom | ssh username@host aplay
7.映射一個(gè)內存目錄
mount -t tmpfs -o size=1024m tmpfs /mnt/ram
這個(gè)命令開(kāi)了一塊1G內存來(lái)當目錄用。不過(guò)放心,如果里面沒(méi)文件,是不會(huì )占用內存的,用多少占多少。
不過(guò)一般來(lái)說(shuō)沒(méi)必要手動(dòng)掛載,因為多數發(fā)行版都會(huì )在fstab內預留了一個(gè)內存目錄,掛載在/dev/shm,直接使用即可;
最常見(jiàn)的用途是用內存空間來(lái)放Firefox的配置,可以讓慢吞吞的FF快很多,參見(jiàn)Shellex的博文:用tmpfs讓Firefox在內存中飛馳,以及后來(lái)的改進(jìn):用tmpfs讓Firefox在內存中飛馳II,其中提到的腳本來(lái)自speeding up firefox with tmpfs and automatic rsync。
那個(gè)破爛LinuxQQ也可以用這個(gè)方法,減少因為大量磁盤(pán)IO導致的問(wèn)題。
8.用DIFF對比遠程文件跟本地文件
ssh user@host cat /path/to/remotefile | diff /path/to/localfile  -
diff通常的用法是從參數讀入兩個(gè)文件,而命令里面的-則是指從stdin讀入了。
善用ssh可以讓web開(kāi)發(fā)減少很多繁瑣,還有比如sshfs,可以從編輯-上傳-編輯-上傳的人工循環(huán)里面解脫出來(lái)。
9.查看系統中占用端口的進(jìn)程
netstat -tulnp
Netstat是很常用的用來(lái)查看Linux網(wǎng)絡(luò )系統的工具之一,這個(gè)參數可以背下來(lái):
-t: 顯示TCP鏈接信息
-u: 顯示UDP鏈接信息
-l: 顯示監聽(tīng)狀態(tài)的端口
-n:  直接顯示ip,不做名稱(chēng)轉換
-p: 顯示相應的進(jìn)程PID以及名稱(chēng)(要root權限)
如果要查看關(guān)于sockets更詳細占用信息等,可以使用lsof工具。
 
1. 更友好的顯示當前掛載的文件系統

    mount | column -t

這條命令適用于任何文件系統,column 用于把輸出結果進(jìn)行列表格式化操作,這里最主要的目的是讓大家熟悉一下 columnt 的用法。

下面是單單使用 mount 命令的結果:

    $ mount

    /dev/root on / type ext3 (rw)
    /proc on /proc type proc (rw)
    /dev/mapper/lvmraid-home on /home type ext3 (rw,noatime)

而加了 column -t 命令后就成為這樣了:

    $ mount | column -t

    /dev/root on / type ext3 (rw)
    /proc on /proc type proc (rw)
    /dev/mapper/lvmraid-home on /home type ext3 (rw,noatime)

另外你可加上列名稱(chēng)來(lái)改善輸出結果

          $ (echo "DEVICE - PATH - TYPE FLAGS" && mount) | column -t
      

    DEVICE – PATH – TYPE FLAGS
    /dev/root on / type ext3 (rw)
    /proc on /proc type proc (rw)
    /dev/mapper/lvmraid-home on /home type ext3 (rw,noatime)

列2和列4并不是很友好,我們可以用 awk 來(lái)再處理一下

          $ (echo "DEVICE PATH TYPE FLAGS" && mount | awk '$2=$4="";1') | column -t
      

    DEVICE PATH TYPE FLAGS
    /dev/root / ext3 (rw)
    /proc /proc proc (rw)
    /dev/mapper/lvmraid-home /home ext3 (rw,noatime)

最后我們可以設置一個(gè)別名,為 nicemount

          $ nicemount() { (echo "DEVICE PATH TYPE FLAGS" && mount | awk '$2=$4="";1') | column -t; }
      

試一下

    $ nicemount

    DEVICE PATH TYPE FLAGS
    /dev/root / ext3 (rw)
    /proc /proc proc (rw)
    /dev/mapper/lvmraid-home /home ext3 (rw,noatime)

2. 運行前一個(gè) Shell 命令,同時(shí)用 “bar” 替換掉命令行中的每一個(gè) “foo”

    !!:gs/foo/bar

!! 表示重復執行上一條命令,并用 :gs/foo/bar 進(jìn)行替換操作。

關(guān)于 !! 這個(gè)用法在前一篇文章中已有詳細的介紹。

3. 實(shí)時(shí)某個(gè)目錄下查看最新改動(dòng)過(guò)的文件

          watch -d -n 1 'df; ls -FlAt /path'
      

在使用這條命令時(shí)你需要替換其中的 /path 部分,watch 是實(shí)時(shí)監控工具,-d 參數會(huì )高亮顯示變化的區域,-n 1 參數表示刷新間隔為 1 秒。

df; ls -FlAt /path 運行了兩條命令,df 是輸出磁盤(pán)使用情況,ls -FlAt 則列出 /path 下面的所有文件。

ls -FlAt 的參數詳解:

    -F 在文件后面加一個(gè)文件符號表示文件類(lèi)型,共有 */=>@| 這幾種類(lèi)型,* 表示可執行文件,/ 表示目錄,= 表示接口( sockets) ,> 表示門(mén), @ 表示符號鏈接, | 表示管道。
    -l 以列表方式顯示
    -A 顯示 . 和 ..
    -t 根據時(shí)間排序文件

4. 通過(guò) SSH 掛載遠程主機上的文件夾

    sshfs name@server:/path/to/folder /path/to/mount/point

這條命令可以讓你通過(guò) SSH 加載遠程主機上的文件系統為本地磁盤(pán),前提是你需要安裝 FUSE 及 sshfs 這兩個(gè)軟件。

譯者注:關(guān)于 sshfs 實(shí)際上我之前寫(xiě)過(guò)一篇文章介紹過(guò),詳見(jiàn)”在 Ubuntu 上使用 sshfs 映射遠程 ssh 文件系統為本地磁盤(pán)“。

卸載的話(huà)使用 fusermount 命令:

    fusermount -u /path/to/mount/point

5. 通過(guò) DNS 來(lái)讀取 Wikipedia 的詞條

    dig +short txt <keyword>.wp.dg.cx

這也許是最有趣的一條技巧了,David Leadbeater 創(chuàng )建了一個(gè) DNS 服務(wù)器,通過(guò)它當你查詢(xún)一個(gè) TXT 記錄類(lèi)型時(shí),會(huì )返回一條來(lái)自于 Wikipedia 的簡(jiǎn)短的詞條文字,這是他的介紹。

這里有一個(gè)樣例,來(lái)查詢(xún) “hacker” 的含義:

    $ dig +short txt hacker.wp.dg.cx

    “Hacker may refer to: Hacker (computer security), someone involved
    in computer security/insecurity, Hacker (programmer subculture), a
    programmer subculture originating in the US academia in the 1960s,
    which is nowadays mainly notable for the free software/” “open
    source movement, Hacker (hobbyist), an enthusiastic home computer
    hobbyist http://a.vu/w:Hacker

這里使用了 dig 命令,這是標準的用來(lái)查詢(xún) DNS 的系統管理工具,+short 參數是讓其僅僅返回文字響應,txt 則是指定查詢(xún) TXT 記錄類(lèi)型。

更簡(jiǎn)單的做法是你可以為這個(gè)技巧創(chuàng )建一個(gè)別名:

    wiki() { dig +short txt $1.wp.dg.cx; }

然后試試吧:

    $ wiki hacker

    “Hacker may refer to: Hacker (computer security), …”

如果你不想用 dig ,也可以用 host 命令:

    host -t txt hacker.wp.dg.cx

6. 用 Wget 的遞歸方式下載整個(gè)網(wǎng)站

    wget --random-wait -r -p -e robots=off -U Mozilla www.example.com
      

參數解釋?zhuān)?br>
    - -random-wait 等待 0.5 到 1.5 秒的時(shí)間來(lái)進(jìn)行下一次請求
    -r 開(kāi)啟遞歸檢索
    -e robots=off 忽略 robots.txt
    -U Mozilla 設置 User-Agent 頭為 Mozilla

其它一些有用的參數:

    - -limit-rate=20K 限制下載速度為 20K
    -o logfile.txt 記錄下載日志
    -l 0 刪除深度(默認為5)
    –wait=1h 每下載一個(gè)文件后等待1小時(shí)

7. 復制最后使用的命令中的參數

    ALT + . (or ESC + .)

這個(gè)快捷鍵只能工作于 shell 的 emacs 編輯模式,它可以從最后使用的命令行中復制參數到當前命令行中,下面是一個(gè)樣例:

    $ echo a b c
    a b c

    $ echo <Press ALT + .>
    $ echo c

你可以重復執行該快捷鍵,以便獲取自已需要的參數,

以下是樣例:

    $ echo 1 2 3
    1 2 3
    $ echo a b c
    a b c

    $ echo <Press ALT + .>
    $ echo c

    $ echo <Press ALT + .> again
    $ echo 3

另外,假如你想指定第1個(gè)或第2個(gè),或者是第 n 個(gè)參數的話(huà),可以按 ALT + 1 (或 ESC + 1) 或 ALT + 2 (或 ESC +2) 這樣形式的快捷鍵。

以下是樣例:

    $ echo a b c
    a b c

    $ echo <Press ALT + 1> <Press ALT + .>
    $ echo a
    a

    $ echo <Press ALT + 2> <Press ALT + .>
    $ echo b
    b

查看” Emacs Editing Mode Keyboard Shortcuts “ 一文獲取更多類(lèi)似的快捷鍵。

8. 執行一條命令但不保存到 history 中

    <space> command

這條命令可運行于最新的 Bash shell 里,在其它 shell 中沒(méi)測試過(guò)。

通過(guò)在命令行前面添加一個(gè)空格,就可以阻止這條命令被保存到 bash history (~/.bash_history) 文件中,這個(gè)行為可以通過(guò) $HISTIGNORE shell 變量來(lái)控制。我的設置是 HISTIGNORE=”&:[ ]*” ,表示不保存重復的命令到 history 中,并且不保存以空格開(kāi)頭的命令行。$HISTIGNORE 中的值以冒號分隔。

如果你對此感興趣,想深入了解的話(huà),可進(jìn)一步看此文”The Definitive Guide to Bash Command Line History“

9. 顯示當前目錄中所有子目錄的大小

          du -h --max-depth=1

- -max-depth=1 參數可以讓 du 命令顯示當前目錄下 1 級子目錄的統計信息,當然你也可以把 1 改為 2 ,進(jìn)一步顯示 2 級子目錄的統計信息,可以靈活運用。而 -h 參數則是以 Mb 、G 這樣的單位來(lái)顯示大小。

譯者注:在此推薦一個(gè)小工具 ncdu ,可以更方便的達到此效果。

10. 顯示消耗內存最多的 10 個(gè)運行中的進(jìn)程,以?xún)却媸褂昧颗判?br>
    ps aux | sort -nk +4 | tail

顯然這并不是最好的方法,但它確實(shí)用起還不錯。

這是一個(gè)典型的管道應用,通過(guò) ps aux 來(lái)輸出到 sort 命令,并用 sort 排序列出 4 欄,再進(jìn)一步轉到 tail 命令,最終輸出 10 行顯示使用內存最多的進(jìn)程情況。

假如想要發(fā)現哪個(gè)進(jìn)程使用了大量?jì)却娴脑?huà),我通常會(huì )使用 htop 或 top 而非 ps 。

額外的:用 python 快速開(kāi)啟一個(gè) SMTP 服務(wù)

    python -m smtpd -n -c DebuggingServer localhost:1025

這是一個(gè)用 Python 標準庫 smtpd (用 -m smtpd 指定) 實(shí)現在簡(jiǎn)易 SMTP 服務(wù),運行于 1025 端口 。

另外三個(gè)參數的解釋?zhuān)?br>
    -n 參數讓 Python 不要進(jìn)行 setuid ( 改變用戶(hù))為 “nobody” ,也就是說(shuō)直接用你的賬號來(lái)運行
    -c DebuggingServer 參數是讓 Python 運行時(shí)在屏幕上輸出調試及運行信息
    localhost:1025 參數則是讓 Python 在本地的 1025 端口上開(kāi)啟 SMTP 服務(wù)

另外,假如你想讓程序運行于標準的 25 的端口上的話(huà),你必須使用 sudo 命令,因為只有 root 才能在 1-1024 端口上開(kāi)啟服務(wù)。如下:

    sudo python -m smtpd -n -c DebuggingServer localhost:25
 
1.查看ASCII碼表
man 7 ascii

很多人初學(xué)編程都會(huì )接觸到ascii碼的概念,有時(shí)候為了查某個(gè)符號的ascii值,可能還得翻箱倒柜找出當年的課本?Linux Manpage里面其實(shí)包含了很多類(lèi)似的實(shí)用資料,上述命令就能很詳細的方式解釋ascii編碼,當然這里還有在線(xiàn)版。
man命令的第二個(gè)參數是區域碼,用來(lái)區分索引詞的范圍,比如printf,在C標準庫里面的printf跟bash當中的printf是不同的,前者的查詢(xún)是man 3 printf,后者是man 1 printf。如果這個(gè)區域碼省略,就會(huì )從1開(kāi)始搜索,直到找到為止。
命令man man可以看到詳細的解釋。


manpages里面還有一些有趣而且實(shí)用的資料,可能鮮為人知:
man 1 intro – 一篇對從未接觸過(guò)Linux的用戶(hù)的簡(jiǎn)明教程。
man 2 syscalls – 內核系統請求的列表,按內核版本注釋分類(lèi),系統編程必備。
man 2 select_tut – 關(guān)于select()系統請求的教程。
man 3 string – 在頭文件內的所有函數。
man 3 stdio – 關(guān)于頭文件的使用,標準輸入/輸出庫的說(shuō)明。
man 3 errno – 所有errorno的取值及說(shuō)明。(C語(yǔ)言?xún)阮?lèi)似其他語(yǔ)言的異常告知機制)
man 4 console_codes – Linux的終端控制碼及其使用解釋。
man 4 full – 介紹/dev/full這個(gè)總是處于”滿(mǎn)”狀態(tài)的磁盤(pán)。(對應/dev/null這個(gè)總是空的設備)
man 5 proc – 介紹/proc下的文件系統。
man 5 filesystems – 各種Linux文件系統。
第7區里面的資料通常最酷:
man 7 bootparam – 詳細解釋內核啟動(dòng)參數。
man 7 charsets – 解釋各種語(yǔ)言的編碼集。(gbk,gb2312等)
man 7 glob – 解釋glob文件名管理機制的工作過(guò)程。
man 7 hier – 解釋Linux文件系統結構各個(gè)部分的作用。
man 7 operator – C語(yǔ)言的運算符的列表。
man 7 regex – 介紹正則表達式。
man 7 suffixes – 常見(jiàn)文件后綴名的列表跟解釋。
man 7 time – Linux的時(shí)鐘機制解釋。
man 7 units – 數值單位及其數值的解釋。
man 7 utf8 – 描述UTF-8編碼。
man 7 url – 解釋URL、URI、URN等的標準。
2.簡(jiǎn)易計時(shí)器
time read
運行命令開(kāi)始算起,到結束時(shí)按一下Enter,就顯示出整個(gè)過(guò)程的時(shí)間,精確到ms級別。
time是用來(lái)計算一個(gè)進(jìn)程在運行到結束過(guò)程耗費多少時(shí)間的程序,它的輸出通常有三項:
$ time ls /opt


real 0m0.008s
user 0m0.003s
sys 0m0.007s

real指整個(gè)程序對真實(shí)世界而言運行所需時(shí)間,user指程序在用戶(hù)空間運行的時(shí)間,sys指程序對系統調用鎖占用時(shí)間。
read本來(lái)是一個(gè)讀取用戶(hù)輸入的命令,常見(jiàn)用法是read LINE,用戶(hù)輸入并回車(chē)后,鍵入的內容就被保存到$LINE變量?jì)?,但在鍵入回車(chē)前,這個(gè)命令是一直阻塞的。
可見(jiàn)time read這命令靈活地利用了操作系統的阻塞。用這個(gè)命令來(lái)測試一壺水多久煮滾應該是不錯的。
3.遠程關(guān)掉一臺WINDOWS機器
net rpc shutdown -I IP_ADDRESS -U username%password

Windows平臺上的net命令是比較強大的,因為其后臺是一個(gè)RPC類(lèi)的系統服務(wù),大家應該看過(guò)win下用net use [url=c:%5Cip%5Cipc$]file:///C|/ip/ipc%24[/url] *這樣一個(gè)命令建立IPC空連接,入侵主機的事情。
Linux下的net命令是samba組件的程序,通常包含在smbclient內,可以跟windows主機的文件、打印機共享等服務(wù)進(jìn)行通訊,但是也支持rpc命令。
上述命令就是在遠程Windows主機上執行了shutdown命令。當然這不一定成功,關(guān)系到win主機上面的安全設置。net命令能夠控制到win主機就是了。
4.在一個(gè)子SHELL中運行一個(gè)命令
(cd /tmp && ls)
當然這只是演示,要查看目錄當然可以ls /tmp。
好處就是不會(huì )改變當前shell的目錄,以及如果命令中設計環(huán)境變量,也不會(huì )對當前shell有任何修改。
在Shell編程中還有很多使用上引號來(lái)括住一個(gè)命令:`ls /tmp`,這也是子shell過(guò)程??墒巧弦柕姆椒o(wú)法嵌套,而使用小括號的方法可以,一個(gè)比較糾結的例子是:
echo $(echo -e [url=c:%5Cx$%28printf]file:///C|/x%24%28printf[/url] “%x” 65))
5.利用中間管道嵌套使用SSH
ssh -t host_A ssh host_B
如果目標機器host_B處于比較復雜的網(wǎng)絡(luò )環(huán)境,本機無(wú)法直接訪(fǎng)問(wèn),但另外一臺host_A能夠訪(fǎng)問(wèn)到host_B,而且也能被本機訪(fǎng)問(wèn)到,那上述命令就解決了方便登錄host_B的問(wèn)題。
但理論上這個(gè)過(guò)程是可以無(wú)限嵌套的,比如:
ssh -t host1 ssh -t host2 ssh -t host3 ssh -t host4 …
嗯那神馬FBI CIA的,有本事來(lái)捉我吧~
6.清空屏幕
<CTRL+l>;
這個(gè)跟之前介紹的reset命令重置終端的作用有些類(lèi)似,其實(shí)都只是發(fā)送一段控制序列,讓終端的顯示復位。
還可以這樣運行:
tput clear
tput是專(zhuān)門(mén)用來(lái)控制終端的一個(gè)小工具,也挺強大的,詳細信息運行man tput查看。
7.我想知道一臺服務(wù)器什么時(shí)候重啟完
ping -a IP

系統管理員最常做的事情是重啟系統。但是服務(wù)器的重啟過(guò)程往往得花上好幾分鐘,什么你的服務(wù)器4個(gè)scsi卡?16個(gè)硬盤(pán)?系統是Redhat?還完全安裝所有組件?好吧,它重啟的時(shí)間都夠你吃頓飯了,所以我很想知道它什么時(shí)候回來(lái)。
ping命令有個(gè)audible ping參數,-a,當它終于ping通你的服務(wù)器時(shí)會(huì )讓小喇叭叫起來(lái)。
8.列出你最常用的10條命令
history | awk '{a[$2]++}END{for(i in a){print a " " i}}' | sort -rn | head
這行命令組合得很妙: history輸出用戶(hù)了命令歷史;awk統計并輸出列表;sort排序;head截出前10行。
9.檢查GMAIL新郵件
curl -u you@gmail.com --silent "https://mail.google.com/mail/feed/atom"| <br/>perl -ne \ <br/>' <br/>print "Subject: $1 " if/<title>(.+?)<\/title>/ &&$title++; <br/>print "(from $1)\n" if/<email>(.+?)<\/email>/; <br/>'
Gmail的一個(gè)特色是支持Atom feed輸出郵件列表,所以總是見(jiàn)到很多Gmail郵件提醒器之類(lèi)的,因為開(kāi)發(fā)特簡(jiǎn)單,atom很方便。
這里只是利用了perl的正則來(lái)解析atom(sed/awk也能做到)。
10.用TELNET看《星球大戰》
telnet towel.blinkenlights.nl
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
SLAX在虛擬機下手動(dòng)安裝到硬盤(pán)
Linux的目錄結構是什么樣的?
Linux命令行技巧
超全 Linux 基礎命令總結
Linux基礎入門(mén)學(xué)習筆記20135227黃曉妍
Linux經(jīng)常用到的命令
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久