Linux系统的使用(二)
来源:互联网 发布:手机qq监视器软件 编辑:程序博客网 时间:2024/06/03 23:48
一、网络配置
方法一. 带有界面的系统,可以直接在网络连接里配置。
方法二:使用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
- Linux系统的使用(二)
- Linux使用(二):安装Linux系统
- 基于Linux的集群系统(二)
- 构建自己的 LINUX 系统(二)
- Linux内核学习-Linux系统的初始化(二)
- Linux系统的使用
- linux系统定制(二)
- Linux系统详解(二)
- Linux系统编程(二)
- Linux系统基础(二)
- Linux系统基础(二)
- linux下定时器的使用(二)
- memcache linux下的使用(二)
- Linux中bash的使用(二)
- linux开发工具的使用(二)
- Linux邮件服务系统的搭建(二)
- Linux服务器集群系统(二) LVS集群的体系结构
- Linux服务器集群系统(二)LVS集群的体系结构
- javascript弹出提示框
- 链表的基本操作函数算法(C/C++实现)
- 深入聊聊Android事件分发机制
- Spring4.1.0 - SpringMVC第一步,Tomcat服务器端正常,客户端无法响应JSP页面问题处理
- 每天一题LeetCode[第六天]
- Linux系统的使用(二)
- Java线程池框架核心代码分析
- Javadoc注释规范
- 2016腾讯软件开发面试试题
- 开始学习Linux内核了
- 写python使用IDLE如何实现调试功能
- 刷新验证码
- java开发规范(转载)
- 如何写Java文档注释(Java Doc Comments)