linux基础命令第三天
linux基础命令第三天命令行管理文件书接上回我们先从mv命令开始讲mv#我们先创建一个目录名字随意这里我取xdc[ljycentos7 ~17:00:52]$mkdirxdc#移动单个文件到xdc目录当中 我们先创建几个空文件[ljycentos7 ~ 09:39:55]$mvwj1 ./xdc#将wj1这个文件移动到xdc 目录当中这个.代表的是当前工作目录下的文件#查看xdc目录单中是否有wj1当前目录下wj1这个文件是已经不存在的了通过mv命令移动到/xdc目录下了[ljycentos7 ~ 09:46:19]$lsxdc/ wj1[ljycentos7 ~ 09:46:30]$lslab1 qq wj2 wx xdc 公共 模板 视频 图片 文档 下载 音乐 桌面#这时就有小伙伴问了那mv可以同时移动多个文件吗。mv可以同时移动多个文件但是这里的目标必须得是目录。[ljycentos7 ~ 09:50:15]$mvwj2 wj3 wx ./xdc[ljycentos7 ~ 09:50:35]$lsxdc wj1 wj2 wj3 wx#mv也可以移动目录和移动文件相同#先在当前工作目录下创建几个目录用mkdir命令[ljycentos7 ~ 09:52:34]$mkdirlab2 lab3[ljycentos7 ~ 09:52:50]$lslab1 lab2 lab3 xdc 公共 模板 视频 图片 文档 下载 音乐 桌面#移动单个目录[ljycentos7 ~ 09:52:51]$mvlab1 ./xdc[ljycentos7 ~ 09:53:26]$lsxdc lab1 wj1 wj2 wj3 wx[ljycentos7 ~ 09:53:29]$lslab2 lab3 xdc 公共 模板 视频 图片 文档 下载 音乐 桌面#移动多个目录[ljycentos7 ~ 09:53:31]$mvlab2 lab3 ./xdc[ljycentos7 ~ 09:53:44]$lsxdc 公共 模板 视频 图片 文档 下载 音乐 桌面[ljycentos7 ~ 09:53:45]$lsxdc lab1 lab2 lab3 wj1 wj2 wj3 wxrmdir命令有创建肯定就有删除不然的话系统早就充满一堆文件了rmdir命令就是删除的一种但是rmdir不能直接删除非空目录就是里面有文件的目录。#删除空目录[ljycentos7 ~ 09:58:50]$mkdir111#先创建一个空目录#删除刚刚创建的111空目录[ljycentos7 ~ 09:59:01]$rmdir111[ljycentos7 ~ 09:59:09]$lsxdc 公共 模板 视频 图片 文档 下载 音乐 桌面#当前xdc目录下是存放了文件和其他目录的所有使用rmdir时系统提示[ljycentos7 ~ 09:59:11]$rmdirxdc rmdir: 删除xdc失败: 目录非空rm命令rm命令的功能就相对完善很多rm可以删除文件可以删除目录包括非空目录[ljycentos7 ~ 09:59:34]$lsxdc 公共 模板 视频 图片 文档 下载 音乐 桌面[ljycentos7 ~10:03:43]$touch123[ljycentos7 ~10:03:50]$ls123xdc 公共 模板 视频 图片 文档 下载 音乐 桌面#删除单个文件[ljycentos7 ~10:04:27]$rm1[ljycentos7 ~10:04:34]$ls23xdc 公共 模板 视频 图片 文档 下载 音乐 桌面#删除多个文件[ljycentos7 ~10:04:35]$rm23[ljycentos7 ~10:04:39]$lsxdc 公共 模板 视频 图片 文档 下载 音乐 桌面#rm可以强制删除具有写保护的文件我们进入xdc中cp一个有写保护的文件再通过rm去删除。[ljycentos7 ~10:04:49]$cdxdc[ljycentos7 xdc10:06:54]$lslab1 lab2 lab3 wj1 wj2 wj3 wx#cp cacerts这个文件[ljycentos7 xdc10:06:55]$cp/etc/pki/ca-trust/extracted/java/cacerts.[ljycentos7 xdc10:07:10]$lscacerts lab1 lab2 lab3 wj1 wj2 wj3 wx#通过rm删除系统会有提示询问确认删除这个文件吗[ljycentos7 xdc10:07:11]$rmcacerts rm是否删除有写保护的普通文件cacertsyes[ljycentos7 xdc10:07:19]$lslab1 lab2 lab3 wj1 wj2 wj3 wx#xdc中cacerts没有了[ljycentos7 xdc10:07:21]$lscacerts ls: 无法访问cacerts: 没有那个文件或目录#使用-f选项直接删除系统不会提示。[ljycentos7 xdc10:07:40]$cp/etc/pki/ca-trust/extracted/java/cacerts.[ljycentos7 xdc10:11:03]$rm-fcacerts[ljycentos7 xdc10:11:08]$lslab1 lab2 lab3 wj1 wj2 wj3 wx#-r递归删除目录-r不只是单纯把目录里文件一个个删是层层深入处理所有子目录[ljycentos7 xdc10:16:26]$rm-rlab1[ljycentos7 xdc10:16:42]$lslab2 lab3 wj1 wj2 wj3 wx#递归强制删除-fr选项遇到只读取的文件也强制删除不会报错[ljycentos7 xdc10:20:35]$lslab2 lab3 wj1 wj2 wj3 wx[ljycentos7 xdc10:20:37]$rm-frlab2[ljycentos7 xdc10:20:49]$lslab3 wj1 wj2 wj3 wx软链接soft link也称为symbolic link符号链接。软连接有点类似于我们windows中的快捷方式只不过windows中软链接图形化了如果源文件失效了那么软链接也就没有用了。#创建软链接[ljycentos7 ~10:27:47]$ln-s/var/tmp/ mytmp#/var/tmp 的软链接mytmp#查看[ljycentos7 ~10:28:11]$ls-lmytmp lrwxrwxrwx.1ljy ljy97月1910:28 mytmp -/var/tmp/#查看mytmp 和查看/var/tmp两者的内容是一样的[ljycentos7 ~10:29:10]$lsmytmp/ abrt systemd-private-691a5c58964146589ab07c27072d7bb6-bolt.service-1MOmS5 systemd-private-691a5c58964146589ab07c27072d7bb6-chronyd.service-4VAwNy systemd-private-691a5c58964146589ab07c27072d7bb6-colord.service-r48AfC systemd-private-691a5c58964146589ab07c27072d7bb6-cups.service-at5kqY systemd-private-691a5c58964146589ab07c27072d7bb6-rtkit-daemon.service-A5o66Q systemd-private-e1559428306847da867629c7fd928a40-bolt.service-BjlYXI systemd-private-e1559428306847da867629c7fd928a40-chronyd.service-80ym8T systemd-private-e1559428306847da867629c7fd928a40-colord.service-PrGK27 systemd-private-e1559428306847da867629c7fd928a40-cups.service-2DKmT1 systemd-private-e1559428306847da867629c7fd928a40-rtkit-daemon.service-MnyNZx systemd-private-e45241b443314a299906342278ae3ac4-bolt.service-1ujlOC systemd-private-e45241b443314a299906342278ae3ac4-chronyd.service-hrrDSQ systemd-private-e45241b443314a299906342278ae3ac4-colord.service-Z2K7zL systemd-private-e45241b443314a299906342278ae3ac4-cups.service-NONnvT systemd-private-e45241b443314a299906342278ae3ac4-fwupd.service-QfEfSR systemd-private-e45241b443314a299906342278ae3ac4-rtkit-daemon.service-VaAmCt[ljycentos7 ~10:30:01]$ls/var/tmp/ abrt systemd-private-691a5c58964146589ab07c27072d7bb6-bolt.service-1MOmS5 systemd-private-691a5c58964146589ab07c27072d7bb6-chronyd.service-4VAwNy systemd-private-691a5c58964146589ab07c27072d7bb6-colord.service-r48AfC systemd-private-691a5c58964146589ab07c27072d7bb6-cups.service-at5kqY systemd-private-691a5c58964146589ab07c27072d7bb6-rtkit-daemon.service-A5o66Q systemd-private-e1559428306847da867629c7fd928a40-bolt.service-BjlYXI systemd-private-e1559428306847da867629c7fd928a40-chronyd.service-80ym8T systemd-private-e1559428306847da867629c7fd928a40-colord.service-PrGK27 systemd-private-e1559428306847da867629c7fd928a40-cups.service-2DKmT1 systemd-private-e1559428306847da867629c7fd928a40-rtkit-daemon.service-MnyNZx systemd-private-e45241b443314a299906342278ae3ac4-bolt.service-1ujlOC systemd-private-e45241b443314a299906342278ae3ac4-chronyd.service-hrrDSQ systemd-private-e45241b443314a299906342278ae3ac4-colord.service-Z2K7zL systemd-private-e45241b443314a299906342278ae3ac4-cups.service-NONnvT systemd-private-e45241b443314a299906342278ae3ac4-fwupd.service-QfEfSR systemd-private-e45241b443314a299906342278ae3ac4-rtkit-daemon.service-VaAmCt硬链接硬链接就是一个普通文件。相当于可以通过多个文件名访问到一个数据块。任何一个文件发生变化其他文件也跟着变。[ljycentos7 ~10:30:17]$cp/etc/hosts ./hosts-1[ljycentos7 ~10:34:02]$lshosts-1 mytmp xdc 公共 模板 视频 图片 文档 下载 音乐 桌面#创建硬链接[ljycentos7 ~10:34:03]$lnhosts-1 hosts-12[ljycentos7 ~10:34:13]$lshosts-1 mytmp 公共 视频 文档 音乐 hosts-12 xdc 模板 图片 下载 桌面[ljycentos7 ~10:34:14]$ls-lhosts-1 hosts-12 -rw-r--r--.2ljy ljy1587月1910:34 hosts-1 -rw-r--r--.2ljy ljy1587月1910:34 hosts-12#两个数据的inode是相同的[ljycentos7 ~10:34:22]$ls-i1hosts-1 hosts-121300hosts-11300hosts-12#更新hosts1的时间hosts12也跟着改变[ljycentos7 ~10:34:39]$touchhosts-1[ljycentos7 ~10:35:25]$ls-lhosts-1 hosts-12 -rw-r--r--.2ljy ljy1587月1910:35 hosts-1 -rw-r--r--.2ljy ljy1587月1910:35 hosts-12#查看hosts-1和hosts-12的内容是一模一样的[ljycentos7 ~10:35:31]$cathosts-1127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6[ljycentos7 ~10:35:47]$cathosts-12127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6#更新hosts-1的内容hosts-12也跟着关新[ljycentos7 ~10:35:52]$echohellohosts-1[ljycentos7 ~10:36:07]$lshosts-12 hosts-12[ljycentos7 ~10:36:11]$cathosts-12127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 hello[ljycentos7 ~10:36:18]$cathosts-1127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 hello#硬链接就是同一个数据块拥有多个文件名可以通过多个文件名访问到。shell扩展匹配文件模式匹配项*由零个或更多字符组成的任何字符串。单独*不匹配隐藏文件。?任何一个字符。[abc…]位于两个方括号之间中的任何一个字符。[**^abc…]或[!**abc…]不在括起的类中的任何一个字符。~当前用户的主目录。~usernameusername用户的主目录。[[:alpha:]]任何字母字符相当于[a-Z]。[[:lower:]]任何小写字符。[[:upper:]]任何大写字符。[[:alnum:]]任何字母字符或数字相当于[a-Z0-9]。[[:punct:]]除空格和字母数字以外的任何可打印字符。[[:digit:]]或[0-9]从 0 到 9 的任何单个数字。[[:space:]]任何一个空白字符。这可能包括制表符、 换行符、回车符、 换页符或空格。{…}匹配列表。* 示例匹配由零个或更多字符组成的任何字符串。单独*不匹配隐藏文件。#匹配/etc目录下所有ho开头的文件[ljycentos7 ~10:36:44]$ls/etc/ho* /etc/host.conf /etc/hostname /etc/hosts /etc/hosts.allow /etc/hosts.deny# 将/etc目录下所有ho开头的文件复制到/tmp[ljycentos7 ~10:45:40]$cp/etc/ho* /tmp[ljycentos7 ~10:46:10]$ls/tmp/ho* /tmp/host.conf /tmp/hostname /tmp/hosts /tmp/hosts.allow /tmp/hosts.deny# 删除/tmp目录下所有ho开头的文件[ljycentos7 ~10:46:32]$rm/tmp/ho*[ljycentos7 ~10:48:34]$ls/tmp/ho* ls: 无法访问/tmp/ho*: 没有那个文件或目录# *不匹配隐藏文件? 示例匹配任何一个字符。#准备一些文件[ljycentos7 ~10:53:16]$touchfilr-{1..3}[ljycentos7 ~10:55:04]$lsfilr-1 filr-3 hosts-12 xdc 模板 图片 下载 桌面 filr-2 hosts-1 mytmp 公共 视频 文档 音乐[ljycentos7 ~10:55:06]$touchfilr-{a..c}[ljycentos7 ~10:55:38]$lsfilr-1 filr-3 filr-b hosts-1 mytmp 公共 视频 文档 音乐 filr-2 filr-a filr-c hosts-12 xdc 模板 图片 下载 桌面# 查看文件名称是 file- 后跟1个字母的文件[ljycentos7 ~10:55:50]$lsfilr-? filr-1 filr-2 filr-3 filr-a filr-b filr-c#查看-后面是两个字符的文件呢打两个[ljycentos7 ~10:56:46]$touchfilr-ab filr-12[ljycentos7 ~10:57:35]$lsfilr-? filr-1 filr-2 filr-3 filr-a filr-b filr-c[ljycentos7 ~10:57:38]$lsfilr-?? filr-12 filr-ab[] 示例匹配位于两个方括号之间中的任何一个字符。[ljycentos7 ~11:00:58]$lsfilr-[abc]filr-a filr-b filr-c[ljycentos7 ~11:01:47]$lsfilr-[12]filr-1 filr-2[ljycentos7 ~11:01:54]$lsfilr-[^12]filr-3 filr-a filr-b filr-c{} 示例[ljycentos7 ~11:02:09]$lsfilr-[abcf]filr-a filr-b filr-c#[]相当于匹配当中的信息有匹配的就反馈出来[ljycentos7 ~11:04:01]$lsfilr-{a,b,c,f}ls: 无法访问filr-f: 没有那个文件或目录 filr-a filr-b filr-c#相当于下面的命令[ljycentos7 ~11:05:39]$lsfilr-a filr-b filr-c filr-f ls: 无法访问filr-f: 没有那个文件或目录 filr-a filr-b filr-c这些就是比较基础的命令下一章我们讲编辑器。