2015.1.20(今天是个开始)
整理考试试卷:
注:在做指针的题目的时候,要注意多个指针指向一个地址的情况,只要其中一个指针对这个地址中的值进行了修改,后面的指针
在对这个地址的内容进行引用的时候,里面的值就已经改变了
int main(char argc,char *argv[])
注:argc 表示参数的个数,./a.out -> argc=1; ./a.out hello -> argc = 2;
**grgv / *argv[] 存放的是输入参数 argv[1] = ./a.out;
char *strcat(char *dest,const char *src)
{
char *p = dest;
while(*p++);
p-=1;
while(*src)
{
*p++ = *src++;
}
*p = ‘\0‘;
return dest;
}
指针交换字符串的一个程序,综合性很强!!!
I Love China 转变成 China Love I (注:这里需要两次转换)
程序:
#include<stdio.h>
int main(char argc,const char **argv)
{
char str[]="i love china";
char *p,*q,*s;
p = str;
q = str;
s = str;
while(*p++);
p-=2;
if(p > q)
{
*p ^= *q;
*q ^= *p;
*p-- ^= *q++;
}
p = str;
q = str;
while(*s)
{
while( (*p != ‘ ‘) && (*p) != ‘\0‘)
{
p++;
}
if(*p)
s = p+1;
else
s = p
p--;
if(p > q)
{
*p ^= *q;
*q ^= *p;
*p-- ^= *q++;
}
p = s;
q = s;
}
}
printf("%s\n",str);
return 0;
}
在求鞍点的时候,涉及到多层循环的时候,有时候可以设置标志位flag和用&&来简化程序的设计;
今天的学习总结:
网络配置管理:
系统中的网络配置文件有:/etc/interfaces
/etc/hosts
/etc/resolv.conf
基本的命令: ifconfig eth0 192.168.1.20 (临时修改IP)
ping 192.168.1.20 -c 4 (表示发送4个包就结束)
ifconfig down 关
ifconfig up 开
ifconfig -a (显示所有网卡信息)
小知识点: 下面的符号在ifconfig中的表示的意思,他们是不同的接口类型;
PPPN :调制解调器
WlanN: 无线网卡
trN : 令牌环网,一般在基站中会用用到
DHCP: 动态主机配置协议,IP动态获取有个三次握手的过程:
1.客户端寻找DHCP服务器: 客户端广播申请动态IP的请求
2.服务器提供可分配的IP地址: 所有接收到请求的DHCP服务器都像客户端提供一个IP地址
3.客户端接受IP地址租借: 客户端从多个IP中选一个,一般选最小的,通知DHCP,并标识出
选中的服务器
4.服务器确认租借: 选中服务器最终发出一个确认信息,包含IP地址,子网掩码,
默认网关,DNS服务器和租借期
IP地址存放的配置文件:/etc/network/interfaces (用cat查看或者vim编辑,一下内容可参考)
1 auto lo
2 iface lo inet loopback
/*******设置成动态获取IP*********/
3 auto eth0
4 iface eth0 inet dhcp
/*******重启网络**************/
/etc/init.d/networking restart
dhclient
设置成动态IP
/*******设置静态IP***************/
5 iface eth0 inet static
6 address 10.0.0.100 // IP地址
7 netmask 255.255.255.0 //子网掩码
8 gateway 10.0.0.1 //网关
显示和修改IP路由表: route
[email protected]:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
link-local * 255.255.0.0 U 1000 0 0 eth0
192.168.0.0 * 255.255.0.0 U 0 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
route相关命令如下
1.route add default gw 192.168.1.2 eth0 //添加一条默认路由
route del default gw 192.168.1.2 eth0 //删除一条缺省路由 gw是一跳,二跳..中数据包最后发送的地方
Destination Gateway Genmask Flags Metric Ref Use Iface
link-local * 255.255.0.0 U 1000 0 0 eth0
192.168.0.0 * 255.255.0.0 U 0 0 0 eth0
default ubuntu-16.local 0.0.0.0 UG 0 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
上面的U表示启动状态,UG;表示路由器
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.3 eth0 //添加
route del -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.3 eth0 //删除
[email protected]:~# route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.3 eth0
[email protected]:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
link-local * 255.255.0.0 U 1000 0 0 eth0
192.168.0.0 192.168.1.3 255.255.0.0 UG 0 0 0 eth0
192.168.0.0 * 255.255.0.0 U 0 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
[email protected]:~#
netstat -r 显示路由表
nslookup IP 查询internet域名服务器,获取IP地址与域名之间的映射关系
ping IP
ping [网址]
TFTP服务器配置:
1.sudo apt-get install tftp-hpa tftpd-hpa //安装软件包
2.sudo vim /etc/defalut/tftpd-hpa //修改配置文件,添加一下内容
TFTP_USERNAME="tftp" //服务器名
TFTP_DIRECTORY="/tftpboot" //该路径必须存在
TFTP_ADDRESS="0.0.0.0:69" //设定可访问用户,这里是所有用户都可访问
TFTP_OPTIONS="-l -c -s" //可查看可创建......
3.sudo service tftpd-hpa restart //重启tftp服务器,加载修改过的配置文件
4.tftp客户端操作;
tftp localhost
tftp 主机IP //两种方法都是连接服务器的方法
tftp> get <filename> //从服务器获取文件
tftp> put <filename> //向服务器发送文件
tftp>? //获取帮助
tftp>q //退出
NFS配置:
1.sudo apt-get install nfs-kernel-server //安装软件包
2.vi /etc/exports //修改配置文件,可添加如下内容:
/nfs *(rw,sync,no_root_squash) //服务器共享的文件是根目录下的nfs,并且可读写,同步,不限用户
/nfs 192.168.1.22(rw,sync,no_root_squash)//指定192.168.1.22 客户才能共享该路径
3.sudo /etc/init.d/nfs-kernel-server restart //重启nfs 服务器并加载配置文件/etc/exports
客户端操作:
showmount -e ip 查看服务器有哪些路径可以给客户端共享,ip 代表服务器 ip 地址
showmount -e localhost
[email protected]:~# showmount -e localhost
Export list for localhost:
/tmp *
/nfs *
/*******上面如果没显示,可能是配置好后没有重启**************/
/*****把服务器 192.168.1.20 的 /nfs 挂载到当前客户端的 /tmp******/
mount -t nfs 192.168.1.20:/nfs /tmp
/******挂载成功后可以通过 mount 命令检测******/
#mount
localhost:/nfs on /tmp type nfs (rw,addr=127.0.0.1)
完成后卸载:
umount /tmp //需要退出/tmp才能操作
附录:昨天的压缩包命令
压缩:
zip : tar -cvf a.tar a
bz2 : tar -cvjf a.tar.bz a
gz : tar -cvzf a.tar.gz a
解压:
zip : tar -xvf a.tar
bz2 : tar -xvjf a.tar.bz
gz : tar -xvzf a.tar.gz
结束一天的整理,期待明天的到来........