- 博客(8)
- 资源 (5)
- 收藏
- 关注
原创 Linux中查看常用命令的源码
我们以CentOS 6.8上面查看ls命令的源代码为例: 首先我们通过下面的命令查看命令的位置:[root@DanCentOS65 daniel]# which lsalias ls='ls --color=auto'/bin/ls 接着我们查看包的名称:[roo
2017-04-28 17:25:32 3635
原创 [Azure]Azure虚拟机扩展的介绍和使用
VM Agent简介VM Agent是部署在虚拟机内的一个进程,用于协助管理,配置和加速虚拟机。在使用官方映像创建虚拟机的最后一个步骤中有配置VM Agent的选项。对于Windows虚拟机而言,常见的一些VM Agent的应用例如在背景中看到的虚拟机信息,就是由VM Agent安装的扩展BGInfo配置的:还可以通过VM Agent安装扩展
2017-04-27 23:24:22 2109
原创 Linux ext2, ext3, ext4 文件系统解读[5]
mount 过程:每个文件系统都有独立的Super Block,Inode,Data Block,如果我们要访问一个文件系统中的内容,或者向文件系统中写入数据,那么首先需要让系统能够找到文件系统的入口。在前面的小节中可以看到,Linux中使用目录来进行文件的查找,所以我们需要将文件系统与目录树进行关联,关联后,便可以通过文件系统关联到的目录的入口进入文件系统,这个关联的过程
2017-04-27 22:38:59 1181
原创 Linux ext2, ext3, ext4 文件系统解读[4]
ext2 ext3 ext4 文件系统的区别:ext2为非日志文件系统,即在文件系统的运行期间不会记录写操作的日志,这就有一个很大的弊端,即文件系统只能单纯依靠Inode和Data Block的Bitmap来确定数据写入的状态。我们先来了解一下写入数据的一些具体的步骤:当用户尝试写入一个文件时,首先系统判断当前用户对于这个文件尝试写入的目录是否有写权限,
2017-04-26 23:21:28 1994
原创 Linux ext2, ext3, ext4 文件系统解读[3]
mke2fs.conf 配置文件说明以及格式化:mke2fs.conf文件位于/etc/mke2fs.conf(不同系统位置可能有区别,这里以CentOS 6.5为例),我们看一下其中的内容:[defaults]base_features = sparse_super,filetype,resize_inode,dir_index,ext_a
2017-04-23 22:44:22 1542
原创 Linux ext2, ext3, ext4 文件系统解读[2]
目录与文件:从前面Inode的结构中我们可以看到,其中并没有定义文件名称,文件名称实际是存放在目录中的,目录也是一类特殊的文件,在ext2文件系统中,目录是由ext2_dir_entry结构组成的列表,目录是变长的结构,这样可以避免磁盘空间的浪费。对于单个文件名,长度不能超过255字符,且文件名的长度会自动使用'\0'字符填充为4个整数倍。目录中有文件和子目录。ext2
2017-04-22 17:38:03 1310
原创 Linux ext2, ext3, ext4 文件系统解读[1]
ext2 文件系统结构分析:首先来看一下ext2文件系统的结构示意图: Block:对于ext2文件系统来说,硬盘分区首先被分割为一个一个的“Block”,每个Block就是实际用来存储数据的单元,大小相同,Block按照0,1,2,3的顺序进行编号,第一个Block的编号为0。对于ext2文件系统来说,支持的Block的大小有1024字节/2048字节/4096字节,Block的大小在创建文件系统的时候可以通过参数指定,如果不指定,则会从/etc/mke2fs.conf文件中读
2017-04-20 21:28:56 9688 1
原创 C#实现netstat的功能
核心思想是调用 WinAPI 中的GetExtendedTcpTable 方法来获取所有活动的 TCP 连接的信息,包括进程ID等等,主要实现如下:TcpConnectionTableHelper.cs:using System;using System.Collections.Generic;using System.Linq;using System.Runtime.
2017-04-02 00:36:09 3305 4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人