摘要:非const引用,只能用object为其赋值; 《c++primer》P52 而const引用则可以用临时变量为其赋值; 如: const int &r = 32;//可以 int &rr = 32 // error而且:非const引用只能绑定到与该引用同类型的对象;const引用则可以绑定到不同但相关的类型的对象或绑定到右值;//左值:可以出现在赋值语句的坐标或右边;右值:只能出现在赋值的右边。当进行string对象和字符串字面值混合连接操作是,+操作符的左右操作数必须至少有一个是string类型1、字符指针数组创建:char **parr = new char*[n];。
阅读全文
摘要:引言C++ STL可以分为标准容器,算法和函数对象,迭代器和分配器,利用C++标准程序库,可以大量减少我们的代码,提高代码的稳定性和健壮性。标准容器C++标准容器分为序列容器和关联容器,对于序列容器,C++提供的基本序列有vector 支持随机访问,不适合做插入和删除操作频繁的场景list 双向链表,适合做元素的插入和删除,不是随机访问deque 也是一个双端序列,但是经过优化,其双端操作效率类似list,随即访问效率接近vector。从它们出发,通过定义适当的借口,生成了stack 默认用deque实现queue 默认是deque实现priority_queue 默认是vector保存元素,
阅读全文
摘要:参考:http://blog.sina.com.cn/s/blog_67146a750100zoyi.html为了让设备能访问另一个子网,需要在设备里增加路由到子网络,下面是一些资料。基本操作如下:一般来说,都是为了能访问别的子网才设置路由的,比如说,你的主机处于192.168.10.0/24,而你想访问192.168.20.0/24网的主机,当然你知道一个网关IP,例如192.168.10.1(必须和你主机处于同一子网),那么,你可以这样配置路由。添加路由route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.10.1查看路由
阅读全文
摘要:这3个命令的用途都是启动网络接口,不过,ifup与ifdown仅就 /etc/sysconfig/network- scripts内的ifcfg-ethx(x为数字)进行启动或关闭的操作,并不能直接修改网络参数,除非手动调整ifcfg-ethx文件才行。至于 ifconfig则可以直接手动给予某个接口IP或调整其网络参数。下面我们就分别来谈一谈。1. ifconfigifconfig主要是可以手动启动、观察与修改网络接口的相关参数,可以修改的参数很多,包括IP参数以及MTU等都可以修改,它的语法如下:[root@linux ~]# ifconfig {interface} {up|down}
阅读全文
摘要:转:http://www.linuxidc.com/Linux/2012-08/67952.htmiptables规则规则--顾名思义就是规矩和原则,和现实生活中的事情是一样的,国有国法,家有家规,所以要遵纪守法的嘛。当然在防火墙上的规则,在内核看来,规则就是决定如何处理一个包的语句。如果一个包符合所有的条件,我们就用相应的处理动作来处理。书写规则的语法格式为:iptables [-t table] command chains [creteria] -j action-t table就是表名,filter/nat/mangle三个表中的一个,默认是filter表command告诉程序如何做,
阅读全文
摘要:date年:+%Y月:+%m日:+%d时:+%H 或者 +%k分:+%M秒:+%S周:+%wdirname 目录获取目录的上级目录
阅读全文
摘要:功能说明:设置shell。语 法:set[+-abCdefhHklmnpPtuvx]补充说明:set指令能设置所使用shell的执行方式,可依照不同的需求来做设置。参 数: -a 标示已修改的变量,以供输出至环境变量。 -b 使被中止的后台程序立刻回报执行状态。 -C 转向所产生的文件无法覆盖已存在的文件。 -d Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消。 -e 若指令传回值不等于0,则立即退出shell。 -f 取消使用通配符。 -h 自动记录函数的所在位置。 -HShell 可利用"!"加的方式来执行history中记录的指令。 -
阅读全文
摘要:用途返回一个字符串参数的基本文件名称。语法basenameString[Suffix]描述basename命令读取String参数,删除以 /(斜杠) 结尾的前缀以及任何指定的Suffix参数,并将剩余的基本文件名称写至标准输出。basename命令应用以下创建基本文件名称的规则:如果String参数是 //(双斜杠) 或如果String参数包含的都是斜杠字符,则将字符串更改为单个 /(斜杠)。跳过步骤2到4。从指定字符串除去任何拖尾的/字符。如果在String参数中剩余任何 / 字符,则除去字符串的前缀直到(包含)最后一个 / 字符。如果指定Suffix参数,且它和字符串中的剩余的字符相同,
阅读全文
摘要:1、 Red Hat的发行版本中,通常还可以使用工具ntsysv设置服务的自启动状态。 #类似chkonfig 服务名 on|off2、系统服务脚本目录:/etc/init.d3、ps:-a:显示所有终端进程;-u:显示所有用户进程;-x:显示所有进程,包括没有明确终端的进程;-e:显示所有进程。与x类似,但是用BSD系统格式;-f:显示UID,PPID(父进程ID)。。。;-l:以长格式显示进程列表;4、top:实时显示进程:P:按CPU使用率由高到低排序;M:按内存占用率排序;h:查看帮助信息;5、nice:查看默认进程优先级:(进程一般默认为0,一共四十个等级。-20到19)-n:指定命
阅读全文
摘要:http://blog.csdn.net/jsh13417/article/details/8461512详细解析C++编写的ATM自动取款机模拟程序http://www.sudu.cn/info/html/edu/C/20071107/7053.html
阅读全文
摘要:名称 : linux at命令使用权限 : 所有使用者使用方式 : at -V [-q queue] [-f file] [-mldbv] TIME说明 : linux at命令可以让使用者指定在 TIME 这个特定时刻执行某个程式或指令,TIME 的格式是 HH:MM其中的 HH 为小时,MM 为分钟,甚至你也可以指定 am, pm, midnight, noon, teatime(就是下午 4 点锺)等口语词。如果想要指定超过一天内的时间,则可以用 MMDDYY 或者 MM/DD/YY 的格式,其中 MM 是分钟,DD 是第几日,YY 是指年份。另外,使用者甚至也可以使用像是 now +
阅读全文
摘要:run-parts:执行目录下的 命令或脚本 工具,其他非可执行文件和子目录下的文件不会被执行。目录下的命令,是以基本的词汇(字符)顺序执行的,除非你指定了--reverse 逆序选项!这是个老牌的GNU实用工具,自1994年开始!目录下命令的命名规范:--lsbsysinit:lsb格式,太复杂,我个人不用!--regex:正则表达式格式,就是它了!!特殊规范的命名:大写字母+小写字母+数字+下划线+短横脚本命名规范选项:--lsbsysinit:--regex:--reverse:字符逆序执行-u --umask:权限屏蔽位过滤,默认是系统默认的‘022’测试选项:--test:模拟执行顺
阅读全文
摘要:下面不完全:参考:http://blog.csdn.net/cuker919/article/details/6336457cron是一个Linux下的后台进程,用来定期的执行一些任务。因为我用的是Ubuntu,所以这篇文章中的所有命令也只能保证在Ubuntu下有效,但其他系统应该也差不多。想要让cron执行你指定的任务,首先就要编辑crontab文件。crontab是一个文本文件,用来存放你要运行的命令。你可以以下命令Shell代码crontab-e来打开你的用户所属的crontab文件。第一次用这个命令,会让你选择文本编辑器,我选的是vim。选定的编辑器也可以使用Shell代码select
阅读全文
摘要:kill用法1 kill -signal PID15 (SIGTERM)正常方式杀死进程:(这种方式可能会存在一些问题:进程的子进程可能会无法终止,并继续系统资源)1 kill -15 PID2 或者3 kill PID9 (SIGKILL)强制杀死进程1 kill -9 PID19 (SIGSTOP)挂起进程,相当Ctrl+Z:1 kill -19 PID18 (SIGCONT)挂起进程重新执行:1 kill -18 PID2 (SIGINT)中断信号 相当Ctrl+C:1 kill -2 PID
阅读全文
摘要:收集了两篇关于介绍Linux中监控命令top命令的详细使用方法的文章。总的来说,top命令主要用来查看Linux系统的各个进程和系统资源占用情况,在监控Linux系统性能方面top显得非常有用,下面就是我收集的关于Linux top命令的文章,希望能帮到大家top作为日常管理工作中最常用也是最重要的Linux 系统监控工具之一,可以动态观察系统进程状况。top命令显示的项目很多,默认值是每5秒更新一次,按q键可以退出。显示的各项目为:-b : 批次模式运行。-c : 显示执行任务的命令行。-d : 设定延迟时间。-h : 帮助。-H : 显示线程。将显示所有进程产生的线程。-i : 显示空闲的
阅读全文
摘要:在linux中使用ps命令可以查看有哪些进程在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等. ps命令最常用的是用于监控后台进程的工作情况.名称:ps www.2cto.com 使用权限:所有使用者使用方式:ps [options] [--help]说明:显示瞬间行程 (process) 的动态参数:ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义-A 列出所有的行程-w 显示加宽可以显示较多的资讯-au 显示较详细的资讯-aux 显示所有包含其他使用者的行程au(x) 输出格式 :USER PID %CPU %MEM VSZ RSS TTY STA
阅读全文
摘要:chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level ][系统服务][on/off/reset]chkconfig在没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回true,否则返回false。如果在服务名后面指定了on,off或者reset,那么chkconfi 会改变指定服务的启动信息。on和off分别指服务被启动
阅读全文
摘要:扑捉ctrl+c信号:1 #!/bin/bash2 trap "trap" 2;3 function trap()4 {5 echo "You press Ctrl+C.";6 echo "Exiting,please wait...";7 exit;8 }9 sleep 20s;按下ctrl+c:1 root@ubuntu:/home/dyx/linux 16:13:10 107# bash ex_trap.sh 2 ^CYou press Ctrl+C.3 Exiting,please wait...但是如果把trap函数发在前面
阅读全文
摘要:#exec命令用于启动一个新的shell,并在新的shell中执行指定命令。在实际应用中,exec命令被用来 处理文件描述符,此时(也只在此时)exec不会启动新shell替代当前的shell。 1 root@ubuntu:/home/dyx/linux 10:40:36 19# cat ping.txt 2 PING baidu.com (220.181.111.85) 56(84) bytes of data. 3 64 bytes from 220.181.111.85: icmp_req=1 ttl=52 time=32.1 ms 4 64 bytes from 220.181.11.
阅读全文
摘要:read在while中的经常用法: 1 root@ubuntu:/var/lib/logrotate 10:53:05 118# cat /etc/cron.daily/logrotate 2 #!/bin/sh 3 4 # Clean non existent log file entries from status file 5 cd /var/lib/logrotate 6 test -e status || touch status 7 head -1 status > status.clean 8 sed 's/"//g' status | while
阅读全文
摘要:apt-get 使用指南原文出处:https://help.ubuntu.com/community/AptGetHowto命令atp-get使用source.list文件进行软件包管理。如果您想了解关于如何编辑和更新source.list中的条目的信息,请参阅SourcesList。“起初,GNU/Linux系统中只有.tar.gz。用户必须自己编译他们想使用的每一个程序。在Debian出现之后,人们认为有必要在系统中添加一种机制用来管理安装在计算机上的软件包。人们将这套系统称为dpkg。至此,着名的‘package’首次出现在GNU/Linux上。不久之后红帽子也开始着手建立自己的包管理系
阅读全文
摘要:参考:http://www.iteye.com/topic/816268
阅读全文
摘要:shell中数组的下标默认是从0开始的1。将字符串放在数组中,获取其长度#!/bin/bashstr="a b --n d"array=($str)length=${#array[@]}echo $lengthfor ((i=0; i<$length; i++))do echo ${array[$i]}done执行结果:[oracle@99bill-as9 array]$ sh length.sh4ab--nd打印字符串:#!/bin/bashstr="a b c"for i in $strdoecho $idone或者:#!/bin/bashst
阅读全文
摘要:# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv # 列出所有USB设备# lsmod # 列出加载的内核模块# env # 查看环境变量资源# free -m # 查看内存使用量和交换区使用量# df -h # 查看各分区使用情况# du -sh # 查看指定目录的大小# grep MemTotal /proc/meminfo # 查看内存总量# grep MemFree /proc/meminfo # 查看空闲.
阅读全文
摘要:1. vi表示内容的元字符模式含义.匹配任意字符[abc]匹配方括号中的任意一个字符。可以使用-表示字符范围,如[a-z0-9]匹配小写字母和阿拉伯数字。[^abc]在方括号内开头使用^符号,表示匹配除方括号中字符之外的任意字符。\d匹配阿拉伯数字,等同于[0-9]。\D匹配阿拉伯数字之外的任意字符,等同于[^0-9]。\x匹配十六进制数字,等同于[0-9A-Fa-f]。\X匹配十六进制数字之外的任意字符,等同于[^0-9A-Fa-f]。\w匹配单词字母,等同于[0-9A-Za-z_]。\W匹配单词字母之外的任意字符,等同于[^0-9A-Za-z_]。\t匹配字符。\s匹配空白字符,等同于[
阅读全文
摘要:名称:expr ### 字串长度 shell>>exprlength "this is a test" 14 ### 数字商数 shell>> expr 14 % 9 5 ### 从位置处抓取字串 shell>> exprsubstr"this is a test" 3 5 is is ### 数字串 only the first character shell>> expr index "testforthegame" e 2 ### 字串真实重现 shell>> expr
阅读全文
摘要:sed替换时候不能用-n,只输出替换的行,为什么????比如:sed "2,4s/\"//g" /var/lib/status #可以输出但是:sed -n "2,4s/\"//g" /var/lib/status #什么也数不出来了问题:文件helloword,shroot@ubuntu:/home/dyx/linux 17:25:36 188# nl -b a helloword.sh 1 #!/bin/bash 2 echo "helloword!"; 3 echo "The first param
阅读全文
摘要:linux 中nl 命令使用nl :添加行号打印-b: 指定行号指定的方式,主要有两种: -b a : 表示不论是否为空行,都同样列出行号 -b t : 如果有空行,则不列出那一行的行号-n: 列出行号的表示方法,主要有三种: -n ln : 行号在屏幕的左方显示 -n rn :行号在自己字段的最右边显示,且不加0 -n rz : 行号在自己字段的最右边显示,且加0-w :行号字段的占用的位数
阅读全文
摘要:$0:脚本名称;$*:所有参数;$$:当前进程或者脚本的PID号;$!:后台运行的最后一个进程的PID号;$?:用于返回上一个命令是否成功。成功0,否则为非零;$#:参数个数;$@:所有参数
阅读全文
摘要:0. 一些需要注意的不同VIM中的正则表达式和其他的有点不一样(1) 有些符号要用\转义,比如\+表示重复一次或以上,其他的还有一些,:h pattern查看(2) 非贪婪匹配用\{-},如.*\{-}匹配尽量短的任意字符(3)\i匹配标识符字符[a-zA-Z0-9_],其大写形式表示不包括数字在内的标识符[a-zA-Z_],这两个不是互补的意思,类似的还有\k\f\p,但是\s匹配空白字符,\S匹配非空白字符,这两个是互补的.(4) 待续tips:按/然后再按方向键的向上,可以找到上次查找的表达式,这样对测试正则表达式方便了不少1. 查找C语言的所有函数定义试了无数次,终于写了一个查找C语言
阅读全文
摘要:vim g s 替换区别PS:一篇好文收藏备用,今天用它解决了一个大问题。发信人:vale(浅谷),信区:VIM标题:global命令详解发信站:水木社区(FriJun1517:05:552007),站内global命令是Vim最强大的命令之一(个人认为是No.1),将其摸透用熟可以事半功倍,本文总结了版上的一些经典问题,结合自己的使用和理解,试图通过实例详细介绍一下其用法。示例难度不一,有些并没有多少实用性,为题而生,读者各取所需吧。示例说明并不非常细致,以免罗唆。每节标题下列出了所涉及的内容在Vimhelp中的位置,以供查找。文中用词未必标准(我没看过Vim中文帮助),观点也难免有错,请大
阅读全文
摘要:tr命令不能直接从文件中读取并转换文本,因此通常都使用重定向输入或者管道传递方法: -s 代替掉重复的字符 #echo "HHHHHHEEEElllooooo" | tr -s '[a-z]' '[A-Z]' ##echo "HHHHHHEEEElllooooo" | tr -s "HEo" -d 删除字符 #echo "my name is Jhon" | tr -d "msn" 注意结果:y is Jho tr"[a-z]" "[
阅读全文
摘要:1.Sed简介2.定址3.Sed命令4.选项5.元字符集6.实例7.脚本1.Sed简介sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介绍的是Gnu版本的Sed3.02。方法1:sed-i's/被替换的内容/要替换成的内容/'file方法2:sed'
阅读全文
摘要:参数代换: xargsxargs 是在做什么的呢?就以字面上的意义来看, x 是加减乘除的乘号,args 则是 arguments (参数) 的意思,所以说,这个玩意儿就是在产生某个命令的参数的意思!xargs 可以读入 stdin 的数据,并且以空格符或断行字符作为分辨,将 stdin 的数据分隔成为 arguments 。 因为是以空格符作为分隔,所以,如果有一些档名或者是其他意义的名词内含有空格符的时候, xargs 可能就会误判了~他的用法其实也还满简单的!就来看一看先![root@www ~]# xargs [-0epn] command选项与参数:-0 :如果输入的 stdin .
阅读全文
摘要:du:Disk Usage的缩写,命令功能为显示目录(或文件)所占磁盘空间的大小。语 法:du [-abcDhHklmsSx0] [-L][-X File][--block-size=SIZE][--exclude=PATTERN] [--max-depth=N][--help][--version][FILE-OR-PATH]参数说明:-0 每个结果显示后不换行-a或–all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。–apparent-size 显示目录或文件自身的大小-B或–block-size=SIZE 以SIZE为计量单位显示目录或文件大小;SIZE.
阅读全文
摘要:找所在目录的文件用 find -name “file*” -print #注意不要用加文件路径,查找文件也好用双双引号括住; 也可以 find ./ -name “file*” -print
阅读全文
摘要:grep -l 只输出文件名; -h 只输出匹配的行 不输出文件名; -c 之处匹配内容的行数; -n 将结果输出的同时,也输出改行的行号; -c 统计查到的总行数; -i 忽略大小写; grep 'c\{3,\}' file.txt #注意反斜杠\的作用,在grep
阅读全文
摘要:Shell调试篇 sh [-nvx] scripts.sh-n:不要执行script,仅查询语法的问题;-v:在执行script前,先将script的内容输出到屏幕上;-x:将使用到的script内容显示到屏幕上,这是很有效的参数。检查语法-n选项只做语法检查,而不执行脚本。sh -n script_name.sh启动调试sh -x script_name.sh进入调试模式后,Shell依次执行读入的语句,产生的输出中有的带加号,有的不带,如下。带加号表示该条语句是Shell执行的。不带加号表示该语句是Shell产生的输出。+ array=(1 2 3 4 5)+ for i in '
阅读全文
摘要:NAME seq - print a sequence of numbersSYNOPSIS seq [OPTION]... LAST seq [OPTION]... FIRST LAST seq [OPTION]... FIRST INCREMENT LASTDESCRIPTION Print numbers from FIRST to LAST, in steps of INCREMENT. -f, --format=FORMAT use printf style floating-point...
阅读全文
摘要:1.中括号[]内的每个组件都需要有空格键来分割; 2.在中括号内的变量,最好都一双引号括号起来; 3.在中括号内的常量,最好都以单引号或双引号括号起来。
阅读全文
摘要:在linux shell编程中,经常用到日期的加减运算以前都是自己通过expr函数计算,很麻烦其实date命令本身提供了日期的加减运算非常方便。例如:得到昨天的时间date +%Y%m%d --date="-1 day"date 用法: date [OPTION]... [+FORMAT]date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]date 可以用来显示或设定系统的日期与时间。1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下: % : 打印出 %%n : 下一行%t
阅读全文