昨天开始写学习日志,也传一下!

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

结束一天的整理,期待明天的到来........

时间: 2024-10-30 21:57:55

昨天开始写学习日志,也传一下!的相关文章

开源中国源码学习(三)——Log日志上传

在AppStart中开启了一个服务LogUploadService用来上传应用程序的日志. 采用的是start的方式开启服务,代码如下: Intent uploadLog = new Intent(this, LogUploadService.class); startService(uploadLog); 一.功能介绍: 在服务LogUploadService被开启后,根据情况进行如下几种操作: 读取osc本地文件夹下的日志信息 如果日志信息为空,服务停止-- LogUploadService

Python学习日志9月13日

p { margin-bottom: 0.25cm; line-height: 120% } 昨天的学习日志没有写,乱忙了一整天,政治电脑. 好奇心重,想要给电脑装上传说中LInux操作系统,各种小问题折腾到半夜,今天又折腾到晚上才真正的装上系统. 可是装上系统后又发现各种的不好用.虽然界面比win7要好看很多,很舒服,下个软件却要设置java的环境变量,而我连java是什么玩意都不知道.思维导图不能用了,又得想别的办法,对我来说这是非常重要的工具啊.简直没有它无法从事脑力活动. 因为前天晚上也

Android学习能力之统计日志上传设计

一款软件就像一个孩子,不断的在学习,在探索,当孩子犯下错误的时候,我们可以去包容,当孩子犯不改的时候,获取他就不再让人喜欢,甚至是去抛弃他.人之常情的问题,也是做软件的我们需要去考虑的问题.同样孩子的成长速度和懂事程度也是我们非常关注的. 本章讲述Android日志上传功能,更快的更准确的将孩子的错误通知给我们,我们帮助孩子改正它的错误. 1.日志统计和日志存储 public static void record(Context context, String ex) { if (context

winform学习日志(二十三)---------------socket(TCP)发送文件

一:由于在上一个随笔的基础之上拓展的所以直接上代码,客户端: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Sockets; using Sys

Cocos2d-x 3.1.1 学习日志4--cocos2d-x解决中文乱码问题的几种办法

做个打飞机的游戏,由于版本太新,网上基本没有教教程,我的版本是cocos2d-x 3.1.1的,今天遇到cocos2dx中中文乱码的问题.无奈只好Google百度寻求答案,明白了这个问题的缘由.因为cocos2d-x内部是以utf8处理文本的,而VS直接输入时文本编码为GBK,如果添加L标志,则为Unicode编码. 解决这个问题有三种办法: 将源代码文件保存为utf8编码,不过由于编译器的问题,这种方式会导致很多无法预测的问题 将字符串用utf8编码集中存到一文件中,然后用代码读取这些字符串来

Linux学习日志1-基本知识

1.冯.诺依曼体系计算机五大组成部件: 1.控制器:控制其他四个部件的运作 2.运算器:负责计算加减乘除 3.存储器:存放运算的数据来源与结果 4.输入设备:接收数据输入存入存储器 5.输出设备:从存储器接收数据输出 2.Linux的起源: 1991年一个芬兰大学生Linus Torvalds参考其老师的教学用操作系统Minix的思想(注意仅仅是思想),自己写了一个操作系统内核,命名为Linux 0.0.1,发布在comp.os.minix新闻组上,正式宣告Linux内核的诞生.从那时起,Lin

webpack2学习日志

webpack说容易也容易,说难也难,主要还是看个人,想学到什么样的程度,很多公司可能要求仅仅是会用就行,但是也有一些公司要求比较高,要懂一些底层的原理,所以还是要花一些时间的,看个人需求.这篇仅仅是做了一些总结,都是来自官网,便于复习. 一,先理解webpack的概念: 官网上:webpack 是一个现代 JavaScript 应用程序的模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用

Cocos2d-x 3.1.1 学习日志11--一Windows下Android环境搭建(一定对你有用的!!)

安装步骤::(多么痛的领悟!!) 1. 配置JDK JDK下载地址: 设置环境变量: JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0_21 CLASSPATH=.;%JAVA_HOME%\lib; Path增加%JAVA_HOME%\bin; 设置完后打开cmd,输入java -version 如果出现下面提示,表明环境变量设置成功: C:\Users\arlin>java -version java version "1.7.0_21&quo

Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性

新的关键字 auto C++11中引入auto第一种作用是为了自动类型推导 auto的自动类型推导,用于从初始化表达式中推断出变量的数据类型.通过auto的自动类型推导,可以大大简化我们的编程工作.auto实际上实在编译时对变量进行了类型推导,所以不会对程序的运行效率造成不良影响.另外,似乎auto并不会影响编译速度,因为编译时本来也要右侧推导然后判断与左侧是否匹配.如果没有auto关键字 写个迭代器要写很长长,这也算是节省了我们的脑细胞吧,~~~~(>_<)~~~~ !! auto a; /