linux C
文章平均质量分 62
G1036583997
这个作者很懒,什么都没留下…
展开
-
自己编写的more命令
/* 重定向方面存在缺憾(重定向后没有调试完成) stdin时非重定向可用read和write屏蔽部分部分*/#include #include #include #include #include //lstat#include //lstat#include#define PAGELEN 24#define LINELEN 1024//#define原创 2012-08-15 16:20:45 · 892 阅读 · 0 评论 -
模仿内核缓存之who命令的缓存
1.内核缓冲内核操作磁盘时,内核会将磁盘上的数据块复制到内核缓冲区,当一个用户空间中的进程要从磁盘中读取数据时,内核一般不直接读取磁盘,而是将内核缓冲区中的数据复制到进程缓冲区。当进程要求的数据快不再内核缓冲区时,内核会把相应的数据快加入到请求数据列表中,然后把该进程挂起,接着为其他进程服务。一段时间后(很短),内核会把相应的数据块读到内核缓冲区,然后复制到进程缓冲区,最后被挂起的进程被唤原创 2012-08-21 20:32:36 · 891 阅读 · 0 评论 -
自己编写who命令
系统:ubuntu 12.041.man who有这么几句话: If FILE is not specified, use /var/run/utmp. /var/log/wtmp as FILE is common. If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' a原创 2012-08-21 20:21:10 · 804 阅读 · 0 评论 -
Linux 下串口USB等设备通信编程入门2
1.获取终端设备的波特率属性等 对于波特率的设置通常使用cfsetospeed和cfsetispeed函数来完成。获取波特率信息是通过cfgetispeed和cfgetospeed函数来完成的。 cfsetospeed函数.头文件: #include 函数原型: int cfsetospeed(struct termios *termptr,原创 2012-09-02 15:36:19 · 1956 阅读 · 0 评论 -
Linux 下串口USB等设备通信编程入门1
此文章主要以串口为例子进行讲解,USB只需要修改打开的终端设备就可以串口简介串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是 RS-232-C 接口(又称 EIA RS-232-C)它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是"数据终端设备(DTE)和数据通讯设备原创 2012-08-25 15:33:06 · 11306 阅读 · 0 评论 -
Linux下的硬件驱动——USB设备(上)(驱动配置部分)
前言USB是英文"Universal Serial Bus"的缩写,意为"通用串行总线"。是由Compaq(康柏)、DEC、IBM、Intel、NEC、微软以及Northern Telecom(北方电讯)等公司于1994年11月共同提出的,主要目的就是为了解决接口标准太多的弊端。USB使用一个4针插头作为标准插头,并通过这个标准接头,采用菊花瓣形式把所有外设连接起来,它采用串行方式传输数据,目转载 2012-09-04 11:10:26 · 809 阅读 · 0 评论 -
Linux下的硬件驱动——USB设备(下)(驱动开发部分)
前言在上篇《 Linux下的硬件驱动--USB设备(上)(驱动配制部分)》中,我们知道了在Linux下如何去使用一些最常见的USB设备。但对于做系统设计的程序员来说,这是远远不够的,我们还需要具有驱动程序的阅读、修改和开发能力。在此下篇中,就是要通过简单的USB驱动的例子,随您一起进入USB驱动开发的世界。回页首USB驱动开发在掌握了USB设备的配置后,对于程序员,我们就可以尝转载 2012-09-04 11:11:56 · 1046 阅读 · 0 评论 -
LINUX下main函数获取重定向后的参数
一般情况下利用main()函数自带的特性来进行参数获取#include int main(int argc ,char *argv[ ]){ int i; for(i=1;i<argc;i++){printf("参数是%s\n",argv[i]);} printf("参数个数是:%d\n",argc-1); return 0;}./a.out asdf原创 2012-08-12 22:49:23 · 1102 阅读 · 0 评论 -
vi设置
在vi编辑器里面命令模式选项:set all 查看所有set选项:set 显示当前set设置:filetype on 通过$VIMRUNTIME/filetype.vim.打开文件类型检测ubuntu 8.04默认的vi编辑器不太好使,可以在终端输入sudo apt-get install vim安装vim然后输入sudo -s转载 2013-03-07 09:39:34 · 1024 阅读 · 0 评论 -
Vim配置文件,带详细注释
Vim配置文件,带详细注释"设置vim的颜色方案colorscheme default " 不要使用vi的键盘模式,而是vim自己的 set nocompatible " 保存文件格式set sessionoptions+=resize " 共享外部剪贴板set showcmd转载 2013-03-07 09:44:49 · 1421 阅读 · 0 评论 -
ubuntu vi 配置
首先安装vim编辑器$sudo apt-get install vim vim-gnome vim-tiny vim-gtk vim-nox在用户目录下建立自己的配置文件#cd ~touch一个名为.vimrc文件#touch .vimrc#vi .vimrc输入以下配置:setnocompatible 不使用vi默认键盘布局setnu转载 2013-03-08 10:07:43 · 1087 阅读 · 0 评论 -
chmod 改变文件夹下文件的权限
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为原创 2013-03-08 17:05:14 · 1559 阅读 · 0 评论 -
linux学习入门7——磁盘基本概念(linuxcast.net)
LINUX系统基础(磁盘,分区,MBR,GPT)1.磁盘的基本概念机械硬盘(如图)通过盘片进行存储,一个硬盘可以有一个或多个盘片,没个一个盘片上下都会有一个磁头(用来读写数据)转速(盘片)越高,磁盘性能越高。但功率热量也会跟着上来。一般台式机为7200转,笔记本为5400转.盘片的物理结构限制了发展.固态硬盘(没有了盘片结构)2.基本概念:cylinder(柱面原创 2013-03-11 09:21:01 · 1042 阅读 · 0 评论 -
linux学习入门4——linux系統目录架构(linuxcast.net)2.5
根分区下的目录的功能bin:binary的缩写里面保存的是可执行文件(我们所敲的命令)可执行的二进制命令,所有用都可以使用boot:引导目录整个操作系统的引导启动都在这里,里面有Linux系统的内核,和用uname看到的一样。还有一些引导启动程序dev:device的缩写,计算机上的所有硬件设备,所有的硬件设备都被抽象为文件。cdroom->光驱 sda->硬盘etc:几乎所有的配原创 2013-03-10 16:50:46 · 968 阅读 · 0 评论 -
linux学习入门6——VI编辑器(linuxcast.net)
1.VI已经不仅仅是最为普通意义上的文本编辑器(还有emacs功能更强大)vi 文件名vi设置见之前文章2.三种模式命令模式esc进入命令模式,在此模式下输入不同的命令进行选择、复制、黏贴、撤销等操作,渐入相应的命令插入模式:自由的输入ex模式:按:键可以进入ex模式,光标会移到底部2.命令模式i:在光标前插入o:在当前行的下一行插入新行dd:删除整行原创 2013-03-10 21:22:41 · 875 阅读 · 0 评论 -
linux学习入门8——使用fdisk进行磁盘管理(linuxcast.net)
1.fdisk进行磁盘分区(如图)rescue版本安装在U盘,光盘中。基于MBR分区机制,GPT用parted 分区工具2.使用说明(在Oracle VM virtualBox中为虚拟机添加一块硬盘,以便用于实验)(1)fdisk -l 列出计算机上安装的硬盘及其分区信息。(两个又添加了一个)fdisk -l:Disk /dev/sda: 53.7 GB,原创 2013-03-11 17:41:29 · 1277 阅读 · 0 评论 -
linux学习入门2——linux文件系統基本结构(linuxcast.net)(倒转树状结构、命名机制、查看文件类型)
1.Linux文件系统是一个倒转的单根树状结构(根目录为/) 是严格区分大小写。路径使用/进行分割(windows下用\)2.Linux的树状结构(非常规范严格)几乎所有的类UNIX系统都是这样3.每一个shell或者系统进程都有一个当前的工作目录 ,通过pwd来显示工作目录4.文件命名 (大小写敏感,最多255,除“/”外都是有效字符,可以通过touch命令可以创建一个空白文件或者跟原创 2013-03-09 21:35:22 · 1038 阅读 · 0 评论 -
linux学习入门10——linux文件系統挂载管理(linuxcast.net)(mount、umount、配置fstab进行自动挂载)
挂载使用已经格式化好的文件系统1.磁盘创建好文件分区以后需要挂载到系统的一个目录才能正常的使用 所有操作系统都有挂载操作,只不过有的会自动挂载LINUX一般需要进行手工挂载或者配置系统进行自动挂载 /mnt 默认挂载目录 其他任何目录都可以2.使用mount命令进行挂载操作(1)命令操作root@ming-comput原创 2013-03-12 17:07:20 · 3855 阅读 · 0 评论 -
linux学习入门1——bash命令基本操作(linuxcast.net)(bash部分快捷键、uname、history、通配符、切换用户、作业管理(前台、后台运行,暂停等操作))
1.ctrl+l 清屏(bash)2.不能对kernel直接进行控制,这是需要一个shell程序这时需要shell指令向kernel进行传递信息(这就是shell的功能) shell分为CLI和GUI。命令和图形两种。GUI:GONE CLI:BASH3.bash:在图形界面中是一个模拟终端Terminal。4.bash的组成部分: 提示符:#(root身份登录) $原创 2013-03-09 17:26:41 · 1162 阅读 · 0 评论 -
linux学习入门9——linux文件系統(linuxcast.net)(磁盘分区格式化、创建文件系统、卷标设置及修复损坏文件系统)
1.上一节中直接创建好的分区是不能用的必须要有文件系统才可以使用。 通过文件系统来管理文件系统共及数据。创建文件系统的过程又称之为格式化。 (1) 没有创建文件系统的设备有称为裸设备(raw),可能有些数据库(Oracle)或软件安装的时候会用到裸设备,通过文件系统锅里效率不高或者有一些特殊要求这时候会使用裸设备。(2)常见的文件系统有fat32.NFTS,ext2,ext3,ext4原创 2013-03-12 14:24:46 · 1576 阅读 · 0 评论 -
linux学习入门3——linux文件基本操作(linuxcast.net)(复制、移动、重命名、创建、删除文件及文件夹)
1.cp命令進行复制文件和目录 cp 源文件夹(文件) 目标文件夹(文件) -r递归进行整个文件夹 -v显示详细信息2.mv命令移动或者重命名文件夹(文件)3.touch命令可以创建一个空文件或跟新文件的时间4.通过rm命令可以删除文件或目录 -i交互模式 - r递归的删除包括目录中所有的内容 -f强制删除,没有警告提示5.mkdir创建一个目录 rmdir删除一个空目录原创 2013-03-10 08:47:21 · 931 阅读 · 0 评论 -
linux学习入门11——linux下获取帮助(linuxcast.net)(help、man、info及doc)
获取帮助(没有必要记住所有东西)1.help查看帮助信息2.man命令(manual)1-->用户命令2-->内核系统调用3-->库函数4-->特殊文件和设备5-->文件格式和规范6-->游戏7-->标准和其他页面8-->系统管理命令9-->linux内核APIman -k 关键字 ------------->>>>>>>>原创 2013-03-13 14:35:04 · 1377 阅读 · 0 评论 -
linux学习入门13——linux权限机制(linuxcast.net)(用户和组的管理和操作chmod、chown、chgrp)
权限机制1.权限是用来限制对资源访问的机制,权限一般分为,读、写和执行。系统中没个文件都拥有特定的权限、所属用户及所属组,通过这样的机制来限制那些用户那些组可以对特定的文件进行什么样的操作。 没个进程都是以某个用户的身份运行,以此来限制进程访问资源对目录必须有X权限,即浏览权限2.LINUX的权限是基于UGO(user,group,othe原创 2013-03-14 09:35:18 · 1548 阅读 · 0 评论 -
linux学习入门12——linux用户基础(linuxcast.net)(用户和组的管理和操作)
用户和组1.当我们使用LInux时,需要以一个用户的身份登入,一个进程也需要以一个用户的身份运行,用户限制使用者后进程可以使用、不可以使用哪些资源组用来方便管理用户每个可登录的用户拥有一个指定的shell没个用户创建时都会创建一个与用户名相同的组,这个组就是这个用户的主组,一个用户最多有31个附属组2.用户用户ID是32位,2^32个ID,为原创 2013-03-13 17:54:15 · 1757 阅读 · 0 评论 -
linux学习入门15——网络原理(linuxcast.net)(网络编址,IP,ARP,DNS,域名)
LINUX网络原理(理论)1.网络编址:标识特定的计算机,这种标识叫做网络编址,功能是定位唯一的一台设备 2.IP编址IP是一个双层编址方案,一个IP地址标识一台主机(严格来讲是一个网卡)接口IPv4--->>>32bit 现在地址池已经不够用。IPv6--->>>128bit弥补V4的某些缺点,并提供足够的地址v4分两个部分,网络部分和主原创 2013-03-15 10:24:46 · 1827 阅读 · 0 评论 -
linux学习入门14——Linux扩展权限(linuxcast.net)(uamsk、特殊权限(suid,sgid,sticky))
默认权限和特殊权限1.默认权限umask 属性,用来确定LINUX的默认权限umask 使用数字权限方式表示:如:022目录的默认权限是777-umask文件的默认权限是666-umask一般普通用户的umask是002,root用户默认umask是022命令umask用以查看设置umask的值ming@ming-computer:~$ u原创 2013-03-14 16:06:09 · 1565 阅读 · 0 评论 -
linux学习入门18——LINUX命令行文本处理工具(linuxcast.net)(grep,sed,diff,tr,cut,wc,sort)
命令行文本处理工具 快捷的文本处理技术与工具。 1.文件浏览类cat,more less,head.tail 2.基于关键字搜索文本grep 命令-i :忽略大小写-n :显示结果所在的行-v:输出不带关键字的行-Ax :在输出的时候包含结果所在行之后的指定行数-Bx:在输出的时候包含结果所在行之前的指定行数 xj--->>>数字原创 2013-03-16 16:58:41 · 1361 阅读 · 0 评论 -
linux学习入门17——LINUX多命令协作、管道及重定向(linuxcast.net)
1.开源的文化,建立在原有的现有软件理念:不要重复发明轮子。开放和共享.提高了效率和生产力(大教堂和集市)2管道和重定向.Linux中大多数命令都非常简单,很少出现复杂功能的命令,每个命令往往只实现一个或几个很简单的功能。我们可以通过将不同的命令组合在一起使用(连在一起使用),已达到完成复杂功能的目地。通过管道和重定向机制完成的。3.数据流定义说明:名称:编原创 2013-03-16 15:58:22 · 1022 阅读 · 0 评论 -
linux学习入门16——LINUX网络配置(linuxcast.net)(以太网配置,网络测试,网络故障排查等)
1.以太网连接(以太网Ethernet)在LINUX中以太网被命名为:eth0,eth1等,0,1代表网卡编号通过lspci命令查看网卡硬件信息(如果是USB网刊,则可能需要使用lsusb)命令ifconfig命令查看接口信息。ifconfig -aifconfig eth0命令ifup,ifdown来启用、禁用一个端口ifup eth0ifdown eth原创 2013-03-15 17:17:04 · 1795 阅读 · 0 评论 -
linux学习入门19——LINUX系统启动详解(linuxcast.net)(重要!!重要!!)
不同操作系统的启动过程实际上是大同小异的一般的启动流程:BIOS(启动,自检等)---->>>MBR(到硬盘,或其他可引导的设备)---->>>操作系统的引导程序(GRUB)---->>>加载内核(底层已经启动起来了)---->>>执行init进程(启动相关的进程和服务)---->>>runlevel1.BIOS基本输入输出系统,一般保存在主板中计算机启动第一个运行的就是B原创 2013-03-17 17:08:16 · 2405 阅读 · 0 评论 -
linux学习入门21——YUM软件管理(linuxcast.net)
YUM软件管理 1.rpm手工解决软件包的依赖关系,很复杂,使用YUM可以解决这个问题 YUM(yellowdog Updater Modified)是一个RPM的前端软件(管路RPM的),主要目地是设计用来自动解决RPM的依赖关系问题,特点如下(1)自动解决依赖关系(2)可以对RPM进行分组,并基于组进行安装操作(例如开发类全部安装,安装一种类型的软件)(3)引入仓库原创 2013-03-17 19:53:52 · 1120 阅读 · 0 评论 -
linux学习入门20——RPM软件包管理(linuxcast.net)(rpm 安装,验证等)
RPM软件管理源代码,RPM形式 1.使用开源软件使用源代码发布,源代码一般会打包成tar.gz的归档压缩文件。程序源代码需要编译成二进制形式之后才能够运行使用 (1):./configure 检查编译环境、相关库文件以及配置参数并生成makefile(2):make 对源代码进行编译,生成可执行文件(3):make install 将生原创 2013-03-17 19:02:10 · 1671 阅读 · 1 评论 -
LVM逻辑卷基本概念、创建管理操作及逻辑卷大小的拉伸与缩小
1.逻辑卷的基本概念PE(phydical Extend) 物理扩展PV(phydical)物理卷,划分为一个个PEVG(volume)卷组 ,空间池,可以将一个或多个PE加到VG中。会给VG起一个名字。LV逻辑卷PV、VG不可用,只是创建逻辑卷底层的东西。首先将要作为逻辑卷应用的硬盘条带化为物理卷(划出一个个PE,默认一个PE为4M),将PE加入VG中,基于 VG创建LV,从原创 2013-03-19 12:22:04 · 1433 阅读 · 0 评论 -
LINUX搞基权限管理ACL机制
传统使用的是UGO的权限管理模型,无法满足复杂的权限设置需求。1。ACL权限机制。允许这对不同的用户、不同的组对一个目标文件/文件夹进行权限设置,不受UGO模型限制记住设备一定要打开ACL功能,否则是不能使用的。默认根分区已经打开 ACL。3.ACL的使用具体命令见图片(下图)修改就是将命令重新写一遍,覆盖掉4。实例最原创 2013-03-21 16:33:53 · 1116 阅读 · 0 评论 -
每日一节1:使用ab进行网站压力测试
ab命令对网络进行压力测试 对网站建好之后,在上线之前对网站进行一个压力测试····通常情况下,在一个特定的硬件条件下,有一个量化的指标(根据设计目标在进行调整修改等)量化考核网站的性能,提供服务的上限,找出可能存在的问题。aab:开源的,是阿帕奇的一个包的1.abwhich ab 查看ab命令的路径通过rpm -qf /usr/bin/ab 查看是那一个软件包的原创 2013-03-21 17:13:35 · 877 阅读 · 0 评论 -
linux高級管理RAID原理基础和软件RAID的实现
1.传统磁盘的劣势计算机的性能的组件一般包括:CPU、主板总线IO、内存IO,硬盘IO、网卡IO。现代计算机整体的IO性能较弱,严重影响了计算机的性能。IOPS性能指标。第一个速度第二个IOPS以目前来看,影响性能主要是硬盘IO的限制。硬盘速度很慢。SATA SCSI SAS 200M/s SSD 500M/s 固原创 2013-03-27 12:05:58 · 967 阅读 · 0 评论 -
centos挂载NTFS
因为自己装的是双系统,而不幸的是centOS并不支持ntfs分区,所以挂载就成了第一件大事。下面谈谈我的经验 1. 安装fuse 网上建议不要用二进制包安装而应该用源代码安装,所以我直接用的源码安装,去这里下载fuse: [url]http://sourceforge.net/project/showfiles.php?group_id=121684[/url]转载 2013-04-14 14:16:45 · 818 阅读 · 0 评论 -
搞定mplayer播放列表的问题
出处:http://hi.baidu.com/pxrchen/item/c255e3c14d3c7652ac00ef1d (转载做存档使用)进入正题:如何制作mplayer的播放列表?今天晚上学会了使用mplayer在命令行下播放视频和音乐.突然就想能不能制作一个播放列表.这样就不用一个一个的敲命令了。于是去linuxsir.org搜索过去的贴子。虽然相关内容不多,但是只看了两个贴子转载 2013-04-14 14:14:10 · 4870 阅读 · 0 评论 -
CentOS英文环境下使用中文输入法
CentOS英文环境下使用中文输入法英文环境下使用ibus输入法一般我们使用英文环境是没有办法使用中文的,这是因为我们没有设置在英文环境下的中文配置。下面我们在英文环境下配置中文输入法ibus使得我们可以输入中文。首先,安装ibus(centos6以后已经默认安装)#yum install ibus其次,将安装到文件复制到英文环境下转载 2013-05-09 12:30:17 · 3976 阅读 · 0 评论 -
Centos中vim配置遇到问题总结
1.backspace自由使用 set backspace=indent,eol,start,这条命令告诉Vim在Insert模式下退格键何时可以删除光标之前的字符.选项中以逗号分隔的三项内容分别指定了Vim缩进,断行,以及开始进入Insert模式之前的位置. 2.vimrc配置在root用户下不起作用 vi /etc/profile.d/vim.sh [root@----转载 2013-05-09 13:21:20 · 1373 阅读 · 0 评论