版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
命令行的藝術(shù)流暢地使用命令行是一個常被忽略的技能,或被認(rèn)為是神秘的奧義。但是,它會以明顯而微妙的方式改善你作為工程師的靈活度和生產(chǎn)力。這是我在Linux上工作時發(fā)現(xiàn)的有用的命令行使用小竅門和筆記的精粹。有些小竅門是很基礎(chǔ)的,而有些是相當(dāng)?shù)靥貏e、復(fù)雜、或者晦澀難懂。這篇文章不長,但是如果你可以使用并記得這里的所有內(nèi)容,那么你就懂得很多了。其中大部分最初出現(xiàn)在Quora上,但是考慮到興趣所在,似乎更應(yīng)該放到Github上,這里的人比我更能提出改進(jìn)建議。如果你看到一個錯誤,或者更好的某種東西,請?zhí)峤粏栴}或PR?。ó?dāng)然,提交前請看看必讀小節(jié)和已有的PR/Issue。)必讀范圍:本文是針對初學(xué)者和專業(yè)人員的,選題目標(biāo)是覆蓋面廣(全都很重要)、有針對性(大多數(shù)情況下都給出具體實(shí)例)而簡潔(避免不必要內(nèi)容以及你能在其它地方輕松找到的離題的內(nèi)容)。每個小竅門在某種情形下都很必需的,或者能比替代品大大節(jié)省時間。這是為Linux寫的。絕大部分條目都可以同樣應(yīng)用到MacOS(或者甚至Cygwin)。主要針對交互式Bash,盡管大多數(shù)小竅門也可以應(yīng)用到其它shell,以及常規(guī)Bash腳本。包括了“標(biāo)準(zhǔn)的”UNIX命令以及那些需要安裝的軟件包(它們很重要,值得安裝)。注意:為了能在一篇文章內(nèi)展示盡量多的東西,一些具體的信息會被放到引用頁里。你可以使用Google來獲得進(jìn)一步的內(nèi)容。(如果需要的話,)你可以使用apt-get/yum/dnf/pacman/pip/brew來安裝這些新的程序。使用Explainshell來獲取命令、參數(shù)、管道等內(nèi)容的解釋。基礎(chǔ)學(xué)習(xí)基本Bash技能。實(shí)際上,鍵入manbash,然后至少瀏覽一遍所有內(nèi)容;它很容易理解,沒那么長。其它shell也不錯,但是Bash很強(qiáng)大,而且到處都可以找到(如果在你自己的筆記本上只學(xué)習(xí)zsh、fish之類,會在很多情形下受到限制,比如使用現(xiàn)存的服務(wù)器時)。至少學(xué)好一種基于文本的編輯器。理想的一個是Vim(vi),因?yàn)樵诮K端中編輯時隨時都能找到它(即使大多數(shù)時候你在使用Emacs、一個大型的IDE、或一個現(xiàn)代的時髦編輯器)。學(xué)習(xí)怎樣使用man來閱讀文檔(好奇的話,用manman來列出分區(qū)號,比如1是常規(guī)命令,5是文件描述,8用于管理員)。用apropos找到幫助頁。了解哪些命令不是可執(zhí)行程序,而是Bash內(nèi)置的,你可以用help和help-d得到幫助。學(xué)習(xí)使用>和<來進(jìn)行輸出和輸入重定向,以及使用|來管道重定向,學(xué)習(xí)關(guān)于stdout和stderr的東西。學(xué)習(xí)*(也許還有?和{…})文件通配擴(kuò)展和應(yīng)用,以及雙引號”和單引號‘之間的區(qū)別。(更多內(nèi)容請參看下面關(guān)于變量擴(kuò)展部分)。熟悉Bash作業(yè)管理:&,ctrl-z,ctrl-c,jobs,fg,bg,kill等等。掌握ssh,以及通過ssh-agent,ssh-add等進(jìn)行無密碼驗(yàn)證的基礎(chǔ)技能。基本的文件管理:ls和ls-l(特別是,知道ls-l各個列的意義),less,head,tail和tail-f(或者更好的less+F),ln和ln-s(知道硬鏈接和軟鏈接的區(qū)別,以及硬鏈接相對于軟鏈接的優(yōu)勢),chown,chmod,du(用于查看磁盤使用率的快速摘要:du-sk*)。文件系統(tǒng)管理:df,mount,fdisk,mkfs,lsblk。基本的網(wǎng)絡(luò)管理:ip或ifconfig,dig。熟知正則表達(dá)式,以及各種使用grep/egrep的選項。-i,-o,-A和-B選項值得掌握。學(xué)會使用apt-get,yum,dnf或pacman(這取決于你的發(fā)行版)來查找并安裝軟件包。確保你可以用pip來安裝基于Python的命令行工具(下面的一些東西可以很容易地通過pip安裝)。日常使用在Bash中,使用tab補(bǔ)完參數(shù),使用ctrl-r來搜索命令歷史。在Bash中,使用ctrl-w來刪除最后的單詞,使用ctrl-u來刪除整行,返回行首。使用alt-b和alt-f來逐詞移動,使用ctrl-k來清除到行尾的內(nèi)容,以及使用ctrl-l清屏。參見manreadline來查看Bash中所有默認(rèn)的鍵盤綁定,有很多。例如,alt-.可以循環(huán)顯示先前的參數(shù),而alt-擴(kuò)展通配。另外,如果你喜歡vi風(fēng)格的鍵盤綁定,可以使用set-ovi。要查看最近用過的命令,請使用history。有許多縮寫形式,比如!$(上次的參數(shù))和!!(上次的命令),雖然使用ctrl-r和alt-.更容易些。返回先前的工作目錄:cd-如果你命令輸入到一半,但是改變主意了,可以敲alt-#來添加一個#到開頭,然后將該命令作為注釋輸入(或者使用快捷鍵ctrl-a,#,enter輸入)。然后,你可以在后面通過命令歷史來回到該命令。使用xargs(或parallel),它很強(qiáng)大。注意,你可以控制每行(-L)執(zhí)行多少個項目,以及并行執(zhí)行(-P)。如果你不確定它是否會做正確的事情,可以首先使用xargsecho。同時,使用-I{}也很方便。樣例:find.-name'*.py'|xargsgrepsome_function
cathosts|xargs-I{}sshroot@{}hostnamepstree-p對于顯示進(jìn)程樹很有幫助。使用pgrep和pkill來按名稱查找進(jìn)程或給指定名稱的進(jìn)程發(fā)送信號(-f很有幫助)。掌握各種可以發(fā)送給進(jìn)程的信號。例如,要掛起進(jìn)程,可以使用kill-STOP[pid]。完整的列表可以查閱man7signal。如果你想要一個后臺進(jìn)程一直保持運(yùn)行,使用nohup或disown。通過netstat-lntp或ss-plat檢查哪些進(jìn)程在監(jiān)聽(用于TCP,對UDP使用-u替代-t)。lsof來查看打開的套接字和文件。在Bash腳本中,使用set-x調(diào)試腳本輸出。盡可能使用嚴(yán)格模式。使用set-e在遇到錯誤時退出。也可以使用set-opipefail,對錯誤進(jìn)行嚴(yán)格處理(雖然該話題有點(diǎn)微妙)。對于更復(fù)雜的腳本,也可以使用trap。在Bash腳本中,子shell(寫在括號中的)是組合命令的便利的方式。一個常見的例子是臨時移動到一個不同的工作目錄,如:#在當(dāng)前目錄做些事
(cd/some/other/dir;other-command)
#繼續(xù)回到原目錄注意,在Bash中有大量的各種各樣的變量擴(kuò)展。檢查一個變量是否存在:${name:?errormessage}。例如,如果一個Bash腳本要求一個單一參數(shù),只需寫input_file=${1:?usage:$0input_file}。算術(shù)擴(kuò)展:i=$(((i+1)%5))。序列:{1..10}。修剪字符串:${var%suffix}和${var#prefix}。例如,ifvar=foo.pdf,那么echo${var%.pdf}.txt會輸出foo.txt。命令的輸出可以通過<(somecommand)作為一個文件來處理。例如,將本地的/etc/hosts和遠(yuǎn)程的比較:diff/etc/hosts<(sshsomehostcat/etc/hosts)了解Bash中的“嵌入文檔”,就像在cat<<EOF…中。在Bash中,通過:some-command>logfile2>&1同時重定向標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤。通常,要確保某個命令不再為標(biāo)準(zhǔn)輸入打開文件句柄,而是將它捆綁到你所在的終端,添加</dev/null是個不錯的做法。manascii可以得到一個不錯的ASCII表,帶有十六進(jìn)制和十進(jìn)制值兩種格式。對于常規(guī)編碼信息,manunicode,manutf-8和manlatin1將很有幫助。使用screen或tmux來復(fù)用屏幕,這對于遠(yuǎn)程ssh會話尤為有用,使用它們來分離并重連到會話。另一個只用于保持會話的最小可選方案是dtach。在ssh中,知道如何使用-L或-D(偶爾也用-R)來打開端口通道是很有用的,如從一臺遠(yuǎn)程服務(wù)器訪問網(wǎng)站時。為你的ssh配置進(jìn)行優(yōu)化很有用;例如,這個~/.ssh/config包含了可以避免在特定網(wǎng)絡(luò)環(huán)境中連接被斷掉的情況的設(shè)置、使用壓縮(這對于通過低帶寬連接使用scp很有用),以及使用一個本地控制文件來開啟到同一臺服務(wù)器的多通道:TCPKeepAlive=yes
ServerAliveInterval=15
ServerAliveCountMax=6
Compression=yes
ControlMasterauto
ControlPath/tmp/%r@%h:%p
ControlPersistyes其它一些與ssh相關(guān)的選項對會影響到安全,請小心開啟,如各個子網(wǎng)或主機(jī),或者在信任的網(wǎng)絡(luò)中:StrictHostKeyChecking=no,F(xiàn)orwardAgent=yes要獲得八進(jìn)制格式的文件的權(quán)限,這對于系統(tǒng)配置很有用而用ls又沒法查看,而且也很容易搞得一團(tuán)糟,可以使用像這樣的東西:stat-c'%A%a%n'/etc/timezone對于從另一個命令的輸出結(jié)果中交互選擇值,可以使用percol。對于基于另一個命令(如git)輸出的文件交互,可以使用fpp(路徑選擇器)。要為當(dāng)前目錄(及子目錄)中的所有文件構(gòu)建一個簡單的Web服務(wù)器,讓網(wǎng)絡(luò)中的任何人都可以獲取,可以使用:python-mSimpleHTTPServer7777(使用端口7777和Python2)。處理文件和數(shù)據(jù)要在當(dāng)前目錄中按名稱定位文件,find.-iname‘*something*’(或者相類似的)。要按名稱查找任何地方的文件,使用locatesomething(但請記住,updatedb可能還沒有索引最近創(chuàng)建的文件)。對于源代碼或數(shù)據(jù)文件進(jìn)行的常規(guī)搜索(要比grep-r更高級),使用ag。要將HTML轉(zhuǎn)成文本:lynx-dump-stdin。對于Markdown、HTML,以及各種類型的文檔轉(zhuǎn)換,可以試試pandoc。如果你必須處理XML,xmlstarlet雖然有點(diǎn)老舊,但是很好用。對于JSON,使用jq。對于Excel或CSV文件,csvkit提供了in2csv,csvcut,csvjoin,csvgrep等工具。對于亞馬遜S3,s3cmd會很方便,而s4cmd則更快速。亞馬遜的aws則是其它AWS相關(guān)任務(wù)的必備。掌握sort和uniq,包括uniq的-u和-d選項——參見下面的單行程序。掌握cut,paste和join,它們用于處理文本文件。很多人會使用cut,但常常忘了join。了解tee,它會將stdin同時復(fù)制到一個文件和stdout,如ls-al|teefile.txt。知道locale會以微妙的方式對命令行工具產(chǎn)生大量的影響,包括排序的順序(整理)以及性能。大多數(shù)安裝好的Linux會設(shè)置LANG或其它locale環(huán)境變量為本地設(shè)置,比如像USEnglish。但是,你要明白,如果改變了本地環(huán)境,那么排序也將改變。而且i18n過程會讓排序或其它命令的運(yùn)行慢好多倍。在某些情形中(如像下面那樣的設(shè)置操作或唯一性操作),你可以安全地整個忽略緩慢的i18n過程,然后使用傳統(tǒng)的基于字節(jié)的排序順序exportLC_ALL=C。了解基本的改動數(shù)據(jù)的awk和sed技能。例如,計算某個文本文件第三列所有數(shù)字的和:awk‘{x+=$3}END{printx}’。這可能比Python的同等操作要快3倍,而且要短3倍。在一個或多個文件中,替換所有出現(xiàn)在特定地方的某個字符串:perl-pi.bak-e's/old-string/new-string/g'my-files-*.txt要立即根據(jù)某個模式對大量文件重命名,使用rename。對于復(fù)雜的重命名,repren可以幫助你達(dá)成。#恢復(fù)備份文件foo.bak->foo:
rename's//.bak$//'*.bak
#完整的文件名、目錄名foo->bar:
repren--full--preserve-case--fromfoo--tobar.使用shuf來從某個文件中打亂或隨機(jī)選擇行。了解sort的選項。知道這些鍵是怎么工作的(-t和-k)。特別是,注意你需要寫-k1,1來只通過第一個字段排序;-k1意味著根據(jù)整行排序。穩(wěn)定排序(sort-s)會很有用。例如,要首先按字段2排序,然后再按字段1排序,你可以使用sort-k1,1|sort-s-k2,2如果你曾經(jīng)需要在Bash命令行中寫一個水平制表符(如,用于-t參數(shù)的排序),按ctrl-v[Tab],或者寫$’/t’(后面的更好,因?yàn)槟憧梢詮?fù)制/粘貼)。對源代碼進(jìn)行補(bǔ)丁的標(biāo)準(zhǔn)工具是diff和patch。用diffstat來統(tǒng)計diff情況。注意diff-r可以用于整個目錄,所以可以用diff-rtree1tree2|diffstat來統(tǒng)計(兩個目錄的)差異。對于二進(jìn)制文件,使用hd進(jìn)行簡單十六進(jìn)制轉(zhuǎn)儲,以及bvi用于二進(jìn)制編輯。還是用于二進(jìn)制文件,strings(加上grep等)可以讓你找出一點(diǎn)文本。對于二進(jìn)制文件的差異(delta壓縮),可以使用xdelta3。要轉(zhuǎn)換文本編碼,試試iconv吧,或者對于更高級的用途使用uconv;它支持一些高級的Unicode的東西。例如,這個命令可以轉(zhuǎn)換為小寫并移除所有重音符號(通過擴(kuò)展和丟棄):uconv-futf-8-tutf-8-x'::Any-Lower;::Any-NFD;[:NonspacingMark:]>;::Any-NFC;'<input.txt>output.txt要將文件分割成幾個部分,來看看split(按大小分割)和csplit(按格式分割)吧。使用zless,zmore,zcat和zgrep來操作壓縮文件。系統(tǒng)調(diào)試對于Web調(diào)試,curl和curl-I很方便靈活,或者也可以使用它們的同行wget,或者更現(xiàn)代的httpie。要了解磁盤、CPU、網(wǎng)絡(luò)的狀態(tài),使用iostat,netstat,top(或更好的htop)和(特別是)dstat。它們對于快速獲知系統(tǒng)中發(fā)生的狀況很好用。對于更深層次的系統(tǒng)總覽,可以使用glances。它會在一個終端窗口中為你呈現(xiàn)幾個系統(tǒng)層次的統(tǒng)計數(shù)據(jù),對于快速檢查各個子系統(tǒng)很有幫助。要了解內(nèi)存狀態(tài),可以運(yùn)行free和vmstat,看懂它們的輸出結(jié)果吧。特別是,要知道“cached”值是Linux內(nèi)核為文件緩存所占有的內(nèi)存,因此,要有效地統(tǒng)計“free”值。Java系統(tǒng)調(diào)試是一件截然不同的事,但是對于Oracle系統(tǒng)以及其它一些JVM而言,不過是一個簡單的小把戲,你可以運(yùn)行kill-3<pid>,然后一個完整的堆棧追蹤和內(nèi)存堆的摘要(包括常規(guī)的垃圾收集細(xì)節(jié),這很有用)將被轉(zhuǎn)儲到stderr/logs。使用mtr作路由追蹤更好,可以識別網(wǎng)絡(luò)問題。對于查看磁盤滿載的原因,ncdu會比常規(guī)命令如du-sh*更節(jié)省時間。要查找占用帶寬的套接字和進(jìn)程,試試iftop或nethogs吧。(Apache附帶的)ab工具對于臨時應(yīng)急檢查網(wǎng)絡(luò)服務(wù)器性能很有幫助。對于更復(fù)雜的負(fù)載測試,可以試試siege。對于更仔細(xì)的網(wǎng)絡(luò)調(diào)試,可以用wireshark,tshark或ngrep。掌握strace和ltrace。如果某個程序失敗、掛起或崩潰,而你又不知道原因,或者如果你想要獲得性能的大概信息,這些工具會很有幫助。注意,分析選項(-c)和使用-p關(guān)聯(lián)運(yùn)行進(jìn)程。掌握ldd來查看共享庫等。知道如何使用gdb來連接到一個運(yùn)行著的進(jìn)程并獲取其堆棧追蹤信息。使用/proc。當(dāng)調(diào)試當(dāng)前的問題時,它有時候出奇地有幫助。樣例:/proc/cpuinfo,/proc/xxx/cwd,/proc/xxx/exe,/proc/xxx/fd/,/proc/xxx/smaps。當(dāng)調(diào)試過去某個東西為何出錯時,sar會非常有幫助。它顯示了CPU、內(nèi)存、網(wǎng)絡(luò)等的歷史統(tǒng)計數(shù)據(jù)。對于更深層的系統(tǒng)和性能分析,看看stap(SystemTap),perf)和sysdig吧。確認(rèn)是正在使用的Linux發(fā)行版版本(支持大多數(shù)發(fā)行版):lsb_release-a。每當(dāng)某個東西的行為異常時(可能是硬件或者驅(qū)動器問題),使用dmesg。單行程序這是將命令連成一行的一些樣例:有時候通過sort/uniq對文本文件做交集、并集和差集運(yùn)算時,這個例子會相當(dāng)有幫助。假定a和b是已經(jīng)進(jìn)行了唯一性處理的文本文件。這會很快,而且可以處理任意大小的文件,總計可達(dá)數(shù)千兆字節(jié)。(Sort不受內(nèi)存限制,不過如果/tmp放在一個很小的根分區(qū)的話,你可能需要使用-T選項。)也可參見上面關(guān)于LC_ALL的注解和-u選項(參見下面例子更清晰)。shcatab|sort|uniq>c#c是a和b的并集
catab|sort|uniq-d>c#c是a和b的交集
catabb|sort|uniq-u>c#c是a減去b的差集使用grep.*來可視化查看一個目錄中的所有文件的所有內(nèi)容,例如,對于放滿配置文件的目錄:/sys,/proc,/etc。對某個文本文件的第三列中所有數(shù)據(jù)進(jìn)行求和(該例子可能比同等功能的Python要快3倍,而且代碼也少于其3倍):awk'{x+=$3}END{printx}'myfile如果想要查看某個文件樹的大小/日期,該例子就像一個遞歸ls-l,但是比ls-lR要更容易讀懂:find.-typef-ls只要可以,請使用xargs或parallel。注意,你可以控制每行(-L)執(zhí)行多少個項目,以及并行執(zhí)行(-P)。如果你不確定它是否會做正確的事情,可以首先使用xargsecho。同時,使用-I{}也很方便。樣例:find.-name'*.py'|xargsgrepsome_function
cathosts|xargs-I{}sshroot@{}hostname比如說,你有一個文本文件,如Web服務(wù)器的日志,在某些行中出現(xiàn)了某個特定的值,如URL中出現(xiàn)的acct_id參數(shù)。如果你想要統(tǒng)計有多少個acct_id的請求:cataccess.log|egrep-o'acct_id=[0-9]+'|cut-d=-f2|sort|uniq-c|sort-rn運(yùn)行該函數(shù)來獲得來自本文的隨機(jī)提示(解析Markdown并從中提取某個項目):functiontaocl(){
curl-s/jlevy/the-art-of-command-line/master/README.md|
pandoc-fmarkdown-thtml|
xmlstarletfo--html--dropdtd|
xmlstarletsel-t-v"(html/body/ul/li[count(p)>0])[$RANDOMmodlast()+1]"|
xmlstarletunesc|fmt-80
}晦澀難懂,但卻有用expr:實(shí)施算術(shù)或布林操作,或者求正則表達(dá)式的值m4:簡單的宏處理器yes:大量打印一個字符串cal:漂亮的日歷env:(以特定的環(huán)境變量設(shè)置)運(yùn)行一個命令(腳本中很有用)look:查找以某個字符串開頭的英文單詞(或文件中的行)cut和paste以及join:數(shù)據(jù)處理fmt:格式化文本段落pr:格式化文本為頁/列fold:文本折行column:格式化文本為列或表expand和unexpand:在制表符和空格間轉(zhuǎn)換nl:添加行號seq:打印數(shù)字bc:計算器factor:分解質(zhì)因子gpg:加密并為文件簽名toe:terminfo條目表nc:網(wǎng)絡(luò)調(diào)試和數(shù)據(jù)傳輸socat:套接字中繼和tcp端口轉(zhuǎn)發(fā)(類似netcat)slurm:網(wǎng)絡(luò)流量可視化dd:在文件或設(shè)備間移動數(shù)據(jù)file:識別文件類型tree:以樹形顯示目錄及子目錄;類似ls,但是是遞歸的。stat:文件信息tac:逆序打印文件shuf:從文件中隨機(jī)選擇行comm:逐行對比分類排序的文件hd和bvi:轉(zhuǎn)儲或編輯二進(jìn)制文件strings:從二進(jìn)制文件提取文本tr:字符轉(zhuǎn)譯或處理iconv或uconv:文本編碼轉(zhuǎn)換split和csplit:分割文件units:單位轉(zhuǎn)換和計算;將每雙周(fortnigh)一浪(浪,furlong,長度單位,約201米)轉(zhuǎn)換為每瞬(blink)一緹(緹,twip,一種和屏幕無關(guān)的長度單位)(參見:/usr/share/units/definitions.units)(LCTT譯注:這都是神馬單位?。。?z:高比率文件壓縮ldd:動態(tài)庫信息nm:目標(biāo)文件的符號ab:Web服務(wù)器基準(zhǔn)測試strace:系統(tǒng)調(diào)用調(diào)試mtr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度年福建省高校教師資格證之高等教育心理學(xué)通關(guān)試題庫(有答案)
- 2024年熟食制品項目資金籌措計劃書代可行性研究報告
- 2024年造紙完成工段智能裝備項目資金申請報告代可行性研究報告
- 2024常年采購協(xié)議條款與條件示例
- 2024年度建材銷售協(xié)議格式
- 2024年專業(yè)門窗安裝服務(wù)協(xié)議模板
- 2024公司B棟生產(chǎn)車間租賃協(xié)議
- 員工基本行為準(zhǔn)則
- 銀行外匯便利化政策落實(shí)情況總結(jié)
- 2024年規(guī)范二手公寓房產(chǎn)交易協(xié)議書
- 微型計算機(jī)原理與應(yīng)用習(xí)題集及答案
- 河北省唐山市藥品零售藥店企業(yè)藥房名單目錄
- 喵喵老師制作 電子百拼的黑白電路圖
- DB34-T 4010-2021 水利工程外觀質(zhì)量評定規(guī)程-高清現(xiàn)行
- 《整改報告》模板
- 送達(dá)地址確認(rèn)書(樣本)
- 江蘇省歷屆中學(xué)生與社會作文大賽決賽試題及獲獎范文(完整版)資料
- 六年級數(shù)學(xué)上冊教案-分?jǐn)?shù)乘法整理與練習(xí) 蘇教版
- 《民航服務(wù)禮儀》項目五 地面服務(wù)禮儀
- 營業(yè)執(zhí)照借用免責(zé)協(xié)議
- 小學(xué)道德與法治人教三年級上冊第三單元安全護(hù)我成長-《遭遇陌生人》教案
評論
0/150
提交評論