encoder- Linux从入门到精通【中】


点击查看: encoder- Linux从入门到精通【上】

第3章 Linux存储系统

第1关:Linux之常见的存储架构

1、直接附加的存储DAS

Linux 支持种类繁多的 DAS 界面,包括像并行高级技术附件的旧标准 — 电子集成驱动器 IDE/ATA — 并行 SCSI 和光纤通道以及新的存储界面,例如串行连接的 SCSI、串行 ATA 和外部 SATA 。您还将发现高级存储技术,例如 USB3(可扩展的主机控制器界面)和 Firewire 。

2、存储区域网络SAN

SAN 提供块级存储合并,以便在一些服务器中共享它。存储对服务器显示为是本地的,其中端点存储设备可以为客户端设备实现附加服务(例如备份和复制)。
SAN 的协议和界面是广泛和多样的。可以在 Linux 中发现典型的 SAN 协议,例如光纤通道以及其通过 IP 的扩展 (iFCP)。还存在更新的协议,例如 SAS、以太网光纤通道以及 iSCSI 。
作为存储协议出现的以太网已经在 Linux 中完全实现,其说明了这些方法的力量和灵活性。
Linux 完全支持 10 千兆位以太网,并允许构造高性能 SAN 。

3、网络附加存储NAS

NAS 是通过网络的存储合并,以便不同类型客户端在文件级别进行访问。Linux 中完全支持的两种最流行协议是网络文件系统 NFS 和服务器消息块/通用互联网文件系统 SMB/CIFS 。
虽然原始的 SMB 实现是专有的,但是它被逆向设计以便在 Linux 中受到支持。后来的 SMB 修订版被公开记录以便允许在 Linux 中进行更简单的开发。
Linux 继续发展针对 NFS 的各种增强和扩展。NFS 现在是一个状态协议并包括对数据和元数据分离的优化以及数据访问并行。

第2关:Linux之fdisk的使用

disk基本介绍
fdisk 是 Linux 中常用的硬盘管理工具,是一个创建和维护分区表的程序,它兼容 DOS 类型的分区表、BSD 或者 SUN 类型的磁盘列表。
fdisk 是常用的 Linux 系统分区工具,使用 fdisk 可以对硬盘分区进行各种操作。
fdisk具体使用
语法:fdisk (选项) (参数)
选项:
-b:<分区大小>:指定每个分区的大小;
-l:列出指定的外围设备的分区表状况;
-s:<分区编号>:将指定的分区大小输出到标准输出上,单位为区块;
-u:搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址;
-v:显示版本信息。
创建完成之后要输入 w 保存,否则系统不会对硬盘进行操作,保存之后会自动退出程序。
fdisk的功能是()。
A、建立DOC分区或逻辑分区
C、删除DOC分区或逻辑分区
D、显示分区信息

下列关于fdisk命令,说法正确的是()。
A、管理所有分区,并能格式化各个分区
C、能够创建所有分区,不能格式化各个分区

第3关:Linux之mkfs的使用

mkfs 命令用于在特定的分区上建立 linux 文件系统

mkfs 本身并不执行建立文件系统的工作,而是去调用相关的程序来执行。
mkfs 命令通常用于在设备硬件分区上创建 linux 文件系统。mkfs 命令支持建立多种 Linux 文件系统,如 ext 系列,xfs 等等。实际上 mkfs 是支持多种文件系统构建命令 mkfs. TYPE 的前部分,mkfs 命令通常执行的时候也是调用mkfs. TYPE 来执行,如 mkfs.ext2, mkfs.ext3, mkfs.ext4,mkfs.vfs,mkfs.vfat 等等。

mkfs 不会将分区格式化txt格式
只有将创建的分区格式化之后才能够使用,否则创建的分区是不能使用的,经过格式化之后的分区虽然可以使用了,但是这个分区格式化后需要挂载到一个文件内才可以使用,挂载的具体方法将会在后面学习到。

mkfs的使用
使用格式:
mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
参数 :
device : 预备检查的硬盘分区,例如:/dev/sda1
-V : 详细显示模式
-t : 给定档案系统的型式,Linux 的预设值为 ext2
-c : 在制做档案系统前,检查该 partition 是否有坏轨
-l bad_blocks_file : 将有坏轨的 block 资料加到 bad_blocks_file 里面

第4章 Linux文件/目录管理

第1关:Linux之文件创建/删除

touch指令

Linux中使用touch命令来创建一个空文件。

具体命令如下:touch 文件名

具体说明:

如果一次想创建多个文件,则每个文件名用空格隔开。

touch命令创建一个指定的新文件,并将当前登录用户作为文件所有者。

由于touch命令创建的文件为空,所以文件的大小为0。

touch命令还可以用于更改文件的访问时间和修改时间,而不改变文件的内容。

rm指令

Linux中使用rm命令来删除一个已经存在的文件。

具体命令如下:rm 参数 文件名

常用参数如下:

-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;-i:删除已有文件或目录之前先询问用户。
具体说明:

如果一次想删除多个文件,则每个文件名用空格隔开。

rm命令可以使用通配符来删除文件。

第2关:Linux之目录创建/删除

mkdir指令

Linux中使用mkdir命令来创建一个空目录。

具体命令如下:mkdir 参数 目录名

常用参数如下:

-p或–parents:若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录。
具体说明:

如果一次想创建多个目录,则每个目录名用空格隔开。

mkdir命令创建一个指定的目录,并将当前登录用户作为目录所有者。

mkdir命令创建一个空目录后,该目录下只存在两个特殊的目录,分别是.和…

rmdir指令

Linux中使用rmdir命令来删除一个已经存在的空目录。

具体命令如下:rmdir 参数 目录名

常用参数如下:

-p或–parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
具体说明:

如果一次想删除多个空目录,则每个目录名用空格隔开。

rmdir命令可以使用通配符来删除目录。

如果想删除的目录不为空,则先使用rm命令将目录下的所有文件都清空,然后再使用rmdir将目录删除,或者直接使用rm -r命令直接递归的删除整个目录。

第3关:Linux之文件复制/重命名

cp指令

Linux拷贝文件
Linux中使用cp命令将一个或多个源文件复制到指定的目的目录下。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。

具体命令如下:cp 参数 源文件 目的目录

常用参数如下:

-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-p:保留源文件或目录的属性。

mv指令

Linux中使用mv命令来重命名一个文件名。

mv命令还可以用来移动文件,类似于Windows上的剪切功能。

具体命令如下:mv 参数 目录名

常用参数如下:

-f:若目标文件与现有的文件重复,则直接覆盖现有的文件;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
具体说明:

如果一次想移动多个文件,则每个文件名用空格隔开;

mv命令可以使用通配符来移动目录。

第4关:Linux之目录复制/重命令

cp指令

Linux拷贝目录
Linux中使用cp -r命令将一个或多个源目录复制到指定的目录下。它可以将单个源目录复制成一个指定目录名的具体的目录或一个已经存在的目录下。

具体命令如下:cp 参数 源目录 目的目录

常用参数如下:

-r 是递归把源目录下的目录递归进行移动;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-p:保留源文件或目录的属性;
具体说明:

cp命令支持同时复制多个目录,当一次复制多个目录时,目的目录参数必须是一个已经存在的目录,否则将出现错误;

cp命令支持同时复制多个目录,当一次复制多个目录时,多个目录名用空格分隔;

cp命令拷贝目录和拷贝文件大致用法相似,最大差别就是拷贝目录的时候必须加上-r参数,而拷贝文件的时候不需要加-r参数。

mv指令

Linux中使用mv命令来重命名一个目录名。

mv命令还可以用来移动目录,类似于Windows上的剪切功能。

具体命令如下:mv 参数 源目录 目的目录

常用参数如下:

-f:若目标目录与现有的目录重复,则直接合并现有的目录;
-i:交互式操作,覆盖前先行询问用户,如果源目录与目标目录同名,则询问用户是否合并目标目录。用户输入”y”,表示将合并目标目录;输入”n”,表示取消对源目录的移动。这样可以避免误将目录覆盖。
具体说明:

如果一次想移动多个目录,则每个目录名用空格隔开。

mv命令可以使用通配符来移动目录。

mv命令移动目录和移动文件的使用大致一样,唯一不同的是如果出现源目录和目标目录重名,则采用合并的方式,而对于文件则是直接覆盖。

第5关:Linux之文件/目录内容查看

1、cat命令

具体命令如下:cat 参数 文件名

常用参数如下:

-n 或 --number:由1开始对所有输出的行数编号;
-b 或 --number-nonblank:和-n相似,只不过对于空白行不编号。
具体说明:

cat命令支持同时查看多个文件,当一次查看多个文件时,每个文件的内容都会被打印到屏幕上;

cat命令不能对文件进行编辑操作,只能查看文件内容。

2、head命令

具体命令如下:head 参数 文件名

常用参数如下:

-n number:显示文件的前number内容;
具体说明:

head命令是从文件的开头显示内容,默认情况下只显示前10行的内容;

head命令不能对文件进行编辑操作,只能查看文件内容。

3、tail指令

具体命令如下:tail 参数 文件名

常用参数如下:

-n number:显示文件的最后number行内容;
具体说明:

tail命令是从文件的结尾显示内容,默认情况下只显示最后10行的内容;

tail命令不能对文件进行编辑操作,只能查看文件内容。

第5章 Linux压缩和归档文件

chmod 755
1/3/7
x/w/r

du与df的区别
du是已有的容量
df则是剩下的容量

第1关:tar打包命令

tar(tape archive的简写)工具可完成许多功能,其名称源于它的原始功能-创建和读取归档文件和备份磁带。如今,该工具常用来将多个文件或多个目录打包成一个tar文件,或者将某个tar文件分解开。

接下让我们详细的学习tar的使用方法。

打包
tar命令可以将多个文件/目录进行打包,将多个文件生成一个文件,生成的文件后缀为.tar。

具体打包命令如下:

tar -cvf 生成的tar包名 要打包的文件/目录列表

常用命令参数如下:

-c 建立新的归档文件;
-v 处理过程中输出相关信息;
-f 对普通文件操作;
案例演示1:

在当前目录下创建a.txt、b.txt和c.txt文件,将其打包成一个new.tar,具体使用如下命令:

touch a.txt b.txt c.txt
tar -cvf new.tar a.txt b.txt c.txt

案例演示2:

在当前目录下创建dirA、dirB和dirC目录,将其打包成一个newDir.tar,具体使用如下命令:

mkdir dirA dirB dirC
tar -cvf newDir.tar dirA dirB dirC

解包
tar命令可以将已经打包好的文件解压出来。

tar -xvf 解压包名 -C 解压到指定目录

常用命令参数如下:

-x 或–ext\fract或–get:从备份文件中还原文件;
-v 处理过程中输出相关信息;
-f 对普通文件操作;
-C <目的目录> 切换到指定的目录;
如果不使用-C(大写)参数,则默认解压到当前目录下。

案例演示1:

将当前目录下的a.txt、b.txt和c.txt文件删除,将打包好的new.tar文件解压到当前目录,具体使用如下命令:

rm -fr a.txt b.txt c.txt
tar -xvf new.tar

案例演示2:

在当前目录下创建newDir目录,将打包好的newDir.tar文件解压到newDir目录下,具体使用如下命令:

mkdir newDir
tar xvf newDir.tar -C ./newDir

第2关:文件压缩命令

压缩工具指令Value解压
bzip2bzip2 new.tarbunzip2
gzipgzip new.targunzip
zipzip -r newDir.zip newDirunzip
压缩指令Column 2解压
tartar -jcvf new.tar.bz2 a.txt b.txt c.txttar -jxvf 指定要解压的文件

软硬链接的不同

与硬链接不同的是,符号链接确实是一个新文件,当然它具有不同的I节点号;而硬链接并没有建立新文件。
硬链接不能对目录进行创建,只可对文件创建;软连接皆可

第4关:DNS服务器配置

假设有域名: test.ubuntu.com,如何配置其对应的IP为: 10.70.110.40,具体使用如下步骤:

级别1:
解题代码
2022-04-03 13:28
已解锁
1、向文件/etc/bind/named.conf.default-zones添加如下内容

zone "test.com"{  
    type master;  
    file "/etc/bind/db.test.com";  
};
zone "211.40.10.in-addr.arpa"{  
    type master;  
    file "/etc/bind/db.10";  
};  

in-addr.arpa 就是ip反过来填
2、新建文件/etc/bind/db.test.com并添加如下内容

;  
; BIND data file for local loopback interface  
;  
$TTL    604800  
@       IN      SOA     test.com. root.test.com. (  
                                     2         ; Serial  
                         604800         ; Refresh  
                            86400         ; Retry  
                        2419200         ; Expire  
                         604800 )       ; Negative Cache TTL  
;  
@       IN      NS      test.com.  
@       IN      A       10.40.211.244  

3、新建文件/etc/bind/db.10并添加如下内容

;  
; BIND reverse data file for local loopback interface  
;  
$TTL    604800  
@       IN      SOA     test.com. root.test.com. (  
                                    1         ; Serial  
                          604800         ; Refresh  
                           86400         ; Retry  
                        2419200         ; Expire  
                         604800 )       ; Negative Cache TTL  
;  
@       IN      NS      test.com.  
244      IN      PTR     test.com.  

4、修改本地/etc/resolv.conf文件,将原有的nameserver的值修改为127.0.0.1

5、重新启动bind服务器
service bind9 restart
service smbd status

第6章 Linux文件定位命令

第1关查询命令-locate

locate具体命令如下:

locate 命令参数 文件/目录

常用命令参数如下:

-c, --count 只输出找到的数量;
-d, --database DBPATH 使用DBPATH指定的数据库,而不是默认数据库/var/lib/mlocate/mlocate.db;
-i, --ignore-case 忽略大小写;
-q, --quiet 安静模式,不会显示任何错误讯息;
-e, --existing 只显示当前存在的文件条目;
案例演示1:

搜索etc目录下以pass开头的文件或目录,具体使用如下命令:

locate /etc/pass

第2关查询命令-which/whereis

which命令主要是用来查找系统PATH目录下的可执行文件,说白了就是查找那些我们已经安装好的可以直接执行的命令。

whereis命令可以用来查找二进制(命令)、源文件、man文件。与which不同的是这条命令可以是通过文件索引数据库而非PATH来查找的,所以查找的面比which要广。

第3关查询命令-find

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

具体命令如下:

find 查找目录 查找参数 查找内容

常用查找参数如下:

-amin<+|-分钟>:查找在指定时间曾被存取过的文件或目录,单位以分钟计算;
-atime<+|-24小时数>:查找在指定时间曾被存取过的文件或目录,单位以24小时计算;
-cmin<+|-分钟>:查找在指定时间之时被更改过的文件或目录;
-ctime<+|-24小时数>:查找在指定时间之时被更改的文件或目录,单位以24小时计算;
-mmin<+|-分钟>:查找在指定时间曾被更改过的文件或目录,单位以分钟计算;
-mtime<+|-24小时数>:查找在指定时间曾被更改过的文件或目录,单位以24小时计算;
-depth:从指定目录下最深层的子目录开始查找;
-exec<执行指令>:假设find指令的回传值为True,就执行该指令;
-follow:排除符号连接;
-gid<群组识别码>:查找符合指定群组识别码的文件或目录;
-group<群组名称>:查找符合指定群组名称的文件或目录;
-uid<用户识别码>:查找符合指定的用户识别码的文件或目录;
-user<拥有者名称>:查找符和指定的拥有者名称的文件或目录;
-name<范本样式>:指定字符串作为寻找文件或目录的范本样式;
-iname<范本样式>:此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别;
-inum<inode编号>:查找符合指定的inode编号的文件或目录;
-newer<参考文件或目录>:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
-size<+|-|=文件大小>:查找符合指定的文件大小的文件;
-type<文件类型>:只寻找符合指定的文件类型的文件;
-a:是前后条件都要满足;
-o :是满足一个条件就好;
+:表示大于设置值的文件;

  • :表示小于设置值的文件;
    = :表示等于设置值的文件;
    使用locate命令查询系统中的文件/目录,使用which和whereis命令来定位可执行文件的位置。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值