Linux编程
文章平均质量分 56
firefoxbug
这个作者很懒,什么都没留下…
展开
-
fedora16下codeblocks无法编辑----解决办法
最近在fedora16下面安装了codeblocks,想写个程序,建了一个控制台程序,结果发现:可以输入!@#之类的,不能输入字母,但有时候重新启动能输入一个字母,之后再敲键盘就不行了。。。再是,我切换成中文的话是可以正常输入的,然后我再切换回英文,也能输入几个字母,一按下回车就又不能输入了‵‵‵‵非常奇怪。我重新卸载了,又安装,还是不能用,弄来弄去````` 弄了几天终于找到问题了,原原创 2011-11-16 20:23:06 · 3423 阅读 · 0 评论 -
Vim基本命令
看了些资料,总结了一些适合编程人员的Vim基本命令,不是很全,但是最起码比较实用。。。都是最基本的vim 教程在fedora下面,打开终端。输入vim filename就进入了vim///////////////////////////////基本文件操作w:保存wq:保存退出q!:不保存退出///////////////////////////////原创 2011-11-15 11:07:37 · 1818 阅读 · 2 评论 -
Linux基本常用命令
man vim 命令帮助,查看命令使用形式。 命令行下快捷 有时候在 X-Window里由于程序出错,使鼠标键盘都不起作用, 这时候不用着急, 因为在Linux下几乎不会像在Win 9x里那样恶性死机, 你只须键入Ctrl+Alt+BackSpace键就可以回到字符界面下了。 Ctrl+a :标移到行首。 Ctrl+e:把光标移到行尾。原创 2011-11-07 09:02:05 · 2022 阅读 · 4 评论 -
Fedora提示 xxxis not in the sudoers file.this incident will be reported解决办法
由于Fedora默认不添加用户到sudoers,因此当我们使用sudo时就会出现“is not in the sudoers file.”的错误。添加方法如下:1.进入root模式su - 注意:su和-之间有空格输入当前用户的密码2.添加写权限chmod u+w /etc/sudoers3.将自己加入到sudoers中gedit /etc转载 2011-11-10 20:54:18 · 1387 阅读 · 0 评论 -
fedora安装微软雅黑和consola
微软雅黑一直是我认为的最好看的中文字体,而consola字体则是最适合程序员的字体。我个人是很喜欢的。下面介绍下在fedora下面安装微软雅黑和consola的方法:1.如果你是windows+fedora双系统的话,就直接在通过fedora访问windows的系统盘(一般是C盘),然后到Windows/Fonts下面,找到consola.ttf和msyh.ttf,点击安装,这样字体原创 2011-11-11 12:53:00 · 3528 阅读 · 0 评论 -
No package g++ available问题解决
Fedora16下,我打开codeblocks后,写了一个小程序,结果要编译的时候显示“g++ ”不存在,我回到终端里面,输入yum install g++,结果No package g++ available,我就郁闷了,我自己电脑上上次也是这么装的额,怎么回事额。。。后来找了下,发现只要输入yum install gcc-c++就OK了,但具体为什么我不是很清楚。原创 2011-12-05 09:36:29 · 15164 阅读 · 5 评论 -
Linux系统启动–虚拟文件系统
我们按下电源键,计算机第一个执行的程序就是MBR上面的BootLoader,同时,BIOS还会完成一些硬件的初始化等,接下来呢BootLoader就要去加载内核文件到内存,然后将内核文件解压,完成内核文件的加载,从这里开始BIOS的功成身退,以后的任务就交给内核来完成了。内核文件在哪里呢?输入ls –format=single-column -F /boot原创 2012-01-19 19:29:15 · 943 阅读 · 0 评论 -
目录拷贝–bash实现
刚开始看shell,写了一个bash的小程序,功能是将原目录下的所有子目录都复制到目的目录,但是不复制里面的文件。能够用于某些场合:比如需要原来的文件目录结构,但是里面的内容却是需要更新的。下面的代码都是在我自己的电脑上测试的,路径稍微改动下就OK!#!/bin/shfunction usage(){ echo "Input such as : " echo "$0 source_di原创 2012-01-28 22:34:40 · 2013 阅读 · 0 评论 -
Linux系统--job control
工作管理(job control)是在bash环境下进行的,能在一个终端机下面进行多个工作管理。但是这些工作都是bash的子进程。这样就能让用户把一些工作放在后台处理,而前台继续其他工作,就像开启多线程一样,不过这里的单位都是线程。直接将命令丢到后台“执行” : &[firefox@fire ShellProgram]$ vim Pra1.sh &把目前的工作丢到后台并且“原创 2012-01-26 19:54:23 · 774 阅读 · 0 评论 -
shell中位置变量参数
$# : 传递到脚本的参数个数$* : 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过 9个$$ : 脚本运行的当前进程 ID号$! : 后台运行的最后一个进程的进程 ID号$@ : 与$#相同,但是使用时加引号,并在引号中返回每个参数$- : 显示shell使用的当前选项,与 set命令功能相同$? : 显示最后命令的退出状态。 0表示没有错误,原创 2012-01-30 17:02:09 · 6523 阅读 · 0 评论 -
for语句–shell
for 变量名 in 列表do 命令1 命令2…done打印字符串列表#!/bin/bash#打印字符串到结束,包括空格for loop in "orange red blue grey "doecho "this is fruit $loop"donefor循环使用ls命令#!/bin/bashfor loop in 'ls 'do$原创 2012-02-05 15:17:47 · 2713 阅读 · 0 评论 -
if语句–shell
在bash编程中也有最基本的条件测试,if和test。下面是一些基本的实例文件拷贝输出检查 #!/bin/bash#cpFileif cp ./hello.c ../hello2.c; thenecho "copy file successfully"exit 0elseecho "copy file error" 2>&1exit 1fi判断是否处于根目原创 2012-02-04 21:00:05 · 1009 阅读 · 0 评论 -
while语句–shell
while 命令do 命令1 命令2 ...donewhile循环计数#!/bin/bash#while testiCounter=0while [ $iCounter -lt 5 ]do iCounter=`expr $iCounter + 1` echo $iCounterdone使用while循环读键盘输入#原创 2012-02-06 16:56:08 · 5901 阅读 · 1 评论 -
模式匹配运算符–Shell
Var=/home/firefox/MyProgram/fire.login.name${Variable#pattern}:如果模式匹配于变量值的开头处,则删除匹配的最短部分,并且返回剩下的部分例子:[fire]$ echo ${Var#*/}[fire]$ home/firefox/MyProgram/fire.login.name[fire]$ echo ${Var#/*原创 2012-02-23 22:51:00 · 2095 阅读 · 0 评论 -
find命令–Linux
1.搜索路径下的所有文件和文件夹$ find base_path -[print]2.根据文件名或者正则表达式匹配搜索-name 指定文件名匹配字符串-iname 忽略大小写#找到所有./MyProgram下的txt文件$ find ./MyProgram -name “*.txt”#忽略大小写,找到.txt或者.TXT文件$ fin原创 2012-02-16 10:40:33 · 2009 阅读 · 0 评论 -
win7+fedora16启动项问题
不久前,实验室一个同学电脑上装的本来是win7+fedora16双系统,结果他不想用fedora16了, 就在windows上把fedora16所在的磁盘格式化了。重新启动后win7和fedora16都进不去了。界面就一直停在grub输入的地方。索性就进winPE了,PE进去重新安装了一下C盘,不过是ghost安装的,安装好之后重启结果还是不能进入win7,还是grub引导那里。后来我就直接再进入原创 2012-02-17 14:23:41 · 1649 阅读 · 0 评论 -
统计文本中单词使用频率
#!/bin/bash#统计单词的频率if [ $# -lt 1 ]; thenecho "usage : $0 filename"fi filename=$1cp $filename $1_backupif [ ! -f $filename ]; thenecho "$filename is not a file"fitemp=$1_tempcat $filen原创 2012-03-02 15:32:38 · 1324 阅读 · 0 评论 -
打包和压缩Bash实现
用bash写了一个打包和压缩的脚本,代替bzip2和tar的繁琐参数,最好把脚本放到全局环境变量中。#!/bin/bash#用脚本使用形式function usage(){ echo "usage : `basename $0` [-c|-t|-x] FileName "}#脚本参数含义function help(){ echo "-c 打包并压缩文件" ech原创 2012-03-03 14:55:46 · 1833 阅读 · 0 评论 -
Shell脚本中cd命令使用
在写shell脚本的时候发现cd切换目录的时候无法切换,代码是下面的。#!/bin/bash#changedir.shcd /home/firefoxpwd我仔细一想,我执行的时候是./changedir.sh来执行的,这样执行的话终端会产生一个子shell,子shell去执行我的脚本,在子shell中已经切换了目录了,但是子shell一旦执行完,马上退出,子shell中的变量和操作原创 2012-03-04 10:13:25 · 74241 阅读 · 3 评论 -
fedora 16 使用LiveCD修复grub2引导–<转>
转自 http://cryinstall.com/?p=121Mr高 被钟大神忽悠装了Opensuse,然后这俩家伙对装系统的引导项设置不对劲,Opensuse的grub直接装到硬盘的MBR上,然后华丽丽的把原来Fedora 16的grub2给覆盖了,接着Opensuse又识别不了grub2,…..现在的孩子都喜欢装系统,win7+fedora,如果先装win7再装fe转载 2012-03-05 22:07:54 · 1764 阅读 · 0 评论 -
pushd,popd,dirs–Bash实现
#!/bin/bash #实现pushd popd dirs功能#mypush函数实现pushd命令的功能,每次支持压栈一个目录#缺省目录是当前目录,所有目录保存在_DIR_STACK变量中,#以:做为分隔符。function mypush(){ REQ="$1" #接受参数1是目录参数 REQ="${REQ:-.}" #如果参数1是空,则 if [ ! -d $REQ ];原创 2012-03-05 21:32:11 · 1493 阅读 · 0 评论 -
shell 编程中空格的使用–< 转>
from http://blog.csdn.net/panda19881/article/details/66267271.定义变量时, =号的两边不可以留空格.eg:gender=femal————rightgender =femal———–wronggender= femal———–wrong2.条件测试语句 [ 符号的两边都要留空格.eg:if [转载 2012-03-10 21:16:52 · 850 阅读 · 0 评论 -
API扫描器小结
不久前,冏哥叫我写一个API的扫描器,具体的要是先的功能就是扫描API,当然是用shell实现。我这个shell语法都有点问题的小青年写的可是够呛人的。下面是有一些语法的问题,我记录下。小数比较大小$ echo “2.0>1.2″ | bc如果正确就返回1,否则返回0。字符串连接#!/bin/bashi=1while read ISBNdo原创 2012-03-27 16:18:27 · 1817 阅读 · 0 评论 -
bash中"["的误区
纠结一段代码好几天,Linux下不会看反汇编,不知道shell里面怎么跑,于是栽了个跟头。#!/bin/bashSTR1="Hello"STR2="World"if [ "$STR1"=="$STR2" ]; then #"=="两边没有空格 echo "$STR1 == $STR2"else echo "$ST原创 2012-03-12 19:30:52 · 1417 阅读 · 2 评论 -
FIFO管道
写脚本的时候用到FIFO,不是很会,就学习了下。下面是简介:FIFO也称为有名管道,它是一种文件类型。FIFO简单理解,就是它能把两个不相关的进程联系起来,FIFO就像一个公共通道,解决了不同进程之间的“代沟”。普通的无名管道只能让相关的进程进行沟通(比如父shell和子shell之间)。还是用代码来说明问题好了。下面我模拟了一个FIFO通信的过程,主要有两个进程。原创 2012-03-15 21:43:10 · 8335 阅读 · 0 评论 -
子shell的$$
下面是一段代码,我偶然发现有点问题。#!/bin/bashTestID(){ echo "in function : $$"}TestID &echo "\$! : $! "echo "\$\$ : $$ "sleep 1[firefox@fire ShellPractice]$ ./stopped.sh$! : 15021$$ : 1原创 2012-04-04 18:30:28 · 10156 阅读 · 1 评论 -
apache虚拟主机配置(壹)
曾经一度困扰我的一个问题就是,对于同一个服务器,上面绑定着几个域名,我们实验室的就是这样。几个哥们的博客地址都指向同一个IP,那么我本地要去访问A域名的时候,DNS会把请求的域名A数据包解析成目标服务器的IP,然后本地再去发送包给DNS解析出来的IP,接着通信就建立。但是不明白的是,假设服务器上有好几个域名,比如是A,B,C。但是DNS解析出来的肯定是一个IP,那么服务器是怎么样把请求的包区分开来原创 2012-03-22 10:12:07 · 1459 阅读 · 0 评论 -
原始套接字
实际上,我们常用的网络编程都是在应用层的报文的收发操作,也就是大多数程序员接触到的流式套接字(SOCK_STREAM)和数据包式套接字(SOCK_DGRAM)。而这些数据包都是由系统提供的协议栈实现,用户只需要填充应用层报文即可,由系统完成底层报文头的填充并发送。然而在某些情况下需要执行更底层的操作,比如修改报文头、避开系统协议栈等。这个时候就需要使用其他的方式来实现。 一 原始套转载 2012-04-12 21:23:27 · 1213 阅读 · 2 评论 -
字节序
今晚网络编程的时候又碰到了字节序的问题,这次可能要在嵌入式上开发,所以得小心点。对于0X12345678来存储大端模式:比较符合直观(地址从左到右增加,数据高位到地位写过去就行)地址 : 00 01 02 03数据 : 12 34 56 78小段模式:比较符合逻辑(低地址存低位,高字节存高位)地址 : 00 01 02 03数据:78 56原创 2012-04-13 23:05:27 · 891 阅读 · 0 评论 -
linux下默认删除文件到回收站(bash实现)
fedora下总是会把文件不小心删除了,所以下面的脚本把实现:文件删除默认移动到自己的回收站里面。功能:脚本实现删除文件或者目录到~/waste/(自己定义)。脚本附带文件名或者目录名,则默认代表”删除”,移动到回收站。参数 -l 代表列出回收站内容,后面不带参数则列出所有内容,可以指定文件或者目录。-d 代表清空回收站,后面不带参数为清空回收站,也可以指定删除文件原创 2012-04-16 09:18:59 · 2578 阅读 · 0 评论 -
mjpg-streamer:Init v4L2 failed
系统:ubuntu 10.10启动: ./start.sh错误内容:root@fire:~/mjpg-streamer/mjpg-streamer-experimental# ./start.shMJPG Streamer Version: svn rev: 3:160 i: Using V4L2 device.: /dev/video0 i: Desired R原创 2012-04-30 21:25:58 · 10572 阅读 · 1 评论 -
mjpg-streamer 安装
mjpg-streamer 源码[root@fire ~]# svn co https://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamer mjpg-streamer[root@fire mjpg-streamer]# ls -l总用量 24drwxr-xr-x. 3 root root 4096 4月 29原创 2012-04-30 21:38:52 · 6355 阅读 · 0 评论 -
gcc-4.1.2安装
昨晚编译一个交叉工具链的时候,需要gcc-4.1.2版本的,我的4.6版本它编译不了,很奇怪。下面是gcc-4.1.2的安装。源码下载:ftp://ftp.gnu.org/gnu/gcc/gcc-4.1.2/解包:tar -xvf gcc-4.1.2.tar.bz2进入目录:cd gcc-4.1.2# ./configure –prefix=/usr/local/g原创 2012-04-28 12:16:38 · 16770 阅读 · 1 评论 -
make menuconfig error
OS : ubuntu 10.10# make ARCH=microblaze menuconfig*** Unable to find the ncurses libraries or the*** required header files.*** 'make menuconfig' requires the ncurses libraries.****** I原创 2012-05-01 19:34:15 · 1228 阅读 · 0 评论 -
NFS 搭建
最近做嵌入式开发的时候,需要NFS加载文件系统,顺便搭建了一个NFS。NFS:Network File System功能也就是能把远程网络的文件挂载到NFS Server上,在Server上看来,客户端的挂载的目录就像自己的子目录一样,可以对它操作。所以,对于嵌入式系统的调试是很方便的。NFS支持的功能很多,所以对应的端口号是不固定的,是随机分配的,但都是小于1024。那么原创 2012-05-02 20:07:49 · 5659 阅读 · 0 评论 -
linux下添加libpcap模块
先从 http://www.linuxfromscratch.org/blfs/view/svn/basicnet/libpcap.html 下载libpcap-1.1.1.tar.gz# tar -xvf libpcap-1.1.1.tar.gz 解压cd libpcap-1.1.1/ 进入到路径下./configure && make这时候可能会提示:configure : e原创 2012-04-18 14:51:55 · 4479 阅读 · 0 评论 -
centos下ddd的安装
从这里下载http://rpmfind.net/linux/rpm2html/search.php?query=ddd合适的包这里得到的是*.src.rpm,解压出来里面的源码包,进入到目录下#./configure && make 可能会出现错误,错误的内容大概是是说EOF没有声明,文件是strclass.C# find . -name strclass.C 找到文件的路径,原创 2012-04-19 10:04:09 · 2015 阅读 · 0 评论 -
fedora16音频视频全解码
1)音频rhythmbox(mp3等常见格式):# rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm# rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree原创 2012-04-19 14:32:04 · 1298 阅读 · 0 评论 -
linux下GTK+配置
上面是linux下GTK+配置所需要的库,关于各个库的功能,查看http://www.gtk.org/overview.php,至于库的下载在http://www.gtk.org/download/linux.php。linux下GTK+的一键安装和配置:(fedora16和centos下配置成功)必要组件:# yum install gtk2 gtk2-d原创 2012-04-22 17:54:13 · 8729 阅读 · 2 评论 -
linux opencv 安装和配置
在fedora16 和 CentOS 下面配置OpenCV,由于不同主机装的软件的都不一样,所以不能一概而论大概需要的开发套件:pkgconfig libpng zlib libjpeg libtiff libjasperffmepeg GTK+ 的基本库(这里可选,用到的时候再装也行)下面是我的主机安装配置OpenCV。opencv 下载 htt原创 2012-05-06 22:05:48 · 17154 阅读 · 8 评论