Linux里面pv是什么意思?

有很多同学微信问我,Linux命令这么多,该怎么从入门到精通?其实,这个事情非常的simple,这篇文章将会带你飞。文章非常的长,要挑一个阳光明媚的sunshine weekend,耐心去搞定。

本文将由一个Linux命令概览开始,说明Linux命令的方方面面。如果你读完这部分还是一头雾水,那么就证明需要按照下面的小白教程去学习了,内容涵盖了:如何挑选Linux发行版、如何安装Linux系统,按照主题学习Linux系统的命令等。

入门后的 **学习方式:多敲多打,用条件反射替代大脑记忆--如果你将来或者现在要用它来吃饭的话。**其中,也有一些难啃的骨头,关注小姐姐味道微信公众号,我们一起用锋利的牙齿,来把它嚼碎。

这部分是给稍微有点Linux经验的同学准备的,如果你是初学者,请跳过此part直接进入第二部分。

测试以下网络,可以看到能够正常访问网络了。

上面黑漆漆的窗口,就是我们现在的Linux界面。有人觉得很丑,就像是在玩dos,但像我这种不可救药的人,却觉得格外的亲切。

接下来的命令,我们不会再截图,而使用高亮的代码块表示。为了不至于让人晕头转向,请先看下图。

压缩是件神奇的事。它能大能小,能伸能缩,在现实中很难找到这样的东西。

为了减小传输文件的大小,或者为了传输方便,一般都会开启压缩。linux下常见的压缩文件有tar、bzip2、zip、rar等,7z这种用的相对较少。压缩之后的文件,非常适合在网络环境上传输。甚至,你可以认为iso文件为一种特殊的压缩方式。

准备工作:使用下面的命令,复制1000个文件。

使用ls,就可以看到我们刚才创建的1000个文件。接下来,我们使用压缩命令将它打包成一个。

rar不能安装成功,所以rar文件并不能被解压。没关系,我们在后面的章节把它安装上。

接下来,我们思考一下:

1、 经过zip压缩的文件,再使用gzip压缩,容量还会减少么?

为了验证这个过程,可以使用dd命令,生成一个69MB大小的随机文件。dd命令也是个神奇哦。

所以,回到文章最上面,我们可以随机生成一批文件,让压缩效果更有意义一点。

2、如果已经有了文件,tar命令是如何做到强制覆盖的?

我们在最最最上面,刚接触命令行的时候,就使用chmod命令,给普通文本文件,赋予了执行权限。本小节将看一下用户权限文件权限这两个息息相关的概念,

到现在为止,我们的系统中,还孤零零的只有这一个用户,是时候学学女娲,捏几个小泥人了。

首先创建两个用户:张三(zhang3)、李四(li4)。

查看下面命令的三个输出结果。

接下来,给我们刚刚建立的用户,使用passwd设置一个密码。密码需要输入两次进行确认。如果想要更改密码,可以使用chpasswd命令。

那么如何删除一个现有的用户呢?这是通过userdel命令实现的。加上参数f,会在其他用户使用系统的时候,强制退出。

从上面的命令执行结果中,我们发现了有两件非常有意思的东西。添加用户后,除了在密码文件shadow中增加了一些内容,同时还在group文件中添加了信息。这涉及到用户的两个属性:用户名,组名。

一个用户只有一个名称代号,但是可以有多个组。下面命令创建一个密码为123的用户li4,并给它追加一个叫做zhang3的组。可以看到/etc/group文件中的信息变更。

好啦,接下来切换到我们的文件权限上面。为了进行下面命令的验证,我们首先创建一个名字叫confirm777.sh的脚本文件。为了让脚本对所有用户可见,我们把它创建在/tmp目录下。

使用ll命令查看文件信息。

ll的命令可以看出,文件的所有者是root用户,文件所属的组,也是root组,它的权限是rw-r--r--。文件权限分为三部分。

  • 所有者权限,缩写为u。文件的所有者所拥有的权限。也就是root用户的权限,是rw-
  • 组用户权限,缩写为g。文件所属组内所有用户的权限。因为root组内只有root一个用户,所以组用户权限是r--
  • 其他用户权限,缩写为o。其他不相关用户的权限,比如我们刚创建的zhang3、li4用户,对文件的权限就是r--
  • 全部,缩写为a,表示对上面三类用户集体操作。

那rw-这些东西是什么意思呢?

  • -  权限占位符,表示没有当前权限。

注意:一个用户拥有文件的w权限,并不代表就可以删除文件。w仅仅针对于文件内容来说的。

一个文件,有3类用户,每类用户,有3种权限。使用最简单的小学乘法,我们能够得出,一个文件的权限位,需要3x3=9个标志位表示。

我们的文件名称,叫做confirm777.sh,这个名字是随便起的么?当然不是,777在linux代表特殊的含义,它代表文件对所有用户具有可读、可写、可执行的权限。可以想象,如果每个文件都有这样的权限,系统将无安全可言。那这一串数字是怎么来的呢?可以看下面的对照表。

对以上三个属性进行任意组合,可以得到:

下面介绍三个文件权限相关的命令。一般常用的,就是chown和chmod。

接下来,我们把confirm777.sh的所有者和组,修改成刚刚创建的用户zhang3

给文件所有者增加执行权限。然后分别切换到zhang3li4用户执行一下。

通过su 命令,可以切换到其他用户,一般使用su -进行环境变量的清理;而命令id,能够看到当前正在执行的用户信息。

可以看到,文件所有者zhang3可以执行文件,但不相关的li4,提示没有权限。接下来,我们验证用户组相关的权限位。

从命令的执行结果可以看出。这次,li4能够执行文件,相反的,zhang3却不能。

我们使用chmod命令来修改文件权限,使用的是类似于a+x这样的英文字母。拿第一个脚本来说,初始的权限是rw-r--r--,也就是644,在这种情况下,下面的两个脚本等效。

可以看到,第二个命令,使用的是数字样式的权限位,多了一步人脑转换过程。这在日常的使用中,是非常不方便的。所以,使用符号法的表示方式,能够更加直观,非常推荐。

为了更直观的表现这个过程,我专门制作了一张图。

这里有一个非常有意思的地方。把文件设置成可执行,可以把普通文件变成脚本,目录文件的可执行权限是什么鬼?有什么意义?对文件夹来说:

  • r 表示允许读取目录中的文件名,但不能进入该目录
  • w 表示允许用户修改目录,可以创建、迁移、删除、更名目录下的文件
  • x 可以获得目录下文件的列表,以及进入目录,执行cd命令

关于r和x的区别,可以看下面的命令结果,仔细感受一下它们的区别。一般的,几乎所有的目录,都拥有执行权限,不要随意对其进行设置。

接下来,我们介绍一个比较烧脑的粘贴位。

假如你要删除一个文件,你可以没有这个文件的写权限,但是你必须要拥有这个文件上级目录的写权限。如何创建一个目录,可以让任何人些人文件,但是又不能删除其他用户的文件?这就是stick bit的作用。粘贴位一般只用于目录上,对文件来说并没有什么用处。粘贴位一般使用t表示。

我们可以看一个典型的目录/tmp

可以看到,最后一位,显示的是t,而不是x,意思是普通用户不能删除其他用户的文件。所有用户在/tmp目录中,都可以随意创建文件,但是却删除不了其他人的文件,即使文件的权限是777


我们在上面创建了两个用户zhang3和li4,并拿它们测试了chown和chmod命令,最后介绍了粘贴位。linux比较安全的原因,就是因为有比较详尽的权限划分。但权限是枚双刃剑,超权用户一个命令就可以搞垮系统,许多隐藏的木马,通过提权运行在不为人知的地方。

权限相关的几个命令会经常被使用,下面举几个例子。

1、下面这个命令,执行以后,会发生什么情况?警告:不要执行,哪怕把000改成其他数字。

2、有一天,我看到一个命令chmod u+s file,文中并没有介绍s是什么意思,这是什么意思?

3、如何删除一个用户的组?

下面的场景非常的恐怖,对有些程序员来说可以是一场噩梦。

一大早刚刚去上班,煎饼果子刚啃了一半,几个全副武装的警察就闯进了公司。二话不说控制住了工作人员,并守株待兔的等着鱼儿来上班。

原因就是:公司涉嫌存储和扩散非法文件,需要查封所有的服务器进行彻查。

这些文件,有的简单的放在磁盘上,有的放在文件存储服务器上,有的,被切成了多片放在了不同的廉价机器上。

接下来会发生什么,要看技术人员的水平,但估计结果并不会太好。

在上一小节,我们创建了两个普通用户,这两个用户没什么本事,和默认的用户root比起来,它们的权限就小得多。除了自己目录下的文件,其他的,它几乎都没有权限去修改。

这些文件,肯定是要存在磁盘上的。对磁盘的管理,有非常多的命令,这一小节的内容,对于系统管理员来说,经常使用;但对于开发来说,就要求比较低一些。因为开发只需要知道小电影存在什么地方了,不需要知道小电影是怎么存的。

那定罪的时候,运维和程序员,到底是谁的锅更大一些?其实是个悖论。运维人员在发呆的时候,脑子里回忆起了下面的知识。

你要是一个系统管理员,甚至是一个上了云的系统管理员,现在买了一块aws的扩展盘,它是不能被使用的。需要经过格式化挂载以后,才能投入生产。

还记得在安装系统的时候么?其中有一步,需要对虚拟机的磁盘,进行划分,我们直接采用默认的方式。不过现在已经改不了了,它已经是过去式了。

为了模拟对磁盘的管理,我们需要首先给虚拟机新加一块虚拟磁盘。首先,使用shutdown -h now命令关闭机器,进行下面的操作。

2、 点击创建一块磁盘

4、 动态扩容,用多少扩多少

启动机器。远程连接192的ip,别忘了执行dhclient命令。

首先使用fdisk看一下目前的磁盘状况。

从命令的结果,我们看到了有两块磁盘。/dev/sda/dev/sdb,其中sda已经被分配,已经被我们的文件系统所占用。现在,回忆一下/dev目录的用途,在这个目录下,存放了一些设备文件,假如我们再添加一块磁盘,它的句柄就应该是sdc (sd*)。

在这整块磁盘能够被使用之前,我们需要对它进行三次操作。

对磁盘分区依然是fdisk命令,以下命令,将进入交互模式。在交互模式中,输入n新建分区。由于我们的磁盘只有2GB,所以只创建一个分区就好。根据向导,一路确定向下,最后,输入w确定写入分区表,同时退出命令交互。

再次执行fdisk -l,可以看到已经多了一块2gb大小的分区。

在命令行,输入mkfs,然后按<TAB>进行补全,将会显示一批命令。

这批命令,都可以对磁盘进行格式化。目前,最常用的磁盘格式是ext4。但我们并没有找到windows操作系统的FAT以及NTFS等格式,但它们在概念上是等同的。

下面介绍一下Linux下常用的磁盘格式。

  • btrfs GPL授权。是为了替换ext系统而发起的。不熟悉,不过多评价。
  • cramfs 门针对闪存设计的只读压缩的文件系统,其容量上限为256M,采用zlib压缩,很少用
  • ext4 使用最多。如果对其他的不熟悉,老老实实用ext4吧。
  • xfs XFS 文件系统是扩展文件系统的一个扩展,是 64 位高性能日志文件系统。centos7.0开始的默认文件系统。

我们就录乡随俗,将磁盘给格式化成xfs。

注意:如果想要把磁盘格式化成fat32的格式,需要安装一个软件。

最后一步,是使用mount命令挂载磁盘。我们把它挂载到/data目录。

df命令能够看到系统的磁盘使用状况,参数hhuman的意思,以比较容易读的方式展现信息;lsblk则以另一个角度查看系统磁盘挂载情况。

为了能够在开机的时候加载磁盘,我们需要修改/etc/fstab文件。这种文件修改的时候一定要小心,否则会造成系统无法启动。

由于内存的容量有限,现在的操作系统,都会使用磁盘模拟一个虚拟内存区域,用于缓冲一些数据。由于磁盘的速度和内存不可同日而语,通常会造成应用程序的卡顿。卡归卡,应用进程却可以因此苟延残喘,续命。

swap分区,即交换区,系统在物理内存不够时,与swap进行交换。即当系统的物理内存不够用时,把硬盘中一部分空间释放出来,以供当前运行的程序使用。当那些程序要运行时,再从swap分区中恢复保存的数据到内存中。

现代互联网公司,一般对接口的响应时间有比较高的要求,swap分区一般是禁用的。关于swap,有下面几个相关的命令。

10.6 使用dd命令进行备份

下面的命令,将直接备份磁盘A到磁盘B。

在上面的命令中,if代表输入的文件,of代表输出的文件。根据Linux下一切皆文件的原理,这里的文件指的就是设备。

dd命令还可以将整个磁盘打包成一个镜像文件。比如下面的命令。

当然,恢复磁盘的时候,也是相当简单的,我们只需要逆向操作就可以了。

}

身份认证 购VIP最低享 7 折!

linux中创建pv vg lv ,多个磁盘pv(物理卷)组成存储池vg(卷组),vg又可以划分多个逻辑卷lv,在lv下可以建立文件系统

}

POISX线程间同步机制使用的是信号量机制;
信号量代表一类资源,信号量的值资源的个数;

注意:信号量是一个受保护的变量,不能直接操作,必须通过一下接口操作

}

我要回帖

更多关于 pv实验是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信