love fish大鵬一曰同風(fēng)起,扶搖直上九萬里

          常用鏈接

          統(tǒng)計(jì)

          積分與排名

          friends

          link

          最新評(píng)論

          Linux 系統(tǒng)命令精通指南(初級(jí))(轉(zhuǎn))

          在 Linux/UNIX 世界中,一切都被看作文件,包括系統(tǒng)管理命令。單獨(dú)對(duì)于組織而言,我們在本系列的第一部分中討論了文件命令,并將在本文中提供最有用的系統(tǒng)診斷和維護(hù)命令。

          對(duì)于文件命令,我們在此處詳盡討論了某些相當(dāng)簡單和直觀的管理命令。而只描述了其他較復(fù)雜命令的功能,以便在您需要使用時(shí),知道存在這些命令及其用途。本文不涉及對(duì)每個(gè)命令使用背后的基本原理的詳細(xì)討論,但是我們將討論最基本和最有用的命令,這些命令用于監(jiān)視和管理打印機(jī)服務(wù)、文件系統(tǒng)、磁盤和進(jìn)程。

          有關(guān)超級(jí)用戶的更多信息
          這里討論的很多命令可以由常規(guī)用戶在其自己的文件和進(jìn)程中執(zhí)行。但是,某些命令,如 fdisk,需要有 root 權(quán)限才能運(yùn)行。

          為了您的系統(tǒng)的完整性,建議您避免直接以 "root" 登錄到系統(tǒng)中。相反,通常更適合以常規(guī)用戶登錄,然后執(zhí)行 su 或從 X window 執(zhí)行 sux 命令來運(yùn)行系統(tǒng)管理功能。(Sux 為您提供 X window 環(huán)境以及 root 權(quán)限。)當(dāng)您以 root 用戶登錄時(shí),您會(huì)始終知道您處于這種狀態(tài),因?yàn)槟奶崾痉優(yōu)椤?”。

          超級(jí)用戶能夠使用 sudo,有選擇地將那些通常為 root 用戶或其他特殊用戶所保留的權(quán)限分配給一個(gè)不同的常規(guī)用戶。root 用戶可以定義實(shí)際和有效的用戶和組標(biāo)識(shí)號(hào) uid 和 gid,以便與預(yù)期用戶的標(biāo)識(shí)相匹配。這種預(yù)期用戶可以是(但不必是)被允許運(yùn)行該命令的用戶。

          換言之,超級(jí)用戶可以允許其他用戶執(zhí)行某個(gè)命令,但也可以確定由進(jìn)程所產(chǎn)生的任何結(jié)果文件應(yīng)該屬于 root 用戶或任何由超級(jí)用戶指定的其他用戶。Sudo 權(quán)限一經(jīng)分配,則只需要用戶使用自己的口令進(jìn)行驗(yàn)證,而不需要 root 用戶口令。

          通用命令
          從技術(shù)上講,Uname、diff、date、sort 和 uniq 應(yīng)該看作文件命令,但由于它們經(jīng)常用于診斷和維護(hù)例程的系統(tǒng)管理方面,在這里解釋它們更有意義。

          Uname
          Uname 提供了常規(guī)系統(tǒng)信息。當(dāng)指定 -a 選項(xiàng)時(shí),顯示所有可用信息:
          $ uname -a
          Linux linux 2.4.18-4GB #1 Wed Mar 27 13:57:05 UTC 2002 i686 unknown

          在這里我們從左向右看到常規(guī)的系統(tǒng)信息。每條信息都有自己的選項(xiàng)(在下面的圓括號(hào)中),可以單獨(dú)顯示:

          操作系統(tǒng)名稱為 Linux(-s)。

          本機(jī)的網(wǎng)絡(luò)節(jié)點(diǎn)名為 linux (-n)。

          操作系統(tǒng)發(fā)布版本為 4.5.18-4GB (-r)。

          操作系統(tǒng)版本為 #1 Wed Mar 27 13:57:05 UTC 2002 (-v)。

          機(jī)器類型為 i686 (-m)。

          這里的處理器類型 (-p) 為未知。

          類似地,stty 顯示關(guān)于您的終端設(shè)置的信息:
          $ stty -a
          speed 38400 baud; rows 40; columns 103; line = 0;
          intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; start = ^Q;
          stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
          -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck
          -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel
          opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
          isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

          第二行和第三行顯示了將在命令行分別調(diào)用的特殊字符和鍵序列。例如,"^Z" 即 CNTRL-Z 在本系統(tǒng)中發(fā)送一個(gè)終端休止符。退出符號(hào)以 "^\" 即 CNTRL-\ 發(fā)送,而我們可以將其改為 "^X",如下所示:
          $ stty quit ^X

          在這種情況下,您實(shí)際要輸入 ^ 符號(hào),而不是 CNTRL 鍵。這種改變只在當(dāng)前窗口中起效。為了使這種改變永久生效,需要在您的 .bashrc 文件中輸入該語句。

          Diff 和 Date。顧名思義,Diff 比較兩個(gè)文件。它返回那些導(dǎo)致文件不同的行,并返回關(guān)于如何使文件變得相同的一些含義隱晦的輸出:
          $ diff test.out test2.out
          0a1
          > Another test.

          在這里我們被告知,需要將 "Another test." 這一行添加到 test.out,以便使它與 test2.out 相似。第一個(gè)字符 "0" 是要在 test.out 中編輯的行號(hào);"a" 表示該行應(yīng)該被添加到 test.out,以便與 test2.out 的第一行 "1" 相匹配。如果我們需要更改 test.out,則第二個(gè)字符也可以是 "c",而如果我們需要從 test.out 中刪除一些內(nèi)容,則第二個(gè)字符是 "d"。

          您可能希望使一個(gè)文件與另一個(gè)文件相似,以便為某些代碼提供補(bǔ)丁。diff 還經(jīng)常作為分析工具,用于驗(yàn)證程序或腳本 — 例如 sed 腳本 — 的輸出是否是所預(yù)期的輸出。

          date 命令可用于顯示或設(shè)置日期。如果用戶具有超級(jí)用戶權(quán)限,則他或她可以通過在以下命令中提供一個(gè)數(shù)字型字符串來設(shè)置日期:
          $ date 0101010004
          此命令將日期設(shè)置為 2004 年 (04) 1 月 1 日 (0101) 凌晨 1 時(shí) (0100)。

          但是,任何用戶可以用所需的格式來顯示日期。注意在格式序列之前需要一個(gè)加號(hào) "+"。如果沒有出現(xiàn)此命令的預(yù)期輸出,則嘗試將它包含在單引號(hào)中:
          $ date +'%H%M%S'
          204748

          您可以在序列中包含空格,這時(shí)您需要使用雙引號(hào):
          $ date +"%H %M %S"
          20 47 51

          在日期的主頁上列有三十多種不同的格式序列,這些序列可以按需要結(jié)合起來,以獲得您最后的輸出格式。

          date 的輸出還可以用于腳本中,如:
          $ date -d '2 day'
          Thu Jan 29 19:02:02 EST 2004

          -d 選項(xiàng)指示 date 顯示其后字符串中所描述的時(shí)間。在上例中,我們要求顯示從現(xiàn)在起(2004 年 1 月 27 日)兩天后的日期。我們也可以要求顯示三天前的日期,其命令為:
          $ date -d '-3 day'
          Sun Jan 25 20:56:59 EST 2004

          date 多種功能的另一個(gè)示例是能夠向其輸出附加字符串,為生成唯一的文件名提供了一種便利的方法。
          $ ls -l | cat > $(date +ls_%d%b%y%H%M.out)
          $ ls ls_*.out
          ls_04Feb041633.out

          在這里,我們將一個(gè)長文件列表的輸出傳送給 cat,它將我們的輸出再傳送到一個(gè)名為 ls_04Feb041609.out 的文件。注意我們?yōu)槲募褂昧艘粋€(gè)變量,由美元符號(hào) "$" 表示。依次將 "ls_" 和 ".out" 附加到日期,其格式為月份中的日 (%d)、本地的月份名稱縮寫 (%b)、年份的最后兩位數(shù)字 (%y)、小時(shí) (%H) 和分鐘 (%M),從而產(chǎn)生此文件名。

          Sort 和 Uniq。 您可以從管道或從命令行所指定的文件對(duì)文本文件的行進(jìn)行 sort 操作。除非另外指定,sort 對(duì)多列輸出的第一列進(jìn)行操作。在默認(rèn)情況下,除非使用 -n 選項(xiàng),數(shù)字型的列按字母順序排序。

          Sort 列可以用兩種不同的格式指定。如果使用 -k 選項(xiàng),則列的位置從 1 開始進(jìn)行編號(hào)。您還可以使用 +POS1 格式,從第一列編號(hào)為零開始進(jìn)行列的編號(hào)。以下兩個(gè)命令產(chǎn)生相同的輸出:
          $ ls -l *.out | sort +5 -7
          $ ls -l *.out | sort -k 6,8
          -rw-r--r-- 1 bluher users 375 Dec 5 2002 fdisk.out
          -rw-r--r-- 1 bluher users 2447 Dec 28 20:15 ls.out
          -rw-r--r-- 1 bluher users 590 Jan 4 21:24 greps.out
          -rw-r--r-- 1 bluher users 78 Jan 4 21:25 sgrep.out
          ...

          在默認(rèn)情況下,sort 命令的列分隔符是空格和制表符。可以使用 -t SEP 選項(xiàng)指定其他分隔符,其中 SEP 是您指定的分隔符號(hào)。sort 的默認(rèn)順序是從最低到最高,利用 -r 選項(xiàng)可以將順序顛倒。

          Sort 可用于很多不同的任務(wù)。例如,它可用于對(duì)文件輸出進(jìn)行排序(如 /etc/passwd),或者如我們在下面所看到的那樣,對(duì) du 的輸出進(jìn)行排序。當(dāng)使用 -m 選項(xiàng)時(shí),sort 將文件合并,實(shí)際上并沒有對(duì)它們進(jìn)行排序。但是,如果您希望將它們排序,就應(yīng)該在文件合并前對(duì)它們排序。

          Sort 經(jīng)常與 uniq 命令一起使用,從已排序的文件中刪除完全相同的行。uniq 命令在管道中經(jīng)常跟在 sort 命令的后面,還可以使用 -c 選項(xiàng)來計(jì)算某一行所出現(xiàn)的次數(shù),或者使用 -d 選項(xiàng),只報(bào)告完全相同的行:
          $ sort -m test.out test2_sort.out | uniq -c
          1 Another test.
          1 Testing testing
          2 This is a test.

          在這里我們合并兩個(gè)文件 test.out 和 test2_sort.out。然后我們使用 -c 選項(xiàng),將輸出傳送到 uniq,這樣最后的結(jié)果是按字母順序排列的列表,完全相同的行被刪除,并帶有一個(gè)關(guān)于每行出現(xiàn)頻率的報(bào)告。

          打印機(jī)控制
          在多數(shù)情況下,打印機(jī)命令的使用相對(duì)較為明確。通過在 lpr 命令后面指定文件名,將作業(yè)發(fā)送到打印機(jī)。如果沒有提供文件名,則假定使用標(biāo)準(zhǔn)輸入。使用 lpq 命令,您可以獲得關(guān)于發(fā)送到打印機(jī)的作業(yè)的狀態(tài)報(bào)告。當(dāng)您指定作業(yè)號(hào)時(shí),Lprm 將作業(yè)從行打印機(jī)后臺(tái)打印隊(duì)列中刪除。

          $ lpr grep2.out
          $ lpq
          Printer:lp@linux 'lpdfilter drv=upp method=auto color=yes'
          Queue:1 printable job
          Server:pid 1929 active
          Unspooler:pid 1930 active
          Status:waiting for subserver to exit at 21:24:14.637
          Rank  Owner/ID    Class Job Files    Size Time
          active bluher@linux+928  A  928 grep2.out   779 21:24:14
          done  bluher       A  877 (STDIN)  117258 13:09:53
          $ lprm 928
          Printer lp@linux:
          checking perms 'cfA928linux.local'
          dequeued 'cfA928linux.local'

          在這里,當(dāng)我們將作業(yè)發(fā)送到打印機(jī)后,我們查詢其狀態(tài)。Lpq 向我們顯示編號(hào)為 877 的作業(yè)已經(jīng)完成,而我們剛發(fā)送的作業(yè)編號(hào)為 928。我們使用命令 lprm 928 將活動(dòng)的作業(yè)從隊(duì)列中刪除。

          磁盤信息
          無論您是維護(hù)自己的系統(tǒng)還是支持具有很多用戶的企業(yè),監(jiān)視磁盤空間都是系統(tǒng)管理員更重要的職責(zé)之一。du、df 和 fdisk 命令提供了可用磁盤空間的不同視圖。

          du 命令提供對(duì)每個(gè)目錄的文件空間使用情況的評(píng)估。在默認(rèn)情況下,測量的單位是塊的數(shù)目,塊的大小通常在安裝您的系統(tǒng)時(shí)確定。

          在以下的示例中,系統(tǒng)是使用 1024 字節(jié)的塊安裝的。如果沒有指定目錄,則 du 開始對(duì)當(dāng)前目錄進(jìn)行計(jì)算。-h 選項(xiàng)以易于讀懂的形式提供大小的值:

          $ du -h Documents
          105k  Documents/jj
          573k  Documents/John
          682k  Documents

          可以使用 -a 選項(xiàng)更改輸出,該選項(xiàng)指示 du 顯示文件和目錄的塊數(shù)。選項(xiàng) --block-size=SIZE 指示 du 以 SIZE 所指定字節(jié)大小的塊的數(shù)目來顯示輸出。

          $ du --block-size=512 Documents
          209   Documents/jj
          1146  Documents/John
          1363  Documents

          在默認(rèn)情況下,du 還為每個(gè)子目錄遞歸地打印信息。通過使用 max-depth=N 選項(xiàng)可以限制這種操作,其中 N 等于被報(bào)告的最大級(jí)數(shù):

          $ du --max-depth=2 .
          $ du --max-depth=2 | sort -n
          4    ./.xemacs
          4    ./public_html
          105   ./Documents/jj
          573   ./Documents/Ian
          682   ./Documents
          2420  ./jdevhome/system
          8350  ./jdevhome/system9.0.3.1035
          13483  ./jdevhome/mywork
          24252  ./jdevhome
          ...

          du 報(bào)告目錄和子目錄的空間使用情況,而 df 報(bào)告已安裝文件系統(tǒng)的磁盤空間使用情況:

          $ df
          Filesystem   1k-blocks   Used Available Use% Mounted on
          /dev/hda6    4195632  1983656  2211976 48% /
          /dev/hda5     14607   3778   10075 28% /boot
          /dev/hda9     937372  494028  443344 53% /home
          /dev/hda8    6297248  3876880  2420368 62% /opt
          shmfs       256220     0  256220  0% /dev/shm

          在這里,df 報(bào)告了五個(gè)文件系統(tǒng)的狀態(tài)。與 du 類似,df 利用 -h 選項(xiàng)提供人類可讀的輸出:

          $ df -h
          Filesystem      Size Used Avail Use% Mounted on
          /dev/hda6       4.0G 1.9G 2.1G 48% /
          /dev/hda5       14M 3.7M 9.8M 28% /boot
          /dev/hda9       915M 476M 440M 52% /home
          /dev/hda8       6.0G 3.7G 2.3G 62% /opt
          shmfs         250M   0 250M  0% /dev/shm

          df 命令還允許您利用 -block-size=SIZE 選項(xiàng)來指定塊的大小。

          fdisk 命令是 Linux 的分區(qū)表操作命令。與 du 和 df 不同,沒有 root 用戶權(quán)限時(shí)不能運(yùn)行該命令。如果指定了 -l 選項(xiàng),則可以將它僅用于報(bào)告的目的。它提供了您的整個(gè)分區(qū)表的完整視圖,而不僅僅是您使用 df 所看到的擴(kuò)展 Linux 分區(qū):

          # fdisk -l

          Disk /dev/hda:240 heads, 63 sectors, 1940 cylinders
          Units = cylinders of 15120 * 512 bytes

          Device Boot  Start    End  Blocks  Id System
          /dev/hda1       1    286  2162128+  c Win95 FAT32 (LBA)
          /dev/hda2  *    288   1940 12496680  5 Extended
          /dev/hda5      288    289   15088+ 83 Linux
          /dev/hda6      290    844  4195768+ 83 Linux
          /dev/hda7      845    983  1050808+ 82 Linux swap
          /dev/hda8      984   1816  6297448+ 83 Linux
          /dev/hda9     1817   1940  937408+ 83 Linux

          進(jìn)程監(jiān)視
          在繁忙的多用戶系統(tǒng)中,進(jìn)程監(jiān)視也是 Linux 系統(tǒng)管理員的一項(xiàng)重要職責(zé)。在這方面,ps 和 top 是兩個(gè)最有用的命令。
          ps 命令提供了當(dāng)前運(yùn)行進(jìn)程的快照。

          生動(dòng)翔實(shí)的一課

          以下是 ps 的最簡單形式:

          $ ps
          PID TTY     TIME CMD
          3884 pts/1  00:00:00 bash
          3955 pts/2  00:00:00 more
          3956 pts/5  00:00:05 sqlplus

          PID 是進(jìn)程的標(biāo)識(shí)號(hào)。

          TTY 是進(jìn)程所屬的終端控制臺(tái)。

          TIME 列是進(jìn)程所使用的總的 CPU 時(shí)間。

          CMD 列列出正在執(zhí)行的命令行。

          使用帶有 -ef 選項(xiàng)的 ps,返回系統(tǒng)中所有用戶的所有進(jìn)程的完整列表。如果您將此 ps 命令的結(jié)果傳送到 grep 中,則該結(jié)果更易于查看。例如:

          $ ps -ef | grep oracle
          UID    PID PPID C STIME TTY     TIME CMD
          oracle  1633   1 0 13:58 ?00:00:00 ora_pmon_ora1
          oracle  1635   1 0 13:58 ?00:00:00 ora_dbw0_ora1
          oracle  1637   1 0 13:58 ?00:00:01 ora_lgwr_ora1
          oracle  1639   1 0 13:58 ?00:00:02 ora_ckpt_ora1
          oracle  1641   1 0 13:58 ?00:00:02 ora_smon_ora1
          oracle  1643   1 0 13:58 ?00:00:00 ora_reco_ora1
          oracle  1645   1 0 13:58 ?00:00:00 ora_cjq0_ora1
          oracle  1647   1 0 13:58 ?00:01:18 ora_qmn0_ora1
          oracle  1649   1 0 13:58 ?00:00:00 ora_s000_ora1
          oracle  1651   1 0 13:58 ?00:00:00 ora_d000_ora1

          注意,當(dāng)您將 ps 的輸出傳送到 grep 命令時(shí),列標(biāo)題并不象在 ps 命令本身所使用時(shí)那樣正常地顯示。為便于說明,標(biāo)題位于輸出的上方,以便清楚地顯示其聯(lián)系。

          雖然 uid 通常是指數(shù)字型的標(biāo)識(shí),但在第一列下指定的是用戶名,標(biāo)記為 UID。

          PPID 是父進(jìn)程的標(biāo)識(shí)號(hào)。對(duì)于 Oracle 進(jìn)程,這里的標(biāo)識(shí)號(hào)為 1 — 它是 init 進(jìn)程(所有進(jìn)程的父進(jìn)程)的 id,因?yàn)樵诒鞠到y(tǒng)中安裝的 Oracle 是作為登錄進(jìn)程的一部分而啟動(dòng)的。
          標(biāo)為 C 的列是由 CPU 用于計(jì)算執(zhí)行優(yōu)先級(jí)的因子。
          STIME 是指進(jìn)程的啟動(dòng)時(shí)間。
          問號(hào)表示這些進(jìn)程不屬于任何 TTY,因?yàn)樗鼈兪怯上到y(tǒng)啟動(dòng)的。

          以下是 ps 命令帶有某些不同選項(xiàng)的另一個(gè)示例。注意,其中很多列與執(zhí)行帶有 -ef 選項(xiàng)的 ps 時(shí)的列相同:

          $ ps aux
          USER   PID %CPU %MEM  VSZ RSS TTY   STAT START  TIME COMMAND
          bluh  4024 0.0 0.2 2240 1116 pts/1  S  20:59  0:00 su bluher
          bluh  4025 0.0 0.3 2856 1668 pts/1  S  20:59  0:00 bash
          bluh  4051 0.0 0.2 2488 1504 pts/1  R  21:01  0:00 ps aux
          bluh  4052 0.0 0.1 1636 600 pts/1  S  21:01  0:00 grep bluher

          除了提供重要的診斷信息,ps 命令還經(jīng)常用于找出失控進(jìn)程的 PID。例如,您的一個(gè)用戶在 SQL*Plus 會(huì)話中輸入一個(gè)笛卡爾聯(lián)接。您可以執(zhí)行以下的 ps 命令來找出其 PID:

          $ ps -ef | grep bluher
          ...
          bluher  4068 4064 0 21:14 pts/6  00:00:00 less
          bluher  4112 3945 0 21:28 pts/5  00:08:42 sqlplus
          ...

          然后您可以使用以下命令將其終止:
          $ kill 4112

          常規(guī)用戶可以看到所有的系統(tǒng)進(jìn)程,但他們只能終止他們自己擁有的進(jìn)程。

          Ps 只為您提供當(dāng)前進(jìn)程的快照。要即時(shí)查看最活躍的進(jìn)程,可使用 top。Top 實(shí)時(shí)地提供進(jìn)程信息。它還擁有交互式的狀態(tài),允許用戶輸入命令,如 n 后面跟有 5 或 10 等數(shù)字。其結(jié)果是指示 top 顯示 5 或 10 個(gè)最活躍的進(jìn)程。Top 持續(xù)運(yùn)行,直到您按 "q" 退出 top 為止。

          以下是 top 的部分顯示:

          8:14pm up 51 min, 7 users, load average: 0.02, 0.03, 0.05
          96 processes:87 sleeping, 2 running, 0 zombie, 7 stopped
          CPU states:6.4% user, 3.5% system, 0.0% nice, 89.9% idle
          Mem:512440K av, 392288K used, 120152K free,    0K shrd,  55668K buff
          Swap:1050800K av,    0K used, 1050800K free         236128K cached

          PID USER   PRI NI SIZE RSS SHARE STAT %CPU %MEM  TIME COMMAND
          1289 root   18  0 78008 11M 1796 R   3.7 2.2  0:49 X
          1965 bluher  20  0 12244 11M 10456 S   1.9 2.3  0:01 kdeinit
          1986 bluher  18  0  996 996  768 R   1.5 0.1  0:00 top
          1803 bluher  20  0 16960 16M 13508 S   0.9 3.3  0:03 kdeinit
          1804 bluher  20  0 16964 16M 13508 S   0.9 3.3  0:03 kdeinit
          1800 bluher  19  0 12260 11M 10076 S   0.1 2.3  0:04 kdeinit
          1 root   20  0  220 220  188 S   0.0 0.0  0:04 init
          ...

          關(guān)閉
          看來應(yīng)該以 shutdown 命令來結(jié)束本次討論。與本文以及上一篇文章中所討論的許多命令一樣,通常有一種 GUI 形式的替代方法可以關(guān)閉您的系統(tǒng)。但是,當(dāng)您需要手動(dòng)關(guān)閉時(shí),您可以使用以下命令立即進(jìn)行關(guān)閉:
          $ shutdown -h now

          您可以使用以下命令手動(dòng)地重新啟動(dòng)系統(tǒng):
          $ shutdown -r now

          注意這兩個(gè)命令都需要指定時(shí)間。您可以指定 "now" 或使用帶有時(shí)間秒數(shù)的 -t 選項(xiàng)。

          posted on 2007-01-18 15:04 liaojiyong 閱讀(366) 評(píng)論(0)  編輯  收藏 所屬分類: Linux

          主站蜘蛛池模板: 呼伦贝尔市| 冀州市| 光山县| 温宿县| 阜城县| 安乡县| 平泉县| 垫江县| 苏尼特左旗| 英吉沙县| 石门县| 聂拉木县| 全椒县| 汝州市| 吴旗县| 临夏县| 酉阳| 桃园县| 柏乡县| 连山| 兴义市| 中山市| 虹口区| 汤原县| 宁海县| 冀州市| 尼木县| 滕州市| 盖州市| 蕉岭县| 昆山市| 西安市| 永康市| 紫阳县| 桑植县| 铜川市| 新郑市| 兴文县| 易门县| 灯塔市| 兰溪市|