03-recursive
2020msc 数学主题分类
2020msc 数学主题分类MSC 2020 数学主题分类一、前言MSC(Mathematics Subject Classification)是国际数学界广泛使用的一种分类系统,用于对数学领域进行分类和索引。
在2020年,MSC进行了更新和调整,本文将列举相关分类,并进行简要阐述说明。
二、分类列表•00:General–00Axx:General and miscellaneous topics–00Bxx:Conference proceedings and collections of papers•01:History and Biography–01Axx:Biographies, obituaries, personalia,bibliographies–01Bxx:Historiography–01Cxx:Cataloging and documentation–01Dxx:Facilities and equipment•03:Mathematical Logic and Foundations–03Axx:Philosophical and critical mathematical logic–03Bxx:General logic–03Cxx:Model theory–03Dxx:Recursive function theory and lambda-calculus–03Exx:Set theory–03Fxx:Proof theory and constructive mathematics •05:Combinatorics–05Axx:Enumerative combinatorics–05Bxx:Design theory–05Cxx:Graph theory–05Dxx:Extremal combinatorics–05Exx:Algebraic combinatorics–05Fxx:Additive and classical number theory •11:Number Theory–11Axx:Elementary number theory–11Bxx:Sequences and sets–11Cxx:Polynomials and matrices–11Dxx:Diophantine equations–11Exx:Forms and linear algebraic groups–11Fxx:Discontinuous groups and automorphic forms–11Gxx:Arithmetic algebraic geometry (Diophantine geometry)•26:Real Functions–26AXX:Non-integer derivatives and integrals–26BXX:Continuity; limits and generalizations;measurable sets–26CXX:Polynomials, rational functions, holomorphic functions–26DXX:Inequalities–26Exx:Miscellaneous topics三、分类说明以上仅列举了部分2020年MSC数学主题分类,每个分类都有其特定的领域和研究方向。
Recursiveness
Example
• I know that you know that I know, etc.
• 这样的句式是典型 的递归句式之一 也 是典型的 中国套盒 式结构,即相同结构 (somebody knows that)的重复
Example
Recursiveness
语言递归性
• Recursiveness of language could be defined as the reiteration or the embedded(内嵌式)state of the same frames and elements in the structures of language as well as in the process of utterance generation. • 语言递归性的定义:语言结构层次和言语生成中相同 结构成分的重复或相套
清 1997:110-111)
• 说话者可以通过组合语言的基本单位,无止境的的生 成 is a cat that can be defined as a small, domestic, fur-covered animal often kept as a pet, to catch mice which are sorts of small rodents house one, field one, harvest one e.g. a rat, rabbit, squirrel or beaver, which gnaw things with their strong teeth specially adapted for this purpose which is thing that one intends to do, get, be, etc; intention which can be explained as intending; thing intended; aim which can be paraphrased as purpose; object which can be defined as person or thing to which something is done or some feeling or thought is directed; thing aimed at; end…
Linux系统下tar压缩解压缩命令详解
Linux系统下tar压缩解压缩命令详解导读:tar,是Linux系统的一个命令,非常好用!如果你对tar命令不甚了解的话,可以看看小编为大家整理的tar压缩解压缩命令详解。
tar:-c:建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。
下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出下面的参数-f是必须的-f:使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# tar -cf all.tar *.jpg这条命令是将所有.jpg的文件打成一个名为all.tar的包。
-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif这条命令是将所有.gif的文件增加到all.tar的包里面去。
-r是表示增加文件的意思。
# tar -uf all.tar logo.gif这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar这条命令是列出all.tar包中所有文件,-t是列出文件的意思# tar -xf all.tar这条命令是解出all.tar包中所有文件,-t是解开的意思压缩:tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpgtar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gztar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linuxzip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux解压:tar -xvf file.tar //解压tar包tar -xzvf file.tar.gz //解压tar.gztar -xjvf file.tar.bz2 //解压tar.bz2tar -xZvf file.tar.Z //解压tar.Zunrar e file.rar //解压rarunzip file.zip //解压zip总结:1、*.tar 用tar -xvf 解压2、*.gz 用gzip -d或者gunzip 解压3、*.tar.gz和*.tgz 用tar -xzf 解压4、*.bz2 用bzip2 -d或者用bunzip2 解压5、*.tar.bz2用tar -xjf 解压6、*.Z 用uncompress 解压7、*.tar.Z 用tar -xZf 解压8、*.rar 用unrar e解压9、*.zip 用unzip 解压解压jdk到指定文件夹:tar -xzvf jdk-8u131-linux-x64.tar.gz -C /usr/local/java01root@ubuntu:~# tar --help02用法: tar [选项...] [FILE]...03GNU 'tar' saves many files together into a single tape or disk archive, and can04restore individual files from the archive.05Examples:06tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.07tar -tvf archive.tar # List all files in archive.tar verbosely.08tar -xf archive.tar # Extract all files from archive.tar.09主操作模式:10-A, --catenate, --concatenate 追加tar 文件至归档11-c, --create 创建一个新归档12-d, --diff, --compare 找出归档和文件系统的差异13--delete 从归档(非磁带!)中删除14-r, --append 追加文件至归档结尾15-t, --list 列出归档内容16--test-label 测试归档卷标并退出17-u, --update 仅追加比归档中副本更新的文件18-x, --extract, --get 从归档中解出文件19操作修饰符:20--check-device 当创建增量归档时检查设备号(默认)21-g, --listed-incremental=FILE 处理新式的GNU 格式的增量备份22-G, --incremental 处理老式的GNU 格式的增量备份23--ignore-failed-read24当遇上不可读文件时不要以非零值退出25--level=NUMBER 所创建的增量列表归档的输出级别26-n, --seek 归档可检索27--no-check-device 当创建增量归档时不要检查设备号28--no-seek 归档不可检索29--occurrence[=NUMBER] 仅处理归档中每个文件的第NUMBER30个事件;仅当与以下子命令--delete,31--diff, --extract 或是--list32中的一个联合使用时,此选项才有效。
Ubuntu输入法
登Ubuntu 10.04安装google拼音输入法强制中止一个进程: kill -9 进程号或killall -9 进程名分页:1 / 4 [ 60 篇帖子] 前往页数1, 2, 3, 4 下一页打印预览上一个主题| 下一个主题作者内容1 楼denglin216 文章标题: Ubuntu 10.04安装google拼音输入法发表于: 2010-05-18 21:17注册: 2008-08-29 19:27帖子: 46地址: 四川成都看到论坛很多人问这问题,我就贴出来吧安装步骤(需要自己编译):A. 获取代码:(没有git的先安装git:sudo apt-get install git-core)$ git clone git:///tchaikov/scim-googlepinyin.git$ cd scim-googlepinyin.gitB. 编译前提:上面给的链接里面有介绍怎么编译的,但少提了几个必需组件,这里列一下:* autotools-dev* libgtk2.0-dev* libscim-dev* libtool* automake用下面命令看看是不是安装了,如果没有,会自动帮你安装上:$ aptitude install autotools-dev libgtk2.0-dev libscim-dev libtool automakeC. 编译:记住系统必须先存在SCIM(没有的话sudo apt-get install scim 一下)$ ./autogen.sh$ make$ sudo make install现在重启scim:关闭scim:pkill scim然后启动:scim -dOK,去首选项里的“语言支持”的“输入法”选择scim作为默认输入法就OK了。
_________________自己的命运由自己来主宰,将脆弱悲哀全都就地掩埋。
页首2 楼wowoto 文章标题: Re: Ubuntu 10.04安装google拼音输入法发表于: 2010-05-19 4:59注册: 2009-04-11 12:17帖子: 2897 把标题改一下,nnnnnnd,scim-googlepinyin@页首3 楼nikitaluo 文章标题: Re: Ubuntu 10.04安装google拼音输入法发表于: 2010-05-19 12:35注册: 2007-11-25 21:45帖子: 8地址: 广州denglin216 写道:看到论坛很多人问这问题,我就贴出来吧安装步骤(需要自己编译):A. 获取代码:(没有git的先安装git:sudo apt-get install git-core)$ git clone git:///tchaikov/scim-googlepinyin.git$ cd scim-googlepinyin.git“cd”这段有问题,应该是“cd scim-googlepinyin”才对页首4 楼chenzw 文章标题: Re: Ubuntu 10.04安装google拼音输入法发表于: 2010-05-20 21:51注册: 2008-11-03 14:59帖子: 76 原生的谷歌拼音?和win下一样好用?也支持词库同步抱歉现在在win下不方便立即尝试,用过的说明一下吧_________________要好好混论坛blog: http://zhiwei.in页首5 楼易水辰文章标题: Re: Ubuntu 10.04安装google拼音输入法发表于: 2010-05-21 14:45注册: 2008-06-11 12:30帖子: 107 楼主请教一下8.04里可以安装吗页首6 楼易水辰文章标题: Re: Ubuntu 10.04安装google拼音输入法发表于: 2010-05-21 14:51注册: 2008-06-11 12:30帖子: 107 yuchen@yuchen-laptop:~$ cd scim-googlepinyinyuchen@yuchen-laptop:~/scim-googlepinyin$ ./autogen.shchecking build system type... i686-pc-linux-gnuchecking host system type... i686-pc-linux-gnuchecking target system type... i686-pc-linux-gnuchecking for gcc... gccchecking for C compiler default output file name... a.outchecking whether the C compiler works... yeschecking whether we are cross compiling... nochecking for suffix of executables...checking for suffix of object files... ochecking whether we are using the GNU C compiler... yeschecking whether gcc accepts -g... yeschecking for gcc option to accept ISO C89... none neededchecking how to run the C preprocessor... gcc -Echecking for grep that handles long lines and -e... /bin/grepchecking for egrep... /bin/grep -Echecking for ANSI C header files... yeschecking for sys/types.h... yeschecking for sys/stat.h... yeschecking for stdlib.h... yeschecking for string.h... yeschecking for memory.h... yeschecking for strings.h... yeschecking for inttypes.h... yeschecking for stdint.h... yeschecking for unistd.h... yeschecking locale.h usability... yeschecking locale.h presence... yeschecking for locale.h... yeschecking for LC_MESSAGES... yeschecking libintl.h usability... yeschecking libintl.h presence... yeschecking for libintl.h... yeschecking for ngettext in libc... yeschecking for dgettext in libc... yeschecking for bind_textdomain_codeset... yeschecking for msgfmt... no./configure: line 5245: ./po/POTFILES.in: No such file or directory checking for pkg-config... /usr/bin/pkg-configchecking pkg-config is at least version 0.9.0... yeschecking for SCIM... yeschecking for SCIM_GTKUTILS... yeschecking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yeschecking for a thread-safe mkdir -p... /bin/mkdir -pchecking for gawk... nochecking for mawk... mawkchecking whether make sets $(MAKE)... yeschecking for style of include used by make... GNUchecking dependency style of gcc... gcc3checking for gcc... (cached) gccchecking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yeschecking for gcc option to accept ISO C89... (cached) none needed checking for g++... nochecking for c++... nochecking for gpp... nochecking for aCC... nochecking for CC... nochecking for cxx... nochecking for cc++... nochecking for cl.exe... nochecking for FCC... nochecking for KCC... nochecking for RCC... nochecking for xlC_r... nochecking for xlC... nochecking whether we are using the GNU C++ compiler... no checking whether g++ accepts -g... nochecking dependency style of g++... nonechecking for a BSD-compatible install... /usr/bin/install -cchecking for a sed that does not truncate output... /bin/sedchecking for ld used by gcc... /usr/bin/ldchecking if the linker (/usr/bin/ld) is GNU ld... yeschecking for /usr/bin/ld option to reload object files... -rchecking for BSD-compatible nm... /usr/bin/nm -Bchecking whether ln -s works... yeschecking how to recognize dependent libraries... pass_allchecking dlfcn.h usability... nochecking dlfcn.h presence... nochecking for dlfcn.h... nochecking for g77... nochecking for xlf... nochecking for f77... nochecking for frt... nochecking for pgf77... nochecking for cf77... nochecking for fort77... nochecking for fl32... nochecking for af77... nochecking for xlf90... nochecking for f90... nochecking for pgf90... nochecking for pghpf... nochecking for epcf90... nochecking for gfortran... nochecking for g95... nochecking for xlf95... nochecking for f95... nochecking for fort... nochecking for ifort... nochecking for ifc... nochecking for efc... nochecking for pgf95... nochecking for lf95... nochecking for ftn... nochecking whether we are using the GNU Fortran 77 compiler... no checking whether accepts -g... nochecking the maximum length of command line arguments (98304)checking command to parse /usr/bin/nm -B output from gcc object... failed checking for objdir... .libschecking for ar... archecking for ranlib... ranlibchecking if gcc supports -fno-rtti -fno-exceptions... nochecking for gcc option to produce PIC... -fPICchecking if gcc PIC flag -fPIC works... yeschecking if gcc static flag -static works... yeschecking if gcc supports -c -o file.o... yeschecking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... nochecking dynamic linker characteristics... GNU/Linux ld.sochecking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yeschecking if libtool supports shared libraries... yeschecking whether to build shared libraries... yeschecking whether to build static libraries... yesconfigure: creating libtoolappending configuration tag "CXX" to libtoolappending configuration tag "F77" to libtoolchecking for X... libraries /usr/lib, headerschecking for ANSI C header files... (cached) yeschecking assert.h usability... nochecking assert.h presence... nochecking for assert.h... nochecking iconv.h usability... nochecking iconv.h presence... nochecking for iconv.h... nochecking fcntl.h usability... nochecking fcntl.h presence... nochecking for fcntl.h... nochecking for locale.h... (cached) yeschecking for stdlib.h... (cached) yeschecking for string.h... (cached) yeschecking for unistd.h... (cached) yeschecking for libintl.h... (cached) yeschecking for an ANSI C-conforming const... nochecking for inline... nochecking for size_t... nochecking for stdlib.h... (cached) yeschecking for unistd.h... (cached) yeschecking for getpagesize... nochecking for working mmap... nochecking for memset... nochecking for munmap... nochecking for setlocale... nochecking for strdup... nochecking for exp2... noconfigure: creating ./config.statusconfig.status: creating Makefileconfig.status: creating data/Makefileconfig.status: creating src/Makefileconfig.status: creating src/include/Makefileconfig.status: creating src/data/Makefileconfig.status: creating src/share/Makefileconfig.status: creating src/command/Makefileconfig.status: creating config.hconfig.status: config.h is unchangedconfig.status: executing default-1 commandsconfig.status: executing depfiles commandsyuchen@yuchen-laptop:~/scim-googlepinyin$ makemake all-recursivemake[1]: 正在进入目录`/home/yuchen/scim-googlepinyin'Making all in srcmake[2]: 正在进入目录`/home/yuchen/scim-googlepinyin/src'Making all in sharemake[3]: 正在进入目录`/home/yuchen/scim-googlepinyin/src/share'source='dictbuilder.cpp' object='libpinyinime_la-dictbuilder.lo' libtool=yes \DEPDIR=.deps depmode=none /bin/bash ../../depcomp \/bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHA VE_CONFIG_H -I. -I../.. -Wall -c -o libpinyinime_la-dictbuilder.lo `test -f 'dictbuilder.cpp' || echo './'`dictbuilder.cpplibtool: ignoring unknown tag CXXg++ -DHA VE_CONFIG_H -I. -I../.. -Wall -c dictbuilder.cpp -fPIC -DPIC -o .libs/libpinyinime_la-dictbuilder.oenv: g++: No such file or directorymake[3]: *** [libpinyinime_la-dictbuilder.lo] 错误1make[3]:正在离开目录`/home/yuchen/scim-googlepinyin/src/share'make[2]: *** [all-recursive] 错误1make[2]:正在离开目录`/home/yuchen/scim-googlepinyin/src'make[1]: *** [all-recursive] 错误1make[1]:正在离开目录`/home/yuchen/scim-googlepinyin'make: *** [all] 错误2yuchen@yuchen-laptop:~/scim-googlepinyin$页首7 楼易水辰文章标题: Re: Ubuntu 10.04安装google拼音输入法发表于: 2010-05-21 14:52注册: 2008-06-11 12:30帖子: 107 前面都没有问题就是make 命令以后yuchen@yuchen-laptop:~/scim-googlepinyin$ makemake all-recursivemake[1]: 正在进入目录`/home/yuchen/scim-googlepinyin'Making all in srcmake[2]: 正在进入目录`/home/yuchen/scim-googlepinyin/src'Making all in sharemake[3]: 正在进入目录`/home/yuchen/scim-googlepinyin/src/share'source='dictbuilder.cpp' object='libpinyinime_la-dictbuilder.lo' libtool=yes \DEPDIR=.deps depmode=none /bin/bash ../../depcomp \/bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHA VE_CONFIG_H -I. -I../.. -Wall -c -o libpinyinime_la-dictbuilder.lo `test -f 'dictbuilder.cpp' || echo './'`dictbuilder.cpplibtool: ignoring unknown tag CXXg++ -DHA VE_CONFIG_H -I. -I../.. -Wall -c dictbuilder.cpp -fPIC -DPIC -o .libs/libpinyinime_la-dictbuilder.oenv: g++: No such file or directorymake[3]: *** [libpinyinime_la-dictbuilder.lo] 错误1make[3]:正在离开目录`/home/yuchen/scim-googlepinyin/src/share'make[2]: *** [all-recursive] 错误1make[2]:正在离开目录`/home/yuchen/scim-googlepinyin/src'make[1]: *** [all-recursive] 错误1make[1]:正在离开目录`/home/yuchen/scim-googlepinyin'make: *** [all] 错误2页首8 楼易水辰文章标题: Re: Ubuntu 10.04安装google拼音输入法发表于: 2010-05-21 19:55注册: 2008-06-11 12:30帖子: 107 有高手吗告知一下谢谢页首9 楼denglin216 文章标题: Re: Ubuntu 10.04安装google拼音输入法发表于: 2010-05-23 20:45注册: 2008-08-29 19:27帖子: 46地址: 四川成都易水辰写道:楼主请教一下8.04里可以安装吗没测试过,我只是在10.04安装成功了的,不过应该可以的楼主可以测试一下_________________自己的命运由自己来主宰,将脆弱悲哀全都就地掩埋。
with recursive用法
with recursive用法withrecursive是一种递归查询方式,它可以在SQL语句中使用,用于处理树形结构的数据。
该语句可以用于处理嵌套集模型、闭包表模型等数据结构。
使用with recursive语法时,需要指定一个初始查询(即递归基),然后定义递归部分,最后使用union all连接初始查询和递归部分。
递归部分需要使用with recursive语句本身作为子查询,从而实现递归查询。
例如,假设有以下数据表:id name parent_id1 A NULL2 B 13 C 24 D NULL5 E 46 F 5我们可以使用with recursive语句查询出所有节点的祖先节点,例如:with recursive cte(id, name, parent_id, ancestor_id) as ( select id, name, parent_id, NULL as ancestor_idfrom my_tablewhere parent_id is nullunion allselect t.id, , t.parent_id, cte.id as ancestor_id from my_table tjoin cte on t.parent_id = cte.parent_id)select * from cte;这条语句会输出以下结果:id name parent_id ancestor_id1 A NULL NULL2 B 1 13 C 2 14 D NULL NULL5 E 4 46 F 5 4我们可以看到,对于每个节点,我们都能找到它的祖先节点。
在上面的查询语句中,我们首先查询出根节点(即parent_id为null 的节点),然后通过递归查询找到每个节点的祖先节点。
linux中grep命令详解
grep用法详解:grep与正则表达式首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同!正则表达式只是一种表示法,只要工具支持这种表示法,那么该工具就可以处理正则表达式的字符串。
vi grep ,awk ,sed 等都支持正则表达式.1基础正则表达式grep 工具,以前介绍过。
grep -[acinv] '搜索内容串' filename-a 以文本文件方式搜索-c 计算找到的符合行的次数-i 忽略大小写-n 顺便输出行号-v 反向选择,即找没有搜索字符串的行其中搜索串可以是正则表达式!1搜索有the的行,并输出行号$grep -n 'the' regular_express.txt搜索没有the的行,并输出行号$grep -nv 'the' regular_express.txt2 利用[]搜索集合字符[] 表示其中的某一个字符,例如[ade] 表示a或d或ewoody@xiaoc:~/tmp$ grep -n 't[ae]st' regular_express.txt8:I can't finish the test.9:Oh! the soup tast e good!可以用^符号做[]内的前缀,表示除[]内的字符之外的字符。
比如搜索oo前没有g的字符串所在的行. 使用 '[^g]oo' 作搜索字符串woody@xiaoc:~/tmp$ grep -n '[^g]oo' regular_express.txt2:apple is my favorite foo d.3:Foo tball game is not use feet only.18:google is the best too ls for search keyword.19:go ooo oogle yes![] 内可以用范围表示,比如[a-z] 表示小写字母,[0-9] 表示0~9的数字, [A-Z] 则是大写字母们。
八大排序
八大排序算法排序的基本概念排序是将一批(组)任意次序的记录重新排列成按关键字有序的记录序列的过程。
排序算法有许多,但就全面性能而言,还没有一种公认为最好的。
每种算法都有其优点和缺点,分别适合不同的数据量和硬件配置。
评价排序算法的标准有:执行时间和所需的辅助空间,其次是算法的稳定性。
若排序算法所需的辅助空间不依赖问题的规模n,即空间复杂度是O(1) ,则称排序方法是就地排序,否则是非就地排序。
排序的分类待排序的记录数量不同,排序过程中涉及的存储器的不同,有不同的排序分类。
① 待排序的记录数不太多:所有的记录都能存放在内存中进行排序,称为内部排序;② 待排序的记录数太多:所有的记录不可能存放在内存中, 排序过程中必须在内、外存之间进行数据交换,这样的排序称为外部排序。
内部排序的基本操作对内部排序地而言,其基本操作有两种:◆ 比较两个关键字的大小;◆ 存储位置的移动:从一个位置移到另一个位置。
第一种操作是必不可少的;而第二种操作却不是必须的,取决于记录的存储方式,具体情况是:① 记录存储在一组连续地址的存储空间:记录之间的逻辑顺序关系是通过其物理存储位置的相邻来体现,记录的移动是必不可少的;② 记录采用链式存储方式:记录之间的逻辑顺序关系是通过结点中的指针来体现,排序过程仅需修改结点的指针,而不需要移动记录;③ 记录存储在一组连续地址的存储空间:构造另一个辅助表来保存各个记录的存放地址(指针) :排序过程不需要移动记录,而仅需修改辅助表中的指针,排序后视具体情况决定是否调整记录的存储位置。
①比较适合记录数较少的情况;而②、③则适合记录数较少的情况。
为讨论方便,假设待排序的记录是以①的情况存储,且设排序是按升序排列的;关键字是一些可直接用比较运算符进行比较的类型。
一交换类排序法所谓交换排序法是指借助数据元素之间互相交换进行排序的方法。
冒泡排序与快速排序法都属于交换类排序方法。
交换排序— 冒泡排序:基本思想:1.比较相邻的元素。
fortran简单程序集
----------------------- Page 5-----------------------
recursive function fact(n)
implicit none
integer n
integer(8) fact
if (n==0.or.n==1) then
implicit none
2! n!
program ex05
implicit none
integer::i=1
real::t=1,sum=0
do while(abs(t)>=1e-6)
sum=sum+t
t=t/i
print*,b
end
!统计大写、小写、数字及其他字符的个数
program ex51
implicit none
character*20 str
integer::i,n1=0,n2=0,n3=0,n4=0
print*,'输入字符串:'
print*,f(str)
end
function f(str)
implicit none
character*(*) str
integer f,k,i
f=0
k=len_trim(str)
do i=1,k
f=f+(ichar(str(i:i))-ichar('0'))*10**(k-i)
integer(8)::f=1,sum=0
integer i,n
print*,'input n:'
read*,n
do i=1,n
Cisco3750文件系统
CISCO2950/2960/2970/3550/3560/3750系列交换机默认的IOS不仅包括一个BIN类型的文件,而且包含其他一些文件目录/文件。
有时候我们需要删除一些不用的文件或者目录以增加FLASH的空间,具体命令如下:删除目录:delete/force(不再询问确认)/recursive(删除目录下的子目录和文件) 如果是flash: (整个flash),如果是目录,则是整个目录。
不可恢复。
附:Cisco 3750文件系统Cisco 3750文件系统查看文件系统。
默认是flash.dir all (flash: )show file system更改目录:cd xxpwd (查看当前目录)新建目录:mkdir xx删除目录:delete/force(不再询问确认)/recursive(删除目录下的子目录和文件) 如果是flash: (整个flash),如果是目录,则是整个目录。
不可恢复。
copy,还是复制。
创建一个tar文件:archive tar/creat x...(目的) x...(源)查看一个tar包含的文件:archive tar/table xxx.tar解压缩一个tar文件:archive tar/xtract xxx.tar flash: (解压缩整个tar,只能解到当前flash)archive tar/xtract xxx.tar flash:/xxxxx (指定解压缩整个tar,或其中某个文件,目录.查看一个可读文件的内容:more xxx (可以是远程的,如TFTP)配置文件:Switch# copy tftp://172.16.2.155/tokyo-confg system:running-config (多了个system)Switch# copy system:running-config tftp://172.16.2.155/tokyo-confg (多了个system)上提供的ios为tar格式。
卡尔曼滤波的英文形式
卡尔曼滤波的英文形式Kalman Filter.The Kalman filter is a mathematical algorithm that estimates the state of a dynamic system from a series of measurements. It is named after Rudolf Kalman, who developed it in the 1960s. The Kalman filter is used in a wide variety of applications, including tracking, navigation, and control.How the Kalman Filter Works.The Kalman filter is a recursive algorithm that consists of two steps:1. Prediction: In the prediction step, the filter estimates the state of the system at the current time step based on the state at the previous time step and the system dynamics.2. Update: In the update step, the filter updates the estimate of the state based on the new measurement.The Kalman filter is a powerful tool for estimating the state of a dynamic system. However, it is important to note that the filter is only as good as the model of the system that is used. If the model is not accurate, then the filter will not be able to provide accurate estimates.Applications of the Kalman Filter.The Kalman filter is used in a wide variety of applications, including:Tracking: The Kalman filter can be used to track the position and velocity of a moving object. This is usefulfor applications such as tracking satellites, aircraft, and missiles.Navigation: The Kalman filter can be used to navigate a vehicle by combining measurements from a variety of sensors, such as GPS, accelerometers, and gyroscopes.Control: The Kalman filter can be used to control a system by estimating the state of the system and then using that estimate to calculate the appropriate control inputs. This is useful for applications such as controlling robots and self-driving cars.Advantages of the Kalman Filter.The Kalman filter has several advantages over other estimation methods, including:Optimality: The Kalman filter is the optimal estimator for a linear system with Gaussian noise. This means that the filter will provide the most accurate estimates possible given the available measurements.Recursion: The Kalman filter is a recursive algorithm, which means that it can be implemented in real time. Thisis important for applications where it is necessary to estimate the state of a system in a timely manner.Robustness: The Kalman filter is robust to noise and outliers. This means that the filter can still provide accurate estimates even when the measurements are noisy or contain outliers.Disadvantages of the Kalman Filter.The Kalman filter also has some disadvantages, including:Computational complexity: The Kalman filter can be computationally complex, especially for large systems. This can be a problem for applications where real-time estimation is required.Sensitivity to model errors: The Kalman filter is sensitive to errors in the model of the system. This means that the filter can provide inaccurate estimates if the model is not accurate.Initialization: The Kalman filter requires an initial estimate of the state of the system. This estimate can bedifficult to obtain, especially for complex systems.Conclusion.The Kalman filter is a powerful tool for estimating the state of a dynamic system. The filter is optimal for linear systems with Gaussian noise and is recursive, robust, and computationally efficient. However, the filter is also sensitive to model errors and requires an initial estimate of the state of the system.。
dig 命令详解(转载)
查询名称服务器时使用 [不使用] TCP。+[no]tcp 的备用语法提供了向下兼容。 vc 代表虚电路。
+[no]ignore
忽略 UDP 响应的中断,而不是用 TCP 重试。缺省情况运行 TCP 重试。
+domain=somename
设定包含单个域 somename 的搜索列表,似乎被 /etc/resolv.conf 中的域伪指令指定,并且启用搜索列表处理,似乎给定了 +search
+tries=A
配置向服务器发送 UDP 查询请求的重试次数为 A,代替缺省的 3 次。假如把 A 小于或等于 0,则采用 1 为重试次数。
+ndots=D
出于完全考虑,配置必须出现在名称 D 的点数。缺省值是使用在 /etc/resolv.conf 中的 ndots 语句定义的,或是 1,假如没有 ndots
+[no]short
提供简要答复。缺省值是以冗长格式显示答复信息。
+[no]identify
当启用 +short 选项时,显示 [或不显示] 提供给答的 IP 地址和端口号。假如请求简短格式应答,缺省情况不显示提供给答的服务器的源地址和端口号。
+[no]comments
转换输出中的注释行显示。缺省值是显示注释。
# 查找一个域的授权 dns 服务器
dig +nssearch
# 从根服务器开始追踪一个域名的解析过程
dig +trace
# 查看您使用的是哪个 F root dns server
dig +norec @ HOSTNAME.BIND CHAOS TXT
SVN命令使用手册
M:修改A:添加D:删除SVN命令使用一、常用命令1.Svnadmin create创建库svnadmin create path在windows版本上:D:\>svnadmin create test2D:\>通过dir来列出目录中文件,已经包含test2,如图1所示:图1说明此时已经成功建立2.Svn import导入项目svn import project_path svn_lib_path -m “comment”举例:假设有一个工程名称unismg,代码的文件目录是unicom;A、我们在D盘新建目录unismg,在此目录下新建三个文件目录,如图2所示:图2trunk中存放的是项目主线;branches中存放源码分支;tags存放在开发过程中做的标签。
B、我们将代码unicom放到d:\unismg\trunk\中C、执行命令D:\>svn import d:\unismg file:///d:/test2/unismg -m "initial import unismg" 结果如图3所示:SVN为培训Adding /export/home/mcpp20/niuj/proj/mcpp1.5/mtrunk/mcpp64/mcpp/src/modules/getAdding /export/home/mcpp20/niuj/proj/mcpp1.5/mtrunk/mcpp64/mcpp/src/modules/get/mp_get_pending.c Adding /export/home/mcpp20/niuj/proj/mcpp1.5/mtrunk/mcpp64/mcpp/src/modules/get/mp_get_mtsr.c Adding /export/home/mcpp20/niuj/proj/mcpp1.5/mtrunk/mcpp64/mcpp/src/modules/get/mp_get_mo.c……Adding /export/home/mcpp20/niuj/proj/mcpp1.5/mbranchesAdding /export/home/mcpp20/niuj/proj/mcpp1.5/mtagsCommitted revision 38.3.Svn co: 将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co举例:svn co svn://192.168.30.251:3482/trunk/unicom下面信息就是从库中下载的代码信息。
第04讲 RLS法
(1) 选取^(0)各元素为零或较小的参数 ,P(-1)=2I,其中 为充分大的实数;
(2) 先将大于所需辨识的参数个数的 L组数据 ,利用成批 型的LS法求取参数估计值 LS和协方差阵P(L-1),并将 这些量作为递推估计的初值.
1 递推算法--LS法和RLS法的比较(1/1)
第四讲 RLS法(2/5)
时变参数辨识 故障监测与诊断
仿真等.
如对时变系统斌是,需要 以采样频率实时更新模型 充分利用过去的辨识模型(参数值),减少在线计算量 递推算法辨识值要尽可能等效为成批算法辨识值 计算机计算技术的发展,为发展这种能在线辨识、在线控 制和预报的算法提供了强有力的工具.
B. LS法和RLS法的比较
LS法和RLS法的比较
LS法是一次完成算法 , 适于离线辩识 , 要记忆全部测量数 据,程序长;
RLS法是递推算法,适于在线辩识和时变过程,只需要记忆 n+1步数据,程序简单;
RLS法用粗糙初值时 ,如若 N( 即样本数少 )较小时, 估计精 度不如LS法.
1 递推算法--信号充分丰富与系统充分激励(1/2)
C. 信号充分丰富与系统充分激励 对于所有学习系统与自适应系统,信号充分丰富(系统充分激 励)是非常重要的. 若系统没有充分激励,则学习系统与自适应系统就不能一 致收敛.
不一致收敛则意味着所建模型存在未建模动态或模 型误差较大,这对模型的应用带来巨大隐患.
第四讲 RLS法(3/5)
递推辨识算法的思想可以概括成 新的参数估计值=旧的参数估计值+修正项 (1) 即新的递推参数估计值是在旧的递推估计值的基础上修正而成, 这就是递推的概念. 递推算法不仅可减少计算量和存储量 ,而且能实现在线实 时辨识.
R包的分类介绍
R的包分类介绍1.空间数据分析包1)分类空间数据(Classes for spatial data)2)处理空间数据(Handling spatial data)3)读写空间数据(Reading and writing spatial data)4)点格局分析(Point pattern analysis)5)地质统计学(Geostatistics)6)疾病制图和地区数据分析(Disease mapping and areal dataanalysis)7)生态学分析(Ecological analysis)2.机器学习包1)神经网络(Neural Networks)2)递归拆分(Recursive Partitioning)3)随机森林(Random Forests)4)Regularized and Shrinkage Methods5)Boosting6)支持向量机(Support Vector Machines)7)贝叶斯方法(Bayesian Methods)8)基于遗传算法的最优化(Optimization using Genetic Algorithms)9)关联规则(Association Rules)10)模型选择和确认(Model selection and validation)11)统计学习基础(Elements of Statistical Learning)3.多元统计包1)多元数据可视化(Visualising multivariate data)2)假设检验(Hypothesis testing)3)多元分布(Multivariate distributions)4)线形模型(Linear models)5)投影方法(Projection methods)6)主坐标/尺度方法(Principal coordinates / scaling methods)7)无监督分类(Unsupervised classification)8)有监督分类和判别分析(Supervised classification anddiscriminant analysis)9)对应分析(Correspondence analysis)10)前向查找(Forward search)11)缺失数据(Missing data)12)隐变量方法(Latent variable approaches)13)非高斯数据建模(Modelling non-Gaussian data)14)矩阵处理(Matrix manipulations)15)其它(Miscellaneous utitlies)4.药物(代谢)动力学数据分析5.计量经济学1)线形回归模型(Linear regression models)2)微观计量经济学(Microeconometrics)3)其它的回归模型(Further regression models)4)基本的时间序列架构(Basic time series infrastructure)5)时间序列建模(Time series modelling)6)矩阵处理(Matrix manipulations)7)放回再抽样(Bootstrap)8)不平等(Inequality)9)结构变化(Structural change)10)数据集(Data sets)1.R分析空间数据(Spatial Data)的包主要包括两部分:1)导入导出空间数据2)分析空间数据功能及函数包:1)分类空间数据(Classes for spatial data):包sp(/web/packages/sp/index.html)为不同类型的空间数据设计了不同的类,如:点(points),栅格(grids),线(lines),环(rings),多边形(polygons)。
loop和recursive的用法
loop和recursive的用法循环和递归的用法在编程中起着重要的作用。
循环是一种重复执行代码块的结构,它可以通过设置计数器或条件来控制循环的次数。
而递归是一种调用自身的函数或过程,它可以通过不断调用自身来解决复杂的问题。
循环的用法非常灵活,可以根据具体需求选择不同类型的循环结构,如for循环、while循环和do-while循环。
通过循环,我们可以重复执行特定的代码块,实现对数据集合的遍历和处理。
循环还可以配合条件语句实现对特定条件下的重复行为,从而解决各种实际问题。
例如,我们可以使用循环来计算一个列表中所有元素的和。
首先,我们可以初始化一个变量sum为0,然后使用循环遍历列表中的每个元素,将每个元素的值累加到sum中。
当循环结束后,sum就是列表中所有元素的和。
另一方面,递归是一种简洁而强大的编程技巧,特别适用于解决可分解为较小部分的问题。
通过递归,函数可以通过调用自身来解决更小规模的相同问题,直到达到基本情况或边界条件。
递归可以让问题的解决变得更加直观和简洁。
举个例子,我们可以使用递归来计算斐波那契数列的第n项。
斐波那契数列的前两项是0和1,后续的每一项都是前两项的和。
通过递归,我们可以定义一个函数,接受一个参数n,并返回斐波那契数列的第n项。
当n等于0或1时,我们可以直接返回相应的值;否则,我们可以通过调用自身来递归地计算第n-1项和第n-2项,并返回它们的和作为结果。
总的来说,循环和递归是编程中常用的两种重要技巧。
它们各自有着独特的优势和适用场景,选择使用哪种技巧取决于具体的问题和编程要求。
理解并灵活掌握循环和递归的用法,可以帮助我们更好地解决复杂的编程问题。
git --recursive用法介绍
Git是目前最流行的版本控制工具之一,它为开发者提供了便捷的代码管理和团队协作功能。
而git --recursive则是git命令的一个重要选项,它用于克隆包含子模块的仓库,使得子模块的内容也能被克隆下来。
本文将对git --recursive的用法进行详细介绍,帮助读者更好地理解和使用这一功能。
一、git --recursive的概念和作用1.概念在介绍git --recursive的具体用法之前,我们先来了解一下什么是子模块。
子模块是一个独立的仓库,它被包含在一个父级仓库中。
在父级仓库中通过添加子模块,可以将其他仓库的代码引入到当前仓库中,方便代码复用和维护。
2.作用git --recursive命令的作用就是在克隆包含子模块的仓库时,同时也克隆子模块的内容,使得父级仓库和子模块的代码能够完整地被克隆下来。
这样在克隆完整的仓库后,开发者就可以直接使用子模块中的代码,而不需要额外操作。
二、git --recursive的使用方法1. 克隆包含子模块的仓库要使用git --recursive命令,首先需要有一个包含子模块的仓库。
在克隆这个仓库的过程中加上--recursive选项即可。
具体的命令如下:git clone --recursive <仓库URL>例如:git clone --recursive xxx这样就会克隆包含子模块的仓库,并且同时克隆子模块的内容。
2. 更新子模块内容在使用了git --recursive命令克隆了包含子模块的仓库之后,如果子模块的内容发生了变化,那么需要同步更新父级仓库中的子模块内容。
具体的操作如下:进入父级仓库的根目录运行以下命令:git submodule update --remote这样就可以更新子模块的内容到最新版本。
三、git --recursive的注意事项1. 需要注意的是,在克隆包含子模块的仓库时,如果没有加上--recursive选项,那么克隆的仓库将不会包含子模块的内容。
recursive 写法
recursive 写法
您的问题是关于"recursive"的写法,这似乎是在询问递归的写法。
递归是一个在计算机科学和数学中常见的概念,其中函数直接或间接地调用自身来解决问题。
以下是一个使用Python编写的简单递归函数的例子,该函数计算阶乘:
```python
def factorial(n):
if n == 0:
return 1
else:
return n factorial(n-1)
```
这个函数会计算一个非负整数的阶乘。
例如,`factorial(5)`会返回`120`,因为5的阶乘是5 4 3 2 1 = 120。
递归函数的关键在于有一个或多个"基本情况",这些情况不需要进一步调用函数自身就可以解决。
在这个例子中,`n == 0`就是基本情况。
然后,对于
其他的输入,函数会调用自身来处理更简单的情况(在这个例子中,就是`n-1`)。
请注意,编写递归函数需要谨慎,因为如果定义不当,可能会导致无限循环或者栈溢出等问题。
PostgreSQL中RECURSIVE递归查询使用总结
PostgreSQL中RECURSIVE递归查询使⽤总结RECURSIVE前⾔WITH提供了⼀种⽅式来书写在⼀个⼤型查询中使⽤的辅助语句。
这些语句通常被称为公共表表达式或CTE,它们可以被看成是定义只在⼀个查询中存在的临时表。
在WITH⼦句中的每⼀个辅助语句可以是⼀个SELECT、INSERT、UPDATE或DELETE,并且WITH⼦句本⾝也可以被附加到⼀个主语句,主语句也可以是SELECT、INSERT、UPDATE或DELETE。
CTE or WITHWITH语句通常被称为通⽤表表达式(Common Table Expressions)或者CTEs。
WITH语句作为⼀个辅助语句依附于主语句,WITH语句和主语句都可以是SELECT,INSERT,UPDATE,DELETE中的任何⼀种语句。
举个栗⼦WITH result AS (SELECT er_idFROM documents dGROUP BY er_id),info as(SELECT t.*,json_build_object('id', ur.id, 'name', ) AS user_infoFROM result tLEFT JOIN users ur on ur.id = er_idWHERE ur.id IS NOT NULL)select * from info定义了两个WITH辅助语句,result和info。
result查询出符合要求的user信息,然后info对这个信息进⾏组装,组装出我们需要的数据信息。
当然不⽤这个也是可以的,不过CTE主要的还是做数据的过滤。
什么意思呢,我们可以定义多层级的CTE,然后⼀层层的查询过滤组装。
最终筛选出我们需要的数据,当然你可能会问为什么不⼀次性拿出所有的数据呢,当然如果数据很⼤,我们通过多层次的数据过滤组装,在效率上也更好。
在WITH中使⽤数据修改语句WITH中可以不仅可以使⽤SELECT语句,同时还能使⽤DELETE,UPDATE,INSERT语句。
CISCO文件管理命令
和Windows或 Linux操作系统一样,Cisco IOS 也有自己管理文件的命令,这和DOS/Windows的命令很类似。
这些命令所管理和维护的文件包括IOS 路由器操作系统文件,配置文件或者其它类型的IOS 文件。
对于任何Cisco管理员来说,知道这些命令都是必须的。
接下来就让我们看看十条必须知道的Cisco IOS 文件管理命令。
#1 dir这条指令用来显示文件夹下的文件列表,输入dir ? 可以查看可选参数。
如下所示:/all List all files/recursive List files recursivelyall-filesystems List files on all filesystemsarchive: Directory or file namecns: Directory or file nameflash: Directory or file namenull: Directory or file namenvram: Directory or file namesystem: Directory or file nametar: Directory or file nametmpsys: Directory or file namexmodem: Directory or file nameymodem: Directory or file name<cr>Router#以上每一种文件系统(比如flash,nvram等带冒号的)都相当于 DOS系统里的磁盘分区,你需要在其名称后面加冒号。
默认情况下,dir会列出路由器flash 中的文件,因为默认的当前路径就是flash:Router# dirDirectory of flash:/2 -rwx 18929780 Aug 29 2006 15:49:57+00:00 c870-advipservicesk9-mz.124-15.T5.bin3 -rwx 2143 Aug 29 2006 16:42:14+00:00 running-config23482368 bytes total (4544512 bytes free)Router#每个路由器至少都会包含flash内存和nvram 内存。
执行rm-rf之后世界安静了吗
执⾏rm-rf之后世界安静了吗对于Unix/Linux程序员来说,"rm -rf /"⼀直被认为是⼀个极度危险的操作,因为直接把根⽬录给删除了,整个操作系统也就崩溃了。
但实际上会是这样的吗?呵呵,请看图:啊哈,世界并没有安静,⼀如既往地喧嚣。
怎么回事⼉?让我们来扒⼀扒源代码,01 - 下载源代码(coreutils-8.30)root# cd /tmproot# wget https:///pub/fedora/linux/updates/29/Everything/SRPMS/Packages/c/coreutils-8.30-7.fc29.src.rpmroot# mkdir /tmp/coreutilsroot# rpm -ivh --define '_topdir /tmp/coreutils' coreutils-8.30-7.fc29.src.rpmroot# cd /tmp/coreutils/SOURCESroot# ls -l *.xz-rw-rw-r--. 1 root root 5359532 Jul 22018 coreutils-8.30.tar.xzroot# tar Jxf coreutils-8.30.tar.xz02 - 查看rm -rf /的运⾏轨迹1 root@intel-sharkbay-dh-02:/# strace rm -rf /2 execve("/usr/bin/rm", ["rm", "-rf", "/"], 0x7ffde6de8960/* 43 vars */) = 03 brk(NULL) = 0x558b0cb0f0004 ...<snip>...5 lstat("/", {st_mode=S_IFDIR|0555, st_size=224, ...}) = 06 newfstatat(AT_FDCWD, "/", {st_mode=S_IFDIR|0555, st_size=224, ...}, AT_SYMLINK_NOFOLLOW) = 07 openat(AT_FDCWD, "/usr/share/locale/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)8 ...<snip>...9 openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)10write(2, "rm: ", 4rm: ) = 411write(2, "it is dangerous to operate recur"..., 45it is dangerous to operate recursively on '/') = 4512write(2, "\n", 113 ) = 114write(2, "rm: ", 4rm: ) = 415write(2, "use --no-preserve-root to overri"..., 48use --no-preserve-root to override this failsafe) = 4816write(2, "\n", 117 ) = 118 lseek(0, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)19 close(0) = 020 close(1) = 021 close(2) = 022 exit_group(1) = ?23 +++ exited with 1 +++注意第5⾏和11⾏:5 lstat("/", {st_mode=S_IFDIR|0555, st_size=224, ...}) = 011write(2, "it is dangerous to operate recur"..., 45it is dangerous to operate recursively on '/') = 4503 - 查看rm对应的源代码03.01 main() in rm.c/* coreutils-8.30/src/rm.c#209 */208int209 main (int argc, char **argv)210 {211bool preserve_root = true;...229while ((c = getopt_long (argc, argv, "dfirvIR", long_opts, NULL)) != -1)230 {231switch (c)232 {...237case'f':238 x.interactive = RMI_NEVER;239 x.ignore_missing_files = true;240 prompt_once = false;241break;...255case'r':256case'R':257 x.recursive = true;258break;...341 }342343if (x.recursive && preserve_root)344 {345static struct dev_ino dev_ino_buf;346 x.root_dev_ino = get_root_dev_ino (&dev_ino_buf);347if (x.root_dev_ino == NULL)348 die (EXIT_FAILURE, errno, _("failed to get attributes of %s"),349 quoteaf ("/"));350 }...370enum RM_status status = rm (file, &x);371 assert (VALID_STATUS (status));372return status == RM_ERROR ? EXIT_FAILURE : EXIT_SUCCESS;373 }在第346⾏,调⽤了函数get_root_dev_info(), ⽤以获取 root设备信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
slideset 1 4
Jump to first page
What it looks like
; This file holds the information on root name servers needed to ; initialize cache of Internet domain name servers ; (e.g. reference this file in the "cache . <file>" ; configuration file of BIND domain name servers). ; ; This file is made available by InterNIC ; under anonymous FTP as ; file /domain/named.cache ; on server ; ; last update: Nov 5, 2002 ; related version of root zone: 2002110501 ; ; ; formerly ; . 3600000 IN NS . . 3600000 A 198.41.0.4 ; ................. ; housed in Japan, operated by WIDE ; . 3600000 NS . . 3600000 A 202.12.27.33 ; End of File
slideset 1 14
Jump to first page
Congratulations - Your First Server!
It's just the beginning...
slideset 1 15
Jump to first page
�
Note the "."
slideset 1 7
Jump to first page
localhost file
$ORIGIN localhost. $TTL 86400 @ IN SOA localhost. root.localhost. ( 1 ; serial 1800 ; refresh 900 ; retry 69120 ; expire 1080 ; negative cache ttl ) NS localhost. A 127.0.0.1
slideset 1 12
Jump to first page
Running the server
From the directory
sudo named -c named.conf
slideset 1 13
Jump to first page
Testing the server
Just to show it is alive
slideset 1 5
Jump to first page
What You Do To This File
Nothing You will include it in named.conf In real networks, don't change it
But for learning, we will change it
slideset 1 9
Jump to first page
0.0.127.in-addr.arpa file
$ORIGIN 0.0.127.in-addr.arpa. $TTL 86400 @ IN SOA localhost. root.localhost. ( 1 ; serial 1800 ; refresh 900 ; retry 69120 ; expire 1080 ; negative cache ttl ) NS localhost. 1 PTR localhost.
slideset 1 8
Jump to first page
Reverse for localhost
Since we want "localhost -> 127.0.0.1" we want to have "127.0.0.1 -> 127.0.0.1" We need a zone called 0.0.127.in-addr.arpa
slideset 1 10
Jump to first page
Assembling the files
Here's my directory:
[~/DNS/apricot2003/recursive] edlewis% ls 0.0.127.in-addr.arpa. localhost. named.root
options { directory "/Users/edlewis/DNS/apricot2003/recursive"; pid-file "/Users/edlewis/DNS/apricot2003/recursive/n.pid"; recursion yes; }; zone "." { type hint; file "named.root"; }; zone "localhost." { type master; file "localhost."; }; zone "0.0.127.in-addr.arpa." { type master; file "0.0.127.in-addr.arpa."; };
We'll do named.conf last
slideset 1 3
Jump to first page
Root Server List
List of the 13 root server records Where to get it
ftp anonymous login cd domain get one of these files (they are [nearly] the same)
Recursive Server
Used to lookup data by applications Needs to know how to reach top of DNS Also should stop some queries
localhost, 127.0.0.1
Files
named.conf root.hints localhost zone 0.0.127.in-addr.arpa zone
dig @127.0.0.1
; <<>> DiG 9.2.2rc1 <<>> @127.0.0.1 ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16580 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 10, ADDITIONAL: 0 ;; QUESTION SECTION: ;. IN A ;; ANSWER SECTION: . 10800 IN A 192.149.252.17 . 10800 IN A 192.149.252.16 ;; AUTHORITY SECTION: . 10800 IN NS . (and so on) ;; Query time: 3066 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Wed Feb 19 11:07:05 2003 ;; MSG SIZE rcvd: 251
The directory name and file names will be in named.conf Now I create a named.conf file in the same directory...
slideset 1 11
Jump to first page
named.confpage
localhost
Loopback name in operating systems Means 127.0.0.1 Queries for this shouldn't use recursion So we will configure a file to define the localhost. zone
Recursive Server
Joe Abley jabley@
Overview
Recursive Service root server list localhost. 0.0.127.in-addr.arpa. named.conf
slideset 1 2
Jump to first page