随笔分类 - Linux
1
摘要:1. 介绍 使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用。程序函数库可以使整个程序更加模块化,更容易重新编译,而且更方便升级。 程序函数库可分为3种类型:静态函数库(static libraries)、共享函数库(shared libraries)、动态加载函数库(dynamically loadedlibraries):1、静态函数库,是在程序执行前就加入到目标程序中去了;2、共享函数库,则是在程序启动的时候加载到程序中,它可以被不同的程序共享;动态加载函数库则
阅读全文
摘要:Ubuntu Linux 环境变量同Windows一样,Ubuntu Linux系统包含两类环境变量:系统环境变量和用户环境变量。系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效。用户环境变量通常被存储在下面的文件中:~/.profile~/.bash_profile 或者 ~./bash_login~/.bashrc上述文件在Ubuntu 10.0以前版本不推荐使用。系统环境变量一般保存在下面的文件中:/etc/environment/etc/profile/etc/bash.bashrc/etc/profile和 /etc/bash.bashrc在Ubuntu 10.0版
阅读全文
摘要:xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据。xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。xargs是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令,下面是一些如何有效使用xargs的实用例子。1.当你尝试用rm删除太多的文件,你可能得到一个错误信息:/bin/rm Argument list too lo
阅读全文
摘要:统计文件行数(单个文件):wc -l file例如:homer@ubuntu:~/workspace/android/game$ wc -l LGameAndroid2DActivity.java906 LGameAndroid2DActivity.java统计目录所有文件行数(全部目录):find . -name *.java | xargs wc -l例如:homer@ubuntu:~/workspace/android$ find . -name *.java | xargs wc -l 817 ./game/core/LHandler.java 140 ./game/core/LF..
阅读全文
摘要:VIM是Linux和Unix下常用的文本编辑工具,在编写代码和阅读代码中经常使用。但VIM进行代码项目管理时,没有IDE集成开发工具方便,现在提供一个VIM插件Project,可以对代码项目进行简单的集中管理一、 下载安装1、 在 Vim 网站上下载最新版本project.tar.gz或直接下载project-1.4.1.tar.gz2、 解压缩移动plugin和doc到~/.vim目录(没有~/.vim则自己创建),步骤如下:mkdir ~/.vimmv doc ~/.vimmv plugin ~/.vim二、Project 使用介绍1、 打开vim后,敲入命令 :Project,可以看到p
阅读全文
摘要:很多时候,我们需要在两台Linux/Unix主机之间拷贝文件(夹),但需要手动输入密码例如备份服务端(sysadmin)数据库文件到客户端(yanggang),提示需要输入密码!sysadmin@host:~/.ssh$ scp /home/sysadmin/top800/top800_database.sql yanggang@192.168.1.22:/home/yanggang/top800/yanggang@192.168.1.22's password:如果编写脚本进行数据自动备份,很显然手动输入密码不靠谱因此,我们需要寻找双机拷贝数据时,自动输入密码或不需要输入密码的方法于
阅读全文
摘要:文本处理时,经常要删除重复行,下面是三种方法第一,用sort+uniq,注意,单纯uniq是不行的。sort -n test.txt | uniq第二,用sort+awk命令,注意,单纯awk同样不行,原因同上。sort -n $file | awk '{if($0!=line)print; line=$0}' 第三,用sort+sed命令,同样需要sort命令先排序。sort -n $file | sed '$!N; /^\(.*\)\n\1$/!P; D'Shell脚本# !/bin/sh file='test.txt' sort -n $f
阅读全文
摘要:Linux shell 批量创建数据库/表Shell 脚本如下:# create database and table
HOST='localhost'
PORT='3306'
USER='root'
PWD=''
DBNAME='top123'
TABLENAME='gametop800' mysql_login=''
mysql_create_db=''
mysql_create_table='' function mysql_create(){
阅读全文
摘要:一、 MySQL安装的三种方式: 1. 从网上安装 sudo apt-get install mysql-server 注:建议将/etc/apt/source.list中的cn改成us,美国的服务器比中国的快很多,修改命令如下: sudo sed -i "s/cn/us/g" sources.list 2. 安装离线包,以mysql-5.5.16-linux2.6-x86_64.tar.gz为例。 3. 二进制包安装:安装完成已经自动配置好环境变量,可以直接使用mysql命令网上安装和二进制包安装比较简单,重点说安装离线包。 1. groupadd mys...
阅读全文
摘要:运算符描述示例文件比较运算符-efilename如果filename存在,则为真[ -e /var/log/syslog ]-dfilename如果filename为目录,则为真[ -d /tmp/mydir ]-ffilename如果filename为常规文件,则为真[ -f /usr/bin/grep ]-Lfilename如果filename为符号链接,则为真[ -L /usr/bin/grep ]-rfilename如果filename可读,则为真[ -r /var/log/syslog ]-wfilename如果filename可写,则为真[ -w /var/mytmp.txt ]-
阅读全文
摘要:一 杀死指定进程现知道有一个curl线程正在运行,需要杀死anggang@barry$ curl -y 30 -Y 1 -m 300 -x 8.8.8.8:808 -o html_baidu http://www.baidu.com % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- 0:00:21 --:--:-- 0ps ...
阅读全文
摘要:Linux中,周期执行的任务一般由cron这个守护进程来处理 ps -ef | grep croncron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为“crontab”,是“cron table”的简写。一、cron在3个地方查找配置文件:1、/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。yanggang@barry$ sudo ls -l /var/spool/cron/crontabs/-
阅读全文
摘要:方法一:发送单个附件(正文乱码)mutt -s "mail subject" -a output_email.html -- tomail@163.com < output_email.html或者cat output_email.html | mutt -s "mail subject" -a output_email.html -- tomail@163.com效果截图:邮件正文乱码方法二:发送多个附件(正文不乱码)# !/bin/sh from='yanggang@fruitsmobile.com'
to='yangg
阅读全文
摘要:原理: awk命令,分割格式化的txt(txt文件格式以“|”分割开的)成数组,然后拼接成html格式(html - head - title - body - table)shell源码# !/bin/sh file_input='txt.log'
file_output='txt2html.html' td_str='' function create_html_head(){ echo -e "<html> <body> <h1>$file_input</h1>"
} fu
阅读全文
摘要:方法一:简单邮件发送echo “hello world" | mail -s "Subject" yanggang_2050@163.com效果截图方法二: 文本格式发送邮件# !/bin/sh from_name="from@yanggang"
from="yanggang@fruitsmobile.com"
to="yanggang_2050@163.com" email_title="Test Mail"
email_content="/home/barry/top80
阅读全文
摘要:只列出在一个机器上的操作。从rac01-ud-us-eqx到rac02-ud-us-eqx和rac03-ud-us-eqxbash-3.00$ ssh 10.12.32.182The authenticity of host '10.12.32.182 (10.12.32.182)' can't be established.RSA key fingerprint is 7e:8d:db:aa:7c:15:3e:b6:4e:5f:86:58:b5:e8:97:7a.Are you sure you want to continue connecting (yes/no)
阅读全文
摘要:Unix(Solaris)系统一般自带dbx调试工具,下面介绍一些常用的命令1.执行dbx$dbx 可执行文件名可执行文件在编译的时候必须代上 –g 参数2.显示代码(dbx)list //从文件开头列出代码(dbx)list n //列出第n行代码(dbx)list m,n //列出从m行开始的n行代码3.执行程序(dbx)run //执行不带参数的程序(dbx)run arg1…argn //执行带参数的程序该命令相当于VC的快捷键F54.设置断点(dbx)stop at n //在第n行设置断点(dbx)stop in funcname //在funcname函数入口处设置断点该命...
阅读全文
摘要:类UNIX下C/C++开发,代码调试比较麻烦,最原始的加跟踪调试很土,也很费时,特别是一个庞大的项目,代码行数非常大的时候调试起来非常费劲,当core dump时定位也不容易,这里介绍几个常用工具: gdb、dbx调试工具,valgrind内存检查工具(Linux) 。gdb(GNU DeBugger)是GNU的调试器,一般和gcc配搭使用。要使用GDB进行调试,编译程序时要指定-g或-ggdb的编译选项。如: gcc –g main.cgdb指令:f(file):指定可执行文件,l(list)列出源文件,r(run)运行可执行文件,可带执行参数,b(break)设置断点,c(continue
阅读全文
摘要:方法一首先,Windows下,配置Adroid环境变量(Win7为例)1、桌面右键——》我的电脑——》高级系统设置2、高级——》环境变量——》系统变量——》Path3、添加android sdk目录到系统变量Path中,如下图:注:F:/Pro-files/android-sdk-windows/tools,添加到系统Path如果有F:/Pro-files/android-sdk-windows/platform-tools,也一并添加到系统Path,说明:最新版的Android SDK安装,emulator命令一般在tools目录中,adb命令移到了platform-tools目录接着,启动
阅读全文
摘要:1,开发C程序的必要工具和设置A,Solaris下的开发工具在solaris下开发C应用程序,缺省开发环境是Sun Studio。目前Sun Studio 11是Sun公司最新的C/C++/Fortran开发工具,这个工具已经安装在Unix体验中心的服务器上,我们可以直接使用。在Sun Studio 中,其中C程序的编译工具名称为cc。还有的就是make这个命令,make命令是Solaris安装后就自带了,不需要我们另外安装。B,设置环境变量在solaris下开发C应用程序,需要把编译器和make的路径加入到环境变量PATH中去,一般来说,可以使用export命令来进行这个方面的设置。假设您使
阅读全文
1