Linux学习:文件、用户、磁盘管理总结

本章节对Linux线下的文件管理、用户管理及磁盘管理做一个总结。

一、文件管理

1、简介:linux是系统一个倒树结构,linux中所有的东西都是文件,这些文件都在系统顶级目录“/” /就是根目录,/目录以下为二级目录这些目录都是系统装机时系统自动建立的。由此看来,在Linux系统下,文件管理显得尤为重要。
2、二级目录介绍:

/bin    ##二进制可执行文件也就是系统命令
/sbin   ##
系统管理命令存放位置
/boot   ##
启动分区,负责系统启动
/dev    ##
设备管理文件
/etc    ##
大多数系统管理文件
/home   ##
普通用户的家目录
/lib    ##32
位系统库文件存放位置
/lib64  ##64
位系统库文件存放位置
/media  ##
系统临时设备挂载点                                                                                
/mnt    ##
系统临时设备挂载点
/run    ##
系统临时设备挂载点
/opt    ##
第三方软件安装位置
/proc   ##
系统信息
/root   ##
超级用户家目录
/srv
/var     ##系统数据
/sys    ##
系统管理,主要是关于内核的
/tmp    ##
系统临时文件存放位置
/usr    ##
系统用户相关信息数据及用户自定义软件存放位置
3、学习文件管理

利用mkdir创建目录结构,如图




进入test1目录,利用touch创建文件,如图




4、常用的对目录及文件管理的命令

创建目录:mkdir [选项]… 目录…

删除目录:rmdir [选项]… 目录..

                    -p 递归删除目录,当子目录删除后其父目录为空时,也一同被删除
                    -v 显示指令执行过程

移动文件或目录:mv [OPTION]… [-T] SOURCE DEST
                                mv [OPTION]… SOURCE… DIRECTORY
                                mv [OPTION]… -t DIRECTORY SOURCE..

                                 -f 不提示并覆盖文件
                                -n 不覆盖已存在的文件
                                -b 覆盖之前把原文件做备份,备份的文件在 文件后有一个~符号
                                -u 只有原文件比覆盖的文件新的时候才可以覆盖文件,旧文件不能覆盖新文件

复制文件或者目录:cp [选项]… [-T] 源 目的
                                    或:cp [选项]… 源… 目录
                                    或:cp [选项]… -t 目录 源..

显示指定磁盘文件的可用空间:df

cat 由第一行开始显示文件内容
tac 由最后一行开始显示文件内容
more    一页一页查看文件内容(不可以向上翻一行,可以前后翻页(Ctrl+b、空格)、向下翻一行{回车键、Ctrl+m} )
less    与more相似,可以往前翻一行(可以前后翻页(空格、pgup键和pgdn键)、向上翻一行、向下翻一行(上下箭头键,回车))
tail    默认查看文件的后十行
head    默认查看文件的前十行
nl  查看文件内容,同时顺便的显示行号

二、用户管理

1、简介:Linux具有相当高的安全机制,不同的用户具备不同的权限操作。

2、用户分类:

UID=0的       是超级用户
UID=500~60000 为普通用户
UID=1~499     是伪用户(与系统和程序服务相关)
3、常用命令:

添加一个用户:useradd [-ugGdsce] 用户名
useradd -g webadmin -G root,web -c 'test suer' bob
-u UID
-g 缺省所属用户组GID
-G 指定用户属于多个组
-d 宿主目录
-s 命令解析器Shell
-c 描述信息
-e 指定用户失效时间

设置密码:passwd 用户名

修改用户信息:
             修改用户名:    usermod -l 新用户名 旧用户名
             添加用户所属组:usermod -G sys bob_fu

删除一个用户:userdel [-r] 用户名 (-r 删除用户的宿主目录)

给组设置密码: gpasswd 组名
gpasswd [-adArR] 用户名 组名
-a 将一个用户添加到某个组
-d 将用户从组中删除
-A 设置用户组管理员
-r 删除用户组密码
-R 禁止用户切换为改组

例如:
gpasswd webadmin
gpasswd -a bob_fu webadmin
gpasswd -A bob_fu webadmin
gpasswd -r webadmin

锁定一个用户:passwd -l  jack  / usermod -L jack
解锁一个用户:passwd -uf jack  / usermod -U jack

切换所属组:newgrp webadmin
查看所属组:groups lisi

添加组:groupadd [-g GID] 组名 (查看: grep webadmin /etc/group)

删除组:groupdel webadmin

组改名:groupmod -n 新名 旧名

4、其他相关命令:

pwck   检测/etc/passwd文件(锁定文件)
vipw   编辑/etc/passwd文件查看(锁定文件)
id     查看用户id和组信息
finger 查看用户详细信息
su     切换用户 (su - 用户名)
passwd -S 查看用户密码状态
who、w 查看当前灯虎用户信息
grpck  用户组配置文件检测
vigr   编辑/etc/group文件(锁定文件)
chage [-lmM]  设置密码(LINUX下可用)
      -l 查看用户密码设置 chage -l jack
      -m 密码修改的最小天数
      -M 密码修改的最大天数
      -d 密码最后修改的日期
      -I 密码过期后,牟定账号的天数
      -E 设置密码过期日期,若为0,表示密码立即过期,若为-1则永不过期
      -W 设置密码过期前,开始警告天数

三、磁盘管理

1、简介:要进行磁盘管理,首先我们需要知道磁盘的基本使用状况,使用了多少,还剩多少等等。df命令可以帮助我们看到它。

2、查看磁盘分区使用状况

  1. df [选项] [文件]  
显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示。

选项:

  1. -a  全部文件系统列表  
  2. -h  方便阅读方式显示  
  3. -H  等于“-h”,但是计算式,1K=1000,而不是1K=1024  
  4. -l  只显示本地文件系统  
  5. -T  文件系统类型  
  6. -t  <文件系统类型> 只显示选定文件系统的磁盘信息  
  7. -x  <文件系统类型> 不显示选定文件系统的磁盘信息  
例如:
  1. [root@localhost ~]# df -hTl  
  2. Filesystem              Type      Size  Used Avail Use% Mounted on  
  3. /dev/mapper/centos-root xfs        18G  1.1G   17G   6% /  
  4. devtmpfs                devtmpfs  479M     0  479M   0% /dev  
  5. tmpfs                   tmpfs     489M     0  489M   0% /dev/shm  
  6. tmpfs                   tmpfs     489M  6.7M  483M   2% /run  
  7. tmpfs                   tmpfs     489M     0  489M   0% /sys/fs/cgroup  
  8. /dev/sda1               xfs       497M  126M  371M  26% /boot  
  9. tmpfs                   tmpfs      98M     0   98M   0% /run/user/0  
可以看到,根分区还有/boot分区的使用状况,等等。


如果我们想要看到某个目录下文件的大小,可以使用du命令:

  1. [root@localhost /]# du -sh /etc/  
  2. 23M /etc/ 

3、分区

在使用新的硬盘之前,我们必须对其进行分区。也就是在磁盘中存储分区信息,告诉操作系统哪个扇区是哪个分区的,哪个分区用来启动的等等。

分区信息的储存方式有两个标准,MBR和GPT,分区之前,我们必须在两个之中选择一种标准。

GPT是一种新的标准,随着硬盘的不断增大,正在逐渐地取代MBR,但是现在MBR的也是不少的。

你那么MBR和GPT有什么区别呢?


MBR

MBR的意思是“主引导记录”。之所以叫“主引导记录”,是因为它是存在于驱动器开始部分的一个特殊的启动扇区。这个扇区包含了已安装的操作系统的启动加载器和驱动器的逻辑分区信息。所谓启动加载器,是一小段代码,用于加载驱动器上其他分区上更大的加载器。如何MBR被覆盖,操作系统就无法启动了。

MBR支持最大2TB磁盘,它无法处理大于2TB容量的磁盘。MBR还只支持最多4个主分区——如果你想要更多分区,你需要创建所谓“扩展分区”,并在其中创建逻辑分区。


GPT

GPT意为GUID分区表。(GUID意为全局唯一标识符)。这是

一个正逐渐取代MBR的新标准。它和UEFI相辅相成——UEFI用于取代老旧的BIOS,而GPT则取代老旧的MBR。之所以叫作“GUID分区表”,是因为你的驱动器上的每个分区都有一个全局唯一的标识符(globally unique identifier,GUID)——这是一个随机生成的字符串,可以保证为地球上的每一个GPT分区都分配完全唯一的标识符。

在MBR磁盘上,分区和启动信息是保存在一起的。如果这部分数据被覆盖或破坏,事情就麻烦了。相对的,GPT在整个磁盘上保存多个这部分信息的副本,因此它更为健壮,并可以恢复被破坏的这部分信息。

GPT的硬盘大小大得多,几乎没有限制,最大可支持18EB。而主分区的数量也非常多,可以支持多达128个主分区,所以在GPT中没有扩展分区和逻辑分区的概念,都是主分区,当然也是可以创建的,但是没有必要。

但GPT也有缺点,就是不太适合x86,也就是32位的系统。


了解了分区标准之后,我们来进行磁盘的分区。

首先使用MBR进行分区。

博主使用虚拟机,所以可以很方便的进行硬盘的添加。


添加了一块4GB的硬盘。

打开虚拟机,使用fdisk命令进行分区。

  1. [root@localhost ~]# fdisk   
  2. Usage:  
  3.  fdisk [options] <disk>    change partition table  
  4.  fdisk [options] -l <disk> list partition table(s)  
  5.  fdisk -s <partition>      give partition size(s) in blocks  
  6.   
  7. Options:  
  8.  -b <size>             sector size (512, 1024, 2048 or 4096)  
  9.  -c[=<mode>]           compatible mode: 'dos' or 'nondos' (default)  
  10.  -h                    print this help text  
  11.  -u[=<unit>]           display units: 'cylinders' or 'sectors' (default)  
  12.  -v                    print program version  
  13.  -C <number>           specify the number of cylinders  
  14.  -H <number>           specify the number of heads  
  15.  -S <number>           specify the number of sectors per track  
首先查看fdisk -l查看
  1. [root@localhost ~]# fdisk -l  
  2.   
  3. Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors  
  4. Units = sectors of 1 * 512 = 512 bytes  
  5. Sector size (logical/physical): 512 bytes / 512 bytes  
  6. I/O size (minimum/optimal): 512 bytes / 512 bytes  
  7. Disk label type: dos  
  8. Disk identifier: 0x0002b2d2  
  9.   
  10.    Device Boot      Start         End      Blocks   Id  System  
  11. /dev/sda1   *        2048     1026047      512000   83  Linux  
  12. /dev/sda2         1026048    41943039    20458496   8e  Linux LVM  
  13.   
  14. Disk /dev/sdb: 4294 MB, 4294967296 bytes, 8388608 sectors  
  15. Units = sectors of 1 * 512 = 512 bytes  
  16. Sector size (logical/physical): 512 bytes / 512 bytes  
  17. I/O size (minimum/optimal): 512 bytes / 512 bytes  
可以看到,这里多了一个/dev/sdb的硬盘。

然后使用fdisk /dev/sdb就可以进行分区了。

  1. [root@localhost ~]# fdisk /dev/sdb  
  2. Welcome to fdisk (util-linux 2.23.2).  
  3.   
  4. Changes will remain in memory only, until you decide to write them.  
  5. Be careful before using the write command.  
  6.   
  7. Device does not contain a recognized partition table  
  8. Building a new DOS disklabel with disk identifier 0xf286ed4d.  
  9.   
  10. Command (m for help):  
使用fdisk命令进行分区使用交互模式,也就是会提示我们信息,让我们选择即可。使我们非常简单的对硬盘进行分区。
  1. Command (m for help): n  
  2. Partition type:  
  3.    p   primary (0 primary, 0 extended, 4 free)  
  4.    e   extended  
  5. Select (default p): p  
  6. Partition number (1-4, default 1):   
  7. First sector (2048-8388607, default 2048):   
  8. Using default value 2048  
  9. Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): +1G  
  10. Partition 1 of type Linux and of size 1 GiB is set  
一个一个选项的输入即可。这里我们创建了一个主分区,为他分配了1G的空间。

再添加一个扩展分区,剩下的空间都给它。

  1. Command (m for help): n  
  2. Partition type:  
  3.    p   primary (1 primary, 0 extended, 3 free)  
  4.    e   extended  
  5. Select (default p): e  
  6. Partition number (2-4, default 2):   
  7. First sector (2099200-8388607, default 2099200):   
  8. Using default value 2099200  
  9. Last sector, +sectors or +size{K,M,G} (2099200-8388607, default 8388607):   
  10. Using default value 8388607  
  11. Partition 2 of type Extended and of size 3 GiB is set  
  12.   
  13. Command (m for help):   
在扩展分区中添加两个逻辑分区,分别是2g和1g。最后结果如下:
  1. Command (m for help): p  
  2.   
  3. Disk /dev/sdb: 4294 MB, 4294967296 bytes, 8388608 sectors  
  4. Units = sectors of 1 * 512 = 512 bytes  
  5. Sector size (logical/physical): 512 bytes / 512 bytes  
  6. I/O size (minimum/optimal): 512 bytes / 512 bytes  
  7. Disk label type: dos  
  8. Disk identifier: 0xf286ed4d  
  9.   
  10.    Device Boot      Start         End      Blocks   Id  System  
  11. /dev/sdb1            2048     2099199     1048576   83  Linux  
  12. /dev/sdb2         2099200     8388607     3144704    5  Extended  
  13. /dev/sdb5         2101248     6295551     2097152   83  Linux  
  14. /dev/sdb6         6297600     8388607     1045504   83  Linux  
如果满意了就直接w就可以退出保存了。如果不满意可以使用d删除某个分区,在重新增加。

这里就直接退出保存了。

使用fdisk查看。确实已经分区好了。

  1. [root@localhost ~]# fdisk -l  
  2.   
  3. Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors  
  4. Units = sectors of 1 * 512 = 512 bytes  
  5. Sector size (logical/physical): 512 bytes / 512 bytes  
  6. I/O size (minimum/optimal): 512 bytes / 512 bytes  
  7. Disk label type: dos  
  8. Disk identifier: 0x0002b2d2  
  9.   
  10.    Device Boot      Start         End      Blocks   Id  System  
  11. /dev/sda1   *        2048     1026047      512000   83  Linux  
  12. /dev/sda2         1026048    41943039    20458496   8e  Linux LVM  
  13.   
  14. Disk /dev/sdb: 4294 MB, 4294967296 bytes, 8388608 sectors  
  15. Units = sectors of 1 * 512 = 512 bytes  
  16. Sector size (logical/physical): 512 bytes / 512 bytes  
  17. I/O size (minimum/optimal): 512 bytes / 512 bytes  
  18. Disk label type: dos  
  19. Disk identifier: 0xf286ed4d  
  20.   
  21.    Device Boot      Start         End      Blocks   Id  System  
  22. /dev/sdb1            2048     2099199     1048576   83  Linux  
  23. /dev/sdb2         2099200     8388607     3144704    5  Extended  
  24. /dev/sdb5         2101248     6295551     2097152   83  Linux  
  25. /dev/sdb6         6297600     8388607     1045504   83  Linux  


当然我们也可以使用GPT进行分区。
使用GPT进行分区不能使用fdisk命令,这个命令只能用来进行MBR分区,要进行GPT分区需要使用parted命令。

首先也是增加一个新的硬盘:增加了一个5G的硬盘。


使用parted命令:

  1. [root@localhost ~]# parted  
  2. GNU Parted 3.1  
  3. Using /dev/sda  
  4. Welcome to GNU Parted! Type 'help' to view a list of commands.  
  5. (parted)     
默认使用第一块硬盘,看到上面有Using /dev/sda。

所以我们需要切换成第三块硬盘。

  1. (parted) select /dev/sdc                                                    
  2. Using /dev/sdc  
并且parted默认使用MBR进行分区,所以我们需要修改模式。也就是说,parted也可以进行MBR分区。
  1. (parted) mklabel gpt  
选择了模式之后就可以进行分区了。这里会遇到4K对齐的问题,所以我们就简单的从1M开始。 4K对齐计算
  1. (parted) mkpart                                                             
  2. Partition name?  []?                                                        
  3. File system type?  [ext2]?                                                  
  4. Start? 1M                                                                   
  5. End? 2000M   
用这种方式分配所有的分区即可。
  1. (parted) print   
  2. Model: VMware, VMware Virtual S (scsi)  
  3. Disk /dev/sdc: 5369MB  
  4. Sector size (logical/physical): 512B/512B  
  5. Partition Table: gpt  
  6. Disk Flags:   
  7.   
  8. Number  Start   End     Size    File system  Name  Flags  
  9.  1      1049kB  2000MB  1999MB  
  10.  2      2000MB  2500MB  500MB  
  11.  3      2500MB  3000MB  500MB  
  12.  4      3000MB  4000MB  1000MB  
  13.  5      4000MB  5000MB  999MB  
最后结果。可以看到。我们可以轻松的分配4个以上的分区。而不需要分配扩展分区。
最后直接quit就可以退出并保存了。
  1. Disk /dev/sdc: 5368 MB, 5368709120 bytes, 10485760 sectors  
  2. Units = sectors of 1 * 512 = 512 bytes  
  3. Sector size (logical/physical): 512 bytes / 512 bytes  
  4. I/O size (minimum/optimal): 512 bytes / 512 bytes  
  5. Disk label type: gpt  
  6.   
  7.   
  8. #         Start          End    Size  Type            Name  
  9.  1         2048      3905535    1.9G  Microsoft basic   
  10.  2      3905536      4882431    477M  Microsoft basic   
  11.  3      4882432      5859327    477M  Microsoft basic   
  12.  4      5859328      7813119    954M  Microsoft basic   
  13.  5      7813120      9764863    953M  Microsoft basic  


分区我们做完了。那么如何进行格式化呢?使用mkfs
  1. [root@localhost ~]# mkfs -t ext4 /dev/sdc1  
  2. mke2fs 1.42.9 (28-Dec-2013)  
  3. Filesystem label=  
  4. OS type: Linux  
  5. Block size=4096 (log=2)  
  6. Fragment size=4096 (log=2)  
  7. Stride=0 blocks, Stripe width=0 blocks  
  8. 122160 inodes, 487936 blocks  
  9. 24396 blocks (5.00%) reserved for the super user  
  10. First data block=0  
  11. Maximum filesystem blocks=501219328  
  12. 15 block groups  
  13. 32768 blocks per group, 32768 fragments per group  
  14. 8144 inodes per group  
  15. Superblock backups stored on blocks:   
  16.   32768, 98304, 163840, 229376, 294912  
  17.   
  18. Allocating group tables: done                              
  19. Writing inode tables: done                              
  20. Creating journal (8192 blocks): done  
  21. Writing superblocks and filesystem accounting information: done   
然后进入parted查看:
  1. Using /dev/sdc  
  2. (parted) p                                                                  
  3. Model: VMware, VMware Virtual S (scsi)  
  4. Disk /dev/sdc: 5369MB  
  5. Sector size (logical/physical): 512B/512B  
  6. Partition Table: gpt  
  7. Disk Flags:   
  8.   
  9. Number  Start   End     Size    File system  Name  Flags  
  10.  1      1049kB  2000MB  1999MB  ext4  
  11.  2      2000MB  2500MB  500MB  
  12.  3      2500MB  3000MB  500MB  
  13.  4      3000MB  4000MB  1000MB  
  14.  5      4000MB  5000MB  999MB  



分区好了之后,并进行格式化了之后,就需要挂载分区。

挂载分区使用mount命令即可:

  1. [root@localhost ~]# mkdir /mnt/testDisk  
  2. [root@localhost ~]# mount /dev/sdc1/ /mnt/testDisk/  
挂载好了之后,使用df命令查看:
  1. [root@localhost testDisk]# df -lh  
  2. Filesystem               Size  Used Avail Use% Mounted on  
  3. /dev/mapper/centos-root   18G  1.1G   17G   6% /  
  4. devtmpfs                 479M     0  479M   0% /dev  
  5. tmpfs                    489M     0  489M   0% /dev/shm  
  6. tmpfs                    489M  6.8M  483M   2% /run  
  7. tmpfs                    489M     0  489M   0% /sys/fs/cgroup  
  8. /dev/sda1                497M  126M  371M  26% /boot  
  9. tmpfs                     98M     0   98M   0% /run/user/0  
  10. /dev/sdc1                1.9G  5.7M  1.7G   1% /mnt/testDisk  
确实挂载好了。

但是使用mount只是临时挂载,如果需要永久挂载,需要对/etc/fstab进行配置。


以上是普通分区,如果需要添加swap分区,在parted地方,需要修改某个分区的16进制编码。

使用mkswap即可修改。

  1. mkswap /dev/sdc2  
最后使用swapon打开即可。也可以使用swapoff关闭。

——————————————————————————————————————————————

以上就是我们对用户管理、磁盘管理、文件管理的总结。









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值