- 博客(113)
- 资源 (12)
- 收藏
- 关注
原创 linux文件系统命令(4)---ls
本文将介绍文件系统的ls命令。ls命令用来显示文件系统下的文件,可以显示简单信息、详细信息;也可以按照时间排序、大小排序。
2016-01-02 13:19:42 1157
原创 linux工作环境搭建
每次重装linux系统后都需要安装一些必要的软件,并经过配置后才能达到正常的使用状态。由于这些步骤都是重复的,并且难于记忆,因此有必要记录下来,免去一些查找资料的麻烦。
2015-11-22 20:53:55 3105
原创 linux文件系统调用(2)---umount
本文将介绍linux卸载文件系统的过程,从系统调用umount()函数开始解析,主要分为三个阶段:1、查找挂载目录下所有已挂载的文件系统;2、删除这些已挂载文件系统的挂载节点;3、释放这些已挂载文件系统的挂载点数据结构;
2014-11-24 23:07:00 4811
原创 linux文件系统调用(1)---mount
本文将介绍linux挂载文件系统的过程,从系统调用mount()函数开始解析,主要分为三个阶段:1、新建源文件系统;2、查找目的文件系统的挂载目录;3、将源文件系统挂载到目的文件系统的挂载目录;
2014-11-20 22:57:29 4636
原创 linux文件系统命令(1)---概述
linux文件系统分为4个层面:用户空间程序、系统调用、内核虚拟文件系统以及实际文件系统;本系列文章只涉及用户空间程序的操作及使用方法,旨在掌握linux文件系统的常用命令,至于文件系统的系统调用和内核实现方法等内容并不涉及。
2014-11-09 20:20:10 1213
原创 git学习(4)---工作流
前三章介绍了git工具本身的操作,主要包括本地仓库操作和远程库操作两部分内容。接下来,我们将介绍如何使用git进行项目开发,也叫做git工作流。 git工作流分为三种模式:共享远程库模式、独立远程库之github模式、独立远程库之linux模式
2014-10-26 22:49:16 1235
原创 git学习(3)---远程仓库
本文介绍了git远程库的操作,需要熟练掌握git remote相关的命令。 此外,有两点需要注意: 1、不推荐使用git pull命令,应该先使用git fetch命令同步远程库的内容到本地后,再使用git merge合入到本地仓库的分支中,这样更安全。 2、删除远程库分支的命令是git push origin :branch-name,这个命令不太容易记忆。
2014-10-24 20:31:19 1341
原创 linux文件系统命令(6)---touch和mkdir
本文介绍了linux下的新建文件命令touch、新建目录命令mkdir和删除文件或目录命令rm。
2014-10-10 22:17:25 11660
原创 linux随笔(12)---chown和chgrp
本文介绍了linux下的chown和chgrp命令,chown用来设置文件的拥有者,chgrp用来设置文件的所属组。
2014-10-10 07:13:09 2939
原创 linux随笔(11)---umask和chmod
linux系统下文件有很多种属性,例如:文件大小、文件的拥有者、文件所属的组、文件访问模式等,其中文件访问模式属性的地位比较重要,因此重点介绍了文件访问模式的概念以及相关命令umask和chmod。 文件访问模式的表示方式有文字表示方式和八进制表示方式,应该熟练掌握。特殊属性的SUID位影响了可执行文件的执行权限,读者应该正确理解SUID的含义以及使用方法。
2014-10-07 21:50:28 2701
原创 linux文件系统命令(5)---find等查找命令
which使用环境变量查找可执行文件的路径;whereis查找可执行文件、源代码、man文件的路径;find命令能够查找文件系统中的任何文件,支持正则表达式查找;locate命令通过之前建立的索引查找文件,所以比find快,但是不适合查找最近新建或者重命名的文件。
2014-09-21 11:03:16 6179
原创 git学习(1)---基本操作
本文将介绍git的基本操作,包括基本配置、新建和修改文件、删除和重命名文件、提交和恢复操作、比较文件差异、查看日志等内容。本文涉及到的所有操作都是在Ubuntu14.04环境中进行的,git版本是1.9.1。
2014-09-20 21:53:17 1304
原创 linux文件系统命令(3)---mount和umount
mount命令负责把设备上的文件系统挂载到系统的挂载点上;umount命令负责把挂载点上的文件系统卸载掉。
2014-09-13 17:56:47 7308
原创 linux文件系统命令(2)---df和du
本文将介绍磁盘管理工具df和du的用法。df工具用来查看系统中每个分区的磁盘使用率;du工具用来查看文件系统中每个目录的大小。举个例子:df相当于windows系统中显示的C盘、D盘等磁盘使用率功能;du相当于windows系统中显示每个盘符下每个目录的大小。
2014-09-13 11:24:33 2395
原创 linux进程管理(5 完结)---进程消亡
当前进程消亡时主要做了三件大事:释放当前进程占用的资源;为当前进程的子进程重新寻找“养父”;通知当前进程的父进程,释放当前进程剩下的资源。
2014-04-30 21:52:56 2920
原创 linux系统管理(7)---screen
本文介绍了linux下常用的窗口管理工具screen,screen可以在一个物理终端上模拟多个窗口,方便用户进行多任务操作;其次,详细介绍了screen的离线功能,该功能让用户在断开screen后,可以快速找回断开前的工作状态,尤其在ssh连接的场景中很常用、也很好用。
2014-04-13 18:33:49 1738
原创 linux系统管理(6)---apt
本文介绍了linux发行版下Debian包管理软件apt套件工具。如果用户需要下载deb包,可以使用apt-get;如果用户需要查看系统中deb包信息,可以使用apt-cache;如果用户无法上网,但是有deb包的CDROM,可以使用apt-cdrom将CDROM作为软件源。
2014-04-12 12:33:30 1464
原创 linux系统管理(5)---dpkg
上一章介绍的dpkg-deb工具用来查看、解压Debian包,本章介绍的dpkg工具用来管理Debian包。dpkg-deb侧重于对单个Debian包的操作(查看、解压等操作),dpkg侧重于对系统中已安装软件的管理(安装、升级、卸载等操作)。
2014-04-11 21:42:34 1512
原创 linux进程管理(4)---进程执行
本文将讲述进程如何加载并执行一个二进制文件。 进程被创建完成后,如果需要执行自己的程序,需要做两件事情:从文件系统中读取二进制文件;识别该二进制文件的格式并加载到进程内存地址空间。
2014-04-06 20:53:21 2544
原创 linux系统管理(4)---dpkg-deb
linux系统下有两种常见的软件包管理系统Debian和RPM。 本文将介绍Debian包管理工具dpkg-deb用法,dpkg-deb是用来制作Debian包的工具,同时也可以查看、解压Debian包。 本文将选取ubuntu12.04发行版做为描述基础。
2014-03-19 21:52:55 6085
原创 linux进程管理(3)---进程创建
本文将介绍linux下创建进程的过程,不同于其他操作系统,linux创建进程的实现方式有自己的显著特点,具体的实现代码可以在kernel/fork.c中找到。 linux没有线程和进程的区别,但是父进程在创建子进程时,可以根据参数标志让子进程选择性的继承父进程的资源;如果指定子进程继承父进程的地址空间、打开的文件、文件系统、信号量等资源,那么此时的子进程就相当于父进程的“线程”。虽然linux不直接提供线程,但是通过参数标志的方式间接提供被称为“轻量级进程”的线程,显得更加灵活和简单。
2014-03-18 22:15:25 2658
原创 linux进程管理(2)---进程的组织结构
linux为了不同的进程管理目的,使用了不同的方法组织进程之间的关系,为了体现进程创建关系,使用了父子关系;为了区分进程和线程,使用了进程组;为了快速查找某个进程,使用了哈希表;为了进程调度,使用了运行队列、等待队列,将不同运行状态的进程放入不同的队列中。
2014-03-17 22:15:35 4400 1
原创 linux进程管理(1)---进程描述符
linux支持多进程特性,可以最大化的使用cpu资源;用户可以在同一个cpu上运行多个用户程序。多进程的原理是:时钟中断触发进程调度程序,调度程序分时运行多个进程。这就要求每个进程能够保留现场信息(cpu现场、系统资源、调度信息等)。
2014-03-13 22:55:19 7032
原创 linux系统管理(3)---runlevel
linux系统有运行级别的概念,不同的运行级别就是不同服务的组合,从而完成不同的系统用途。例如,运行级别3会启动httpd,系统提供web server服务;运行级别1会关闭网络服务,系统仅提供基本的使用环境。通过运行级别,用户就可以灵活的控制系统提供的各种服务组合。
2014-03-02 15:00:35 6416 1
原创 linux文件系统初始化过程(6 完结)---执行init程序
内核加载完initrd文件后,为挂载磁盘文件系统做好了必要的准备工作,包括挂载了sysfs、proc文件系统,加载了磁盘驱动程序驱动程序等。接下来,内核跳转到用户空间的init程序,由init完成创建磁盘设备文件、加载磁盘文件系统、从rootfs切换到磁盘根文件系统等工作。 由于在不同的linux发行版中,init的实现方式差异很大,不能将所有的发行版都分析一遍,因此本文选取ubuntu12.04发行版来描述如何从rootfs切换到磁盘根文件系统。
2014-02-28 21:30:02 4631 1
原创 linux系统管理(2)---查看硬件信息
本文将介绍如何查看系统的硬件配置。由于涉及到的硬件设备比较多,不能一一详解,因此本文采取从总线、设备和驱动模块三方面讲述。
2014-02-17 22:14:29 2768
原创 linux系统管理(1)---man
在linux的使用过程中,如果忘记某个命令的使用方法或者某个接口函数的定义,我们一般都会使用man命令;man是manual的缩写,man命令是linux在线帮助文档的接口;熟练掌握man命令可以帮助我们提升使用linux的能力。 本文将详细介绍man命令的使用方法相关内容。
2014-02-09 21:53:57 2682 2
原创 linux文件系统初始化过程(5)---加载initrd(下)
linux把文件分为常规文件、目录文件、软链接文件、硬链接文件、特殊文件(设备文件、管道文件、socket文件等)几种类型,分别对应不同的新建函数sys_open()、sys_mkdir()、sys_symlink()、sys_link()、sys_mknod()。 系统初始化阶段成功加载initrd后,调用这些接口函数创建各种文件,因此这些函数在linux文件系统初始化过程中起到了重要作用,本文将详细描述这些接口函数的实现过程。 这些接口函数主要在fs/namei.c、fs/open.c文
2014-02-09 17:06:09 4767
原创 linux文件系统初始化过程(4)---加载initrd(中)
上文详细介绍了CPIO格式的initrd文件,本文从源代码角度分析加载并解析initrd文件的过程。 initrd文件和linux内核一般存储在磁盘空间中,在系统启动阶段由bootload负责把磁盘上的内核和initrd加载到指定的内存空间中;然后,再由内核读取和解析initrd文件,在VFS(目前只有rootfs的根目录)中新建目录、常规文件、符号链接文件以及特殊文件;这样VFS就从根目录"/"成长为一棵枝繁叶茂的大树了。
2014-01-15 23:01:51 5312
原创 linux文件系统初始化过程(3)---加载initrd(上)
本文主要讲述linux3.10文件系统初始化过程的第二阶段:加载initrd。 initrd是一个临时文件系统,由bootload负责加载到内存中,里面包含了基本的可执行程序和驱动程序。在linux初始化的初级阶段,它提供了一个基本的运行环境。当成功加载磁盘文件系统后,系统将切换到磁盘文件系统并卸载initrd。 如果是嵌入式设备,那么最终的文件系统就是initrd。
2014-01-12 12:00:25 4692
原创 linux系统调用
linux在syscalls.h中声明了所有的系统调用函数,例如:sys_rmdir()等。但是,我们却无法直接找到sys_rmdir()的定义。这是因为linux没有直接定义sys_rmdir(),而是使用了SYSCALL_DEFINE宏间接定义了系统调用函数。 本文介绍linux3.10通过宏SYSCALL_DEFINE生成系统调用函数的方法。
2014-01-07 22:28:24 2323
原创 linux文件系统初始化过程(2)---挂载rootfs文件系统
本文主要讲述linux3.10文件系统初始化过程的第一阶段:挂载rootfs文件系统。 rootfs是基于内存的文件系统,所有操作都在内存中完成;也没有实际的存储设备,所以不需要设备驱动程序的参与。基于以上原因,linux在启动阶段使用rootfs文件系统,当磁盘驱动程序和磁盘文件系统成功加载后,linux系统会将系统根目录从rootfs切换到磁盘文件系统。
2014-01-05 23:02:11 22145 1
原创 linux文件系统初始化过程(1)---概述
linux文件系统主要分为三个部分:文件系统调用;虚拟文件系统(VFS);挂载到VFS的实际文件系统。 其中,VFS是核心,linux文件系统的本质就是在内存中创建一棵VFS树。当根目录被创建后,用户就可以使用系统调用在VFS上创建文件、删除文件、挂载各种文件系统等操作。 该系列文章主要分析linux3.10文件系统初始化过程,分为三个阶段: 1、挂载根文件系统(rootfs); 2、加载initrd; 3、挂载磁盘文件系统;
2014-01-04 21:30:36 8792 2
转载 30 Linux Kernel Developers in 30 Weeks: Arnd Bergmann
Linux kernel developer Arnd Bergmann is interviewed for this week's 30 Linux Kernel Developers in 30 Weeks profile. Bergmann shares with us his focus areas at the moment as well as some specific adv
2013-01-01 11:00:38 840
转载 30 Linux Kernel Developers in 30 Weeks: Alan Cox
In this week's 30 Linux Kernel Developers in 30 Weeks profile, we talk to Alan Cox. We learn how he originally got involved in Linux and why it remains important to him. He also gives us a bit of mu
2013-01-01 10:53:13 841
转载 30 Linux Kernel Developers in 30 Weeks: Paul Mundt
In this week's 30 Kernel Developers in 30 Weeks profile, we talk to Paul Mundt, who works on the SuperH architecture and core parts of the AMR-based SH/R-mobile platforms. He shares a variety of sto
2012-12-30 10:49:39 746
转载 30 Linux Kernel Developers in 30 Weeks: Dave Jones
Dave Jones is maintainer of the Fedora kernel and this week shares what he's working on and what makes him tick in our latest entry in the 30 Linux Kernel Developers in 30 Weeks series. You can see al
2012-12-30 10:48:31 841
转载 30 Linux Kernel Developers in 30 Weeks: Greg Kroah-Hartman
This week we talk to Linux stable kernel maintainer and Linux Foundation Fellow Greg Kroah-Hartman. This is the fifth profile in our 30-week series that shares the stories of 30 Linux kernel develop
2012-12-30 10:45:16 841
转载 30 Linux Kernel Developers in 30 Weeks: Jean Delvare
This is the fourth profile in our 30-week series that features a different Linux kernel developer each week. Last week we featured Linux kernel xHCI driver maintainer Sarah Sharp. You can see all th
2012-12-30 10:41:24 792
understanding the linux kernel(3rd) 英文版
2010-03-18
make使用手册,轻松学习make的使用。
2009-11-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人