linux dd命令[用于制作U盤啟動盤的神奇的命令]linux dd命令刻錄啟動U盤詳解dd命令做usb啟動盤十分方便,只須:sudo
成都創(chuàng)新互聯(lián)是一家專注于成都網站設計、成都網站制作、外貿網站建設與策劃設計,海棠網站建設哪家好?成都創(chuàng)新互聯(lián)做網站,專注于網站建設十余年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:海棠等地區(qū)。海棠做網站價格咨詢:18982081108
dd if=xxx.iso of=/dev/sdb bs=1M
用以上命令前必須卸載u盤,sdb是你的u盤,bs=1M是塊的大小,后面的數(shù)值大,寫的速度相對塊一點,但也不是無限的,我一般選2M,注意,執(zhí)行命令后很塊完成,但u盤還在閃,等不閃了,安全移除。
注意:你的鏡像需要支持dd命令。
dd命令的解釋。
定義
dd是Linux/UNIX 下的一個非常有用的命令,作用是用指定大小的塊拷貝一個文件,并在拷貝的同時進行指定的轉換。
參數(shù)
1. if=文件名:輸入文件名,缺省為標準輸入。即指定源文件。 if=input file
2. of=文件名:輸出文件名,缺省為標準輸出。即指定目的文件。 of=output file
3. ibs=bytes:一次讀入bytes個字節(jié),即指定一個塊大小為bytes個字節(jié)。
obs=bytes:一次輸出bytes個字節(jié),即指定一個塊大小為bytes個字節(jié)。
bs=bytes:同時設置讀入/輸出的塊大小為bytes個字節(jié)。
4. cbs=bytes:一次轉換bytes個字節(jié),即指定轉換緩沖區(qū)大小。
5. skip=blocks:從輸入文件開頭跳過blocks個塊后再開始復制。
6. seek=blocks:從輸出文件開頭跳過blocks個塊后再開始復制。
注意:通常只用當輸出文件是磁盤或磁帶時才有效,即備份到磁盤或磁帶時才有效。
7. count=blocks:僅拷貝blocks個塊,塊大小等于ibs指定的字節(jié)數(shù)。
8. conv=conversion:用指定的參數(shù)轉換文件。
ascii:轉換ebcdic為ascii
ebcdic:轉換ascii為ebcdic
ibm:轉換ascii為alternate ebcdic
block:把每一行轉換為長度為cbs,不足部分用空格填充
unblock:使每一行的長度都為cbs,不足部分用空格填充
lcase:把大寫字符轉換為小寫字符
ucase:把小寫字符轉換為大寫字符
swab:交換輸入的每對字節(jié)
noerror:出錯時不停止
notrunc:不截短輸出文件
sync:將每個輸入塊填充到ibs個字節(jié),不足部分用空(NUL)字符補齊。
編輯本段dd應用實例。
1.將本地的/dev/hdb整盤備份到/dev/hdd
dd if=/dev/hdb of=/dev/hdd
2.將/dev/hdb全盤數(shù)據備份到指定路徑的image文件
dd if=/dev/hdb of=/root/image
3.將備份文件恢復到指定盤
dd if=/root/image of=/dev/hdb
4.備份/dev/hdb全盤數(shù)據,并利用gzip工具進行壓縮,保存到指定路徑
dd if=/dev/hdb | gzip /root/image.gz
5.將壓縮的備份文件恢復到指定盤
gzip -dc /root/image.gz | dd of=/dev/hdb
6.備份磁盤開始的512個字節(jié)大小的MBR信息到指定文件
dd if=/dev/hda of=/root/image count=1 bs=512
count=1指僅拷貝一個塊;bs=512指塊大小為512個字節(jié)。
恢復:dd if=/root/image of=/dev/hda
7.備份軟盤
dd if=/dev/fd0 of=disk.img count=1 bs=1440k (即塊大小為1.44M)
8.拷貝內存內容到硬盤
dd if=/dev/mem of=/root/mem.bin bs=1024 (指定塊大小為1k)
9.拷貝光盤內容到指定文件夾,并保存為cd.iso文件
dd if=/dev/cdrom(hdc) of=/root/cd.iso
10.增加swap分區(qū)文件大小
第一步:創(chuàng)建一個大小為256M的文件:
dd if=/dev/zero of=/swapfile bs=1024 count=262144
第二步:把這個文件變成swap文件:
mkswap /swapfile
第三步:啟用這個swap文件:
swapon /swapfile
第四步:編輯/etc/fstab文件,使在每次開機時自動加載swap文件:
/swapfile swap swap default 0 0
11.銷毀磁盤數(shù)據
dd if=/dev/urandom of=/dev/hda1
注意:利用隨機的數(shù)據填充硬盤,在某些必要的場合可以用來銷毀數(shù)據。
12.測試硬盤的讀寫速度
dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
dd if=/root/1Gb.file bs=64k | dd of=/dev/null
通過以上兩個命令輸出的命令執(zhí)行時間,可以計算出硬盤的讀、寫速度。
13.確定硬盤的最佳塊大小:
dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file
dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file
dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file
通過比較以上命令輸出中所顯示的命令執(zhí)行時間,即可確定系統(tǒng)最佳的塊大小。
14.修復硬盤
dd if=/dev/sda of=/dev/sda
當硬盤較長時間(比如1,2年)放置不使用后,磁盤上會產生magnetic fluxpoint。當磁頭讀到這些區(qū)域時會遇到困難,并可能導致I/O錯誤。當這種情況影響到硬盤的第一個扇區(qū)時,可能導致硬盤報廢。上邊的命令有可能使這些數(shù)據起死回生。且這個過程是安全,高效的。
Linux下,有兩個命令可以用來作為計劃任務而執(zhí)行,
要使用一次性任務計劃,linux必須要有負責這個計劃任務的服務,那就是atd服務
但是并非所有的linux distribution都默認會打開,我們需要手動激活愛聽的任務
如果服務未安裝,則需要手動安裝
#:yum install - y at 或 #:apt-get install at
如果擔心啟動是否執(zhí)行OK的話,可使用命令查看:
#:ps aux |grep atd
或者使用
systemctl status atd
# 查閱一下 atd 目前的狀態(tài),Active 狀態(tài)應是 running
使用 at 這個指令來產生所要運行的工作,并 將這個工作以文本文件的方式寫入 /var/spool/cron/atjobs/ 目錄內,該工作便能等待 atd 這個服務的取用與執(zhí)行了。 不過,因為安全的理由,并不是所有的人都可以進行 at 工作調度!
at 的使用限制是利用 /etc/at.allow 與 /etc/at.deny 這兩個文件來進行的! 加上這兩個文件后,at 的工作情況其實是這樣的:
在一般的 distributions 當中,由于假設系統(tǒng)上的所有用戶都是可信任的,因此系統(tǒng)通常會保留一個空的 /etc/at.deny 文件,意思是允 許所有人使用 at 指令的意思 (您可以自行檢查一下該文件)。 不過,萬一你不希望有某些 使用者使用 at 的話,將那個使用者的帳號寫入 /etc/at.deny 即可! 一個帳號寫一行。
單一工作調度的進行就使用 at 這個指令!這個指令的運行非常簡單!將 at 加上一個時間即可!基本的語法如下:
事實上,當我們使用 at 時會進入一個 at shell 的環(huán)境來讓使用者下達工作指令,此時,建議 你最好使用絕對路徑來下達你的指令,比較不會有問題!由于指令的下達與 PATH 變量有關, 同時與當時的工作目錄也有關連 (如果有牽涉到文件的話),因此使用絕對路徑來下達 指令,會是比較一勞永逸的方法。 舉例來說,你在 /tmp 下達 at now 然后輸入 mail -s "test" root .bashrc , 問一下,那個 .bashrc 的文件會是在哪里?答案是 /tmp/.bashrc !因為 at 在運行時,會跑到當時下達 at 指令的那個工作目錄運行!
要注意的是,如果在 at shell 內的指令并沒有任何的訊息輸出,那么 at 默認不會發(fā) email 給執(zhí)行者的。 如果你想要讓 at 無論如何都發(fā)一封 email 告知你是否執(zhí)行了指令,那么 可以使用“ at -m 時間格式 ”來下達指令! at 就會傳送一個訊息給執(zhí)行者,而不論該指令執(zhí)行有無訊息輸出了!
如果要在某某時刻,在我的終端機顯示出 Hello 的字樣,可以通過終端機的設備來處理!假如你在 tty1 登陸(在命令行里面輸入 tty 可以查看),則可以使用 echo "Hello" /dev/tty1 。
at 有另外一個很棒的優(yōu)點, 由于 at 工作調度的使用上,系統(tǒng)會將該項 at 工作獨立出你的 bash 環(huán)境中, 直接交給系統(tǒng)的 atd 程序來接管,因此,當你下達了 at 的工作之后就可以立刻離線了, 剩下的工作就完全交 給 Linux 管理即可!所以如果有長時間的網絡工作時,使用 at 可以讓你免除網絡斷線后的困擾。
其實 batch 是利用 at 來進行指令的下達!只是加入一些控制參數(shù)而已。這個 batch 神奇的地方在于:他會在 CPU 的工作負載小于 0.8 的時候,才進行你所下達的工作任務啦!
那什么是工作負載 0.8 呢?這個工作負載的意思是: CPU 在單一時間點所負責的工作數(shù)量。不是CPU 的使用率喔! 舉例來說,如果我有一只程序他需要一直使用 CPU 的運算功能,那么此 時 CPU 的使用率可能到達 100% , 但是 CPU 的工作負載則是趨近于“ 1 ”,因為 CPU 僅負責一個工作!如果同時執(zhí)行這樣的程序兩支呢? CPU 的使用率還是 100% ,但是工作負載 則變成 2 了! 所以也就是說,當 CPU 的工作負載越大,代表 CPU 必須要在不同的工作之間進行頻繁的工 作切換。 因為一直切換 工作,所以會導致系統(tǒng)忙碌??! 系統(tǒng)如果很忙碌,還要額外進行 at ,不太合理!所以才有 batch 指令的產生!
下面來實驗一下 batch 好了!為了產生 CPU 較高的工作負載,我們用了 計算 pi 的腳本,連續(xù)執(zhí)行 4 次這只程序, 來仿真高負載,然后看看batch 的工作現(xiàn)象。
使用 uptime 可以觀察到 1, 5, 15 分鐘的“平均工作負載”量,因為是平均值,所以當我們如上 表刪除掉四個工作后,工作負載不會立即降低, 需要一小段時間讓這個 1 分鐘平均值慢慢回 復到接近 0 ?。‘斝∮?0.8 之后的“整分鐘時間”時,atd 就會將 batch 的工作執(zhí)行掉了!
什么是“整分鐘時間”呢?不論是 at 還是 crontab,他們最小的時間單位是“分 鐘”,所以,基本上,他們的工作是“每分鐘檢查一次”來處理的! 就是整分 (秒為 0 的時候),同時,你會發(fā)現(xiàn)其實 batch 也是使用 atq/atrm 來管理的!
相信大家,初始在使用Linux操作系統(tǒng)時,查找歷史命令,第一時間會想到history命令:將顯示出之前操作過的命令,其無法顯示操作過的命令所輸出的過程及結果。
但往往有時候,我們卻想知道在這臺服務器上操作了什么?執(zhí)行的過程是什么樣的?輸出的結果又是怎么樣的?那history命令就已經無法滿足我們的需求了,那究竟該怎么辦呢?
是時候,教大家一招了。那就是這個神奇的命令——script和scriptreplay
script命令:可以將 Linux 終端下的會話過程進行錄制下來。
作用:在終端下的所有操作、執(zhí)行過的命令以及輸出過的結果都可以在本地進行錄制。
script和scriptreplay在 Linux 發(fā)行版中默認都有安裝的,在本篇文章中,script是可以直接在操作系統(tǒng)下執(zhí)行的,而scriptreplay需要額外安裝。
開始錄像
執(zhí)行如下命令,將在終端下執(zhí)行任何操作都將會被進行記錄;
查看當前目錄是否有如下兩個文件
test.timefile和test.txt兩個文件名可自定義命名。
常用參數(shù)選項
執(zhí)行如下命令,可以靜默模式進行運行,且不會將以script和exit進行顯示啟動和退出;
執(zhí)行命令exit或使用快捷鍵Ctrl+D即可退出結束錄制;
錄制某個目錄下腳本執(zhí)行過程的案例
先編寫一個簡單的名為xxx.sh的腳本文件,并授予相關權限。
使用參數(shù)選項:-c可直接執(zhí)行命令,而非是交互式的 shell,即可查看該腳本所執(zhí)行的時間點。
scriptreplay命令:可以將 Linux 終端下錄制的結果進行回放。
常用參數(shù)選項
執(zhí)行完上述命令scriptreplay test.timefile test.txt后,將對之前的操作進行回放;
同步使用
使用-f參數(shù)選項,部分版本沒有該參數(shù),同時也可以使用tail -f命令來進行操作;
如下圖所示,需打開兩個 xshell 終端,連接至同一臺設備,做相關同步使用操作,左屏幕為:操作端,右屏幕為:演示端,
在左屏幕終端下執(zhí)行命令script -f jacktian
在右屏幕終端下執(zhí)行命令tail -f jacktian
隨后,你只需在左屏幕終端下執(zhí)行相關命令,右屏幕將進行顯示出左屏幕的相關輸出結果等;
開機自啟動
除上述操作以外,還可以采用設置在登錄時自動執(zhí)行script命令,并添加至 shell 環(huán)境配置文件中。
遞歸創(chuàng)建目錄/var/log/user_record
編輯文件/etc/profile添加如下自啟動配置項
前言
第1章 Linux命令行簡介 / 1
1.1Linux命令行概述 / 1
1.2在Linux命令行下查看命令幫助 / 4
1.3Linux shutdown reboot halt / 9
關機:
shutdown -h now
halt
init 0
第2章 文件和目錄操作命令 / 13
2.1pwd:顯示當前所在的位置 / 13
2.2cd:切換目錄 / 16
2.3tree:以樹形結構顯示目錄下的內容 / 18
2.4mkdir:創(chuàng)建目錄 / 22
2.5touch:創(chuàng)建空文件或改變文件的時間戳屬性 / 27
2.6ls:顯示目錄下的內容及相關屬性信息 / 30
2.7cp:復制文件或目錄 / 39
2.8mv:移動或重命名文件 / 42
2.9rm:刪除文件或目錄 / 45
2.10rmdir:刪除空目錄 / 48
2.11ln:硬鏈接與軟鏈接 / 49
2.12readlink:查看符號鏈接文件的內容 / 54
2.13find:查找目錄下的文件 / 55
2.14xargs:將標準輸入轉換成命令行參數(shù) / 68
2.15rename:重命名文件 / 71
2.16basename:顯示文件名或目錄名 / 72
2.17dirname:顯示文件或目錄路徑 / 72
2.18chattr:改變文件的擴展屬性 / 73
2.19lsattr:查看文件擴展屬性 / 75
2.20file:顯示文件的類型 / 76
2.21md5sum:計算和校驗文件的MD5值 / 77
2.22chown:改變文件或目錄的用戶和用戶組 / 80
2.23chmod:改變文件或目錄權限 / 81
2.24chgrp:更改文件用戶組 / 85
2.25umask:顯示或設置權限掩碼 / 86
2.26老男孩從新手成為技術大牛的心法 / 90
第3章 文件過濾及內容編輯處理命令 / 91
3.1cat:合并文件或查看文件內容 / 91
3.2tac:反向顯示文件內容 / 103
3.3more:分頁顯示文件內容 / 104
3.4less:分頁顯示文件內容 / 107
3.5head:顯示文件內容頭部 / 109
3.6tail:顯示文件內容尾部 / 111
3.7tailf:跟蹤日志文件 / 114
3.8cut:從文本中提取一段文字并輸出 / 115
3.9split:分割文件 / 117
3.10paste:合并文件 / 118
3.11sort:文本排序 / 123
3.12join:按兩個文件的相同字段合并 / 127
3.13uniq:去除重復行 / 129
3.14wc:統(tǒng)計文件的行數(shù)、單詞數(shù)或字節(jié)數(shù) / 131
3.15iconv:轉換文件的編碼格式 / 133
3.16dos2unix:將DOS格式文件轉換成UNIX格式 / 134
3.17diff:比較兩個文件的不同 / 135
3.18vimdiff:可視化比較工具 / 138
3.19rev:反向輸出文件內容 / 139
3.20tr:替換或刪除字符 / 140
3.21od:按不同進制顯示文件 / 143
3.22tee:多重定向 / 145
3.23vi/vim:純文本編輯器 / 147
3.24老男孩逆襲思想:做Linux運維的多個好處 / 152
第4章 文本處理三劍客 / 153
4.1grep:文本過濾工具 / 153
4.2sed:字符流編輯器 / 159
4.3awk基礎入門 / 165
第5章 Linux信息顯示與搜索文件命令 / 176
5.1uname:顯示系統(tǒng)信息 / 176
5.2hostname:顯示或設置系統(tǒng)的主機名 / 178
5.3dmesg:系統(tǒng)啟動異常診斷 / 179
5.4stat:顯示文件或文件系統(tǒng)狀態(tài) / 181
5.5du:統(tǒng)計磁盤空間使用情況 / 183
5.6date:顯示與設置系統(tǒng)時間 / 186
5.7echo:顯示一行文本 / 190
5.8watch:監(jiān)視命令執(zhí)行情況 / 193
5.9which:顯示命令的全路徑 / 195
5.10whereis:顯示命令及其相關文件全路徑 / 196
5.11locate:快速定位文件路徑 / 197
5.12updatedb:更新mlocate數(shù)據庫 / 199
5.13老男孩逆襲思想:新手在工作中如何問問題不會被鄙視 / 200
第6章 文件備份與壓縮命令 / 201
6.1tar:打包備份 / 201
6.2gzip:壓縮或解壓文件 / 208
6.3zip:打包和壓縮文件 / 211
6.4unzip:解壓zip文件 / 212
6.5scp:遠程文件復制 / 214
6.6rsync:文件同步工具 / 216
6.7老男孩逆襲思想:新手如何高效地提問 / 220
第7章 Linux用戶管理及用戶信息查詢命令 / 222
7.1 useradd:創(chuàng)建用戶 / 222
7.2usermod:修改用戶信息 / 227
7.3userdel:刪除用戶 / 229
7.4groupadd:創(chuàng)建新的用戶組 / 230
7.5groupdel:刪除用戶組 / 231
7.6passwd:修改用戶密碼 / 232
7.7chage:修改用戶密碼有效期 / 237
7.8chpasswd:批量更新用戶密碼 / 238
7.9su:切換用戶 / 240
7.10visudo:編輯sudoers文件 / 242
7.11sudo:以另一個用戶身份執(zhí)行命令 / 244
7.12id:顯示用戶與用戶組的信息 / 248
7.13w:顯示已登錄用戶信息 / 249
7.14who:顯示已登錄用戶信息 / 250
7.15users:顯示已登錄用戶 / 252
7.16whoami:顯示當前登錄的用戶名 / 253
7.17last:顯示用戶登錄列表 / 253
7.18lastb:顯示用戶登錄失敗的記錄 / 254
7.19lastlog:顯示所有用戶的最近登錄記錄 / 255
第8章 Linux磁盤與文件系統(tǒng)管理命令 / 257
8.1fdisk:磁盤分區(qū)工具 / 257
8.2partprobe:更新內核的硬盤分區(qū)表信息 / 265
8.3tune2fs:調整ext2/ext3/ext4文件系統(tǒng)參數(shù) / 266
8.4parted:磁盤分區(qū)工具 / 268
8.5mkfs:創(chuàng)建Linux文件系統(tǒng) / 272
8.6dumpe2fs:導出ext2/ext3/ext4文件系統(tǒng)信息 / 274
8.7resize2fs:調整ext2/ext3/ext4文件系統(tǒng)大小 / 275
8.8fsck:檢查并修復Linux文件系統(tǒng) / 278
8.9dd:轉換或復制文件 / 281
8.10mount:掛載文件系統(tǒng) / 284
8.11umount:卸載文件系統(tǒng) / 288
8.12df:報告文件系統(tǒng)磁盤空間的使用情況 / 289
8.13mkswap:創(chuàng)建交換分區(qū) / 293
8.14swapon:激活交換分區(qū) / 294
8.15swapoff:關閉交換分區(qū) / 295
8.16sync:刷新文件系統(tǒng)緩沖區(qū) / 296
第9章 Linux進程管理命令 / 298
9.1ps:查看進程 / 298
9.2pstree:顯示進程狀態(tài)樹 / 305
9.3pgrep:查找匹配條件的進程 / 306
9.4kill:終止進程 / 307
9.5killall:通過進程名終止進程 / 310
9.6pkill:通過進程名終止進程 / 311
9.7top:實時顯示系統(tǒng)中各個進程的資源占用狀況 / 313
9.8nice:調整程序運行時的優(yōu)先級 / 320
9.9renice:調整運行中的進程的優(yōu)先級 / 323
9.10nohup:用戶退出系統(tǒng)進程繼續(xù)工作 / 324
9.11strace:跟蹤進程的系統(tǒng)調用 / 325
9.12ltrace:跟蹤進程調用庫函數(shù) / 332
9.13runlevel:輸出當前運行級別 / 334
9.14init:初始化Linux進程 / 335
9.15service:管理系統(tǒng)服務 / 335
第10章 Linux網絡管理命令 / 338
10.1ifconfig:配置或顯示網絡接口信息 / 338
10.2ifup:激活網絡接口 / 343
ifup eth0
10.3ifdown:禁用網絡接口 / 343
ifdown eth0
service network restart(/etc/init.d/network restart) 激活整個網絡,所有網卡。
10.4route:顯示或管理路由表 / 344
10.5arp:管理系統(tǒng)的arp緩存 / 350
10.6ip:網絡配置工具 / 351
10.7netstat:查看網絡狀態(tài) / 358
10.8ss:查看網絡狀態(tài) / 362
10.9ping:測試主機之間網絡的連通性 / 363
10.10traceroute:追蹤數(shù)據傳輸路由狀況 / 366
10.11arping:發(fā)送arp請求 / 367
10.12telnet:遠程登錄主機 / 369
10.13nc:多功能網絡工具 / 370
10.14ssh:安全地遠程登錄主機 / 373
10.15wget:命令行下載工具 / 376
10.16mailq:顯示郵件傳輸隊列 / 379
10.17mail:發(fā)送和接收郵件 / 381
10.18nslookup:域名查詢工具 / 386
10.19dig:域名查詢工具 / 389
10.20host:域名查詢工具 / 393
10.21nmap:網絡探測工具和安全/端口掃描器 / 394
10.22tcpdump:監(jiān)聽網絡流量 / 398
第11章 Linux系統(tǒng)管理命令 / 407
11.1lsof:查看進程打開的文件 / 407
11.2uptime:顯示系統(tǒng)的運行時間及負載 / 411
11.3free:查看系統(tǒng)內存信息 / 411
11.4iftop:動態(tài)顯示網絡接口流量信息 / 413
11.5vmstat:虛擬內存統(tǒng)計 / 415
11.6mpstat:CPU信息統(tǒng)計 / 419
11.7iostat:I/O信息統(tǒng)計 / 420
11.8iotop:動態(tài)顯示磁盤I/O統(tǒng)計信息 / 423
11.9sar:收集系統(tǒng)信息 / 425
11.10chkconfig:管理開機服務 / 430
11.11ntsysv:管理開機服務 / 433
11.12 setup:系統(tǒng)管理工具 / 434
11.13ethtool:查詢網卡參數(shù) / 436
11.14mii-tool:管理網絡接口的狀態(tài) / 437
11.19rpm:RPM包管理器 / 443
11.20yum:自動化RPM包管理工具 / 446
top命令
第12章 Linux系統(tǒng)常用內置命令 / 450
12.1Linux內置命令概述 / 450
12.2Linux內置命令簡介 / 450
12.3Linux常用內置命令實例 / 452
Linux運維人員必會的120個命令
跟老男孩學Linux運維:核心系統(tǒng)命令實戰(zhàn)