自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

转载 linux的sort命令

sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始!1 sort的工作原理sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。[rocrocket@rocrocket programming]$ cat seq.txtbananaapplepear

2015-07-23 14:27:11 306

原创 linux根文件系统与initrd

1 根文件系统简单来说,(根文件系统)就是系统第一个mount的文件系统Filesystem HandlingLike every   traditional   Unix   system,   Linux   makes   use   of   a   system 's  root   filesystem :  it   is   the   filesystem   that   is...

2015-07-23 14:24:53 119

转载 linux bash shell之变量替换::=、=、:-、-、=?、?句法、:+句法、+句法

变量替换和变量默认值设置是紧密相关的,至少从概念出发是如此。参数扩张是将类似于变量的参数用它的值来替换。例如以“echo $VAR”的形式调用一个简单的变量。此外还有更多的特性可以访问。这个句法还包含一些没有扩展的特性,虽然这些特性自身很有意义。首先,这类特性执行默认变量赋值。使用这些特性时,整个表达式需要用花括号括起来。: ${VAR:=”some default”}这些代码开始的冒

2015-07-22 17:45:17 506

原创 GUN与Linux历史

GUN的发起者是Richard Stallman,他是一个著名的黑客。这里的黑客不是指破坏别人系统的黑客,黑客的真正含义是极度热爱编程的人。当年的Unix操作系统有一段时间跟windows一样也要收费了,不提供源码,要花钱购买copy,copy不允许被安装到别人的机器上,跟windows或其余软件的做法如出一辙。Stallman是一个有理想的人,他想建立一个完全自由的操作系统,公开源码,任何人都可...

2015-07-22 17:43:01 566

转载 Linux 环境定制.bashrc 文件

Linux是可定制性非常强的操作系统,好的设置可以帮助你更高效的完成任务以及获得更好的体验。以下是我当前使用的 .bashrc 文件设置,供大家参考,后续如果更高效的方法,再逐步更新。# .bashrc# User specific aliases and functions# Source global definitions ------------if [ -f /e

2015-07-21 13:58:22 910

原创 Linux内核中的互斥与同步机制

共有这么几大类1.自旋锁2.信号量3.互斥锁4.RCU5.原子变量6.完成量文章列举了各个互斥机制所要用的api以及在什么情况下用哪种互斥,并未对内核中的互斥和同步机制详细分析,只供今后写代码时查阅,如果想了解详细机制可参考LKD或<<深入Linux设备驱动程序内核机制>>等书.自旋锁spin_lock/spin_unlock因为只禁止抢占,并未对中断做处理,所以不能在中断...

2015-07-21 13:56:20 198

转载 Linux的netstat命令

转载:http://blog.sina.com.cn/s/blog_14d68bfac0102vv2h.html简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为

2015-07-20 12:49:06 220

原创 调整Linux系统实现高并发

转自:http://512bit.blog.51cto.com/10485620/1674049ulimit -SHn 65535内核优化net.ipv4.ip_forward = 1            #开启路由功能net.ipv4.conf.default.rp_filter = 1    #禁用所有IP源路由net.ipv4.conf.default.accept_source_r...

2015-07-20 12:46:47 115

转载 linux的管道及重定向

在linux系统中,大多数命令很简单,很少出现复杂功能的命令,每个命令往往实现一个或者几个功能十分简单的功能,我们可以通过将多个简单的命令组合在一起来完成复杂的功能。在linux中几乎所有的命令返回的都是纯文本,因为命令都是运行在CLI下的,而纯文本又是命令行的输入格式,这就让命令协作成为可能。命令的组合是通过重定向和管道机制完成的。命令行的数据流有以下定义:标准输入         

2015-07-18 23:54:34 316

原创 python调用调用Linux命令

如何调用Linux命令下面代码演示了调用一个shell命令, 其中,命令的输出会存储到result变量中, 而命令的返回值,则存储到exitcode中,由此可见,调用shell命令还是很方便的:import commandsexitcode,result = commands.getstatusoutput('dir')print "exitcode: %s" %(exitcode)print "...

2015-07-18 23:51:59 179

转载 Linux内核驱动之初始化和关停

模块初始化函数注册模块提供的任何功能. 这些功能, 我们指的是新功能, 可以由应用程序存取的或者一整个驱动或者一个新软件抽象. 实际的初始化函数定义常常如:static int __init initialization_function(void){  /* Initialization code here */}module_init(initialization_function);

2015-07-17 16:46:03 630

原创 linux标准IO缓冲机制研究

一、什么是缓存I/O(Buffered I/O)缓存I/O又被称作标准I/O,大多数文件系统默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,操作系统会将I/O的数据缓存在文件系统的页缓存(page cache)中,也就是说,数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。1.缓存I/O有以下优点:A.缓存I/O使用了操作系统内核缓冲区,...

2015-07-17 16:43:34 134

转载 linux 终端快速移动命令和历史命令

control+a  移动到终端的开始control+e  移动到终端的结尾control+k  删除终端光标后的所有内容control+d  删除光标后的单个字符control+b 向前移动光标control+f  向后移动光标control+p 上一条命令control+l   清屏=clearhistory -c 清空整个命令历史-d 500 删除第5

2015-07-16 11:11:37 467

原创 Linux 服务器25个安全技巧

大家都认为Linux系统默认是安全的,我大体是认可的(这是个有争议的话题)。Linux默认确实有内置的安全模型。你需要打开它并且对其进行定制,这样才能得到更安全的系统。Linux更难管理,不过相应也更灵活,有更多的配置选项。对于系统管理员而言,让产品的系统更安全,免于骇客和黑客的攻击,一直是一项挑战。本文将介绍25个有用的技巧和窍门 ,帮助你让Linux系统更加安全。希望下面的这些技巧和窍门可以帮...

2015-07-16 11:09:34 133

转载 Linux的用户目录

Linux用户信息常用目录用户信息cat /etc/passwdroot:x:0:0:root:/root:/bin/bash账户名:密码:UID:GID(基本组):(可选)描述:家目录绝对路径:账户默认使用的shell      [1] 账户名。改名使用命令usermod -l  [2] 密码,该字段已启用。账户密码在/etc/shadow文件配置  [3] UID,

2015-07-15 15:48:15 451

原创 Linux中core文件的产生和调试

在Linux下程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。注: 1. 当然首先编译时要带上gdb信息1.  core文件的生成开关和大小限制1.1使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。1.2 使用ul...

2015-07-15 15:46:14 221

转载 linux的ipc信号量简单实例

信号量实现进程间访问互斥的资源测试例子。主要涉及到的函数及原型如下(加粗、颜色表示要重点关心的上下文相关变量)1: key_tftok(char *fileName, int id);//目的获取key值2: intsemget(key_t key, int nsems, int semflg)//目的获取id3:int semctl(int semid, int semn

2015-07-14 12:57:42 373

原创 Linux查看与修改时区时间

1、查看、修改Linux时区与时间 一、linux时区的查看与修改 1,查看当前时区date -R 2,修改设置时区方法1:tzselect 方法2:仅限于RedHat Linux 和 CentOStimeconfig 方法3:适用于Debiandpkg-reconfigure tzdata 3,复制相应的时区文件,替换系统时区文件;或者创建链接文件cp /usr/share/zoneinfo/$...

2015-07-14 12:55:45 242

转载 linux配置NTP Server

转自:http://512bit.blog.51cto.com/10485620/1671395安装NTP:yum install ntp配置时间源vi /etc/ntp.confserver 210.72.145.44server ntp.api.bzserver 2.centos.pool.ntp.org配置对客户端(172.16.0.0/24的网段机器)提

2015-07-13 18:23:09 326

原创 linux同步IO: sync、fsync与fdatasync

转自:http://my.oschina.net/u/2408048/blog/477673 传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个 缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满或者当内核需要重用该缓冲区以便存放其他磁盘块数据时,再将该缓冲排入输出队 列,然...

2015-07-13 18:20:51 152

转载 Linux下使用gcc编译程序找不到库的分析和解决方法

部分代码如下: #include #include main(){double x = 1.0;double ans;ans = sqrt(x);printf("\nans is %lf\n", ans);return 0;}编译:[root@Xecho mycode]# gcc -o 1 1.c/tmp/ccdzoSZq.o(.text+0x9

2015-07-12 23:35:10 9921

原创 Linux的定时器

在服务端程序设计中,与时间有关的常见任务有:获取当前时间,计算时间间隔;定时操作,比如在预定的时间执行一项任务,或者在一段延时之后执行一项任务。Linux 时间函数Linux 的计时函数,用于获得当前时间:time(2) / time_t (秒)ftime(3) / struct timeb (毫秒)gettimeofday(2) / struct timeval (微秒)clock_gettim...

2015-07-12 23:34:46 90

原创 Linux 下查看局域网内所有主机IP和MAC

用nmap对局域网扫描一遍,然后查看arp缓存表就可以知道局域内ip对应的mac了。nmap比较强大也可以直接扫描mac地址和端口。执行扫描之后就可以 cat /proc/net/arp查看arp缓存表了。进行ping扫描,打印出对扫描做出响应的主机:  $ nmap -sP 192.168.1.0/24  仅列出指定网络上的每台主机,不发送任何报文到目标主机: $ nmap -sL 192.16...

2015-07-11 12:14:06 364

转载 嵌入式Linux系统实现3G网卡拨号

本文介绍在嵌入式Linux中,实现3G联网的基本方法。包括驱动配置,和联网的过程。也对在PC上实现3G的过程进行了介绍。硬件:3g usb模块(华为ce189的3g网卡)+一张sim卡(电信cdma2000)软件系统:Linux主要内容:一、在pc端确认拨号功能可用二、在嵌入式端的实现三、其它一、在pc端确认拨号功能可用===================

2015-07-11 12:08:01 527

转载 linux中输出调试信息

在友善之臂的EEPROM的示例程序中看到有一些不一样的地方,使用了__LINE__这样的预编译宏。而且其用法也是比较好,使得主程序简洁明了。所以就学习了一下。#include #include #include #include #include #include #include #include #include #include "24cXX.h"

2015-07-10 13:50:56 1235

原创 Linux下gprof和oprofiling性能测试工具

有些时候,我们特别关注程序的性能,特别是底层软件,比如驱动程序,OS等。为了更好的优化程序性能,我们必须找到性能瓶颈点,“好钢用在刀刃上”才能取 得好的效果,否则可能白做工作。为了找到关键路径,我们可以使用profilng技术,在linux平台上,我们可以使用gprof和oprofile工 具。gprof是GNU工具之一,它在编译的时候在每个函数的出入口加入了profiling的代码,运行时统计程...

2015-07-10 13:50:49 195

原创 linux 内核代码的offsetof()宏

http://blog.csdn.net/mndscc/article/details/46803917  * 之前一直不理解((type *)0->member)是啥意思;甚至之前还在测试这种用法是否正确。 * 这次在看list_entry的时候,又发现了这个用法。 * 是在offsetof(type,member)中被调用的, * 原宏为:#define offsetof(ty...

2015-07-09 12:41:47 110

转载 Linux的s、t、i、a权限

http://my.oschina.net/u/2408048/blog/474911s:文件属主和组设置SUID和GUID,文件在被设置了s权限后将以root身份执行。在设置s权限时文件属主、属组必须先设置相应的x权限,否则s权限并不能正真生效(c h m o d命令不进行必要的完整性检查,即使不设置x权限就设置s权限,chmod也不会报错,当我们ls -l时看到rwS,大写S说明s权限未生

2015-07-09 12:41:30 408

原创 Linux的INITRAMFS 与 INITRD

1. INITRAMFS 和 INITRD(INITRAMDISK) 是什么?RAMFS 和 RAMDISK 都是内存文件系统,他们有着小巧快速的特点。INIT前缀表示其包含有效“init”可执行文件,可以作为启动的root文件系统。INITRAMDISK出现较早,在使用nor flash和2.4kernel盛行的时期很流行。RAMFS出现也很早,但INITRAMFS是2.6版本kerne...

2015-07-08 15:25:44 493

转载 linux 内核代码的offsetof()宏

* 之前一直不理解((type *)0->member)是啥意思;甚至之前还在测试这种用法是否正确。 * 这次在看list_entry的时候,又发现了这个用法。 * 是在offsetof(type,member)中被调用的, * 原宏为:#define offsetof(type,member) ((size_t) &((type *)0)->member) * size_t

2015-07-08 15:24:54 736

原创 PXE 安装 linux

公司准备每天装很多linux,一台台搞要死人的。本来在自己的笔记本Windows下面做了一个源,但是不稳定老是死机。还是换成linux。查了文档,走了些弯路。写下来。pxe安装需要几个部分:DHCP: 获得ip,获得 next-server ,启动文件名TFTP:从这里下载到启动文件。HTTP: 看了些文档都是NFS,但机器正好有http而且也蛮方便就用了这个。反正一样...

2015-07-07 13:17:04 97

原创 linux变量内容的删除与替代${}

bash 对${}定义了不少用法。对变量的操作及判断是一个十分有用的工具,应好好学习一下,以下是说明的表列变量的删除${parameter#word}${parameter##word}${parameter%word}${parameter%%word}变量的提取${parameter:offset}${parameter:offs...

2015-07-05 21:49:10 499

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除