Linux
zhuangtim1987
这个作者很懒,什么都没留下…
展开
-
Linux下的lds链接脚本简介(二)
七、 SECTIONS命令SECTIONS命令告诉ld如何把输入文件的sections映射到输出文件的各个section: 如何将输入section合为输出section; 如何把输出section放入程序地址空间(VMA)和进程地址空间(LMA).该命令格式如下:SECTIONS{SECTIONS-COMMANDSECTIONS-COMMAND转载 2014-08-28 17:12:05 · 431 阅读 · 0 评论 -
linux后台运行和关闭、查看后台任务
fg、bg、jobs、&、nohup、ctrl+z、ctrl+c 命令一、&加在一个命令的最后,可以把这个命令放到后台执行,如watch -n 10 sh test.sh & #每10s在后台执行一次test.sh脚本二、ctrl + z可以将一个正在前台执行的命令放到后台,并且处于暂停状态。三、jobs查看当前有多少在后台运行的转载 2015-10-02 19:51:44 · 685 阅读 · 0 评论 -
Linux 常见网络参数整理
1.tcp连接保持管理:net.ipv4.tcp_keepalive_time = 7200如果在该参数指定时间内某条连接处于空闲状态,则内核向远程主机发起探测net.ipv4.tcp_keepalive_intvl = 75内核向远程主机发送的保活探测的时间间隔net.ipv4.tcp_keepalive_probes = 9内核发送保活探测的最大原创 2015-10-20 16:15:30 · 460 阅读 · 0 评论 -
Linux 内核Tcp Socket参数调优
/proc/sys/net目录所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/net目录下内容的修改都是临时的,任何修改在系统重启后都会丢失),例如下面这些重要的参数:参数(路径+文件)描述默认值优化值/proc/sys/net/core/rmem_d原创 2015-10-20 16:32:30 · 806 阅读 · 0 评论 -
Linux 性能分析相关概念(来自IBM红皮书)
关于处理器的性能指标。 CPU使用率【CPU Utilization】 这可能是最直接的指标了,它表示每个处理器的整体使用率。在IBM System x架构中,如果在持续一段时间里CPU使用率超过80%,就可能预示着CPU出现了瓶颈。 用户时间【User Time】 表示用户进程所花费的CPU百分比,包括Nice时间。在用户时间值很高的情况下,表明系统正在执行实原创 2015-10-20 16:19:27 · 452 阅读 · 0 评论 -
Linux awk 命令
awk是一个强大的文本分析工具,在对文本文件的处理以及生成报表,awk是无可替代的。awk认为文本文件都是结构化的,它将每一个输入行定义为一个记录,行中的每个字符串定义为一个域(段),域和域之间使用分割符分割。awk 会把每行进行一个拆分,用相应的命令对拆分出来的“段”进行处理。(1)行工作模式,读入文件的每一行,会把一行的内容,存到$0里(2)使用内置的变量FS(段的分隔符,原创 2016-08-22 15:09:49 · 307 阅读 · 0 评论 -
Linux sed 命令
简介sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。原创 2016-08-22 16:08:16 · 282 阅读 · 0 评论 -
Ubuntu查看crontab运行日志
修改rsyslogsudo vim /etc/rsyslog.d/50-default.conf cron.* /var/log/cron.log #将cron前面的注释符去掉 重启rsyslogsudo service rsyslog restart 查看crontab日志tail -f /var/log/cron.log原创 2016-08-22 21:08:21 · 9996 阅读 · 0 评论 -
Linux 文件与目录管理
1. 直接拷贝多个文件夹,使用命令: cp -rf /etc/ /home2. linux下面划分分区的一般办法有(以20G为例):/(根分区) 10G;/boot(启动引导分区) 200MB;/home 8G;/swap(交换分区) 1G(和虚拟机的内存相符);常用的就是这种分区方式(可供初学者原创 2016-08-15 10:46:09 · 323 阅读 · 0 评论 -
shell获取进程ID
shell获取进程ID的方法:我知道和实践过的有这么三种:1、ps -A |grep "cmdname"| awk '{print $1}'2、pidof "cmdname"3、pgrep "cmdname"这三种在bash和busybox ash里面的运行结果稍有不同,第一种完全相同,但是因为调用命令次数较多,性能上是不行的。第二种: pidof 只能获取程序原创 2016-10-08 15:13:33 · 3635 阅读 · 0 评论 -
将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)
工欲善其事,必先利其器。一个强大的开发环境可以大大提高工作效率。好吧,我知道这是废话。。。不过,我想一定有很多跟我一样打算进入Linux平台开发的新手,一开始都为找不到一个像Windows下的VS那样可以一键安装并且功能几乎完美无缺的开发工具而郁闷不已,甚至打算收回刚刚迈出的脚步。所幸的是,通过几天努力,我总算配置出了一个功能完备的基于Vim的开发环境。这个开发环境除了基本的Vim外,还包括Cta转载 2014-07-18 08:59:11 · 543 阅读 · 0 评论 -
串口应用编程
#include #include /*标准输入输出定义*/#include /*标准函数库定义*/#include /*Unix 标准函数定义*/#include #include #include /*文件控制定义*/#include /*PPSIX 终端控制定义*/#include /原创 2014-12-17 09:36:05 · 456 阅读 · 0 评论 -
利用taskset有效控制cpu资源
常常感觉系统资源不够用,一台机子上跑了不下3个比较重要的服务,但是每天我们还要在上面进行个备份压缩等处理,网络长时间传输,这在就很影响本就不够用的系统资源;这个时候我们就可以把一些不太重要的比如copy/备份/同步等工作限定在一颗cpu上,或者是多核的cpu的一颗核心上进行处理,虽然这不一定是最有效的方法,但可以最大程度上利用了有效资源,降低那些不太重要的进程占用cpu资源;查看系转载 2014-11-27 15:58:47 · 498 阅读 · 0 评论 -
Linux入门经典
Linux入门教程前言第一章 关于Linux的历史第二章 图形界面还是命令窗口第三章 Linux操作系统的安装第四章 初步进入linux世界第五章 Linux系统的远程登录第六章 Linux文件与目录管理第七章 Linux系统用户以及用户组管理第八章 Linux磁盘管理第九章 文本编辑工具vim第十章 文档的压缩与打包第十一章 安装RPM包或者安原创 2014-08-28 09:32:55 · 409 阅读 · 0 评论 -
Linux下的lds链接脚本简介(三)
八、 内存区域命令在默认情形下,连接器可以为section在程序地址空间内分配任意位置的存储区域。并通过输出section描述的> REGION属性显示地将该输出section限定于在程序地址空间内的某块存储区域,当存储区域大小不能满足要求时,连接器会报告该错误。你也可以用MEMORY命令让在SECTIONS命令内*未*引用的selection分配在程序地址空间内的某个存储区域内。转载 2014-08-28 17:12:42 · 360 阅读 · 0 评论 -
Linux下的lds链接脚本简介(四)
十一、 表达式lds中表达式的文法与C语言的表达式文法一致,表达式的值都是整型,如果ld的运行主机和生成文件的目标机都是32位,则表达式是32位数据,否则是64位数据。以下是一些常用的表达式:_fourk_1 = 4K; /* K、M单位 */_fourk_2 = 4096; /* 整数 */_fourk_3 = 0×1000; /* 16 进位 */_fourk_4 =转载 2014-08-28 17:11:57 · 478 阅读 · 0 评论 -
Linux下的lds链接脚本简介(一)
转载自:http://linux.chinaunix.net/techdoc/beginner/2009/08/12/1129972.shtml一、 概论每一个链接过程都由链接脚本(linker script, 一般以lds作为文件的后缀名)控制. 链接脚本主要用于规定如何把输入文件内的section放入输出文件内, 并控制输出文件内各部分在程序地址空间内的布局. 但你也可以用转载 2014-08-28 17:10:41 · 410 阅读 · 0 评论 -
linux LCD驱动(一)--硬件分析
一 实验内容简要描述1.实验目的学会驱动程序的编写方法,配置S3C2410的LCD驱动,以及在LCD屏上显示包括bmp和jpeg两种格式的图片2.实验内容 (1)分析S3c2410实验箱LCD以及LCD控制器的硬件原理,据此找出相应的硬件设置参数,参考xcale实验箱关于lcd的设置,完成s3c2410实验箱LCD的设置 (2)在LCD转载 2014-09-15 14:26:50 · 370 阅读 · 0 评论 -
linux LCD驱动(三)--图形显示
3. BMP和JPEG图形显示程序3.1 在LCD上显示BMP或JPEG图片的主流程图首先,在程序开始前。要在nfs/dev目录下创建LCD的设备结点,设备名fb0,设备类型为字符设备,主设备号为29,次设备号为0。命令如下:mknod fb0 c 29 0在LCD上显示图象的主流程图如图3.1所示。程序一开始要调用open函数打开设备,然后调用ioctl获取设备相关信息,接下转载 2014-09-15 14:29:01 · 460 阅读 · 0 评论 -
mini2440 dm9000 网卡驱动详解 1
虽然Linux驱动程序应该是和具体的硬件平台分离的,但是为了更好的理解DM9000的驱动程序,这里还是结合一下Mini2440开发板,这样也可以更好的体会如何实现驱动和平台分离。 本文分成以下几个部分:一、Mini2440开发板上DM9000的电气连接和Mach-mini2440.c文件的关系。 二、两个重要的结构体介绍:sk_buff和net_devic转载 2014-09-15 14:59:01 · 590 阅读 · 0 评论 -
mini2440 dm9000 网卡驱动详解 2
3. platform_driver的remove, suspend和resume的实现 remove函数的功能是把设备从内核中移除,释放内存区域。该函数在卸载模块时被调用。代码清单如下: [cpp] view plaincopystatic int __devexit dm9000_drv_remove(s转载 2014-09-15 14:59:50 · 472 阅读 · 0 评论 -
mini2440 dm9000 网卡驱动详解 3
*dm9000_get_drvinfo() 该函数去的设备的基本信息(设备名,版本,总线名)传给ethtool_drvinfo结构体变量。代码清单如下: [cpp] view plaincopystatic void dm9000_get_drvinfo(struct net_device *dev,转载 2014-09-15 15:02:51 · 797 阅读 · 0 评论 -
linux LCD驱动(二)--FrameBuffer
2. Linux 驱动2.1 FrameBufferLinux是工作在保护模式下,所以用户态进程是无法像DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,Lin仿显卡的功能,将显ux抽象出FrameBuffer这个设备来供用户态进程实现直接写屏。Framebuffer机制模卡硬件结构抽象掉,可以通过Framebuffer的读写直接对显存进行操作。用户可以将Framebuffer转载 2014-09-15 14:28:26 · 509 阅读 · 0 评论 -
TCP连接的状态详解以及故障排查
我们通过了解TCP各个状态,可以排除和定位网络或系统故障时大有帮助。(总结网络上的内容)1、TCP状态linux查看tcp的状态命令:1)、netstat -nat 查看TCP各个状态的数量2)、lsof -i:port 可以检测到打开套接字的状况3)、 sar -n SOCK 查看tcp创建的连接数4)、tcpdum转载 2016-12-25 23:37:00 · 930 阅读 · 0 评论