认识Linux的文件系统

安装完操作系统后,我们需要了解Linux支持的文件系统类型和Linux的基本目录结构,对系统进行一些基本配置。现在的主要目的是熟悉Linux操作系统的目录结构、路径规则、基本命令和文件类型等。

一、熟悉Linux系统中的目录结构

文件结构是文件存放在磁盘等存储设备上的组织方法,主要体现在对文件和目录的组织上。目录提供了管理文件的一个方面而有效的途径。

第一步:理解Linux使用标准的目录结构,在安装的时候,安装程序已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型,如下图所示。


第二步:对比理解Linux系统的文档结构

有一块硬盘分成了四个分区,分别是/、/boot、/usr和Windows下的FAT,对于/和/boot或者/和/usr,它们是从属关系;对于/boot和/usr,它们是并列关系。

如果把Windows下的FAT分区挂载到/mnt/winc下,那么对于/mnt/winc和/usr或/mnt/winc和/boot来说,它们是从属于目录树上没有任何关系的分支。

因为Linux是一个多用户系统,所以要定制一个固定的目录规划,这样有助于对系统文件和不同的用户文件进行统一管理,但就是这一点让很多从Windows转到Linux的初学者感到头痛。

第三步:列出Linux下一些常用目录的功能

/:根目录。

/bin:存放必要的命令。

/boot:存放内核以及启动所需的文件。

/dev:存放设备文件。

/etc:存放系统配置文件。

/home:普通用户的宿主目录,用户数据存放在其主目录中。

/lib:存放必要的运行库。

/mnt:存放临时的映射文件系统,通常用来挂载。

/proc:存放存储进程和系统信息。

/root:超级用户的主目录

/sbin:存放系统管理程序

/tmp:存放临时文件。

/usr:存放应用程序、命令程序文件、程序库、手册和其他文档。

/var:在正常操作中被改变的文件

二、了解Linux系统中的路径规则

绝对路径:路径的写法一定由根目录"/"写起,列如/usr/local/mysql就是绝对路径

相对路径:路径的写法不是由根目录“/”写起,列如,首先用户进入到/,然后进入到home,命令为【cd/home】

三、掌握Linux系统中的基本命令
在Linux系统中,只显示当前工作的目录,没有显示完整的路径,使用【pwd】命令打印当前完整的工作路径。

【cd】命令是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用【cd】命令基础上的。
【cd/usr/local】进入到/usr/local目录。
【pwd】打印 当前工作目录。
【cd./】还是当前目录。

【cd../】进入当前目录的上级目录。


在上面的命令中,首先进入/usr/local/lib/目录下,然后再进入./,其实还是进入到当前目录下,用【pwd】命令查看当前的工作路径,并没有发生变化,然后再进入../,则是进入到/usr/local/目录下,即/usr/local/lib目录的上一级目录。路径【./】指的是当前目录,【../】指的是当前目录的上一级目录。

【ls】命令是列表的命令,在【ls】命令后加上-1就是以长列表的形式显示出来。
【ls-1】或【11】显示当前文件夹内文件详细信息。
【ls-a】显示当前文件夹内隐藏文件。
【ls~】显示用户宿主目录的文件信息。


【more】以一页一页的形式显示文件。
【less】命令作用与【more】命令相似,都可以用来浏览文字档案的内容。
【j】以行为单位向下;【k】以行为单位向上。
【ls/etc/more】让/etc中文件与目录分屏显示,只能向下查看。
【ls/etc|less】让/etc中文件与目录分屏显示,可以上下查看。

【less/etc/squid/squid.conf】分屏显示squid.conf中的内容。


【cat】通常用于查看某个文件的内容,主要有三大功能:
(1)一次性显示整个文件:【cat filename】。
(2)从键盘创建一个文件:【cat>filename】。
(3)将几个文件合并为一个文件:【cat lilel file2>file】。
【cat/etc/passwd】查看文件passwd文件中的内容。

【cat/etc/passwd|less】查看文件passwd文件中的内容,可以上下移动,按q键退出。【cat/etc/fstab】查看/etc/fstab文件中的内容。


【mkdir yhy】在当前路径中创建yhy目录。

【mkdir yhy1 yhy2 yhy3】在当前路径中同时创建yhy1、yhy2、yhy3共三个目录。


【touch】命令用于创建的空文件或者修改已有的文件的时间戳,常用方法如下。
【touch fileA】如果fileA存在,使用【touch】指令可更改这个文件或目录的日期时间;如果其不存在,指令会在当前目录下新建一个空白文件fileA。
【touch file1 file2】在当前目录下创建文件file1和file2两个。
【touch/home/file1 file2】在/home目录下创建两个文件。
【touch -t 201601142234.50 log.log】设定文件的时间戳。                                                                                                                 
【mkdir dirl dir2】在当前目录下创建子目录。


【rmidr/tmp/test/yhy】删除yhy目录。
【ls/tmp/test】查看目录下的文件及目录。
【mkdir-p d1/d2/d3】依次建立文件夹。

【rmdir-p d1/d2/d3】依次删除文件夹。


【rmdir】命令只能删除目录但不能删除文件或非空目录,要想删除一个文件,则要用【rm】命令。
【rm-f/root/dir2/myfile1】使用绝对路径删除文件。
【rm-i/root/dir2/myfile2】-i当删除文件时会提示用户是否真的删除,如果删除,输入【y】,否则输入【n】。
【rm-rf/root/dir1】当删除目录时加-r选项。

【rm-rf/root/dir2】删除dir2子目录,包括里面的文件。

【mv】用来移动文件或将文件改名。
【mv1.txt2.txt3.txt test3】移动文件。
【mv-t/opt/soft/test/test4/1.txt2.txt3.txt】移动文件。
【mv file1 file2 dir2】将文件从当前目录移动至dir2。
【mv/dir2/file1/dir2/myfile1】将文件改名为myfile1。
【mv/root/abc.jpg/etc/kk】将文件移动到/etc文件夹下。
【mv at.doc abc.doc】将文件at.doc改名为abc.doc。
【mv kk.zip.kk.zip】将文件隐藏。
【mv .kk.zip kk.zip】将文件除去隐藏。
【mb-i1.txt 2.txt】将文件改名,如果文件已存在,则询问是否覆盖。

【reboot】重启系统。
【shutdown-r now】立刻重启(root用户使用)。
【shutdown-r 10】过十分钟自动重启。
【shutdown-r 20:35】在时间为20:35时重启。
关机命令
【halt】立刻关机。
【poweroff】立刻关机。
【shutdown-h now】立刻关机(root用户使用)。
【shutdown-h 10】十分钟后自动关机。

(1)【df】命令显示磁盘占用空间。
(2)【free】命令用于显示系统内存的使用情况信息。
(3)【cat/proc/meminfo】命令查看内存使用的详细信息。
(4)【cat/procuinfo】命令查看CPU信息。

(1)【ls-al/root>file1】将用户root的家目录的所有目录列表保存至文件file1中。
(2)【ls-al/bin|grep in>file2】将文件名中包含in字符的文件名保存至文件file2中。
(3)【cat file1 file2】同时显示文件的内容。
(4)【cat file1 file2>file3】将文件1、2中的内容合并成新文件3。
(5)【head file3】显示文件file3的前十行内容。
(6)【head 15 file3】显示文件的前十五行内容。
(7)【tail 3 file3】显示文件的后三行内容。
(8)【wc-lw file1】统计文件中的行数、字数。
(9)【grep-c root file1】统计文件中包含root的行数。
(10)【find.-name“file*”】查找文件名中包含了file的文件。
(11)【ls-1|grep-c“file”】查找当前目录中是否有文件名包含file的文件。
(12)【find/bin-size-1000c>myresult】查找是否有1000字节以下的文件,并将查找结果保存。
(13)【find/bin-size100-print】查找是否有100块以上的文件。
(14)【find/-user test】查找是否有用户test创建的文件。

(15)【cp/config*/bak】将所有文件名中包含了字符config的文件复制到目录/bak中。

(16)【cut-d:-fl/etc/passwd】提取用户名,统计个数,并将结果保存至文件中。
(17)【ls/bin-al|wc-l】统计/bin目录下的文件目录项数。
(18)【ls-al|per-pi-e's/rootaz/g'】将用户当前目录下的文件目录显示列表中的所有root替换成wqaz,并显示替换结果。
挂载外部文件到Linux系统中
第一步:理解挂载的概念
    Liunx采用树形的文件管理系统,也就是在Linux系统中,可以说已经没有分区的概念了。分区在Linux和其他设备一样都只是一个文件。要使用一个分区必须把它加载到文件系统中。Linux中树形的文件结构,最顶层是/ 目录。在安装系统时,必须选择把一个主分区挂载在/ 目录下,因为系统需要安装在/挂载的主分区下。否则系统会提示。所以挂载就是把目录和分区连接起来,Linux的文件系统是树形的,安装的系统必须是在/ 目录下,因为/目录下挂载了一个主分区。/目录是树形的根,其他所有目录都是他的子节点。 我们安装系统的时候已经把分区1挂载到 / 目录下了, 而这个时候没有挂载其他任何分区,所以/ 目录下的所有其他目录都在这个分区下,也就是说,在任何目录下读写操作实际都是操作的这个1号分区。如果我们想使用其他分区,就必须把这个分区挂载到一个目录下,这个目录可以是已经存在的目录。

第二步:使用挂载命令的参数
命令格式:mount [-t vfstype] [-o options] device dir 
其中: 
-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有: 
Linux最早使用的文件系统:minix
Linux目前常用的文件系统:ext4、ext3、ext2
光盘或光盘镜像:iso9660 
DOS fat16文件系统:msdos 
Windows 9x fat32文件系统:vfat 
Windows NT ntfs文件系统:ntfs 
Mount Windows文件网络共享:smbfs 
UNIX(LINUX) 文件网络共享:nfs
 自动检测文件常用:auto
OS/2文件系统常用:hpfs
第三步:使用挂载命令选项
-o,指定挂载文件系统时的选项
 ro :采用只读方式挂接设备
 rw :采用读写方式挂接设备
 user:可以让一般用户挂载设备
nouser:使用一般用户无法挂载.
 
使用实例:
Windows 7系统挂载在hdal分区上,同时还挂载光盘和U盘。
【mkdir/mnt/winc】建立挂载点/mnt/winc。
【mount-t ntfs/deval /mnt/winc】挂载Windows 7的hdal分区
【mkdir/mnt/usb】建立挂载点/mnt/usb。
【mount-t vft /dev/sdal/mnt/sub】挂载U盘。
【mkdir/mntrom】建立挂载点/mntrom。

【mount-t iso9660/devrom/mntrom】挂载光盘。

掌握Linux系统中的自动挂载

在给系统新增了磁盘以后,如果重启系统我们会发现找不到存储了;但是使用fdisk -l可以看到存储空间,说明存储还在。这是因为关机后,挂载已经自动卸载掉了。我们当然可以手动再次将其挂载,但如果每次重启都需要这样手动操作会很不方便;因此我们可以利用自动挂载,这样系统每次开机的时候就可以自动将磁盘挂载上去了。

自动挂载可以有两种方式。

1.修改/etc/fstab文件
   打开 fstab文件,可以看到文件格式如下:


可以很明显的看到文件有6列。
      第一列可以是实际分区名,也可以是实际分区的卷标(Lable)。
如果磁盘是SATA接口,且有多个磁盘,则每个磁盘被标记为 /dev/hda 、 /dev/hdb、 /dev/hdc 等以此类推;而每个磁盘的分区被标记为 /dev/hda1、 /dev/hda2等。
如果磁盘是SCSI类型,则多个磁盘会被分别标记为 /dev/sda、/dev/sdb等等。分区同理。
如果使用标签来表示,则格式如:1 LABLE=/ 
 
       第二列是挂载点。
挂载点必须为当前已经存在的目录,为了兼容起见,最好在创建需要挂载的目标目录后,将其权限设置为777,以开放所有权限。
 
        第三列为此分区的文件系统类型。
Linux可以使用ext2、ext3等类型,此字段须与分区格式化时使用的类型相同。也可以使用 auto 这一特殊的语法,使系统自动侦测目标分区的分区类型。auto通常用于可移动设备的挂载。
 
      第四列是挂载的选项,用于设置挂载的参数。
常见参数如下:
auto: 系统自动挂载,fstab默认就是这个选项
defaults: rw, suid, dev, exec, auto, nouser, and async.
noauto 开机不自动挂载
nouser 只有超级用户可以挂载
ro 按只读权限挂载
rw 按可读可写权限挂载
user 任何用户都可以挂载
请注意光驱和软驱只有在装有介质时才可以进行挂载,因此它是noauto

       第五列是dump备份设置。
当其值设置为1时,将允许dump备份程序备份;设置为0时,忽略备份操作;

      第六列是fsck磁盘检查设置。
其值是一个顺序。当其值为0时,永远不检查;而 / 根目录分区永远都为1。其它分区从2开始,数字越小越先检查,如果两个分区的数字相同,则同时检查。
       本文需将逻辑卷lv_study挂载到 /lvm_study ,文件系统为ext4 格式,不进行dump备份以及开机磁盘检查。
/dev/mapper/vg_study-lv_study  /lvm_study        ext4    defaults        0 0
      将上面的命令添加进fstab后,为了避免可能的错误,我们可以使用mount -a 命令来检验编辑的内容是否有错。执行mount -a命令后,用df -h查看会发现磁盘已经挂载成功,说明输入没有错误。下次重启的时候系统就可以自动进行挂载了。
实例图如下所示:

当Linux下次启动时,系统会读取该文件,Linux系统就会自动把/root/examine.iso镜像文档挂载到/mnt/iso目录下面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值