linux学习
findstr
https://blog.gotocoding.com
展开
-
ramdisk与 initrd、initramfs的关系
1、ramdisk、initrd是什么?ramdisk是一种基于内存的虚拟文件系统,通常用于放置内核的中间数据。而initrd全称为"boot loader initialized RAM disk",也就是由启动加载器所初始化的RamDisk设备,它的作用是完善内核的模块机制,让内核的初始化流程更具弹性;内核以及initrd,都由bootloader在机子启动后被加载至内存的指定位置,主转载 2011-11-19 13:22:17 · 5819 阅读 · 3 评论 -
关于linux0.12临界资源的一点理解和猜测
今天看代码时突然发现,好像看到linus在写代码时的一些准则了,再根据赵博士的一句话"内核开发者不可能总是关注这些细节问题的!“,然后参照自己的理解总结出来一些准则,本人初学,如果有问题还请留言指正。 1.在关于锁的操作上,希望是原子操作,所以不管什么先关中断再说 2.在互斥资源上,如果下面可能睡眠,那么先上锁再说,这点可以从inode.c中的read_inode函原创 2012-03-12 20:00:33 · 1244 阅读 · 0 评论 -
getopt得用法
getopt被用来解析命令行选项参数。#include extern char *optarg; //选项的参数指针 extern int optind, //下一次调用getopt的时,从optind存储的位置处重新开始检查选项。 extern int opterr, //当opterr=0时,getopt不向stderr输出转载 2012-04-05 10:05:50 · 726 阅读 · 0 评论 -
我的初级muttrc配置
#设置邮件的编辑器set editor="vim"#设置邮件的发送程序set sendmail="/usr/sbin/exim4"set check_new = yesset timeout = 60#将各个邮箱分类存储set record="/home/findstr/.mail/sent" #发件箱set postponed="/home/finds原创 2012-03-01 15:29:14 · 3666 阅读 · 0 评论 -
Fvwm.desktop内容
## /etc/dm/Sessions/Fvwm.desktop ##[Desktop Entry]Name=FvwmComment=FvwmExec=fvwm2Terminal=FalseTryExec=fvwm2Type=Application[Window Manager]SessionManaged=true##此文件应该在在原创 2012-04-17 17:00:07 · 573 阅读 · 0 评论 -
vim写程序常用技巧
1.我们可以使用gf快捷键来进入任意一个被#include 的头文件. 2.使用ctrl+O来回到使用gf之前的文件中。 3.找到的一个不错的vimrc修改了一下可以自动更新ctags文件 4.增加了对系统头文件进行ctrl+]来查找的功能 5.增加了对splint进行代码检查的快捷键映射 6.如果想编译时自动定位到出错的地方,那么写一个Makefi原创 2011-11-13 11:43:29 · 3358 阅读 · 0 评论 -
我的.Xresources
经过无数次的尝试,我终于在rxvt下vim中的desert配色方案中达到与gnome-terminal相似的结果!Rxvt.colorIT: magentaRxvt.underlineColor:cyanRxvt.tintColor: grayRxvt.cursorColor: whiteRxvt.shading: 100xvt.backgrou原创 2012-04-19 19:27:51 · 1543 阅读 · 0 评论 -
~/.fvwm/fvwm.stroke
#strokes#window list without dragStroke 0 0 R N WindowList#button 3 guesture with Ctrl starts programs in any context#"r" like guestures starts rxvt#Stroke N5456 0 A C Exec exec xkill#Stroke N6原创 2012-04-22 13:39:27 · 991 阅读 · 0 评论 -
我的debian下安装 spb16.3的经历
网上大多数都是在redhat系列机器的安装的,我始终不成功:整了好几天总算能启动了:额外的安装步骤如下: 1.安装csh,ksh 2. cd /usrln -s /tmp tmp 3.cd /binln -s /usr/bin/basename basename 4.将教程中的./pubkey -d原创 2012-04-21 12:00:29 · 1172 阅读 · 0 评论 -
关于linux0.12文件系统目录大小的一个发现
今天看到empty_dir函数发现他并不是比较i_size==32来判断是否为空,而是去读所有的块来判断是否为空,然后就觉得很奇怪,不过总觉得事出必有因,翻来覆去的找了一下,终于有了点发现,去看了一下add_entry和sys_rmdir这两个函数终于发现了一个事实!那就是目录文件的大小只会增大不会减小。下面是实验的截图:在这个实验里我们可以看到当我建立了test2 test3 test4原创 2012-03-11 15:38:14 · 880 阅读 · 0 评论 -
linux0.12中文件系统的一些理解
在看文件系统始终觉得有点理解不了,今天偶有所悟还是赶紧记下来为好!看文件系统时要搞清以下几点:1.文件系统是用专门的工具来格式化的,也就是说内核中文件系统的代码是不含文件系统的初始化的。其实所谓的操作系统安装就是通过一个工具来制作文件系统然后将系统文件拷入最后再加个引导,但是这个过程比单纯的格式化要麻烦许多,因为安装时要制作根文件系统而不是仅仅格式化,但原理相似!2.要搞明白在设备中,各种原创 2012-03-04 20:55:22 · 1170 阅读 · 0 评论 -
关于linux0.12中的add_entry中bread中的些猜测
今天看到文件系统namei.c中的add_entry部分了,发现一个问题 block = create_block(dir,i/DIR_ENTRIES_PER_BLOCK); if (!block) return NULL; if (!(bh = bread(dir->i_dev,block))) { i += DIR_原创 2012-03-08 16:03:23 · 1351 阅读 · 1 评论 -
initrd与initramfs的区别
boot loader装入kernel, 然后kernel需要执行/sbin/init, 读取这个文件就必须先mount根文件系统, 早期是通过启动时的root=参数告诉内核根文件系统在哪个设备上, 随着硬件和技术的发展,现在根文件系统可能位于一个网络存储如NFS上, 可能由于RAID而散布于多个设备上, 可能位于一个加密设备上需要提供用户名和密码,这时root=参数就显得不转载 2011-11-19 13:23:50 · 2084 阅读 · 0 评论 -
latex初学者的经验
1.一定要及时换行,要不然latex是不会替你自动换行缩进的,相反如果我第几十个字来换一次那么它就会替我自动缩进下换行。2.关于中文首段缩进问题可用 \usepackage{indentfirst} + \setlength{\parindent}{2em} 来实现3.\setcounter{section}{-1}可使章节从0序号开始4.\usepackage[top=25mm,le原创 2012-02-24 15:40:12 · 9617 阅读 · 0 评论 -
关于重新编译内核后VirtualBox不能使用的问题
编译完内核后进入linux3.0内核后,习惯性的打开virtualbox,然后突然发现virtualbox提示错误,然后又出现一个对话框,上面写着:Nevertheless, there is no shortage of changes, such as the auto grouping of processes within a session, which has caused a l原创 2012-02-19 20:30:53 · 5538 阅读 · 0 评论 -
uid gid euid egid详解
由于用户在UNIX下经常会遇到SUID、SGID的概念,而且SUID和SGID涉及到系统安全,所以用户也比较关心这个问题。关于SUID、SGID的问题也经常有人提问,但回答的人一般答得不够详细,加上曾经回答过两个网友的问题,还查了一些资料,决定整理成本文,以供大家参考。限于本人的水平问题,文章中如果有不当之处,请广大网友指正。一、UNIX下关于文件权限的表示方法和解析SUID 是转载 2012-03-07 21:33:41 · 21059 阅读 · 1 评论 -
读The C programming language的新发现
1.C语言标准中的各类型长度,及指针长度并没有明确指定是多长,只是有一个长度限定。还有建议字节数,但这绝不应该成为我们写程序时的标准。因此,我们每到一个新平台的话就最好先搞清楚各类型是多长!2.C语言中char ,signed char,unsigned char,是3种类型,因为char 到底是signed char 还是char依赖于编译器的实现,K&R建议,为了便于移植,如果我们放的是非原创 2012-05-22 17:50:23 · 841 阅读 · 1 评论