redhat的基本配置

1.    redhat的基本配置................................................................................................ 1

2.    试验一.................................................................................................................. 5

 

1.    redhat的基本配置

网络配置

菜单:shell中输入setup,配置完后输入service network restart

命令:静态查看:ifconfig 动态分配:dhclient

      IP地址的配置

# ifconfig eth0 IP地址netmask 网络掩码

如:ifconfig eth0 192.168.64.3 netmask 255.255.255.0

 指定默认网关

# route add default gw 网关ip地址

 指定域名服务器

#vi /etc/resolv.conf

添加:nameserver 域名服务器IP地址

图形:系统设置->网络

配置文件:/etc/sysconfig/network-scripts/ifcfg-文件在RedHat中,系统网络设备的配置

文件保存在/etc/sysconfig/network-scripts目录下,ifcfg-eth0包含第一块网

卡的配置信息,ifcfg-eth1包含第二块网卡的配置信息。

DEVICE= 表示物理设备的名字

IPADDR= 表示赋给该网卡的IP地址

NETMASK= 表示子网掩码

BROADCAST= 表示广播地址

ONBOOT=yes/no 启动时是否激活该卡

BOOTPROTO=none none:无须启动协议

bootp:使用bootp协议

dhcp:使用dhcp协议

GATEWAY= 表示默认网关

MACADDR= 表示指定一个MAC地址

USERCTL=yes/no 是否允许非root用户控制该设备

交互:

       U盘:

在终端下输入命令

# fdisk -l

可以找到优盘的盘符

然后mount 就可以了

# mkdir /mnt/usb

# mount -t msdos /dev/sda1 /mnt/usb

如果你的usb设备是FAT32

# mount -t vfat /dev/sda1 /mnt/usb

       SSH:

步骤1:检查SSH服务是否开启

 #chkconfig –list|grep sshd

检查防火墙是否屏蔽SSH服务

 #chkconfig –list|grep iptalbes

关闭防火墙

#service iptables stop

       Vmtools

VMtools的安装

 #cd /mnt/cdrom

 #rpm –ivh Vmwaretools.*.rpm

 #vmware-config-tools

#cp Vmwaretools.*.tar.gz /usr/local

#tar xvzf Vmwaretools.*.tar.gz

#cd vmwaretools

# ./configure

# make

#make install

设置共享文件夹

Samba服务器:

Samba的配置

 步骤1:检查系统是否安装samba套件

# rpm –qa|grep samba

 步骤2:如果安装,检查服务是否开启

# chkconfig –list|grep smb

 步骤3:如果服务没有开启,开启服务

# service smb start

 步骤4:添加samba用户

# smbpasswd 用户名

 步骤5:检查防火墙配置(配置后面再讲,这里先关闭)

# service iptables stop

 步骤六:Host请求服务

   如果没有安装,附加samba安装:

Linux开发环境:

Vi

 

Gcc

包括预编译、编译、汇编、链接

Gcc [–o outfile] [-option] infile

常用选项:

-c 编译为目标文件,不连接库

-S 编译为汇编代码

-E 预处理.预处理之后的代码将送往标准输出

-Wwarn... 设置警告,可以设置的警告开关很多,通常用-Wall开启所

有的警告

-O level :设置优化级别,level可以是0,1,2,3或者s,默认为-O0,即不

进行优化处理.

-Dname=definition 在命令行上定义宏,有两种方式,-Dname或者-

Dname=definition.在命令行上设置宏定义的目的主要是为了在

调试的时候设定一些开关,而在发布的时候再关闭或者打开这些

开关即可,当然宏定义也用来对代码进行有选择地编译.另外也还

有其他的一些作用.

-Uname 取消宏定义name,作用和上面的正好相反.

-Idir... dir加到头文件的搜索路径中,而且gcc会在搜索标准头文件之

前先搜索dir.

-llibrary 在连接的时候搜索library.库是一些archieve文件--其成员是

目标文件.如果有文件引用library,library在命令行的位置应该在那个

文件之后,因此,越底层的库越要放在后面.比如如果你要连接pcap,

那么你就需要使用-lpcap对源文件进行编译.

-Ldir... dir加到库文件的搜索路径中,而且gcc会在搜索标准库文件

之前先搜索dir.

-g 产生调试信息. GDB能够使用这些调试信息。

-o outfile 指定输出文件的文件名,默认为a.out

Gdb

 gdb filename:shell下直接加载文件进行调试

 file filename:gdb下通过file命令加载程序进行调试

 kill:终止正在调试的程序

 quit:退出gdb调试环境

 break 函数名或行号[if 条件]

 Info break :显示程序中设置的断点;

 delect breakpoint 断点号:删除指定的断点

 clear 断点号:作用同上

 disable breakpoint 断点号:禁用指定的断点

 enable breakpoint 断点号:允许指定的断点

 run:程序开始执行,一直运行到断点才终止;

 Continue:运行到下一个断点;

 Next:运行下一条指令;

 Step:运行下一条指令;

 list:列出产生执行文件的源代码的一部分.

 watch 变量名:当变量改变时,显示变量修改前后的值;

 print 变量名:打印变量值;

 whatis 变量名或函数名:显示变量或函数的类型;

 Ptype:显示数据结构的定义;

 set args:设置程序的运行参数;

 Show args:显示程序的运行参数;

 

Makefile

-f FILE 以指定的FILE 文件作为makefile

-n 只打印要执行的命令,但不执行这些命令。

-s 在执行命令时不显示命令。

利用变量的makefile

objects = main.o kbd.o command.o display.o /

insert.o search.o files.o utils.o

edit : $(objects)

cc -o edit $(objects)

main.o : main.c defs.h

cc -c main.c

kbd.o : kbd.c defs.h command.h

cc -c kbd.c

command.o : command.c defs.h command.h

cc -c command.c

display.o : display.c defs.h buffer.h

cc -c display.c

insert.o : insert.c defs.h buffer.h

cc -c insert.c

search.o : search.c defs.h buffer.h

cc -c search.c

files.o : files.c defs.h buffer.h command.h

cc -c files.c

utils.o : utils.c defs.h

cc -c utils.c

clean :

rm edit $(objects)

make自动推导的makefile

objects = main.o kbd.o command.o display.o /

insert.o search.o files.o utils.o

edit : $(objects)

cc -o edit $(objects)

main.o : defs.h

kbd.o : defs.h command.h

command.o : defs.h command.h

display.o : defs.h buffer.h

insert.o : defs.h buffer.h

search.o : defs.h buffer.h

files.o : defs.h buffer.h command.h

utils.o : defs.h

.PHONY : clean

clean :

rm edit $(objects)

2.    试验一

main中定义的字符倒序输出,直接复制pdf存在引号半角问题。

#include <stdio.h>

#include <string.h> //

#include <malloc.h> //vc下必须要这个

int display1(char * string);

int display2(char * string);

int main()

{

char string[]="informaiton security";

display1(string);

display2(string);

}

int display1(char* string)

{

printf("the orginal string is %s/n",string);

return 0; //

}

int display2(char * string1)

{

char * string2;

int size,i;

size = strlen(string1);

string2 =(char*)malloc(size+1);

for(i=0;i<size;i++)

string2[size-i-1]=string1[i]; //原来是string2[size-i]=string1[i];要知道strlen求出来的是’/0’之前的个数。此题中为20

string2[size]='/0'; //原来是string2[size+1]='/0';

printf("the changed string is %s/n ",string2);

return 0; //

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值