![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
文章平均质量分 70
kmcfly
故不积蹞步,无以至千里;不积小流,无以成江海。
展开
-
linux 下makefile 模版
CC=g++#工作路径定义CURRENT_PATH=./WORK_DIR_PATH=..MAIN_TEST_PATH=$(CURRENT_PATH)FFMPEG_PATH=$(WORK_DIR_PATH)/libFFMPEG_INTERFACE_PATH=$(WORK_DIR_PATH)/Src#库文件路径定义LINK_LIB_PATH=$(WORK_DIR_PATH)/lib/原创 2014-08-05 16:02:25 · 385 阅读 · 0 评论 -
shell编程——if语句
转载▼ if 语句格式if 条件then Commandelse Commandfi 别忘了这个结尾If语句忘了结尾fitest.sh: line 14: syntax error: unexpected end of fi转载 2014-09-05 09:53:59 · 496 阅读 · 0 评论 -
Linux中expr命令
expr 命令用途求表达式变量的值。语法expr Expression描述expr 命令读入 Expression 参数,计算它的值,然后将结果写入到标准输出。您必须对 Expression 参数应用以下规则: 用空格隔开每个项。 用 / (反斜杠) 放在 shell 特定的字符转载 2014-09-05 10:10:34 · 508 阅读 · 0 评论 -
linux 挂载windows共享文件夹到linux指定目录
挂载windows共享文件夹 到linux指定目录,预先 配置好lian原创 2014-07-11 11:21:28 · 1201 阅读 · 0 评论 -
linux makefile 书写详细规则
概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写m转载 2014-08-23 17:30:34 · 1590 阅读 · 0 评论 -
Makefile 中:= ?= += =的区别
在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验新建一个Makefile,内容为:ifdef DEFINE_VRE VRE = “Hello World!”elseendififeq ($(OPT),define) VRE ?= “Hello World! First!”endif转载 2014-08-25 10:28:37 · 306 阅读 · 0 评论 -
Makefile中override 指示符
通常在执行make时,如果通过命令行定义了一个变量,那么它将替代在Makefile中出现的同名变量的定义。就是说,对于一个在Makefile中使用常规方式(使用“=”、“:=”或者“define”)定义的变量,我们可以在执行make时通过命令行方式重新指定这个变量的值,命令行指定的值将替代出现在Makefile中此变量的值。如果不希望命令行指定的变量值替代在Makefile中的变量定义,那么我们需转载 2014-08-25 10:56:51 · 424 阅读 · 0 评论 -
makefile中的patsubst
函数名称:加前缀函数—addprefix。函数功能:为“NAMES…”中的每一个文件名添加前缀“PREFIX”。参数“NAMES…”是空格分割的文件名序列,将“SUFFIX”添加到此序列的每一个文件名之前。返回值:以单空格分割的添加了前缀“PREFIX”的文件名序列。函数说明:示例: $(addprefix src/,foo bar) 返回值为“src/foo sr转载 2014-08-25 10:27:50 · 521 阅读 · 0 评论 -
linux grep 用法
grep的用法http://www.thegeekstuff.com/2009/03/15-practical-unix-grep-command-examples/首先创建我们练习grep命令时需要用到的demo文件demo_file。$ cat demo_fileTHIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.this lin转载 2014-09-29 11:31:14 · 491 阅读 · 0 评论 -
Linux nm命令介绍
Linux nm命令介绍 2012-12-09 13:50:35| 分类: 默认分类|举报|字号 订阅nm用来列出目标文件的符号清单。下面是nm命令的格式:nm [-a | --debug-syms] [-g | --extern-only] [-B][-C | --demangle] [-D | --dynamic] [-s | --print-a转载 2014-10-14 09:11:02 · 944 阅读 · 0 评论 -
linux 下硬盘序号
# cat /proc/partitions major minor #blocks name 240 0 2048 romblock0 31 0 2048 mtdblock0 240 1 4096 romblock1 31 1 4096 mtdblock1原创 2015-06-16 20:20:06 · 2075 阅读 · 0 评论 -
vitualbox 挂载win7 共享文件夹
1.win7 下设置该文件夹share 为共享模式2.vitualbox 添加数据共享空间 指向 F:\share3.终端输入命令 mount -t vboxsf share /mnt/nfs/原创 2015-06-24 21:24:37 · 599 阅读 · 0 评论 -
Netlink实现热拔插监控
新的Linux内核使用udev代替了hotplug作为热拔插管理,虽然有udevd管理热拔插,但有时候我们还是需要在应用程序中检测热拔插事件以便快速地处理,比如在读写SD卡的时候拔下SD卡,那么需要立即检测出该情况,然后结束读写线程,防止VFS崩溃。Netlink是面向数据包的服务,为内核与用户层搭建了一个高速通道,是udev实现的基础。该工作方式是异步的,用户空间程序不必使用轮询等技术来检测热拔转载 2015-06-09 19:37:59 · 461 阅读 · 0 评论 -
linux 相对时间
今天,再次碰到一个由于系统时间调整导致的bug。不得不再次查找完美的问题解决方案。虽然,按道理来说,系统时间进行重置之后,一些应用程序的行为出现异常是合乎情理,并且是可以被理解并接受的,最重要的是这样的问题都可以通过重新启动操作系统来解决(微软大哥解决问题之道),但是,对于软件开发人员来说,应该尽量避免非必要的重启。对自己严格要求点儿似乎没什么过错!?对绝对时间的依赖似乎不怎么容易转载 2015-07-10 11:45:00 · 2345 阅读 · 0 评论 -
gdb 常用命令
GDB常用命令调用gdb编译需要在cc后面加 -g参数再加-o;[root@redhat home]#gdb 调试文件:启动gdb(gdb) l :(字母l)从第一行开始列出源码(gdb) break n :在第n行处设置断点(gdb) break func:在函数func()的入口处设置断点(gdb) info break: 查看断点信息(gdb) r:运行程序(转载 2015-07-10 17:45:19 · 458 阅读 · 0 评论 -
gdb 死锁线程
1.调试文件 lock.c[cpp] view plaincopy#include #include #include void *work_thread(void *arg) { pthread_mutex_t mutex; pthread_mutex_init(&mutex转载 2015-07-02 09:21:20 · 611 阅读 · 0 评论 -
Fedora Linux 16 root用户无法登陆
环境:Fedora Linux 16问题描述:Fedora linux16 用root用户登录,输入密码出现验证失败,即使你的密码是正确的,也会出现这种情况,这是因为Fedora linux 默认禁止了root 超级用户。解决办法:最开始尝试利用修复模式修改root用户密码,但是重启后仍然不奏效。现在通过以下修改:进入修复模式,输入以下命令修改:1.转载 2015-08-07 17:50:14 · 578 阅读 · 0 评论 -
Linux 目录文件定义的含义
1. cat /etc/services系统下 端口占用情况大多数TCP/IP 临时端口在1024-5000之间2.原创 2015-08-13 10:54:09 · 476 阅读 · 0 评论 -
linux netstat 用法
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Recv-Q S转载 2015-08-13 15:05:55 · 314 阅读 · 0 评论 -
linux 系统定时器的一些用法
{if( true == bSYNTime ){unsigned int currentTime;unsigned int firstAlarm;struct itimerval iTimer;struct sigaction SigAction;//设置信号处理函数SigAction.sa_handler = ReviseSystemTime;原创 2015-07-21 16:29:01 · 423 阅读 · 0 评论 -
删除所有的.svn 文件
1.获得删除权限find . -type d -name ".svn"|xargs chmod 777 -R 2.全部删除find . -type d -name ".svn"|xargs rm -rf原创 2015-08-04 21:09:46 · 323 阅读 · 0 评论 -
linux 下locate命令无法搜索出文件
1. locatelocate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手转载 2015-08-17 14:03:35 · 1270 阅读 · 0 评论 -
系统调用fcntl 和 ioctl
1,fcntl函数可以改变一个已打开的文件的属性,可以重新设置读、写、追加、非阻塞等标志(这些标志称为 File Status Flag),而不必重新open文件。2,通过fcntl设置的都是当前进程如何访问设备或文件的访问控制属性,例如读、写、追加、非阻塞、加锁 等,但并不设置文件或设备本身的属性,例如文件的读写权限、串口波特率等。3,ioctl函数用于设置某些设备本身的转载 2015-08-05 10:37:31 · 494 阅读 · 0 评论 -
linux awk命令
linux shell awk 语法 Awk 是一种非常好的语言,同时有一个非常奇怪的名称。在本系列(共三篇文章)的第一篇文章中,Daniel Robbins 将使您迅速掌握 awk 编程技巧。随着本系列的进展,将讨论更高级的主题,最后将演示一个真正的高级 awk 演示程序。捍卫 awk在本系列文章中,我将使您成为精通 awk 的编码人员。我承认,awk 并没有一个非常好听且又转载 2014-09-09 11:56:59 · 378 阅读 · 0 评论 -
linux cut命令
cut是以每一行为一个处理对象的,这种机制和sed是一样的。(关于sed的入门文章将在近期发布)2 cut一般以什么为依据呢? 也就是说,我怎么告诉cut我想定位到的剪切内容呢?cut命令主要是接受三个定位方法:第一,字节(bytes),用选项-b第二,字符(characters),用选项-c第三,域(fields),用选项-f3 以“字节”定位,给转载 2014-09-09 11:53:54 · 415 阅读 · 0 评论 -
linux sed 命令
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般转载 2015-08-05 10:52:11 · 262 阅读 · 0 评论 -
linux sort 用法
sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式: sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内容,以行为单位来排序。参 数: -b 忽略每行前面开始出的空格字符。 -c 检查文件是否已经按照顺序排序。 -f 排序时,忽略大小写字母。 -M 将前面3个字母依照月份的转载 2015-08-05 11:26:48 · 324 阅读 · 0 评论 -
linux curl 命令
CURL常用命令Posted on 2013-09-17 18:41 张贺 阅读(66847) 评论(2) 编辑 收藏原文地址: http://www.thegeekstuff.com/2012/04/curl-examples/下载单个文件,默认将输出打印到标准输出中(STDOUT)中curl http://www.centos.org通过-o/-O选项保转载 2015-08-18 20:48:14 · 346 阅读 · 0 评论 -
Linux 进程间 互斥锁
进程间共享数据的保护,需要进程互斥锁。与线程锁不同,进程锁并没有直接的C库支持,但是在Linux平台,要实现进程之间互斥锁,方法有很多,大家不妨回忆一下你所了解的。下面就是标准C库提供的一系列方案。1、实现方案不出意外的话,大家首先想到的应该是信号量(Semaphores)。对信号量的操作函数有两套,一套是Posix标准,另一套是System V标准。Posix信号量转载 2015-08-06 11:27:29 · 14068 阅读 · 3 评论 -
linux 下解决timewait 过多的问题
TCP之再谈解决服务器TIMEWAIT过多的问题 2013-12-23 14:05:30分类: LINUX原文地址:TCP之再谈解决服务器TIMEWAIT过多的问题 作者:weizhulinux这个问题在网上已经有很多人讨论过了,再谈这个问题,只是根据我处理过的相关业务来谈谈我的看法。至于什么是TIMEWAIT,我想,并不需要多说。TIMEWAI转载 2015-08-05 17:55:07 · 2787 阅读 · 0 评论 -
linux 使用共享内存
下面将讲解进程间通信的另一种方式,使用共享内存。一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc转载 2015-08-05 22:34:46 · 332 阅读 · 0 评论 -
linux 使用命名管道
在前一篇文章——Linux进程间通信——使用匿名管道中,我们看到了如何使用匿名管道来在进程之间传递数据,同时也看到了这个方式的一个缺陷,就是这些进程都由一个共同的祖先进程启动,这给我们在不相关的的进程之间交换数据带来了不方便。这里将会介绍进程的另一种通信方式——命名管道,来解决不相关进程间的通信问题。一、什么是命名管道命名管道也被称为FIFO文件,它是一种特殊类型的文件转载 2015-08-05 22:40:37 · 992 阅读 · 0 评论 -
linux 使用匿名管道
在前面,介绍了一种进程间的通信方式:使用信号,我们创建通知事件,并通过它引起响应,但传递的信息只是一个信号值。这里将介绍另一种进程间通信的方式——匿名管道,通过它进程间可以交换更多有用的数据。一、什么是管道如果你使用过Linux的命令,那么对于管道这个名词你一定不会感觉到陌生,因为我们通常通过符号“|"来使用管道,但是管理的真正定义是什么呢?管道是一个进程连接数据流到另转载 2015-08-05 22:41:28 · 484 阅读 · 0 评论 -
linux 使用消息队列
队列分类: 初学Linux2013-08-25 00:09 21792人阅读 评论(6) 收藏 举报Linux进程间通信消息队列下面来说说如何用不用消息队列来进行进程间的通信,消息队列与命名管道有很多相似之处。有关命名管道的更多内容可以参阅我的另一篇文章:Linux进程间通信——使用命名管道一、什么是消息队列消息队列提供了一种从一个进程向另一转载 2015-08-05 22:39:25 · 475 阅读 · 0 评论 -
Linux中的ipcs命令与ipcrm命令
是linux/uinx上提供关于一些进程间通信方式的信息,包括共享内存,消息队列,信号ipcs用法 ipcs -a 是默认的输出信息 打印出当前系统中所有的进程间通信方式的信息ipcs -m 打印出使用共享内存进行进程间通信的信息ipcs -q 打印出使用消息队列进行进程间通信的信息ipcs -s 打印出使用信号进行进程间通信的信息输出格式的控制ipcs转载 2015-08-05 16:30:12 · 377 阅读 · 0 评论 -
linux 进程间通信 使用信号量
这篇文章将讲述别一种进程间通信的机制——信号量。注意请不要把它与之前所说的信号混淆起来,信号与信号量是不同的两种事物。有关信号的更多内容,可以阅读我的另一篇文章:Linux进程间通信——使用信号。下面就进入信号量的讲解。一、什么是信号量为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行转载 2015-08-05 22:36:59 · 354 阅读 · 0 评论 -
linux lsof 命令
lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打转载 2015-08-18 20:40:19 · 305 阅读 · 0 评论 -
Linux wget 命令
1.wget 下载文件命令wget http://download.macromedia.com/pub/flashmediaserver/updates/4_0_3/Windows_64bit/FlashMediaServer4_x64.exe即下载文件原创 2015-08-19 14:29:09 · 354 阅读 · 0 评论 -
linux 管道、消息队列、共享内存的对比
------管道管道的优点是不需要加锁,缺点是默认缓冲区太小,只有4K,同时只适合父子进程间通信,而且一个管道只适合单向通信,如果要双向通信需要建立两个。而且不适合多个子进程,因为消息会乱,它的发送接收机制是用read/write这种适用流的,缺点是数据本身没有边界,需要应用程序自己解释,而一般消息大多是一个固定长的消息头,和一个变长的消息体,一个子进程从管道read到消息头后,消息体可能转载 2016-01-19 15:32:50 · 558 阅读 · 0 评论 -
利用ssh传送文件
利用ssh传输文件在linux下一般用scp这个命令来通过ssh传输文件。1、从服务器上下载文件scp username@servername:/path/filename /var/www/local_dir(本地目录) 例如scp root@192.168.0.101:/var/www/test.txt 把192.168.0.101上的/var/www转载 2016-01-15 14:02:37 · 442 阅读 · 0 评论