<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## less `less`?命令用來在控制臺中分屏顯示文本文檔。它在許多發行版中可用。 ~~~ #?less?unixtoolbox.xhtml ~~~ 一些重要指令(^N 代表 [control]-[N]): - **h H**?? ? ? 顯示指令的匯總列表 - **f ^F ^V SPACE**?? ? ? 向前滾動一屏(或者 N 行) - **b ^B ESC-v**?? ? ? 向后滾動一屏(或者 N 行) - **F**?? ? ? 向前滾動;類似于"tail -f" - **/pattern**?? ? ? 向前搜索匹配該模式的行 - **?pattern**?? ? ? 向后搜索匹配該模式的行 - **n**?? ? ? 重復之前的搜索 - **N**?? ? ? 反方向重復之前的搜索 - **q**?? ? ? 退出 ## vi Vi 在任何 Linux/Unix 發行安裝版(gentoo 沒有?)上都存在。因此,我們有必要了解一些基本的命令。Vi 有兩個模式:命令模式和插入模式。使用?**[ESC]**?鍵可進入命令模式,使用?**i**?鍵可進入插入模式。如果你迷失了,可在命令模式下鍵入?`: help`。 編輯器?`nano`?和?`pico`?通常也都可用,而且更容易(IMHO)使用。 ### Quit - **:w**?newfilename ? ? ? 保存文件為 newfilename - **:wq or :x**?? ? ? 保存并退出 - **:q!**?? ? ? 退出但不保存 ### 移動和查找 - **/string**?? ? ? 向前查找 string - **?string**?? ? ? 向后查找 string - **n**?? ? ? 同方向重復上一次搜索命令 - **N**?? ? ? 反方向重復上一次搜索命令 - **{**?? ? ? 光標移至段落結尾 - **}**?? ? ? 光標移至段落開頭 - **1G**?? ? ? 光標移至文件的第一行首 - **nG**?? ? ? 光標移至文件的第 n 行首 - **G**?? ? ? 光標移至文件的最后一行首 - **:%s/OLD/NEW/g**?? ? ? 替換所有查找到的 OLD 為 NEW ### 刪除文本 - **dd**?? ? ? 刪除當前行 - **D**?? ? ? 刪除光標到當前行末尾的字符 - **dw**?? ? ? 刪除單詞 - **x**?? ? ? 刪除字符 - **u**?? ? ? 回復上一次操作 - **U**?? ? ? 回復所有此行的更改 ## mail `mail`?命令是一個讀取和發送郵件的應用程序,她通常已安裝。要發送一封郵件,可以簡單的輸入 "mail user@domain"。其第一行為主題,然后是郵件內容。在一個新行中使用單個點(.)來結束并發送郵件。例子: ~~~ #?mail?c@cb.vu Subject:?Your?text?is?full?of?typos "For?a?moment,?nothing?happened.?Then,?after?a?second?or?so,? nothing?continued?to?happen." . EOT # ~~~ 這同樣可用于管道: ~~~ #?echo?"This?is?the?mail?body"?|?mail?c@cb.vu ~~~ 也是測試郵件服務器的簡單方法。 ## tar 命令?`tar`?(磁帶存檔) 可以為文件和目錄創建檔案。歸檔文件 .tar 是未壓縮的,一個壓縮過的歸檔文件的后綴是 .tgz 或 .tar.gz (zip) 或者 .tbz (bzip2)。不要使用絕對路徑建立一個歸檔文件,你可能要解開這個歸檔文件到某個地方。一些常用命令如下: ### 創建 #?cd?/ #?tar?-cf?home.tar?home/????????#?歸檔整個?/home?目錄(c?為創建) #?tar?-czf?home.tgz?home/???????#?等同于?zip?壓縮 #?tar?-cjf?home.tbz?home/???????#?等同于?bzip2?壓縮 從一個目錄樹中只包含一個(或2個)目錄,并保持相對目錄結構。舉個例子,/usr/local/etc 和 /usr/local/www,它們在歸檔文件中的第一層目錄是 local/。 #?tar?-C?/usr?-czf?local.tgz?local/etc?local/www #?tar?-C?/usr?-xzf?local.tgz????#?釋放?local?目錄到?/usr #?cd?/usr;?tar?-xzf?local.tgz???#?同上面一樣 ### 釋放(Extract) #?tar?-tzf?home.tgz?????????????#?列出歸檔文件中的所有文件,并不釋放 #?tar?-xf?home.tar??????????????#?釋放歸檔文件(x?為釋放) #?tar?-xzf?home.tgz?????????????#?等同于?zip?壓縮 #?tar?-xjf?home.tgz?????????????#?等同于?bzip2?壓縮 #?tar?-xjf?home.tgz?home/colin/file.txt????#?釋放單個文件 ### 更高級的 #?tar?c?dir/?|?gzip?|?ssh?user@remote?'dd?of=dir.tgz'?#?歸檔壓縮?dir/?目錄并存儲到遠程主機上 #?tar?cvf?-?`find?.?-print`?>?backup.tar??????????????#?歸檔當前目錄 #?tar?-cf?-?-C?/etc?.?|?tar?xpf?-?-C?/backup/etc??????#?拷貝目錄 #?tar?-cf?-?-C?/etc?.?|?ssh?user@remote?tar?xpf?-?-C?/backup/etc??????#?遠程拷貝 #?tar?-czf?home.tgz?--exclude?'*.o'?--exclude?'tmp/'?home/ ## dd 程序?`dd`?(磁盤備份(disk dump) 或 destroy disk,也可看?[dd 的含義](http://roesler-ac.de/wolfram/acro/credits.htm)) 用來拷貝分區、磁盤或者其它拷貝。通常這么用: ~~~ #?dd?if=<source>?of=<target>?bs=<byte?size>?conv=<conversion> ~~~ 重要的 conv 選項: - `notrunc`?? ? ? 不截短輸出文件 - `noerror`?? ? ? 出錯時不停止處理(e.g. 壞扇區) - `sync`?? ? ? 把每個輸入塊填充到ibs個字節,不足部分用空(NUL)字符補齊 默認字節大小為 512 (一個扇區)。MBR 處于磁盤的第一個扇區,之后的 63 個扇區是空的。較大的字節大小可以加快拷貝速度但也需要更多的內存。 ## 備份和恢復 #?dd?if=/dev/hda?of=/dev/hdc?bs=16065b????????????????#?拷貝磁盤到磁盤(相同大小) #?dd?if=/dev/sda7?of?/home/root.img?bs=4096?conv=notrunc,noerror?#?備份?/ #?dd?if?/home/root.img?of=/dev/sda7?bs=4096?conv=notrunc,noerror?#?恢復?/ #?dd?bs=1M?if=/dev/ad4s3e?|?gzip?-c?>?ad4s3e.gz??????????????????#?壓縮備份 #?gunzip?-dc?ad4s3e.gz?|?dd?of=/dev/ad0s3e?bs=1M?????????????????#?解壓恢復 #?dd?bs=1M?if=/dev/ad4s3e?|?gzip?|?ssh?eedcoba@fry?'dd?of=ad4s3e.gz'?#?也可為遠程的 #?gunzip?-dc?ad4s3e.gz?|?ssh?eedcoba@host?'dd?of=/dev/ad0s3e?bs=1M' #?dd?if=/dev/ad0?of=/dev/ad2?skip=1?seek=1?bs=4k?conv=noerror????#?忽略?MBR #?如果目標(ad2)比較小,這是必須的。 ### 恢復 該?`dd`?命令會讀取分區的_每一個區塊_,即所有區塊。對于有問題的區塊,最好使用?`conv=sync,noerror`?選項,dd 將會跳過壞的區塊并入 0。因此,這就是設置塊大小等于或小于磁盤塊大小的重要性。1k 大小似乎安全,用?`bs=1k`?來設置它。假如一個磁盤有壞扇區并且有個分區的數據要恢復,那么用 dd 工具創建一個鏡像文件,掛載這個鏡像文件,然后拷貝內容到新的磁盤中。如果用了?`noerror`?選項,dd 會跳過壞扇區并寫入 0,也即壞扇區中的內容會丟失。 ~~~ #?dd?if=/dev/hda?of=/dev/null?bs=1m???????????????????#?檢查壞扇區 #?dd?bs=1k?if=/dev/hda1?conv=sync,noerror,notrunc?|?gzip?|?ssh?\?#?發送到遠程 root@fry?'dd?of=hda1.gz?bs=1k' #?dd?bs=1k?if=/dev/hda1?conv=sync,noerror,notrunc?of=hda1.img????#?存儲為一個映像文件 #?mount?-o?loop?/hda1.img?/mnt????????????????????????#?掛載這個映像文件 #?rsync?-ax?/mnt/?/newdisk/???????????????????????????#?拷貝到一個新磁盤 #?dd?if=/dev/hda?of=/dev/hda??????????????????????????#?刷新磁狀態 ??#?上面的命令對于刷新磁盤(refresh?disk)很有用。這絕對安全,但必須先卸載磁盤。 ### 刪除 #?dd?if=/dev/zero?of=/dev/hdc?????????????????????????#?刪除全部數據 #?dd?if=/dev/urandom?of=/dev/hdc??????????????????????#?更好的刪除全部數據 #?kill?-USR1?PID??????????????????????????????????????#?查看?dd?進度(僅Linux!) ~~~ ### MBR 技巧 MBR 包含了引導程序和分區表,它的大小為 512 字節。前 446 字節為引導程序,446 到 512 字節為分區表。 ~~~ #?dd?if=/dev/sda?of=/mbr_sda.bak?bs=512?count=1??????????????????#?完全備份? MBR#?dd?if=/dev/zero?of=/dev/sda?bs=512?count=1??????????????????#?刪除?MBR?和分區表 #?dd?if=/mbr_sda.bak?of=/dev/sda?bs=512?count=1??????????????????#?完全恢復MBR #?dd?if=/mbr_sda.bak?of=/dev/sda?bs=446?count=1??????????????????#?僅回復引導程序 #?dd?if=/mbr_sda.bak?of=/dev/sda?bs=1?count=64?skip=446?seek=446?#?恢復分區表 ~~~ ## screen Screen 提供了兩個主要功能: - 在一個終端內運行多個終端會話(terminal session)。 - 一個已啟動的程序與運行它的真實終端分離的,因此可運行于后臺。真實的終端可以被關閉,還可以在稍后再重新接上(reattached)。 ### 簡短實例 開啟 screen: #?screen 在 screen 會話中,我們可以開啟一個長時間運行的程序(如 top)。Detach 這個終端,之后可以從其他機器 reattach 這個相同的終端(比如通過 ssh)。 #?top 現在用?**Ctrl-a Ctrl-d**?來 detach。Reattach 終端: #?screen?-r 或更好的: ~~~ #?screen?-R?-D ~~~ 現在 attach 到這里。具體意思是:先試圖恢復離線的 screen 會話。若找不到離線的 screen 會話,即建立新的 screen 會話給用戶。 ### Screen 命令 (在 screen 中) 所有命令都以?**Ctrl-a**?開始。 - **Ctrl-a ?**?各功能的幫助摘要 - **Ctrl-a c**?創建一個新的 window (終端) - **Ctrl-a Ctrl-n 和 Ctrl-a Ctrl-p**?切換到下一個或前一個 window - **Ctrl-a Ctrl-N**?N 為 0 到 9 的數字,用來切換到相對應的 window - **Ctrl-a "**?獲取所有正在運行的 window 的可導航的列表 - **Ctrl-a a**?清楚錯誤的 Ctrl-a - **Ctrl-a Ctrl-d**?斷開所有會話,會話中所有任務運行于后臺 - **Ctrl-a x**?用密碼鎖柱 screen 終端 當程序內部運行終端關閉并且你登出該終端時,該 screen 會話就會被終止。 ## Find 一些重要選項: - `-x`?(BSD)?`-xdev`?(Linux) ? ? ? 留于同一文件系統 (fstab 中的 dev) - `-exec cmd {} \;`?? ? ? 執行命令并用全路徑替換 {} - `-iname`?? ? ? 同 -name 一樣,但不區分大小寫 - `-ls`?? ? ? 顯示關于文件的信息(同 ls -la) - `-size n`?? ? ? n 為 +-n (k M G T P) - `-cmin n`?? ? ? 查找系統中最后 n 分鐘改變文件狀態的文件 ~~~ #?find?.?-type?f?!?-perm?-444????????#?尋找所有無法讀取的文件 #?find?.?-type?d?!?-perm?-111????????#?尋找所有無法訪問的目錄 #?find?/home/user/?-cmin?10?-print???#?尋找最后?10?分鐘創建或修改的文件 #?find?.?-name?'*.[ch]'?|?xargs?grep?-E?'expr'?#?在當前目錄及子目錄搜索?'expr'?表達式 #?find?/?-name?"*.core"?|?xargs?rm???#?尋找?core?垃圾并刪除它們(也可試試?core.*) #?find?/?-name?"*.core"?-print?-exec?rm?{}?\;??#?另一種語法 ??????#?尋找圖像文件并創建一個歸檔文件,iname?為不區分大小寫。-r?為附加 ??????#?find?.?\(?-iname?"*.png"?-o?-iname?"*.jpg"?\)?-print?-exec?tar?-rf?images.tar?{}?\;?????? #?find?.?-type?f?-name?"*.txt"?!?-name?README.txt?-print??#?除?README.txt?的文件 #?find?/var/?-size?+10M?-exec?ls?-lh?{}?\;?????#?查找?>?10?MB?的文件 #?find?/var/?-size?+10M?-ls???????????#?這個更簡單 #?find?.?-size?+10M?-size?-50M?-print #?find?/usr/ports/?-name?work?-type?d?-print?-exec?rm?-rf?{}?\;??#?清理?port ??????#?以?SUID?查找文件;這些文件很脆弱,必須保持安全。 #?find?/?-type?f?-user?root?-perm?-4000?-exec?ls?-l?{}?\; 小心 xarg 或 exec,因為當文件或目錄中包含空格時可能會返回錯誤的結果。在有疑惑時用 "-print0 | xargs -0" 代替 "| xargs"。選項 -print0 必須在 find 命令的最后。看這個不錯的[find 迷你教程](http://www.hccfl.edu/pollock/Unix/FindCmd.htm). #?find?.?-type?f?|?xargs?ls?-l???????#?不能工作于有空格的名字 #?find?.?-type?f?-print0?|?xargs?-0?ls?-l??#?可工作于有空格的名字 #?find?.?-type?f?-exec?ls?-l?'{}'?\;?#?或使用用于?-exec?的引用?'{}' ~~~ ### 混雜的 #?which?command??????????????????????#?顯示命令的全路徑名 #?time?command???????????????????????#?顯示一個命令執行完成所用的時間 #?time?cat???????????????????????????#?使用?time?作為秒表,用?Ctrl-c?來停止 #?set?|?grep?$USER???????????????????#?列顯當前環境變量 #?cal?-3?????????????????????????????#?顯示三個月日歷 #?date?[-u|--utc|--universal]?[MMDDhhmm[[CC]YY][.ss]] #?date?10022155??????????????????????#?設置日期和時間 #?whatis?grep????????????????????????#?顯示命令的簡短信息 #?whereis?java???????????????????????#?查詢命令的的路徑和標準目錄 #?setenv?varname?value???????????????#?設置環境變量,設置變量?varname?的值為?value?(csh/tcsh) #?export?varname="value"?????????????#?設置環境變量,設置變量?varname?的值為?value??(sh/ksh/bash) #?pwd????????????????????????????????#?顯示當前工作目錄#?mkdir?-p?/path/to/dir?????????????? #?如果存在不顯示錯誤,建立所需的上級目錄#?mkdir?-p?project/{bin,src,obj,doc/{html,man,pdf},debug/some/more/dirs} #?rmdir?/path/to/dir?????????????????#?移除目錄 #?rm?-rf?/path/to/dir????????????????#?移除目錄和其內容(強制) #?cp?-la?/dir1?/dir2?????????????????#?存檔、硬連接目錄所有文件,用來替代拷貝 #?cp?-lpR?/dir1?/dir2????????????????#?同上?(FreeBSD) #?cp?unixtoolbox.xhtml{,.bak}????????#?拷貝文件成新擴展名的快速方法 #?mv?/dir1?/dir2?????????????????????#?修改目錄名
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看