一些笔记
ps aux | grep pptp | grep -v grep 常见的防止grep进程出现的方法就是在对加一个管道 grep -v grep 进行过滤: 输出时,不仅会输出将要查找的进程数据,清空包括grep进程本身的数据,因为查找串包含在grep调用中。过滤grep本身方法有: -v:表示忽略grep本身。 更方便的方法是用 正则 ps aux grep [p]ptpd
find [指定查找目录] [查找规则] [查找完后执行的action] 这里要注意的是目录之间要用空格分开 "file" 里面*表示 通配任意的字符 ?表示 通配任意的单个字符 [ ] 表示 通配括号里面的任意一个字符 # -a 连接两个不同的条件(两个条件必须同时满足) -o 连接两个不同的条件(两个条件满足其一即可) #find /tmp –atime +5 //表示查找在五天内没有访问过的文件 #find /tmp -atime -5 //表示查找在五天内访问过的文件
结果导致OpenOffice无法使用,可以使用命令: #ldd /opt/openoffice.org2.0/program/soffice.bin 查看其依赖的共享库文件。 在 ldd 命令打印的结果中,“=>”左边的表示该程序需要连接的共享库之 so 名称, 右边表示由 Linux 的共享库系统找到的对应的共享库在文件系统中的具体位置。默认情况下,/etc/ld.so.conf 文件中包含有默认的共享库搜索路径。 如果使用 ldd 命令时没有找到对应的共享库文件和其具体位置,可能是两种情况引起的:
共享库没有安装在该系统中; 共享库保存在 /etc/ld.so.conf 文件列出的搜索路径之外的位置。 通常情况下,许多开放源代码的程序或函数库都会默认将自己安装到 /usr/local 目录下的相应位置(如:/usr/local/bin 或 /usr/local/lib), 以便与系统自身的程序或函数库相区别。而许多 Linux 系统的 /etc/ld.so.conf 文件中默认又不包含 /usr/local/lib。因此,往往会出现已经安装了 共享库,但是却无法找到共享库的情况。具体解决办法如下:
检查 /etc/ld.so.conf 文件,如果其中缺少 /usr/local/lib 目录,就添加进去;注意:在修改了 /etc/ld.so.conf 文件或者在系统中安装了新的 函数库之后,需要运行一个命令:ldconfig ,该命令用来刷新系统的共享库缓存,即 /etc/ld.so.cache 文件。为了减少共享库系统的库搜索时间, 共享库系统维护了一个共享库 so 名称的缓存文件/etc/ld.so.cache。因此,在安装新的共享库之后,一定要运行 ldconfig 刷新该缓存。
2、使用nm命令也可以获取库函数的信息;nm命令可以列出一个函数库文件中的符号表,它对静态的库函数和共享的库函数都能起作用。
在执行"gcc -g -O -c a.c"产生a.o之后,用"nm -A a.o"的输出为:
nm的用法
nm的用法很简单,以下几个关键字比较常用:
1、"-A",列出符号名的时候同时显示来自于哪个文件。
这在同时列出多个文件(比如一个链接库)的符号时比较有用
2、"-a",列出所有符号
这将会把调试符号也列出来。默认状态下调试符号不会被列出。
3、"-l",列出符号在源代码中对应的行号
指定这个参数后,nm将利用调试信息找出文件名以及符号的行号。对于一个已定义符号,将会找出这个符号定义的行号,对于未定义符号,显示为空
4、"-n",根据符号的地址来排序
默认是按符号名称的字母顺序排序的
5、"-u",只列出未定义符号
同"--undefined-only", 而"--defined-only"将只列出已定义符号
开始安装jdk:
使用终端进入存放jdk-6u12-linux-i586.bin的目录,我的位置是:/home/liujicheng/java
第一步:更改权限;默认文件没有可执行权限
chmod g+x jdk-6u12-linux-i586.bin
第二步: 安装 sudo -s ./jdk-6u12-linux-i586.bin
安装完毕,下面配置环境变量
配置classpath,修改所有用户的环境变量
$ sudo vi /etc/profile 或者 $sudo gedit /etc/profile
在文件最后添加
#set java environment
JAVA_HOME=/home/liujicheng/java/jdk1.6.0_12
export JRE_HOME=/home/liujicheng/java/jdk1.6.0_12/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
重新启动计算机,用命令测试jdk的版本
java -version 修改~/.bashrc或~/.bash_profile或系统级别的/etc/profile
1. 在其中添加例如export PATH=/opt/ActiveP/lib:$LD_LIBRARY_PATH
LD_LIBRARY_PATH: 动态库的查找路径
设置:
方法一: export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/XXX 但是登出后就失效
方法二: 修改~/.bashrc或~/.bash_profile或系统级别的/etc/profile
1. 在其中添加例如export PATH=/opt/ActiveP/lib:$LD_LIBRARY_PATH
2. source .bashrc (Source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录)
方法三:这个没有修改LD_LIBRARY_PATH但是效果是一样的实现动态库的查找,
1. /etc/ld.so.conf下面加一行/usr/local/mysql/lib
2. 保存过后ldconfig一下(ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的 动态链接库(格式如前介绍,lib*.so*),
进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.) 2. source .bashrc (Source命令也称为“点命令”,也就是一个点符号(.)。
source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录)