学习Linux环境下的挂载命令。

什么是挂载命令?

1.Windows下,mount挂载,就是给磁盘分区提供一个盘符(C,D,E,...)。比如插入U盘后系统自动分配给了它I:盘符其实就是挂载,退优盘的时候进行安全弹出,其实就是卸载unmount。

2.Linux下,不像Windows可以有C,D,E,多个目录,Linux只有一个根目录/。在装系统时,我们分配给linux的所有区都在/下的某个位置,比如/home等等。

3.提问者插入了新硬盘,分了新磁盘区sdb1。它现在还不属于/。

4.我们虽然可以在一些图形桌面系统里找到他的位置,浏览管理里面的文件,但在命令行却不知怎么访问它的目录,比如无法使用cd或者ls。也无法在编程时指定一个目录对它操作。

5.这时提问者使用了 mount /dev/sdb1 ~/Share/ ,把新硬盘的区sdb1挂载到工作目录的~/Share/文件夹下,之后访问这个~/Share/文件夹就相当于访问这个硬盘2的sdb1分区了。对/Share/的任何操作,都相当于对sdb1里文件的操作。

6.所以Linux下,mount挂载的作用,就是将一个设备(通常是存储设备)挂接到一个已存在的目录上。访问这个目录就是访问该存储设备。

7.linux操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成一个大的文件目录。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。挂载就是把设备放在一个目录下,让系统知道怎么管理这个设备里的文件,了解这个存储设备的可读写特性之类的过程。

8.我们不是有/dev/sdb1 吗,直接对它操作不就行了?这不是它的目录吗?

9.这不是它的目录。虽然/dev是个目录,但/dev/sdb1不是目录。可以发现ls/dev/sdb1无法执行。/dev/sdb1,是一个类似指针的东西,指向这个分区的原始数据块。mount前,系统并不知道这个数据块哪部分数据代表文件,如何对它们操作。

10.插入CD,系统其实自动执行了 mount /dev/cdrom /media/cdrom。所以可以直接在/media/cdrom中对CD中的内容进行管理。

mount 命令用来挂载文件系统。其基本命令格式为:
mount -t type [-o options] device dir
device:指定要挂载的设备,比如磁盘、光驱等。
dir:指定把文件系统挂载到哪个目录。
type:指定挂载的文件系统类型,一般不用指定,mount 命令能够自行判断。
options:指定挂载参数,比如 ro 表示以只读方式挂载文件系统。

用法:
mount [-lhV]
mount -a [选项]
mount [选项] [--source] <源> | [--target] <目录>
mount [选项] <源> <目录>
mount <操作> <挂载点> [<目标>]

挂载文件系统。

选项:
-a, --all 挂载 fstab 中的所有文件系统
-c, --no-canonicalize 不对路径规范化
-f, --fake 空运行;跳过 mount(2) 系统调用
-F, --fork 对每个设备禁用 fork(和 -a 选项一起使用)
-T, --fstab <路径> /etc/fstab 的替代文件
-i, --internal-only 不调用 mount.<type> 辅助程序
-l, --show-labels 也显示文件系统标签
-n, --no-mtab 不写 /etc/mtab
-o, --options <列表> 挂载选项列表,以英文逗号分隔
-O, --test-opts <列表> 限制文件系统集合(和 -a 选项一起使用)
-r, --read-only 以只读方式挂载文件系统(同 -o ro)
-t, --types <列表> 限制文件系统类型集合
--source <源> 指明源(路径、标签、uuid)
--target <目标> 指明挂载点
-v, --verbose 打印当前进行的操作
-w, --rw, --read-write 以读写方式挂载文件系统(默认)

-h, --help display this help
-V, --version display version

源:
-L, --label <标签> 同 LABEL=<label>
-U, --uuid <uuid> 同 UUID=<uuid>
LABEL=<标签> 按文件系统标签指定设备
UUID=<uuid> 按文件系统 UUID 指定设备
PARTLABEL=<标签> 按分区标签指定设备
PARTUUID=<uuid> 按分区 UUID 指定设备
<设备> 按路径指定设备
<目录> 绑定式挂载的挂载点(参阅 --bind/rbind)
<文件> 用于设置回环设备的常规文件

操作:
-B, --bind 挂载其他位置的子树(同 -o bind)
-M, --move 将子树移动到其他位置
-R, --rbind 挂载其他位置的子树及其包含的所有子挂载(submount)
--make-shared 将子树标记为 共享
--make-slave 将子树标记为 从属
--make-private 将子树标记为 私有
--make-unbindable 将子树标记为 不可绑定
--make-rshared 递归地将整个子树标记为 共享
--make-rslave 递归地将整个子树标记为 从属
--make-rprivate 递归地将整个子树标记为 私有
--make-runbindable 递归地将整个子树标记为 不可绑定

学习Linux环境下的ifconfig命令。

首先需要先下载网络工具:

$sudo apt install net-tools

用法:
ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]
[add <address>[/<prefixlen>]]
[del <address>[/<prefixlen>]]
[[-]broadcast [<address>]] [[-]pointopoint [<address>]]
[netmask <address>] [dstaddr <address>] [tunnel <address>]
[outfill <NN>] [keepalive <NN>]
[hw <HW> <address>] [mtu <NN>]
[[-]trailers] [[-]arp] [[-]allmulti]
[multicast] [[-]promisc]
[mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <type>]
[txqueuelen <NN>]
[[-]dynamic]
[up|down] ...

<HW>=硬件类型。
可能硬件类型列表:
loop (本地环回) slip (Serial Line IP) cslip (VJ Serial Line IP)
slip6 (6-bit Serial Line IP) cslip6 (VJ 6-bit Serial Line IP) adaptive (Adaptive Serial Line IP)
ash (Ash) ether (以太网) ax25 (AMPR AX.25)
netrom (AMPR NET/ROM) rose (AMPR ROSE) tunnel (IPIP Tunnel)
ppp (点对点协议) hdlc ((Cisco)-HDLC) lapb (LAPB)
arcnet (ARCnet) dlci (Frame Relay DLCI) frad (Frame Relay Access Device)
sit (IPv6-in-IPv4) fddi (Fiber Distributed Data Interface) hippi (HIPPI)
irda (IrLAP) ec (Econet) x25 (generic X.25)
eui64 (Generic EUI-64)
<AF>=地址族。默认:inet
可能的地址族列表:
unix (UNIX Domain) inet (DARPA Internet) inet6 (IPv6)
ax25 (AMPR AX.25) netrom (AMPR NET/ROM) rose (AMPR ROSE)
ipx (Novell IPX) ddp (Appletalk DDP) ec (Econet)
ash (Ash) x25 (CCITT X.25)

学习Linux环境下的文件权限(重点掌握chmod命令)

chmod 命令语法:

chmod(选项)(参数)

  1. u # 操作对象简称,用户user,文件或目录的所有者。
  2. g # 操作对象简称,同组用户group,文件或目录所属群组
  3. o # 操作对象简称,其它用户others
  4. a # 操作对象简称,所有用户all,系统默认使用此项
  5. + # 权限操作符,添加某些权限
  6. - # 权限操作符,取消某些权限
  7. = # 权限操作符,设置文件的权限为给定的权限
  8. r # 权限设定(英文),表示可读权限
  9. w # 权限设定(英文),表示可写权限
  10. x # 权限设定(英文),表示可执行权限
  11. - # 权限设定(英文字符),表示没有权限
  12. X # 权限设定,如果目标文件是可执行文件或目录,可给其设置可执行权限
  13. s # 权限设定,设置权限suid和sgid,使用权限组合“u+s”设定文件的用户的ID位,“g+s”设置组ID位
  14. t # 权限设定,只有目录或文件的所有者才可以删除目录下的文件
  15. -c或——changes # 效果类似“-v”参数,但仅回报更改的部分,如果文件权限已经改变,显示其操作信息;
  16. -f或--quiet或——silent # 操作过程中不显示任何错误信息;
  17. -R或——recursive # 递归处理,将指令目录下的所有文件及子目录一并处理;
  18. -v或——verbose # 显示命令运行时的详细执行过程;
  19. --reference=<参考文件或目录> # 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;
  20. <权限范围>+<权限设置> # 开启权限范围的文件或目录的该选项权限设置;
  21. <权限范围>-<权限设置> # 关闭权限范围的文件或目录的该选项权限设置;
  22. <权限范围>=<权限设置> # 指定权限范围的文件或目录的该选项权限设置;
  23. --help # 显示帮助信息
  24. --version # 显示版本信息

chmod 命令参数:

权限模式:指定文件的权限模式;

文件:要改变权限的文件。

权限范围的表示法如下:

  1. u User,即文件或目录的拥有者;
  2. g Group,即文件或目录的所属群组;
  3. o Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
  4. a All,即全部的用户,包含拥有者,所属群组以及其他用户;
  5. r 读取权限,数字代号为“4”;
  6. w 写入权限,数字代号为“2”;
  7. x 执行或切换权限,数字代号为“1”;
  8. - 不具任何权限,数字代号为“0”;
  9. s 特殊功能说明:变更文件或目录的权限。

chmod 命令实例:


Linux 用户分为:拥有者、组群(Group)、其他(other),Linux 系统中,预设的情況下,系统中所有的帐号与一般身份使用者,以及 root 的相关信 息, 都是记录在 /etc/passwd 文件中。每个人的密码则是记录在 /etc/shadow 文件下。 此外,所有的组群名称记录在 /etc/group 內!

linux文件的用户权限的分析图

  1. -rw-r--r-- 1 user staff 651 Oct 12 12:53 .gitmodules
  2. # ↑╰┬╯╰┬╯╰┬╯
  3. # ┆ ┆ ┆ ╰┈ 0 其他人
  4. # ┆ ┆ ╰┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ g 属组
  5. # ┆ ╰┈┈┈┈ u 属组
  6. # ╰┈┈ 第一个字母 `d` 代表目录,`-` 代表普通文件
  7. 例:rwx rw- r--
  8. r=读取属性  //值=4
  9. w=写入属性  //值=2
  10. x=执行属性  //值=1
  11. chmod u+x,g+w f01  # 为文件f01设置自己可以执行,组员可以写入的权限
  12. chmod u=rwx,g=rw,o=r f01
  13. chmod 764 f01
  14. chmod a+x f01   # 对文件f01的u,g,o都设置可执行属性
  15. #文件的属主和属组属性设置
  16. chown user:market f01  # 把文件f01给uesr,添加到market组
  17. ll -d f1 #查看目录f1的属性
  18. #将/home/wwwroot/里的所有文件和文件夹设置为755权限
  19. #(1)直接指定路径修改
  20. chmod -R 755 /home/wwwroot/*
  21. #(2)手动进入该目录修改权限(并显示详细过程)
  22. cd /home/wwwroot
  23. chmod -Rv 755 * #注意:“*”表示通配符,指的是所有文件和文件
  24. sudo chmod o+rw /shared #设置文件夹权限以保证其余用户可以访问它。

VI或VIM编辑器的工作方式有哪些?这些工作方式之间如何转换?

可以通过$vimtutor来学习,通常Vi分为三种模式:一般模式、编辑模式、命令行命令模式。

(1)     一般模式Normal Mode(common Mode, c-Mode)

Vi处理文件时,进入该文件就是一般模式,此模式中输入的任何字符皆被视为指令。可以用方向键来移动光标,可以使用“删除字符”或“删除整行”来处理文件内容,也可以使用复制、粘贴处理文件数据

(2)     编辑模式(文本写入模式)Insert Mode (i-Mode)

在一般模式中可以进行删除、复制、粘贴操作,但无法进行编辑,需要按下i, l, o, O, a, A, r, R等才会进入编辑模式,此时进入文本写入模式,而不会被视为命令行。通常在屏幕左下方会出现“INSERT”或“REPLACE”字样,才可以输入任何字符到文件中。返回一般模式按下Esc键即可。

(3)     命令行模式Ed Mode (common-line Mode, e-Mode)

在一般模式中,输入:或/或?就可以将光标移到最下面一行,在这个模式中,可以搜索数据并读取、存盘、大量删除字符、离开Vi、显示行号等操作都是在此模式中实现的。

Linux学习第六天的更多相关文章

  1. Linux 学习第六天

    一.VIM 1.VIM编辑器 1.1.VIM工作模式 1.1.1.命令模式:复制.剪切.粘贴.搜索等等 1.1.2.输入模式:随意对文件进行内容编辑 1.1.3.末行模式(:):保存退出,编辑环境设置 ...

  2. Linux学习--第六天--软件包

    yum在线管理 管理的是rpm包,光盘里面都有 /etc/yum.repos.d下面有四个文件,对应网络yum源,光盘yum源等.如果需要用到哪个源,将其他三个源的enabled设置为0即可. |源配 ...

  3. Linux学习日记-使用EF6 Code First(四)

    一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是  请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...

  4. Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码

    在上一篇随笔里面详细讲解了Linux系统的启动过程 (Linux学习之CentOS(二十一)--Linux系统启动详解),我们知道Linux系统的启动级别一共有6种级别,通过 /etc/inittab ...

  5. Linux学习笔记之兄弟连

    systemctl --user enable pulseaudio说明:安装完成后系统没有声音,用该命令可以打开.ifconfig eth0 192.168.118.1说明:给网卡设置IP地址.ap ...

  6. Linux学习内容

    Linux学习要点(转载自红联) 一.学习Linux的基本要求1. 掌握至少50个以上的常用命令. 2. 熟悉Gnome/KDE等X-windows桌面环境操作 . 3. 掌握.tgz..rpm等软件 ...

  7. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

  8. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  9. Linux学习心得之 Linux下ant安装与使用

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下ant安装与使用 1. 前言2. ant安装3. 简单的a ...

随机推荐

  1. <JZOJ5913>林下风气

    快乐dp 反正考场写挂 #include<cstdio> #include<cstring> #include<cctype> #include<iostre ...

  2. Python测试开发-创建模态框及保存数据

    Python测试开发-创建模态框及保存数据 原创: fin  测试开发社区  前天 什么是模态框? 模态框是指的在覆盖在父窗体上的子窗体.可用来做交互,我们经常会看到模态框用来登录.确定等等,到底是怎 ...

  3. 测试工程师不懂AI,还有未来吗?

    阿里妹导读:近几年人工智能.机器学习等词漫天遍地,似乎有一种无AI,无研发,无AI,无测试的感觉.有人说:不带上"智能"二字,都不好意思说自己是创新.我们先暂且不评论对错,只探讨这 ...

  4. 从租人APP沦为性工作发布平台 看共享经济监管边界

    看共享经济监管边界" title="从租人APP沦为性工作发布平台 看共享经济监管边界"> 继直播类软件部分涉黄之后,最近火爆的各类"租人"软件 ...

  5. swoole(3)网络服务模型(单进程阻塞、预派生子进程、单进程阻塞复用模型)

    一:单进程阻塞 设计流程: 创建一个socket,绑定端口bind,监听端口listen 进入while循环,阻塞在accept操作上,等待客户端连接进入,进入睡眠状态,直到有新的客户发起connet ...

  6. Python安装3 —— Python3.8和2.7共存

    本文内容皆为作者原创,如需转载,请注明出处:https://www.cnblogs.com/xuexianqi/p/12400896.html 一:Python解释器为什么要2个版本? 众所周知,Py ...

  7. preload & prefetch

    原文地址在 我的笔记里,觉得还行就给个 star 吧:) 关于 preload 和 prefetch 早有耳闻,知道它们可以优化页面加载速度,然具体情况却了解不多.搜索了相关的资料后对其有了些认识,在 ...

  8. ES6 常用知识点总结

    ES6常用知识总结 之前总结了es5中js的一些知识点.这段时间看了石川blue老师讲解的es6课程,结合阮一峰老师的es6教程,随手做了一些笔记和总结分享给大家.内容还是es6主要的知识点,基本没有 ...

  9. https信任库采坑记

    最近在客户现场遇到一个棘手的http问题,现象很直接,访问某https的时候报错: javax.net.ssl.SSLPeerUnverifiedException: peer not authent ...

  10. Python——五分钟带你弄懂迭代器与生成器,夯实代码能力

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是周一Python专题,给大家带来的是Python当中生成器和迭代器的使用. 我当初第一次学到迭代器和生成器的时候,并没有太在意,只是觉 ...