linux
ziyou飞翔
嵌入式linux爱好者+从业者
展开
-
让你提升命令行效率的 Bash 快捷键
生活在 Bash shell 中,熟记以下快捷键,将极大的提高你的命令行操作效率。编辑命令Ctrl + a :移到命令行首Ctrl + e :移到命令行尾Ctrl + f :按字符前移(右向)Ctrl + b :按字符后移(左向)Alt + f :按单词前移(右向)Alt + b :按单词后移(左向)Ctrl + xx:在命令行首和光标之间移动Ctrl + u :从光标处删除至命令行首转载 2014-08-05 16:42:00 · 457 阅读 · 0 评论 -
关于linux shell 中的cat << EOM
今天看TI提供的烧写SD卡的脚本发有很多cat 例如: 520 cat 521 522 ################################################################################ 523 524 Partitioning Boot 525 526 #############原创 2015-08-14 13:59:15 · 4215 阅读 · 0 评论 -
cc、gcc、g++、CC的区别概括
gcc是C编译器;g++是C++编译器;linux下cc一般是一个符号连接,指向gcc;gcc和g++都是GUN(组织)的编译器。而CC则一般是makefile里面的一个名字,即宏定义,嘿,因为Linux/Unix都是大小写敏感的系统,这点一定要注意。cc是Unix系统的C Compiler,而gcc则是GNU Compiler Collection,GNU编译器套装。gcc原名为Gun转载 2015-08-29 11:13:59 · 502 阅读 · 0 评论 -
Linux下VirtualBox安装XP,U盘、U盾无法识别解决办法
Linux为主机,Virtualbox安装了XP系统,插入U盘、U盾,Linux可以识别,但是虚拟机中不能识别U盘、U盾。第一步,需要安装Oracle VM VirtualBox Extension Pack,去官网下载后,在Virtualbox“管理”-“全局设定”-“扩展”中安装下载好的安装包。第二步,将你的用户名,比如说是test,加入到 vboxusers组中,运行此命令,转载 2015-09-12 13:29:24 · 1940 阅读 · 0 评论 -
vim多窗口使用技巧
vim多窗口使用技巧1、打开多个窗口打开多个窗口的命令以下几个:横向切割窗口:new+窗口名(保存后就是文件名) :split+窗口名,也可以简写为:sp+窗口名纵向切割窗口名:vsplit+窗口名,也可以简写为:vsp+窗口名2、关闭多窗口可以用:q!,也可以使用:close,最后一个窗口不能使用close关闭。使用close只是暂时关闭窗口,其内容还转载 2015-09-16 09:15:13 · 347 阅读 · 0 评论 -
platform_driver_register( )过程追踪
以下代码源于linux3.1.9。platform_driver_register( ) 是内核中非常著名的函数 。platform_driver_register( )负责注册平台驱动程序,如果在内核中找到了使用驱动程序的设备,调用probe( )。刨去参数检查、错误处理,platform_driver_register的主要过程如下:。。。 { 。。。转载 2015-10-13 19:14:02 · 2511 阅读 · 0 评论 -
ubuntu14.04 使用传统的netcat
Ubuntu上默认安装的是netcat-openbsd,而不是经典的netcat-traditional. 网上例子很多都是以netcat-traditional为例. sudo apt-get -y install netcat-traditional 设置默认的nc,选择/bin/nc.traditional: sudo update-alternatives --config原创 2016-01-23 13:40:47 · 6719 阅读 · 2 评论 -
linux环境变量设置方法总结(PATH/LD_LIBRARY_PATH)
PATH: 可执行程序的查找路径查看当前环境变量:echo $PATH设置: 方法一:export PATH=PATH:/XXX 但是登出后就失效方法二:修改~/.bashrc或~/.bash_profile或系统级别的/etc/profile 1. 在其中添加例如export PATH=/opt/ActivePython-2.7/bin:$PATH转载 2016-10-11 10:22:35 · 1993 阅读 · 0 评论 -
C语言实现程序跳转到绝对地址0x100000处执行
嵌入式笔试题:想让程序跳转到绝对地址0x100000处执行,该如何做?网上看到有如下答案:*((void(*)(void))0x100000)();经过在VC++6.0和Linux gcc4.4.3下测试,均不能通过编译。VC++6.0报错:error C2100: illegal indirectionGCC报错:error: void value not转载 2017-04-08 14:45:57 · 2012 阅读 · 0 评论 -
tmux的使用方法和个性化配置
介绍tmux是一个优秀的终端复用软件,即使非正常掉线,也能保证当前的任务运行,这一点对于远程SSH访问特别有用,网络不好的情况下仍然能保证工作现场不丢失!此外,tmux完全使用键盘控制窗口,实现窗口的切换功能。简单地说,tmux对于我主要有两个功能(这应该也是tmux的主要功能):split窗口。可以在一个terminal下打开多个终端,也可以对当前屏幕进行各种split,转载 2017-04-19 11:32:04 · 437 阅读 · 0 评论 -
在Linux中让echo命令显示带颜色的字
echo显示带颜色,需要使用参数-e格式如下:echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"例如: echo -e "\033[41;37m TonyZhang \033[0m"其中41的位置代表底色, 37的位置是代表字的颜色 注: 1、字背景颜色和文字颜色之间是英文的“”“” 2、文字颜色后面有个m 3、字符串前后可以没有空格,如果有的话,输出也是同样有空格转载 2017-04-25 15:02:42 · 322 阅读 · 0 评论 -
Linux常用文件系统概述-RAM篇
前面提到的文件系统都是基于Flash存储器的,而本文介绍的这些文件系统都是利用RAM来作为他们的存储空间。它们共同的优点都是读写的速度非常快(因为是在内存中读写),而缺点也很明显,就是当系统复位之后会丢失所有数据。 二、基于RAM的文件系统 1、Ramdisk文件系统 Ramdisk是将一部分固定大小的内存当做分区来使用转载 2017-09-09 16:56:27 · 786 阅读 · 0 评论 -
busybox telnetd: can't find free pty
1、内核选项:CONFIG_UNIX98_PTYS=yCONFIG_DEVPTS_MULTIPLE_INSTANCES=y 2、busybox选项:CONFIG_FEATURE_DEVPTS=y3、有设备文件mkdir /dev/ptsmount -t devpts devpts /dev/pts //将devpts文件系统加载在/dev/pstmk转载 2017-11-03 13:33:46 · 1095 阅读 · 0 评论 -
git 生在补丁文件
用git commit完成提交后可以用如下命令生成补丁文件:git format-patch -1原创 2015-08-15 14:54:28 · 440 阅读 · 0 评论 -
arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别
命名规则交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]arch - 体系架构,如ARM,MIPSvendor - 工具链提供商os - 目标操作系统eabi - 嵌入式应用二进制接口(Embedded Application Binary Interface)根据对操作系统的支持与否,ARM GCC可分为支持和不支持操作系统,转载 2015-06-23 13:50:23 · 413 阅读 · 0 评论 -
《让你提升命令行效率的 Bash 快捷键 [完整版]》
原文地址:转载好文--《让你提升命令行效率的 Bash 快捷键 [完整版]》 作者:tekkamanninja在LinuxTOY上看到一篇讲bash快捷键的好文,自觉实在不错。但是不知为啥链接老是打不开,好不容易在Google Reader上打开了,火速复制转载,分享如下:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~让你提转载 2015-04-16 13:57:33 · 407 阅读 · 0 评论 -
消息队列工作机制 msgsnd: Invalid argument
msgsnd: Invalid argument最近写个一个小程序 测试System V的消息队列工作机制,写完代码后编译通过但是运行出现这个错误msgsnd: Invalid argument于是去Google ,可惜没有找到满意的结果,后来仔细检查代码发现 没有对消息类型赋值,花了我2个小时,终于搞定,以此告诫程序员要细心啊,呵呵这是代码/* 发送*/#include转载 2014-08-20 17:03:08 · 2165 阅读 · 0 评论 -
linux后台运行和关闭、查看后台任务
fg、bg、jobs、&、nohup、ctrl + z命令一、& 加在一个命令的最后,可以把这个命令放到后台执行,如gftp &,二、ctrl + z 可以将一个正在前台执行的命令放到后台,并且处于暂停状态,不可执行三、jobs 查看当前有多少在后台运行的命令 jobs -l选项可显示所有任务的PID,jobs的转载 2014-09-09 10:35:52 · 1239 阅读 · 0 评论 -
Linux下高并发Tcp需要突破的限制
1、修改用户进程可打开文件数限制在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的 限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当 前用户进程打开的文件数限制:[speng@as4 ~]$ uli转载 2014-09-10 10:54:11 · 717 阅读 · 0 评论 -
epoll使用详解(精髓)
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且转载 2014-09-10 14:09:00 · 553 阅读 · 0 评论 -
linux 查看文件系统类型
原文地址:http://www.cnblogs.com/kysnail/archive/2012/03/25/2417221.html转载 2014-11-11 11:27:47 · 634 阅读 · 0 评论 -
libpcap使用
libpcap使用libpcap是一个网络数据包捕获函数库,功能非常强大,Linux下著名的tcpdump就是以它为基础的。今天我们利用它来完成一个我们自己的网络嗅探器(sniffer)首先先介绍一下本次实验的环境:Ubuntu 11.04,IP:192.168.1.1,广播地址:192.168.1.255,子网掩码:255.255.255.0可以使用下转载 2014-10-17 17:36:51 · 605 阅读 · 0 评论 -
linux 系统单网卡绑定多个IP地址方法
如果linux 系统只有一个物理网卡,而在实际使用中,有时需要配置单网卡具备多个IP 地址。步骤:1、root登录 linux系统2、查看现有网络配置[root@localhost ~]# cd /etc/sysconfig/network-scripts/[root@localhost network-scripts]# vi ifcfg-eth0DEVICE=eth0转载 2014-10-19 15:35:01 · 966 阅读 · 0 评论 -
vi 多行添加注释,删除注释,多行操作
按键操作:添加注释:Ctrl+v 进入列编辑模式。向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如“#”,再按Esc。就会全部注释了。删除注释:同样 Ctrl+v 进入列选择模式,移到光标把注释符选中,按下d,OK了 使用替换命令::% s/^/#/g 来在全部内容的行首添加 # 号注释:2,50 s/^/#/g转载 2014-11-23 15:22:45 · 1408 阅读 · 0 评论 -
makefile函数集锦
Makefile 常用函数表一、字符串处理函数1.$(subst FROM,TO,TEXT)函数名称:字符串替换函数—subst。函数功能:把字串“TEXT”中的“FROM”字符替换为“TO”。返回值:替换后的新字符串。2.$(patsubst PATTERN,REPLACEMENT,TEXT)函数名称:模式替换函数—patsubst。函数功能:搜索“TEXT”中转载 2014-11-23 17:01:03 · 557 阅读 · 0 评论 -
linux下环境变量设置总结
PATH和LD_LIBRARY_PATH本质都是变量,所谓变量的意思就是由别人赋值产生的,直觉往往会让我们添加和减少这个变量本身的某些路径,实际上这是不正确的。正确的做法是我们要去修改赋予这个变量数值的那些配置文件,加一条路径或者减一条。说到底变量只关乎显示,不关乎其用于显示的内容。PATH: 可执行程序的查找路径查看当前环境变量:echo $PATH 设置:转载 2014-11-29 11:11:04 · 481 阅读 · 0 评论 -
移植tcpdump到arm linux
以前已经移植过libpcac库,现在可以tcpdump1、http://www.tcpdump.org/#latest-release下载tcpdump源码2、解压:tar -xf tcpdump-4.6.2.tar.gzcd tcpdump-4.6.2/3、配置: ./configure --host=arm CC=arm-linux-gcc --disable-ipv6原创 2014-12-16 18:35:45 · 3285 阅读 · 0 评论 -
五种利用strace查故障的简单方法
我一直惊讶为什么这么少的人认识到可以利用strace来干的事,它一直是我的第一调试工具,因为基本上它存在于我运行过的所有的Linux系统上,它可以用来在很多方面进行故障诊断。什么是strace?strace是一个非常简单的工具,它可以跟踪系统调用的执行。最简单的方式,它可以从头到尾跟踪binary的执行,然后以一行文本输出系统调用的名字,参数和返回值。其实它可以转载 2014-12-26 09:53:16 · 759 阅读 · 0 评论 -
U-BOOT 挂网络文件系统 出现 nfs: server 192.168.1.231 not responding, still trying 问题解决方法
在U-boot命令行启动在数设置好nfs文件系统,启动到最后出现nfs: server 192.168.1.231 not responding, still trying,然就就一直卡在这里了原因是在NFS文件系统的/etc/init.d/rcS 中有设置IP地址的地方,并跟U-BOOT中配置的IP段还不一样,导致网络无法连通。去掉IP设置语句即可正常挂NFS原创 2018-01-13 21:26:54 · 1319 阅读 · 0 评论