
linux 学习总结
helmsgao
这个作者很懒,什么都没留下…
展开
-
【C++】按照单个字符拆分字符串
C++没有现成的拆分函数,需要自行实现按照单个字符拆分字符串推荐的方法:原创 2022-06-19 00:47:36 · 782 阅读 · 1 评论 -
网站开发搭建开发环境
1.linux 下面设置共享文件夹的方法 sudo apt-get install sambasudo apt-get install smbfs2.搭建svn服务器:http://blog.163.com/longsu2010@yeah/blog/static/173612348201202114212933/3.一键安装php+mysql+apa原创 2015-05-29 08:37:17 · 750 阅读 · 0 评论 -
GDB十分钟教程
GDB十分钟教程作者: liigo原文链接: http://blog.youkuaiyun.com/liigo/archive/2006/01/17/582231.aspx日期: 2006年1月16日本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的转载 2015-01-23 12:41:08 · 695 阅读 · 0 评论 -
vim哲学
http://segmentfault.com/blog/nightire/1190000000445598哲学一http://segmentfault.com/blog/nightire/1190000000445621哲学二http://segmentfault.com/blog/nightire/1190000000446738哲学三转载 2014-12-02 15:42:24 · 957 阅读 · 0 评论 -
复合内存管理系统
本月初的时候实现了伙伴内存管理系统,这个作品我其实是很喜欢的,因为大约一年的这个时候,我在工作中曾有这种实现伙伴内存系统的需求,但是因为太底层,领导不同意动当时的内存管理系统,当时我也没有付诸行动。伙伴管理系统其实是很高效的,而且灵活,对内存的浪费也是有限的。 呵呵GFree_Wind从需求出发,认为伙伴不能满足Light TCP Proxy的需求,因为伙伴虽然优美,但是没有任何先验转载 2014-12-26 12:29:07 · 925 阅读 · 0 评论 -
vxWorks多任务编程初探-下
当一个任务要进入资源,首先要得到一个信号量(take that semaphore),只要有任务在使用这个信号量,其它的要进入资源的任务要停止执行(blocked from execution),当这个任务完成了对资源的使用,它会释放信号量,允许另一个任务来使用资源。 semTake (semMutex, WAIT_FOREVER);. . critical region, onl转载 2014-12-26 11:00:15 · 1385 阅读 · 0 评论 -
vxWorks多任务编程初探-上
进程(Process)是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。程序只是一组指令的有序集合,它本身没有任何运行的含义,只是一个静态实体。而进程则不同,它是程序在某个数据集上的执行,是一个动态实体。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消,反映了一个程序在一定的数据集上运行的全部动态过程。线程(转载 2014-12-26 10:58:34 · 1187 阅读 · 0 评论 -
linux中fork()函数详解(原创!!实例讲解)--写的太好了转过来
转载地址:http://blog.youkuaiyun.com/jason314/article/details/5640969一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调转载 2014-12-04 17:32:11 · 908 阅读 · 0 评论 -
Shell脚本调试技术
Shell脚本调试技术wenz转载 2014-09-01 15:35:10 · 696 阅读 · 0 评论 -
ffmpeg 捉获取动画的第一帧
ffmpeg で動画をjpeg画像に切り出し。連続サムネイルをつくるffmepg を使って動画をサムネイル画像に変換する次のコマンドで画像に切り出せるffmpeg -i hogegeho.mpeg -f image2 frame%d.jpg切り出せる・・・けど,一秒間毎に画像24枚出来る。10秒なら240枚出来ます。超大変動画は一秒24フレーム程度です(25fp原创 2013-10-22 15:55:59 · 1573 阅读 · 0 评论 -
Makefile知识点-1-----变量赋值的方式
Makefile中的"="":="、"?="和"+="区别是:"="是直接给变量赋值。":="是将":="右边中包含的变量直接展开给左边的变量赋值。"?="是在该变量没有被赋值 的情况下为其赋值。"+="是给该变量追加值。例:a = 1b = 2c := $(a) 3d = 4d ?= 5b += 6结果:a=1c=1 3d=4b=2原创 2013-06-26 08:53:56 · 1008 阅读 · 0 评论 -
Linux 内核内存检测工具 - Kmemcheck
Linux 内核内存检测工具 - Kmemcheck原创 2015-03-17 19:50:54 · 1005 阅读 · 0 评论 -
经常用到的命令
Linux Shell 环境中支持输入输出重定向,用符号""来表示。0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>a.txt 表示将错误信息输出到文件a.txt中。 command > filename 2>&1 把把标准输出和标准错误一起重定向到一个文件中 bash -x ./test.sh 2>&1 | tee lo原创 2015-04-09 11:01:20 · 579 阅读 · 0 评论 -
创建虚拟网卡
cat /etc/rc.local 开机就会执行。里面创建虚拟网桥,配置IP后启动。cat /root/create*Tap.sh 创建虚拟网卡,绑定到虚拟网桥后启动。网桥是一种在链路层实现中继,对帧进行转发的技术,根据MAC分区块,可隔离碰撞,将网络的多个网段在数据链路层连接起来的网络设备。Linux 网桥配置命令:brctl# brctl addbr br0原创 2016-09-28 09:57:51 · 1776 阅读 · 0 评论 -
linux 静态库的链接 undefined reference
最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误:(.text+0x13): undefined reference to `func' 关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。1. 链接时缺失了相关目标文件(转载 2016-05-13 17:13:00 · 2173 阅读 · 0 评论 -
Linux Proc文件系统实验(代码)
Linux上的/proc目录是一种文件系统,称为proc文件系统(虚拟文件系统),它存储内核状态信息,包括cpu、内存以及进程等信息。proc文件系统有很多优点:应用程序获取内核数据不用切换到内核态,增加了系统的安全性(像ps命令就是通过proc获取进程信息);应用程序可以通过proc直接改变内核参数,这样不用重新编译内核就可以改变和优化内核行为。总之,proc为用户应用程序获取系统内部信息提供了转载 2016-04-19 15:15:47 · 1726 阅读 · 0 评论 -
ssh&telnet
NetCat网络工具:root@10.1.1.43:~# nc -h[v1.10-38]connect to somewhere: nc [-options] hostname port[s] [ports] ... listen for inbound: nc -l -p port [-options] [hostname] [port]options: -c shell comm原创 2016-05-13 09:09:16 · 434 阅读 · 0 评论 -
FTP的主动模式和被动模式
FTP的主动模式和被动模式文章来自:http://my.oschina.net/binny/blog/17469 最近做一个项目用到FTP和其它系统进行文件传输,结果在FTP网络连接的问题上花了很多时间,由于太久没搞多FTP,忘记了FTP不单单开放21端口,客户端采用不同连接模式对网络有不同。在此重温一下FTP的主动模式和被动模式的相关知识。 在使用FTP时转载 2016-02-23 14:53:10 · 1211 阅读 · 0 评论 -
FTP的主动模式(PORT Mode)及被动模式(Passive Mode)
FTP的特殊性: 大多数的TCP服务是使用单个的连接,一般是客户向服务器的一个周知端口发起连接,然后使用这个连接进行通讯。但是,FTP协议却有所不同,它使用双向的多个连接,而且使用的端口很难预计。一般,FTP连接包括:1) 一个控制连接(control connection) 这个连接用于传递客户端的命令和服务器端对命令的响应。它使用服务器的21端口,生存期是整个FTP转载 2016-02-23 09:46:03 · 2367 阅读 · 1 评论 -
用size命令分析linux程序内存段的分布
用size命令分析linux程序内存段的分布Size命令的输出不包括stack和heap的部分。只包括文本段(text), 代码段(data),未初始化数据段(bss)三部分。1、文本段:包含程序的指令,它在程序的执行过程中一般不会改变。2、数据段:包含了经过初始化的全局变量和静态变量,以及他们的值。3、BSS段:包含未经初始化的全局变量和静态变量。转载 2016-01-15 11:08:17 · 1990 阅读 · 3 评论 -
buffering in standard streams
buffering in standard streamsI found it difficult to figure out what buffering was applied to the standard streams.Consider for example the following unix shell pipeline:$ command1 | command2转载 2015-07-17 11:41:55 · 653 阅读 · 0 评论 -
秒杀多线程
便于学习,特把博主的文章转到此处。转载请标明出处,原文地址:http://blog.youkuaiyun.com/morewindows/article/details/7392749下面列出目录,方便大家查看。1.《秒杀多线程第一篇 多线程笔试面试题汇总》2.《秒杀多线程第二篇 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别》3.《秒杀多线程第三转载 2015-06-13 00:45:01 · 993 阅读 · 0 评论 -
跟我一起写 Makefile 目录
跟我一起写 Makefile概述 Makefile 介绍一、Makefile 的规则 二、一个示例 三、make 是如何工作的四、makefile 中使用变量 五、让 make 自动推导 六、另类风格的 makefile 七、清空目标文件的规则 makefile 的相关细节一、Makefile 里有什么?二、Makefile 的文件名三、引原创 2013-06-25 14:24:07 · 932 阅读 · 0 评论 -
一个LINUX学习高手写给初学者的话
下面是我在一网站上看到的,觉得作者是在高明,文章写的镇好,我想对那些想学Linux的朋友来说是个帮助:现在好多的人开始接触电脑的时候,见到的应该是Windows98说实话,98 已经是一个很人性化,封装的很好的一个系统了一个对电脑一窍不通的人都能很快的使用它。这样很多人对"电脑"的印象和那些和我一样一开始接触的是DOS人是绝然不同的。在DOS时代,如果你对电脑的基础知识不懂的话原创 2013-02-18 21:07:18 · 776 阅读 · 0 评论 -
linux 下各种解压缩命令
大致总结了一下linux下各种格式的压缩包的压缩、解压方法。但是部分方法我没有用到,也就不全,希望大家帮我补充,我将随时修改完善,谢谢!整理:会游泳的鱼来自:www.LinuxByte.net最后更新时间:2005-2-20.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)转载 2012-10-17 12:01:50 · 595 阅读 · 0 评论 -
Linux之gcc的一些常见用法
1.gcc编译器对程序的编译,分为四个阶段:1>预编译(pre-processing):在预处理阶段,输入的是C语言的源文件,通常为*.c。它们一般带有*.h之类的头文件。这个阶段主要处理源文件中的#ifdef,#include,#define预处理命令。该阶段会生成一个中间文件*.i文件。这个阶段使用命令: gcc –E tiger.c –o tiger.i它通过对源文转载 2012-10-17 12:00:38 · 640 阅读 · 0 评论 -
在liunx环境下挂载远程目录的办法
一.远程主机为Linux的情况1.主机启动nfs服务添加nfs用户和目录启动nfs服务service nfs start2.mount -t nfs 192.168.1.2:/home /mnt/win二.远程主机为Windows的情况1.Windwos机器开放一个共享目录,例如名字为shareFile。2.linux使用mount命令远程挂载,命令如下mou原创 2012-10-03 09:47:24 · 5141 阅读 · 0 评论 -
软件工具的设计原则
要让设计原则成为一种习惯。1。一次做好一件事情2。处理文本行不要处理二进制文件3。使用正则表达式4。默认使用标准的输入/输出5。避免喋喋不休6。输出的格式必须与可接受的输入格式一致7。让工具去做困难的事情8。构建工具之前,先想想这是在做任何工具的时候一个不错的习惯,其实生活中在作一件事情的时候也是一样的原则,养成作事情的良好的习惯往往是成功的基础。原创 2012-02-28 10:16:30 · 767 阅读 · 0 评论 -
linux命令行下svn的使用方法(完整版)
1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co 2、往版本库中添加新的文件svn add file例如:svn翻译 2011-07-25 13:55:15 · 1359 阅读 · 0 评论 -
eclipse debug (调试) 学习心得
1.Step Into (also F5) 跳入2.Step Over (also F6) 跳过3.Step Return (also F7) 执行完当前method,然后return跳出此method4.step Filter 逐步过滤 一直执行直到遇到未经过滤的位置或断点(设转载 2011-07-23 17:07:46 · 638 阅读 · 0 评论 -
Linux操作系统中的文件目录结构
Linux操作系统中的文件目录结构 “/”根目录部分有以下子目录: /usr 目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本的主要的应用程序,譬如,Netscape。 /var 目录包含在正常原创 2011-07-22 15:57:54 · 865 阅读 · 0 评论 -
ubuntu man手册完善
ubuntu man手册完善Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。Linux的man手册共有以下几个章节:1、Standard commands (标准命令)2、System calls (系统调用)3、Library原创 2011-07-10 10:36:01 · 698 阅读 · 0 评论 -
unix环境多进程编程----用到的32个系统调用祥解
转载)unix环境多进程编程----用到的32个系统调用祥解一.多进程程序的特点 由于UNIX系统是分时多用户系统, CPU按时间片分配给各个用户使用, 而在实质上应该说CPU按时间片分配给各个进程使用, 每个进程都有自己的运行环境 以使得在CPU做进程切换时不会"忘记"该进程已转载 2011-07-11 09:55:37 · 986 阅读 · 0 评论 -
Linux下动态库的生成和使用
一.动态库的基本概念1. 动态链接库是程序运行时加载的库,当动态链接库正确安装后,所有的程序都可以使用动态库来运行程序。动态链接库是目标文件的集合,目标文件在动态链接库中的组织方式是按照特殊方式形成的。库中函数和变量的地址是相对地址,不是绝对地址,其真实地址在调用动态库的程序加载时形成。2. 动态链接库的名称有别名(soname), 真名(realname)和链接名(linker原创 2012-10-17 11:50:24 · 747 阅读 · 0 评论 -
Linux下静态库生成和使用
一.静态库概念1.库是预编译的目标文件(object files)的集合,它们可以被链接进程序。静态库以后缀为”.a”的特殊的存档(archive file)存储。2.标准系统库可在目录/usr/lib与/lib中找到。比如,在类Unix系统中C语言的数序库一般存储为文件/usr/lib/libm.a。该库中函数的原型声明在头文件/usr/include/math.h中。3.C标准库原创 2012-10-17 11:54:40 · 648 阅读 · 0 评论 -
makefile
陈皓 (优快云)概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写ma转载 2012-10-23 19:19:21 · 713 阅读 · 0 评论 -
常见编译问题
编程工程文件时,为什么会提示“ make (e=2): The system cannot find the file specified ”或者是“ 'arm-none-eabi-gcc' 不是内部或外部命令,也不是可运行的程序或批处理文件”?通常这表明,操作系统在你指定的路径中,找不到makefile中需要使用的命令。如果发生类似下面的错误,应该是找不到gcc命令所转载 2012-12-18 09:03:23 · 1798 阅读 · 0 评论 -
linux下编译arm-gcc的交叉编译总结
一、基础知识 1、交叉编译的概念 你的本机是linux,你的目标代码是STM32(arm指令的子集) 用linux系统的gcc1,编译一个gcc2,gcc1是linux本机的用于生成x86代码,gcc2本质是x86代码,但是gcc2生成的目标代码是stm32的代码。gcc2是一个干净的编译器,通常还需要集成一个newlib库,或者glibc库。生成gcc3所以:gcc1是本机的转载 2012-12-18 09:36:07 · 2007 阅读 · 0 评论 -
get mac address
address原创 2012-11-05 11:22:56 · 864 阅读 · 0 评论 -
ioctl 获取本机网卡ip地址 | socket()
科学尊敬事实,不克不及胡乱编造来由来附会一部学说。#include #include #include #include #include #include #include int main(){ int inet_sock; struct ifreq ifr; inet_sock = socket(AF_INET, SOCK_D转载 2012-11-04 22:17:29 · 1816 阅读 · 0 评论