Linux文件管理笔记
1)Linux识别磁盘:Linux通过不同的设备节点区分各个分区,节点名字的由磁盘名加分区号组成。例如,驱动器/dev/hba上的第一个分区叫做/dev/hba1,驱动器/dev/sdc上的第七个分区就叫做/dev/sdc7。
主引导记录(MBR) 引导程序(Bootloader)分区表(Partition Table)
主分区
扩展分区
逻辑分区
2)使用fdisk列出分区:
fdisk最简单的用处是显示已知分区。使用-l命令行选项,
fdisk可以列出所有已知磁盘的分区表。在下面的例子中,
fdisk -l 产生系统上两个硬盘的分区表:/dev/hda和/dev/hdb。
注:使用fdisk编辑分区表时应注意是使用分区名而不是磁盘名。如fdisk /dev/sdb,不应是fdisk /dev/sdb3
3)fdisk命令列表
4)添加一个分区:
Command(m for help):n
Command action
e extend
p primary partition(1-4)
建立新分区的命令是n,下一步取决于驱动器的状态。如果不存在扩展分区(现在就是),fdisk会问新的分区是否是扩展分区。如果扩展分区已经存在,fdisk会问新的分区是逻辑分区还是主分区。如果所有的主分区都已经在使用,fdisk就不会再问。
Selected partition e
First cylinder (3927-15505,default 3927): (按下ENTER键)
因为三个主分区都已经存在,如果管理员要创建两个新分区,需要先扩展一个分区来装他们。键入e命令。接下来,fdisk提示分区的起始柱面。管理员按回车键,接受建议的默认柱面3927(第一个可用的柱面)。
然后,fdisk询问结束柱面的号码。
Using default value 3927
Last cylinder or + size G or +size M+size K(3927-15505,default15505):
因为扩展分区是主分区,它将是磁盘上的第四个(也是最后一个)主分区,因此所有不包括在这个扩展分区中的空间都不能再使用,所以应该使用建议的柱面(也是磁盘上最后的柱面)。
5)扩展分区:
6)设置交换分区标签:
Changed system type of partition 5 to 82(Linux swap)
Command(m for help):p
分区id,以前是“Linux”,现在改为“Linux swap”。
7)删除分区:
Command(m for help):d
Partition number(1-6):4
要注意下列几点:
如果删除扩展分区,这个空间中包含的所有逻辑分区也将被删除。
因为分区信息做为一个链表维护,所以必须用连续数字编号。如果第7个分区中的第5号被删除,分区6和7就变成5和6。(对于主分区不适用。)
8)退出fdisk
Command(m for help):w
操作结束后,有两种退出fdisk的方法。
第一,可用q命令退出fdisk,这将忽略所做的修改。fdisk实用程序会等待明确的指示后才将修改写入,所以用户可随时安全退出。
如果使用w命令,fdisk会将修改写入然后退出。这是一般退出fdisk的方式,完成指定的编辑。
9)使修改生效:
退出时,fdisk会告诉用户这些修改直到下次引导时才会生效。这并不是绝对的。重新引导系统可以让这些修改生效,但运行partprobe命令也可以达到同样的效果。运行partprobe,让内核读取所做的修改,并加以更新。
[root@VDEDU~]# partprobe
10)使用/proc/partitions 查看分区
fdisk -l(只有根用户才能使用)的替代命令是proc文件系统文件/proc/partitions,这个文件也能列出所有的已知分区及其容量(以1024字节的块为单位)
[root@station root]# cat /proc/partitions
注意:输出中的每个分区(磁盘)突出的主号码和次号码。Linux内核使用和分区的设备驱动程序相关的主号码和次号码,而不是设备节点的名称识别分区。这在内核层错误信息中,经常可以看到。
11)初始化分区:
[root@VDEDU root]# mkfs.ext2 /dev/sda6
12)挂载文件系统主要概念:
使用mount命令将文件系统的根目录挂载在目录树上已有的目录。这个已有的目录叫做挂载的挂载点。umount命令将未被使用的文件系统从目录树上卸载下来。不同的挂载选项决定挂载的文件系统的能力特征。挂载选项remount赋予已存在挂载新的选项。
[root@VDEDU root]# mount /dev/sda1 /home
[root@VDEDU root]# umount /home
13)使用fuser或lsof找到进程
fuser命令列出正在使用文件的进程ID。为了达到我们的目的,调用这个命令时使用-m命令行选项,它会列出在含有指定文件的文件系统中使用文件的所有进程。
[root@VDEDU home]# fuser -m /home
/home:1912c
lsof(list open file,列出打开的文件)是fuser的替换命令。在作为挂载点的目录上执行时,lsof命令列出文件系统中当前打开的所有文件。
[root@station]# lsof /home
14)使用 mount -o remount重新挂载分区
mount 命令还能赋予已经挂载的分区新的挂载选项。重新挂载分区时, mount 命令应该 和 remount 选项一起调用,连带相关这个文件系统的任何新选项。
[root@station root]# date > /home/foo
[root@station root]# mount -o remount,ro /home
[root@station root]# date > /home/foo
-bash: /home/foo: Read-only file system
[root@station root]# mount -o remount,rw /home
[root@station root]# date > /home/foo
15)/etc/fstab 文件主要概念
/etc/fstab 文件可以用来预定义挂载点。
如果在调用 mount 命令时给出的信息不全,它会自动在/ etc/fstab 里寻找缺少的信息。
mount -a 命令会试图将/etc/fstab 文件中列出的(几乎)所有挂载点挂载。
/etc/fstab 文件中可用设备名称或文件系统标签表示设备。
文件系统标签不光可以在/etc/fstab 文件中指定设备,它还可以在 mount 命令行和-L 命令行选项一起直接使用,如下所示。
[root@station root]# dumpe2fs /dev/hda1 | head -1 dumpe2fs 1.32 (09-Nov-2002)
Filesystem volume name: /boot
[root@station root]# mount -L /boot /boot
在/etc/fstab 文件中添加一行。如:[root@VDEDU root]# mount /dev/sda1 /home。以后每次开机将会自动执行。
mkswap /dev/sda1 将这块分区作为交换空间
swapon /dev/sda1 激活交换分区
dd if=/dev/zero of=/tmp/swap bs=1024k 从/dev/zero里面读,写到/tmp/swap
Linux文件管理笔记的更多相关文章
- Linux学习笔记(二) 文件管理
了解 Linux 系统基本的文件管理命令可以帮助我们更好的使用 Linux 系统,以下介绍几个常用的文件管理命令 1.pwd pwd 是 Print Working Directory 的简写,用于显 ...
- deepin linux学习笔记(四)进不去图形界面怎么办?
目录 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 更换成lxde桌面 进不去图形界面怎么办? 总结 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 生命不息 ...
- Linux学习笔记(一) 文件系统
对于每一个 Linux 学习者来说,了解 Linux 文件系统的结构是十分有必要的 因为在 Linux 中一切皆文件,可以说只有深入了解 Linux 的文件系统,才会对 Linux 有更深刻的理解 L ...
- Linux学习笔记(四) vi编辑器
一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...
- Linux学习笔记(五) 账号管理
1.用户与组账号 用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号) 每一个用户账号包含一个唯一的用户 ID 和组 ID 标准用户是系统安装过程中自动创建的用户账号,其中除 root ...
- Linux学习笔记(六) 进程管理
1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...
- Linux学习笔记(七) 查询系统
1.查看命令 (1)man 可以使用 man 命令名称 命令查看某个命令的详细用法,其显示的内容如下: NAME:命令名称 SYNOPSIS:语法 DESCRIPTION:说明 OPTIONS:选项 ...
- Linux内核笔记--内存管理之用户态进程内存分配
内核版本:linux-2.6.11 Linux在加载一个可执行程序的时候做了种种复杂的工作,内存分配是其中非常重要的一环,作为一个linux程序员必然会想要知道这个过程到底是怎么样的,内核源码会告诉你 ...
- Linux 学习笔记
Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...
随机推荐
- java中的引用类型的对象存放在哪里
根据上下文来确定.比如void func(){ Object obj = new Object();//这个obj在函数的栈里.}class Test{ private Object obj ...
- 记录下项目中常用到的JavaScript/JQuery代码一(大量实例)
一直没有系统学习Javascript和Jquery,每次都是用到的时候去搜索引擎查,感觉效率挺低的.这边把我项目中用的的记录下,想到哪写哪,有时间再仔细整理. 当然,由于我主要是写后端java开发,而 ...
- golang-在gin中cookie跨域设置(配合ajax)
1.当我在golang中,在前后端分离的情况下使用cookies时发现,跨域没有被允许.代码如下: func AccessJsMiddleware() gin.HandlerFunc { return ...
- angular中使用echart遇到的获取容器高度异常的问题记录
问题 在使用echart去创建图表时,发现图表只占了容器的一个角落,如图,并没有充满容器. 第一反应是容器元素的样式有问题,于是我把容器的宽高都改为px指定的(之前是百分比设定的,查询资料发现说ech ...
- 解决MySQL在修改列时因为外键依赖出错的问题
因为 favorite_food 中的 person_id 对 person 表中的 person_id 有外键依赖关系,所以在执行 ALTER TABLE person MODIFY person_ ...
- jade 详解
简介 jade 是HTMl模板引擎,用javascript编写,可以在Node.js中使用.本文主要介绍原生node操作jade文件的方法. 安装 npm install jade 方法(API) ...
- 音频压缩编码 opus 附完整C++代码示例
绝大数人都知道mp3格式编码,以及aac,amr等压缩格式编码. 而在语音通信界有一个强悍的音频格式编码opus. 经过实测,压缩比最高可以达到1:10. 100KB 压缩后 10KB 虽然是有损压缩 ...
- C++ 前期准备
在线编译网站: http://www.dooccn.com/cpp/ 刷题: https://leetcode.com/ https://leetcode-cn.com/
- Spring Boot简单应用——会员管理系统
简介 本项目是使用Spring Boot编写的一个简单的会员管理系统. 提供了会员的解决方案,主要有会员模块,管理员模块,礼品模块,商品模块,会员等级模块,生日提醒模块,积分模块,详细模块如下图 准备 ...
- jdk1.7中的常量池
在探究jdk1.7中的常量池,我们可以先看看以下的这段代码 public static void main(String[] args) throws Throwable { List<Stri ...