`
bluepeer
  • 浏览: 74501 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

linux server命令总结

阅读更多

基础命令
文件查看
cat
使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
范例:
cat -n textfile1 > textfile2    
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat  -b textfile1 textfile2 >> textfile3    
把  textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到  textfile3 里。
cat 也可以用来制作 image file。例如要制作软碟的 image file,将软碟放好后打
cat /dev/fd0 > OUTFILE
相反的,如果想把 image file 写到软碟,请打
cat IMG_FILE > /dev/fd0
注:
1. OUTFILE 指输出的 image 档名。
2. IMG_FILE 指 image file。
3. 若从 image file 写回 device 时,device 容量需与相当。
4. 通常用在制作开机磁片。

head 命令
语法:head [ -n ] 文件
说明:该命令显示每个指定文件的前面n行。如果没有给出n值,缺省设置为10。如果没有指定文件,head就从标准输入读取。例如显示文件example.c的前3行。
head -3 example.c

tail 命令
与 head 命令恰恰相反的是 tail 命令。使用 tail 命令,你可以查看文件结尾的十行。这有助于查看日志文件的最后十行来阅读重要的系统消息。你还可以使用 tail 来观察日志文件被更新的过程。使用 -f 选项,tail 会自动实时地把打开文件中的新消息显示到屏幕上。例如,要活跃地观察 /var/log/messages,以根用户身份在 shell 提示下键入以下命令:
tail -f /var/log/messages
 
more 命令
语法: more [ 选项 ] 文件
说明:该命令一次显示一屏文本,显示满之后,停下来,并在终端底部打印出 “-- More --”,系统还将同时显示出已显示文本占全部文本的百分比,若要继续显示,按回车或空格键即可。若要退出,按 q 或 Q。
该命令的各选项含义如下:
-p 显示下一屏之前先清屏。
-c 作用同- p基本一样。
-d 在每屏的底部显示更友好的提示信息:
-- More -- (XX%)[Press space to contiune , ‘q’ to quit . ]
   而且若用户输入了-个错误命令则显示出错信息,而不是简单地鸣响终端。
-l 不处理 Ctrl+l (换页符)。如果没有给出这个选项,则more命令在显示了
   一个包含有 Ctrl+l 字符的行后将暂停显示,并等待接收命令。
-s 文件中连续的空白行压缩成一个空白行显示。
指令实例:
more example1.c       % 用分页的方式显示一个文件的内容。
more -c -10 example1.c          % 执行该命令后,先清屏,然后将以每十行每十行的方式显示文件example.c的内容。

less 命令
less 命令的功能几乎和 more 命令一样,也是用来按页显示文件,不同之处在于 less 命令在显示文件时允许用户既可以向前又可以向后翻阅文件。 less命令的使用与more命令类似,在此就不赘述了,用户如有不清楚的地方可直接查看联机帮助。
用 less 命令显示文件时,若需要在文件中往前移动,按 <b>,键;要移动到用文件的百分比表示的某位置,则指定一个 0 到 100 之间的数,并按 <p> 即可。
例: less test

目录管理
cd
说明 : 变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚  login 时所在的目录)。
另外,"~" 也表示为 home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。
范例 : 跳到 /usr/bin/ :
cd /usr/bin
跳到自己的 home directory :
cd ~
跳到目前目录的上上两层 :
cd ../..
cd - 返回进入当前目录前所在目录

cp
使用方式:
cp [options] source dest
cp [options] source... directory
参数:
-a 尽可能将档案状态、权限等资料都照原状予以复制。
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
范例:
将档案 aaa 复制(已存在),并命名为 bbb :
cp aaa bbb
将所有以.c开头的文件拷贝至 Finished 子目录中 :
cp *.c Finished

mv
使用方式:
mv [options] source dest
mv [options] source... directory
说明:将一个档案移至另一档案,或将数个档案移至另一目录。
参数:
-i 若目的地已有同名档案,则先询问是否覆盖旧档。
范例:
将档案 aaa 更名为 bbb :
mv aaa bbb
将所有以.C开头的文件移至 Finished 子目录中 :
mv -i *.c

rm
使用方式:rm [options] name...
说明:删除档案及目录。
参数:
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
范例:
删除所有.以C开头的文件;删除前逐一询问确认 :
rm -i *.c
将 Finished 子目录及子目录中所有档案删除 :
rm -r Finished
删除文件中有四个字母且有三个是Fin的所有文件
rm fin?

rmdir
使用方式: rmdir [-p] dirName
说明: 删除空的目录。
参数:
-p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
范例:
将工作目录下,名为 AAA 的子目录删除 :
rmdir AAA
在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。
rmdir -p BBB/Test

mkdir 命令
功能:创建一个目录(类似DOS下的md命令)。
语法:mkdir [选项] dirname
说明:该命令创建由 dirname 命名的目录。要求创建目录的用户在当前目录中(dirname 的父目录中)具有写权限,并且 dirname 不能是当前目录中已有的目录或文件名称。
命令中各选项的含义如下:
-m 对新建目录设置存取权限。也可以用chmod命令设置。
-p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
指令实例:
mkdir -p -m 700 ./inin/mail/
该命令的执行结果是在当前目录中创建嵌套的目录层次inin 和inin下的mail目录,权限设置为只有文件主有读、写和执行权限。

touch 
使用方式:
touch [-acfm]
[-r reference-file] [--file=reference-file]
[-t MMDDhhmm[[CC]YY][.ss]]
[-d time] [--date=time] [--time={atime,access,use,mtime,modify}]
[--no-create] [--help] [--version]
file1 [file2 ...]
说明:
touch 指令改变档案的时间记录。 ls -l 可以显示档案的时间记录。
参数:
-a 改变档案的读取时间记录。
-m 改变档案的修改时间记录。
-c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
-f 不使用,是为了与其他 unix 系统的相容性而保留。
-r 使用参考档的时间记录,与 --file 的效果一样。
-d 设定时间与日期,可以使用各种不同的格式。
-t 设定档案的时间记录,格式与 date 指令相同。
--no-create 不会建立新档案。
--version 列出版本讯息。
范例:
最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。
touch file
touch file1 file2
将  file 的时间记录改为 5 月 6 日 18 点  3 分,公元两千年。时间的格式可以参考 date 指令,至少需输入 MMDDHHmm ,就是月日时与分。
touch -c -t 05061803 file
touch -c -t 050618032000 file
将 file 的时间记录改变成与 referencefile 一样。
touch -r referencefile file
将  file 的时间记录改成 5 月 6 日 18 点  3 分,公元两千年。时间可以使用 am, pm 或是 24 小时的格式,日期可以使用其他格式如 6 May 2000 。
touch -d "6:03pm" file
touch -d "05/06/2000" file
touch -d "6:03pm 05/06/2000" file
touch  也可以制造一个空档(0 byte).例如DHCP Server所需的/etc/dhcpd.leases, dhcpd 必须要有这个档案才能运作正常.[root@/root]#touch /etc/dhcpd.leases [root@/root]#ls -l /etc/dhcpd.leases-rw-r--r-- 1 root root 0 Jul 3 05:50 /etc/dhcpd.leases
记得上一次重灌前把/etc下的设定档tar起来,重灌好之后把原有设定还原,却发现系统检查设定档的时间有问题,这个时候用。
find /etc -name * -exec touch {};
就可以把设定档的时间更新到与现在一致了。

ln
使用方式 : ln [options] source dist,其中 option 的格式为 :
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}] [--help] [--version] [--]
说 明 : Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种  : 硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档 案系统中,而软连结却可以跨越不同的档案系统。 ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。 不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。
参数 :
-f :  链结时先将与 dist 同档名的档案删除
-d : 允许系统管理者硬链结自己的目录
- i : 在删除与 dist 同档名的档案时先进行询问
-n : 在进行软连结时,将  dist 视为一般的档案
-s : 进行软链结(symbolic link)
-v :  在连结之前显示其档名
-b : 将在链结时会被覆写或删除的档案进行备份
-S SUFFIX :  将备份的档案都加上 SUFFIX 的字尾
-V METHOD : 指定备份的方式
-- help : 显示辅助说明
--version : 显示版本
范例 :
将档案 yy 产生一个 symbolic link : zz
ln -s yy zz
将档案 yy 产生一个 hard link : zz
ln yy xx

目录权限管理
chmod
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。
参数 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
u 表示该档案的拥有者,
g 表示与该档案的拥有者属于同一个群体(group)者,
o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、
- 表示取消权限、
= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,
X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
范例 :将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r *
此外chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
范例:
chmod a=rwx file 和 chmod 777 file 效果相同
chmod ug=rwx,o=x file 和 chmod 771 file 效果相同
若用chmod 4755 filename可使此程序具有root的权限

chown
使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...
说 明 : Linux/Unix 是多人多工操作系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自 己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。
参数 :
user : 新的档案拥有者的使用者
IDgroup : 新的档案拥有者的使用者群体(group)
-c : 若该档案拥有者确实已经更改,才显示其更改动作
-f : 若该档案拥有者无法被更改也不要显示错误讯息
-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案
-v : 显示拥有者变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
范例 :
chown jessie.users file1.txt
将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :
chown wang shiyan.c
% 把文件shiyan.c的所有者改为wang。
chown - R wang.users /his
% 把目录/his及其下的所有文件和子目录的属主人改成wang,属组改成users。

chgrp命令
功能说明:变更文件或目录的所属群组。
语   法:chgrp [-cfhRv][--help][--version][所属群组][文件或目录...] 或 chgrp [-cfhRv][--help][--reference=<参考文件或目录>][--version][文件或目录...]
补充说明:在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。您可以使用chgrp指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可。
参  数:
 -c或--changes  效果类似"-v"参数,但仅回报更改的部分。
 -f或--quiet或--silent  不显示错误信息。
 -h或--no-dereference  只对符号连接的文件作修改,而不更动其他任何相关文件。
 -R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
 -v或--verbose  显示指令执行过程。
 
创建用户和组
useradd
格式
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
主要参数
-c:加上备注文字,备注文字保存在passwd的备注栏中。 
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。

说明
useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。
应用实例
建立一个新用户账户,并设置ID:
#useradd caojh -u 544
需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号。

groupadd
作用 groupadd命令用于将新组加入系统。
格式
groupadd [-g gid] [-o]] [-r] [-f] groupname
主要参数
-g gid:指定组ID号。
-o:允许组ID号,不必惟一。
-r:加入组ID号,低于499系统账号。
-f:加入已经有的组时,发展程序退出。
应用实例
建立一个新组,并设置组ID加入系统:
#groupadd -g 344 cjh
此时在/etc/passwd文件中产生一个组ID(GID)是344的项目。

userdel
语法: userdel [-r] login
描述: userdel 命 令 修 改 系 统 帐 号 档 删 除 所 有 login 会 参 考 的 部 份 。 使 用 者 名 称 必 须是 存 在 的 。 
-r  使 用 者 目 录 下 的 档 案 一 并 移 除 。 在 其 他 位 置 上 的 档 案 也 将 一 一 找 出 并 删 除 。
档案
/etc/passwd - 使 用 者 帐 号 资 料 /etc/shadow - 使 用 者 帐 号 资 讯 加 密 /etc/group - 群 组 资 讯
警告
userdel 不 允 许 你 移 除 正 在线 上 的 使 用 者 帐 号 。 你 必 须 砍 掉 此 帐 号 现 在 在 系 统 上 执 行 的 程 序 才 能 进 行 帐 号 删 除 。 不 能 在 NIS client 端 移 除 NIS 属 性 的 东 西 。 这 动 做 须 在 NIS server 端 上 执 行 。 

文件查看,查找
ls
使用方式 : ls [-alrtAFR] [name...]
说明 : 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。
参数 :
-a 显示所有档案及目录 (ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出
-r 将档案以相反次序显示(原定依英文字母次序)
-t 将档案依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的档案名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有档案,则以下之档案亦皆依序列出
范例:
列出目前工作目录下所有名称是 s 开头的档案,愈新的排愈后面 :
ls -ltr s*
将 /bin 目录以下所有目录及档案详细资料列出 :
ls -lR /bin
列出目前工作目录下所有档案及目录;目录于名称后加 "/", 可执行档于名称后加 "*" :
ls -AF

find
使用说明 :
将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。
find  根据下列规则判断 path 和 expression,在命令列上第一个 - ( )  , ! 之前的部份为 path,之后的是 expression。如果  path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。
expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。
-mount, -xdev : 只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案
-amin n : 在过去 n 分钟内被读取过
-anewer file : 比档案 file 更晚被读取过的档案
-atime n : 在过去 n 天过读取过的档案
-cmin n : 在过去 n 分钟内被修改过
-cnewer file :比档案 file 更新的档案
-ctime n : 在过去 n 天过修改过的档案
-empty :  空的档案-gid n or -group name :  gid 是 n 或是 group 名称是 name
-ipath p, -path p : 路径名称符合 p 的档案,ipath 会忽略大小写
-name name, -iname name : 档案名称符合 name 的档案。iname 会忽略大小写
-size  n : 档案大小 是 n 单位,b 代表 512 位元组的区块, c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type  c : 档案类型是 c 的档案。
d: 目录
c: 字型装置档案
b: 区块装置档案
p: 具名贮列
f: 一般档案
l: 符号连结
s: socket
-pid n : process id 是 n 的档案
你可以使用 ( ) 将运算式分隔,并使用下列运算。
exp1 -and exp2
! expr
-not expr
exp1 -or exp2
exp1, exp2
范例:
将目前目录及其子目录下所有延伸档名是 c 的档案列出来。
# find . -name "*.c"
将目前目录其其下子目录中所有一般档案列出
# find . -ftype f
find . -name "*" -exec grep xxx {}  -print |morexxx为你想要找的字符串
find / -amin -10 # 查找在系统中最后10分钟访问的文件
find / -atime -2 # 查找在系统中最后48小时访问的文件
find / -empty # 查找在系统中为空的文件或者文件夹
find / -group cat # 查找在系统中属于 groupcat的文件
find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件
find / -mtime -1 #查找在系统中最后24小时里修改过的文件
find / -nouser #查找在系统中属于作废用户的文件
find / -user fred #查找在系统中属于FRED这个用户的文件

locate
使用方式: locate [-q] [-d ] [--database= ]
locate [-r ] [--regexp= ]
locate [-qv] [-o ] [--output= ]
locate [-e ] [-f ] <[-l ] [-c]
locate [-Vh] [--version] [--help]
说明:
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。
在一般的 distribution 之中,数据库的建立都被放在 contab 中自动执行。一般使用者在使用时只要用
# locate your_file_name的型式就可以了。
参数:
-u  建立数据库,-u 会由根目录开始
-U  则可以指定开始的位置
-e 将 排除在寻找的范围之外。
-l 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。
-f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案放在数据库中。
-q 安静模式,不会显示任何错误讯息。
-n 至多显示 个输出。
-r 使用正规运算式 做寻找的条件。
-o 指定数据库存的名称。
-d 指定数据库的路径
-h 显示辅助讯息
-v 显示更多的讯息
-V 显示程序的版本讯息 范例:
locate chdrv : 寻找所有叫 chdrv 的档案
locate -n 100 a.out : 寻找所有叫 a.out 的档案,但最多只显示 100 个
locate -u : 建立数据库
locate 命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的, locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或刚更名的,可能会找不到,在 内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)
locate指定用在搜寻符合条 件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊字元(如”*”或”?”等)来指定范本样式,如指定范 本为kcpa*ner, locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列出该目录下包括 子目录在内的所有档案。
locate指令和find找寻档案的功能类似,但 locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,在执行loacte时直接找该索引,查询速度会较快,索引数据库 一般是由操作系统管理,但也可以直接下达update强迫系统立即修改索引数据库。
不过第一次在执行update後再使用 locate寻找档案常会失败,此时就要执行slocate ˉu该命令(也可执行updatedb指令,其效果相同)来更新slocate数据库,该命令会在/usr/sbin下产生slocate执行档,再由 locate到此数据库寻找所要找的资料。

grep
作用
grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
格式 : grep [options]
[options]主要参数:
-c:只输出匹配行的计数。
-I:不区分大小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
应用实例
grep root /etc/passwd   查找passwd下root的相关信息
grep root *           查找当前文件中所有与root的字符
grep -c bash /etc/passwd 计算包括单词bash的行数

find / -name *.html | grep bookmark
查找find 命令结果中的字符串bookmark
who | grep root
who列出当前登陆linux系统的所有用户。从中查找root
ps aux | grep mozilla
查找与mozilla相关的进程
*多位任意驱配
?一位任意驱配

磁盘管理


 
DNS服务器配置
重启后台守护进程named /etc/rc.d/init.d/named restart
列表刷新 rndc reload
配置文件
/etc/named.conf
/etc/host.conf
/etc/resolv.boot
/etc/hosts
/etc/named.boot
/var/named/named.ca
/var/named/named.hosts  手动建立
/var/named/named.local
/var/named/named.rev    手动建立
一共有9个文件,其中关键的是两个:“/etc/named.conf”和“/var/named/named.hosts”。前者是域名解析配置文件,后者为域配置文件。
"/etc/named.conf"文件的语法和作用。
――――――――――――――――――――――――――――――――――――
/*
* A simple BIND 8 configuration
*/
options {
        directory "/var/named";
#        forwarders       {
#               192.168.192.100;
#                       };
#        forward only;
};

#logging {
#        category lame-servers { null; };
#        category cname { null; };
#};

zone "etran.com" in {
        type master;
        file "named.hosts";
};
zone "192.168.192.in-addr.arpa" in {
        type master;
        file "named.rev";
};

zone "." in {
        type hint;
        file "named.ca";
};

zone "0.0.127.in-addr.arpa" in {
        type master;
        file "named.local";
};
――――――――――――――――――――――――――――――――――――
options 一段中的directory是在指示最后4个文件的位置,而forwarders则是指示是哪一台机器将不能解析的域名转发到上级DNS服务器上。关键的 是几个zone段,格式如上。最重要的是带有“etran.com”字样的段。需要注意的是:该段中将etran.com换成您需要的域名,下面的 file段表示对应于该域的文件,当然该文件在directory定义的/etc/named目录中。
另外,我们还要体会一下反向域的概念。 DNS其实就是域名对应于IP地址,而反向域则正好相反,即将IP地址对应于域名,也就是说对给定的IP地址解析出其域名,这样可以解决IP欺骗的问题。 反向域的特征就是最后两个段是以in-addr.arpa结尾,另外,前面段中的IP地址是要反向来读的,比如说0.0.127.in- addr.arpa对应的其实是127.0.0.X之类的IP地址。

Serial     #序列号
Refresh    #刷新周期,以秒为单位
Retry     #循环周期
Expire    #中止时间
Minimum   #time-to-live的时间

“/var/named/named.hosts”这一文件主要负责将DNS域名映射为IP地址。配置实例如下:
―――――――――――――――――――――――――――――――――――――――
@       IN      SOA     ns.etran.com.  root.etran.com. (
                                800006  ;   serial number
                                86400   ;   Refresh interval, every 24 hours
                                300     ;   Retry interval, every 5 minutes
                                2592000 ;   30 days TTL
                                86400 ) ;    24 hours expiration
         IN      NS      ns.etran.com.
         IN      MX      1     mail.etran.com.
ns       IN      A        192.168.192.100
www     IN      CNAME   ns.etran.com.
mail      IN     CNAME   ns.etran.com.
ftp       IN     CNAME   ns.etran.com.
smtp     IN      CNAME   ns.etran.com.
pop3     IN      CNAME   ns.etran.com.
localhost  IN       A        127.0.0.1
―――――――――――――――――――――――――――――――――――――
    其中IN表示使用的是TCP/IP协议;
    上面的"NS"记录说明了本域("etran.com")的域名服务器地址为“192.168.192.100”;
    "MX"记录说明本域的邮件服务器地址,后面的1就是表示顺序,顺序小的优先使用。
    接下来的"A"记录简单地将DNS名映射为IP地址。
    最后的"CNAME"记录的是"别名",这是在说www.etran.com 、mail.etran.com、ftp.etran.com 等都是指向"192.168.192.100"这一台主机。
    最后一句是本地机器名的IP为127.0.0.1。

注:和外部网络连接时的DNS配置,及其多个DNS服务器之间的合理配置简单说明如下,以方便今后使用;
  * 主DNS服务器:
   通常用来给一个独立的网络提供名称和IP的解析服务,通常用在孤立的局域网中。
  * 从DNS服务器:
    通常用于一个局域网和另外的外部网络连通的环境。此DNS服务器通过参数设定后,可以自动定时和主DNS自动交换有关DNS的数据库文件,包括简单数据刷 新、数据暂存、数据更新,同时在主DNS失效时,它有暂时代替主DNS进行工作的功能,在进行大的系统建设时,为了系统的安全应该考虑使用第二个DNS服 务器。
  * 高速缓存DNS:
   仅仅起高速缓存的作用,在本地有请求时,它首先会查找自己缓存中的数据,查不到时才从主DNS取得数据,它可以加快DNS服务的效率。
  主配置文件在/etc 目录下面:named.boot, named.conf 两个。
  数据文件在/ var/named 目录下面所有文件。
三、配置缓冲或转发方式的named:(从DNS和cache DNS配置)
    在Internet中主要使用名字进行连接,因此网络中的DNS查询会十分频繁。很多情况下,会有大量且重复的DNS查询。尤其在使用拨号连接的条件下, 由于名字服务器位于ISP端,即使是曾经查询过的名字,其信息仍然保存在线路的另一端的名字服务器的缓冲区内,重复的DNS查询将占据宝贵的线路带宽。并 且DNS查询还往往使得网络连接软件不能正确获得超时信息,不能适时断开连接以节省电话连接时间。 因此,最好的办法是将查询结果保存在本地计算机上,以避免重复查询造成的无谓的网络流量。虽然很多TCP/IP 客户机能够在本机内保存一个名字解析缓冲区,但这个缓冲区相对来讲太小了,起不到很有效的作用,然而如果要将这个缓冲区设置的较大,又不能及时刷新名字解 析数据。要想很好的缓冲DNS数据,最好的缓冲区还是DNS服务器本身,因为DNS 的实现方式就是一种经常刷新的缓冲方式,并且named可以根据不同zone的不同设置,来实现数据刷新。 因此,最简单的办法就是设置一个具备缓冲能力的名字服务器,它将能够用做名字解析的缓冲,这就要需要设置名字服务器的过程。

配置DNS转发
某 些网络连接不鼓励向本地以外发送很大的数据流量,这要么是因为网络连接是按流量计费的,或网络连接本身是带宽不足。在这样的情况下,如果想将发往外部的 DNS 流量限制到尽可能的小,就需要使用 BIND 的转发机制。或者你的网络中只有一台机器能连接到 Internet ,而你在这台机器上运行了 BIND ,那么你可以将这台 BIND 作为内部网络中的其他 BIND 的转发器,使得其他 DNS 也能查找 Internet 域名。
转 发机制的这样的:当你设置了转发器后,所有非本域的和在缓存中无法找到的域名查询都将转发到设置的 DNS 转发器上,由这台 DNS 来完成解析工作并做缓存,因此这台转发器的缓存中记录了丰富的域名信息。因而对非本域的查询,很可能转发器就可以在缓存中找到答案,避免了再次向外部发送 查询,减少了流量。
转发器的配置格式是:
options { 
    forwarders { 192.168.24.35; 192.168.24.36; };
};
这里要注意,转发器本身不用做任何设置,而是对需要转发器的其他 DNS server 做以上配置。还有,如果该 DNS Server 无法联系到转发器,那么 BIND 会自己尝试解析。
如果你要禁止 BIND 在无法联系到转发器时不做任何操作,那么你还可以使用 forward only 命令,这样 BIND 只能使用区的权威数据和缓存来响应查询了( 在连接不到转发器的情况下 )。
options { 
    forwarders { 192.168.24.35; 192.168.24.36; };
    forward only;
};
在 BIND 8.2 以后引入了一个新的特性:转发区( forward zone ),它允许你把 DNS 配置成只有查找特定域名的时候才使用转发器。( BIND 9 从9.1.0 才开始有转发区功能 )例如,你可以使你的服务器将所有对 xmgd.com 结尾的域名查询都转发给 xmgd.com 的两台名字服务器:
zone "xmgd.com" {
    type forward;
    forwarders { 210.52.83.228; 210.52.83.229; };
};
这样的功能有什么用呢?假设 xmgd.com 和你的网络有一个私有的连接,而 xmgd.com 又没有连接上 Internet ,那么你从 Internet 是无法查到 xmgd.com 后缀的域名的,这时你就要使用转发区的功能了。
还有一种转发区设置和刚才的设置刚好相反,它允许你设置什么样的查询将不被转发,当然这只适用于在 options 语句中指定了转发器的 DNS 。配置如下:
options { 
    directory "/var/named";    
    forwarders { 192.168.24.35; 192.168.24.36; };
};

zone "xmgd.com" {
    type master;
    file "zone.xmgd.com";
    forwarders {};
};
这样写你可能会问为什么你要在自己的权威区里禁止转发?难道不是自己回答查询而不使用转发器吗?
有 这样一种情况,在 xmgd.com 这个区中,你授权了几个子域,例如:zx.xmgd.com、lab.xmgd.com 等,那么在 xmgd.com 的权威服务器上设置转发后,因为对 zx.xmgd.com、lab.xmgd.com 这几个子域不是权威,那么如果有对 www.zx.xmgd.com 这样的子域的域名查询,服务器也将转发。这完全是没有必要的,因为服务器上就有 zx.xmgd.com 子域的 NS 记录,何须再转发。
 
实例2
Linux DNS 配置方法(BIND 8)
1. 如果你还没有安装BIND8:
在你的CDROM的RPMS目录中找到bind-*.i386.rpm,并安装它
rpm -i bind-*.i386.rpm
2. 需要修改或增加的文件有
/etc/resolv.conf
/etc/namec.conf
/var/named/named.111.222.1
/var/named/named.abc.cxm
服务器端(机器名为 pc110)配置:
3. 对文件/etc/namec.conf的修改:
options {
directory "/var/named";
};
zone "." {
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa"{
type master;
file "named.local";
};

zone "1.222.111.in-addr.arpa"{
type master;
file "named.111.222.1";
};

zone "abc.cxm" {
type master;
file "named.abc.cxm";
};

4. 增加逆向DNS解析文件
(可以解决telnet 111.222.1.110很慢的问题)
/var/named/named.111.222.1
@ IN SOA pc110.abc.cxm. root.abc.cxm. (
2000102302 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS pc110
110 IN PTR pc110.abc.cxm.
36 IN PTR pc36.abc.cxm.
51 IN PTR pc51.abc.cxm.
5. 增加DNS解析文件: /var/named/named.abc.cxm
@ IN SOA pc110.abc.cxm. root.abc.cxm. (
2000102302; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS pc110.abc.cxm.
IN MX 30 pc110
pc110 IN A 111.222.1.110
www IN CNAME pc110
pc36 IN A 111.222.1.36
pc51 IN A 111.222.1.51
客户端配置:
6. linux 客户端配置:修改/etc/resolv.conf:
domain abc.cxm
search abc.cxm
nameserver 111.222.1.110
7. windows 客户端配置:
在网络中的TCP/IP属性里加入 域名abc.cxm 及相应的DNS Server IP即可
8. 服务器端重起named服务
#ndc restart
9. 测试
nslookup www.abc.cxm
辅助域名配置
假设想把机器hjc(IP为:111.222.1.88)设置为域 abc.cxm 的 slave DNS (假定pc110 已正确配置为主DNS(IP为111.222.1.110))。
1. 请先配置主DNS
2. 对主DNS的修改
在/var/named/named.111.222.1 中增加一行
@ IN NS 111.222.1.88.
/var/named/named.abc.cxm 中增加一行
@ IN NS hjc.abc.cxm.
3. 配置机器hjc.
/etc/named.conf:
zone "1.222.111.in-addr.arpa" {
type slave;
file "slave.111.222.1";
master {111.222.1.110}
};
zone "abc.cxm" {
type slave;
file "slave.abc.cxm";
master {111.222.1.110}
};
4. 启动slave DNS
ndc restart.

分享到:
评论

相关推荐

    linux常用命令总结

    ### Linux常用命令总结 在Linux系统管理中,掌握一系列核心命令是至关重要的。这些命令能够帮助用户高效地完成日常任务,比如文件管理、进程监控等。本文将对一些常用的Linux命令进行总结,主要包括脚本执行、文件...

    linux命令总结下栽

    ### Linux命令总结 #### 一、Linux基本介绍 Linux是一种自由开放源代码的操作系统,其内核由Linus Torvalds于1991年首次发布。由于其高度的稳定性、安全性及灵活性,Linux被广泛应用于服务器、嵌入式设备和个人...

    linux下安装arcgisserver

    ### Linux下安装ArcGIS Server 的详细指南 #### 安装背景与目的 在Linux环境下部署ArcGIS Server,主要是为了提供一个稳定、安全且高效的地理信息系统服务。本文旨在分享初次在Linux操作系统(具体为CentOS 5.5)上...

    64-weblogic server 安装 linux

    1. **系统版本确认**:根据给定的部分内容中的 `lsb_release -a` 命令输出结果,我们得知当前系统为 Oracle Linux Server release 6.1。 2. **内核版本**:通过 `uname -r` 命令得到的内核版本为 2.6.32-100.34.1.el...

    linux操作系统配置ODBC数据源连接SQL Server

    ### Linux操作系统配置ODBC数据源连接SQL Server #### 概述 在Linux环境中,通过配置ODBC(Open Database Connectivity)数据源来连接SQL Server是一种常见的需求。ODBC提供了一种标准的方式来访问各种数据库管理...

    linux安装难点总结

    ### Linux安装难点总结 在进行Linux系统的安装及配置过程中,用户常常会遇到一系列技术难题,尤其是在虚拟机环境下的安装与调试。本文将针对Linux在虚拟机中的安装难点进行深入探讨,包括但不限于网络配置(NAT模式...

    linux服务器 server2003服务器的搭建

    根据给定文件的信息,我们可以总结出以下相关的IT知识点: ## Windows Server 2003 下的服务器搭建 ### FTP服务器的搭建与配置 1. **安装FTP服务**:通过IIS(Internet Information Services)管理器开启FTP服务。 ...

    CenOS 6 linux server cookbook

    通过以上对《CentOS 6 Linux Server Cookbook》这本书中涉及的知识点的总结和解释,我们可以看到该书为读者提供了全面而深入的学习资料,不仅覆盖了基本的操作系统安装与配置,还包括了系统管理和维护、高级功能、...

    Suse linux常用命令

    以上是根据提供的文件内容总结出的 SUSE Linux 常用命令及其相关知识点,这些命令和技巧对于系统管理员来说是非常有用的工具。掌握它们可以帮助管理员更高效地管理 Linux 系统,提高系统的稳定性和安全性。

    linux命令记忆方法

    ### Linux命令记忆方法 在Linux系统中,掌握各种命令对于高效地进行系统管理与操作至关重要。面对数量庞大的命令,寻找有效的记忆方法变得尤为关键。本文将根据提供的信息,详细介绍一些常用的Linux命令及其记忆...

    linux 启动 Tomcat 命令

    ### Linux下启动Tomcat命令详解 #### 一、前言 在Linux环境下部署与管理Java Web应用程序时,Apache Tomcat服务器作为最常用的轻量级应用容器之一,其启动与停止命令是运维人员必须掌握的基本技能。本文将详细介绍...

    Linux高频命令精讲

    通过以上总结,我们不仅了解了Linux的运行方式,还深入学习了字符界面的使用方法、本地和远程登录的区别以及系统运行级别的含义,最后掌握了Linux的基本目录结构和常用的命令习惯。这些内容是掌握Linux操作系统的...

    亲自总结的阿里云常用Linux操作命令(20181107)

    ### 阿里云Linux常用操作命令概览 #### Linux 文件与目录操作 ...通过以上总结,我们可以看到这些操作命令涵盖了文件管理、服务重启、性能监控等多个方面,对于日常管理和维护阿里云上的 Linux 系统十分有用。

    64bit WebLogic Server 安装(linux)

    总结,64位WebLogic Server在Linux上的安装涉及系统兼容性检查、目录结构创建、用户和权限设置、JDK安装、WebLogic Server安装、域配置、以及启动服务的自动化。整个过程需要细致操作,确保每个步骤都正确执行,以...

    linux语句总结+注释

    Linux 命令总结及注释 Linux 作为一个强大而流行的操作系统,其命令行界面提供了丰富的命令来管理和维护系统。以下是 Linux 命令的总结和注释: 用户管理 * 切换用户命令:su 用户名 * 添加用户命令:adduser ...

    嵌入式Linux总结

    ### 嵌入式Linux总结知识点 #### 一、虚拟机环境下配置交叉编译工具问题 **背景**:在嵌入式开发过程中,通常需要在宿主机上搭建一个虚拟环境来模拟目标系统的编译环境。这里提到的问题是在64位虚拟机环境下配置...

    linux命令总结

    以下是一些常见的Linux命令的总结: 1. **CPU位数检查**:通过`getconf LONG_BIT`命令可以得知系统的CPU是32位还是64位。 2. **查看Linux版本**:使用`more /proc/version`可以显示当前Linux内核的详细信息。 3. ...

    不需要远程传输文件Linux如何关闭scp和sftp命令.docx

    Linux系统中禁止scp和sftp命令的方法 Linux系统中,scp和sftp命令是两种常用的远程文件传输命令,但是它们也存在一些风险,例如可能会让我们的电脑受到攻击,因此在不需要远程传输文件的时候,我们可以将它们关闭。...

    最新版linux nacos-server-2.0.3.tar.gz

    总结,Nacos-server-2.0.3是Linux环境中一个强大且易用的微服务治理工具,其服务发现、配置管理和健康检查等功能对于构建和管理分布式系统具有显著优势。正确部署和使用Nacos,可以极大地提高开发和运维的效率。

Global site tag (gtag.js) - Google Analytics