首页 > 系统 > Linux > 正文

Linux系统的使用(二)

2024-06-28 16:03:24
字体:
来源:转载
供稿:网友

一、网络配置

方法一. 带有界面的系统,可以直接在网络连接里配置。 这里写图片描述

方法二:使用shell命令配置(此方法重启后失效)。 使用lspci | grep Ethernet命令检查计算机上的以太网卡设备是否被内核检测到。 然后使用“ifconfig”命令查看系统已经识别并已激活的网络接口。如果没有找到可以用“ifconfig -a”命令找到所有已识别包括未激活的网络接口,然后使用”ifconfig 网卡名 up“激活。 在命令行输入“ifconfig 网卡名 ip地址 netmask 子网掩码”就可以临时指定网卡的IP地址。 例如:配置eth0

ifconfig eth0 210.34.6.89 netmask 255.255.255.128

为一个网络接口指定多个IP地址:

ifconfig eth0:0 192.168.0.253 netmask 255.255.255.0ifconfig eth0:1 192.168.0.252 netmask 255.255.255.0

添加路由条目

route add default gw 192.168.1.1route add -net 192.168.0.0/24 gw 192.168.0.254 dev eth0

方法三:直接修改配置文件 (系统为Redhat)用“vi /etc/sysconfig/network-scripts/ifcfg-eth0”编辑网卡eth0的配置文件。

DDEVICE=eth0 // 这是网卡的名称TYPE=Ethernet // 网卡类型ONBOOT=yes // 是否随着开机自启动BOOTPROTO=static // static表示固定ip地址,dhcp表示随机获取ipIPADDR=192.168.10.150 // 手动设置的固定ip地址NETMASK=255.255.255.0 // mask地址,就是掩码GATEWAY=192.168.10.1 // 网关地址HWADDR=00:0C:2x:6x:0x:xx // mac 地址

使用“service network restart”命令重新启动network服务,使配置文件生效。再次使用“ifconfig”命令查看网卡参数,可以看出IP地址修改成功,并且会一直保留。

(系统为Ubuntu)使用“vi /etc/network/interfaces”辑网络配置文件

# The primary network interfaceauto eth0iface eth0 inet static //指定为staticaddress 192.168.3.90 //IP地址gateway 192.168.3.1 //网关netmask 255.255.255.0 //子网掩码broadcast 192.168.3.255 //广播 有没有匀可

编辑好以后使用 /etc/init.d/networking restar命令重新启动network服务,使配置文件生效。再次使用“ifconfig”命令查看网卡参数,可以看出IP地址修改成功,并且会一直保留。

二、环境变量配置 方法一:在shell的命令行下直接使用[export 变量名=变量值]定义变量,该方法只对当前shell(BASH)有效(临时的) 在shell的命令行下直接使用[export 变量名=变量值]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

例如

[root@lx_web_s1 ~]# export PATH=/usr/local/webserver/MySQL/bin:$PATH [root@lx_web_s1 ~]# echo $PATH /usr/local/webserver/mysql/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

说明添加PATH成功。

方法二:在/etc/profile文件中添加变量,该方法对所有用户生效(永久的)

例如:编辑/etc/profile文件,添加CLASSPATH变量

# vi /etc/profile export PATH="/usr/local/webserver/mysql/bin:$PATH"

保存,退出,然后运行 #source /etc/profile,使立即生效。

方法三:在用户目录下的.bash_profile文件中增加变量,该方法对单一用户生效(永久的)。 这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别

例如:编辑guok用户目录(/home/guok)下的.bash_profile,添加CLASSPATH变量。

#vi /home/guok/.bash.profile export CLASSPATH=./java_HOME/lib;$JAVA_HOME/jre/lib

保存,退出,然后运行 #source /home/guok/.bash_profile,使立即生效。

三、开机自启动设置 方法一:使用编辑器打开/etc/rc.local,在尾部添加需要执行的命令

例如:每次开机前要执行一个hello.sh,这个脚本放在/opt下面。 使用命令 vi /etc/rc.local 打开文件,在文件的尾部添加 /opt/hello.sh ,保存退出即可。

方法二:把已安装服务添加为系统服务。 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。其常用指令如下:

chkconfig --add 服务名称 (将服务添加为系统服务)chkconfig --level 启动级别 服务名 on (设置自启动)chkconfig --level 启动级别 服务名 off (关闭自启动)chkconfig --list (查看哪些服务被添加为自启动)

例如:chkconfig – level 3 mysql on 表示让mysql服务在命令行模式随系统启动

方法三:新建服务脚本随系统启动。 系统服务的启动是通过执行/etc/rc.d/init.d 中的脚本实现的,脚本按照一定格式编写。我们可以将自己需要启动的服务写成脚本,放在该文件夹内。

例如:我们希望开机启动一个hello服务。 新建一个脚本hello,把它放到/etc/rc.d/init.d 中 运行chmod +x /etc/rc.d/init.d/hello 修改权限为可执行 运行chkconfig –add hello把该服务添加到配置中 运行chkconfig hello on 设置服务开机启动 运行chkconfig –list hello可以查看该服务进程的状态。

四、linux动态链接库的生成与使用 Linux下动态链接库格式为*.so,静态库的格式为.a;

在使用gcc编译时,-shared 指定生成动态链接库,-fPIC 表示编译为位置独立的代码,-L表示要连接的库的目录,-lname 表示要连接的库。-lname编译器查找动态链接库时隐含的命名规则,即在给出的名字前面加上lib,后面加上.so或.a来确定库的路径。

例如,使用test.h、test.c生成动态链接库libtest.so 命令为

gcc test.c –fPIC –shared –o libtest.so

例如:程序hello调用了libtest.so库里的函数(程序源文件为hello.c),我们生成可执行文件hello的命令为

gcc hello.c –L./ -ltest -o hello

使用ldd hello可以查看hello程序调用了哪些动态库。

Eclipse下使用动态库: 右键工程Properites->C/C++ Build->Settings进行设置,如下图。例如在工程libr中加入动态链接库liba.so: 这里写图片描述

程序在调用动态库时,经常因为库查找路径设置问题,而出现找不到动态链接库.so文件的问题(运行时报错error while loading shared libraries: libShared.so: cannot open shared object file: No such file or directory )。解决这个问题有两种方法: 方法一:修改LD_LIBRARY_PATH(使用export命令); 方法二:修改/etc/ld.so.conf文件(确定该动态链接库的路径后,然后打开/etc/ld.so.conf,在文件尾部把路径添加进去,然后执行ldconfig使修改生效)。

例如,我们需要将/usr/local/lib/libtest.so添加进搜索路径。 使用方法一,执行 export LD_LIBRARY_PATH= $LD_LIBRARY_PATH :/usr/local/lib/ (该设置登出后即失效,若希望永久生效,可把这行添加进/etc/profile里,参照前面环境变量配置) 使用方法二,执行vi /etc/ld.so.conf,在文件尾部加入一行:/usr/local/lib/,保存退出,然后执行ldconfig使修改生效。

Eclipse下修改环境变量,在工程处右键,Run As->Run Configurations,选择Environment,如下图 这里写图片描述

QT下使用动态链接库: Qt Creator工程中,工程通过.pro文件管理。一个典型的pro文件: 这里写图片描述 在Qt工程中添加动态链接库: LIBS += -L 库路径 –lyourlib 在Qt工程中添加静态库: LIBS += -L 库路径 –lyourlib (同动态一样)

QT是跨平台的,所以我们在不同的平台上用同一个pro文件,这要加入有关平台的信息。windows是win32,Linux平台是unix。 例如:

win32:LIBS+= ./mitab/mitab.libunix:LiBS+= ./mitab/libmitab.so
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表