首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学习笔记0319----linux基本命令(二)(文件管理)

学习笔记0319----linux基本命令(二)(文件管理)

作者头像
嘻哈记
发布2022-01-11 10:31:26
9730
发布2022-01-11 10:31:26
举报
文章被收录于专栏:运维学习交流运维学习交流

linux基本命令

预习内容

2.17 隐藏权限lsattr/chattr 2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_bit 2.21 软链接文件 2.22 硬连接文件 2.23/2.24/2.25 find命令 2.26 文件名后缀 2.27 linux和windows互传文件

1.文件增加隐藏权限(chattr)和查看隐藏权限(lsattr)

1.1 chattr 选项 +i 权限

## 首先创建一个文件,查看此文件属性 ##
[root@linux-01 ~]# touch 1.txt
[root@linux-01 ~]# ll  1.txt 
-rw-rw-r--. 1 root root 65 3月  18 17:52 1.txt
[root@linux-01 ~]# lsattr 1.txt 
---------------- 1.txt
[root@linux-01 ~]# head -n2 /etc/passwd  > 1.txt 
[root@linux-01 ~]# cat 1.txt  
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

## 给文件增加i属性,看哪些操作是不可以进行的 ##
[root@linux-01 ~]# 
[root@linux-01 ~]# chattr  +i  1.txt 
[root@linux-01 ~]# lsattr 1.txt 
----i----------- 1.txt
## 查看是否可以编辑文件 ##
[root@linux-01 ~]# vi 1.txt   
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
~                                                                                                                                
"1.txt" [readonly] 2L, 65C    ## 提示此文件是只读文件,无法进行编辑 ##   

使用i插入提示 -- INSERT -- W10: Warning: Changing a readonly file  

[root@linux-01 ~]# ll
总用量 12
-rw-rw-r--. 1 root root   65 3月  18 17:52 1.txt
-rw-rw-r--. 1 root root   65 3月  18 18:05 1.txt~   ## 强制保存会生成一个缓冲文件 ##
-rw-------. 1 root root 1420 3月  14 01:02 anaconda-ks.cfg.1

[root@linux-01 ~]# touch 1.txt
touch: 无法创建"1.txt": 权限不够
[root@linux-01 ~]# mv  1.txt  2.txt
mv: 无法将"1.txt" 移动至"2.txt": 不允许的操作
[root@linux-01 ~]# rm 1.txt
rm:是否删除普通文件 "1.txt"?y
rm: 无法删除"1.txt": 不允许的操作
[root@linux-01 ~]# head -n2 /etc/passwd >> 1.txt
-bash: 1.txt: 权限不够
[root@linux-01 ~]# mv 1.txt /tmp/
mv: 无法将"1.txt" 移动至"/tmp/1.txt": 不允许的操作

#小结;给文件加上i权限,无法编辑,无法删除,无法追加,无法移动,相当于锁死文件。

1.2 chattr 选项 +a 权限

## 把之前的i权限删除,加上a权限  ##
[root@linux-01 ~]# chattr  -i 1.txt
[root@linux-01 ~]# chattr  +a  1.txt
[root@linux-01 ~]# lsattr 1.txt
-----a---------- 1.txt

[root@linux-01 ~]# touch 1.txt
[root@linux-01 ~]# head -n2 /etc/passwd >> 1.txt
[root@linux-01 ~]# cat 1.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@linux-01 ~]# rm 1.txt
rm:是否删除普通文件 "1.txt"?y
rm: 无法删除"1.txt": 不允许的操作
[root@linux-01 ~]# mv 1.txt /tmp/
mv: 无法将"1.txt" 移动至"/tmp/1.txt": 不允许的操作

1.3 chattr 选项“i”与“a”区别

通过上面代码的对比,我可以可以得到如下结论:

权限

删除

更改

移动

创建

追加

选项i

×

×

×

×

×

选项a

×

×

×

1.4 lsattr 选项 -a -d -R

  • -a 列出目录中的所有文件,包括以’. '开头的文件。
  • -d 像列出其他文件一样列出目录,而不是列出它们的内容。
  • -R 递归地列出目录及其内容的属性。
## -a 选项 ##
[root@linux-01 ~]# lsattr  -a  /root/
---------------- /root/.
---------------- /root/..
---------------- /root/.bash_logout
---------------- /root/.bash_profile
---------------- /root/.bashrc
---------------- /root/.cshrc
---------------- /root/.tcshrc
---------------- /root/.bash_history
---------------- /root/.ssh
---------------- /root/anaconda-ks.cfg.1
---------------- /root/.lesshst
-----a---------- /root/1.txt
---------------- /root/1.txt~
---------------- /root/1.txz~

## -d 选项 ##
[root@linux-01 ~]# lsattr  -d  /root/
---------------- /root/

## -R 选项 ##
[root@linux-01 ~]# lsattr  -R  /root/
---------------- /root/anaconda-ks.cfg.1
-----a---------- /root/1.txt
---------------- /root/1.txt~
---------------- /root/1.txz~

2.特殊权限

2.1 set_uid 权限,作用于二进制文件,可执行文件

## 查看passwd的权限,s代表set_uid的权限,意思是:普通用户在执行命令的时候临时拥有所有者也就是root的权限 ##
[root@linux-01 ~]#  which passwd
/usr/bin/passwd
[root@linux-01 ~]# ll /usr/bin/passwd 
-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

下面我我们来做一个试验,普通用户是没有查看root用户家目录的权限,那我们给ls加入一个s权限,看看会怎么样 ?

在这里插入图片描述
在这里插入图片描述
## 我们可以查看到,给ls加上s的权限,普通用户就可以查看root用户的家目录 ##
[root@linux-01 ~]# chmod u+s  /usr/bin/ls    
[root@linux-01 ~]# ll /usr/bin/ls
-rwsr-xr-x. 1 root root 117680 10月 31 03:16 /usr/bin/ls

[root@linux-01 ~]# chmod u=rws  /usr/bin/ls
[root@linux-01 ~]# ll /usr/bin/ls
-rwSr-xr-x. 1 root root 117680 10月 31 03:16 /usr/bin/ls

 ## 上面两条都是给所有者加权限,为什么有一个小s ,一个大S呢 ##

这是由于第一条是在u=rwx的权限基础上在加一个set_uid的权限,是小s

第二条是直接把所有者的权限给改成rwS,并没有x的权限,所以是大S。

2.2 set_gid 权限

set_gid 作用于文件时,和set_uid的作用类似; set_gid 作用于目录时,所有在此目录下创建的文件和文件夹都与父目录的所属组相同。

在这里插入图片描述
在这里插入图片描述
[root@linux-01 ~]# mkdir /root/xihaji
[root@linux-01 ~]# ll -d /root/xihaji/
drwxrwxr--. 2 root root 6 3月  18 21:48 /root/xihaji/

[root@linux-01 ~]# chmod g+s /root/xihaji/
[root@linux-01 ~]# mkdir xihaji/123
[root@linux-01 ~]# ll -d xihaji/123/
drwxrwsr--. 2 root root 6 3月  18 21:48 xihaji/123/

[root@linux-01 ~]# chown :xihaji xihaji/
[root@linux-01 ~]# ll -d xihaji/123/
drwxrwsr--. 2 root root 6 3月  18 21:48 xihaji/123/

[root@linux-01 ~]# mkdir xihaji/234
[root@linux-01 ~]# ll  xihaji/
总用量 0
drwxrwsr--. 2 root root   6 3月  18 21:48 123
drwxrwsr--. 2 root xihaji 6 3月  18 21:50 234

2.3 stick_bit 防删位

## 其他用户权限t就是指防删除位置 ##
[root@linux-01 ~]# ll -d /tmp/
drwxrwxrwt. 13 root root 281 3月  18 03:08 /tmp/ 

## 防删除是指用户1在tmp下没有删除用户2创建的文件的权限 ##
[user1@linux-01 tmp]$ rm xihaji/
rm: 无法删除"xihaji/": 是一个目录
在这里插入图片描述
在这里插入图片描述

在上图中,我们需要认识到一个问题:就是你在/tmp/删除一个文件的时候,不是查看这个文件的权限,而是在当前目录下的权限,和文件权限无关。 [user1@linux-01 tmp]$ ll -d user1/ drwxrwxrwx. 2 user1 user1 6 3月 18 22:20 user1/

3.软链接和硬链接

3.1软链接文件

软连接是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件。 注:在制作软连接得时候尽量使用绝对路劲,尽量使用绝对路径。使用绝对路劲时,移动软连接到其他位置不会报错。

在这里插入图片描述
在这里插入图片描述

3.2 硬链接文件

与普通文件没什么不同,inode 都指向同一个文件在硬盘中的区块

[root@linux-01 ~]# touch 1.txt
[root@linux-01 ~]# mkdir 111
[root@linux-01 ~]# ll
总用量 4
drwxrwxr--. 2 root root    6 3月  19 00:09 111
-rw-rw-r--. 1 root root    0 3月  19 00:09 1.txt
-rw-------. 1 root root 1420 3月  14 01:02 anaconda-ks.cfg.1
[root@linux-01 ~]# ln -s  /root/1.txt   /home/xihaji/1.txt
[root@linux-01 ~]# ll !$
ll /home/xihaji/1.txt
lrwxrwxrwx. 1 root root 11 3月  19 00:10 /home/xihaji/1.txt -> /root/1.txt
[root@linux-01 ~]# ll 1.txt 
-rw-rw-r--. 1 root root 0 3月  19 00:09 1.txt


[root@linux-01 ~]# ln /root/1.txt  /home/xihaji/2.txt
[root@linux-01 ~]# ll !$
ll /home/xihaji/2.txt
-rw-rw-r--. 2 root root 0 3月  19 00:09 /home/xihaji/2.txt
[root@linux-01 ~]# ln /root/111   /home//xihaji/222
ln: "/root/111": 不允许将硬链接指向目录

3.3 软链接和硬链接区别

链接类型

inode号

删除源文件

目录是否可以做

文件是否可以做

是否可以跨分区

软链接

与源文件不同

会报错

可以

可以

可以

硬链接

与源文件相同

不会报错

不可以

可以

不可以

4. 搜索文件命令

4.1 其他搜索命令:

  1. which 从环境变量PATH中找的命令;
  2. whereis 搜索,搜的不全,本质是从实现准备好的一个库中搜索,只有更新库文件,才可以全部找到;
  3. locate 搜索,和whereis 类似,搜索到的文件不全。
[root@linux-02 .ssh]# locate
-bash: locate: 未找到命令
[root@linux-02 .ssh]# yum -y install mlocate   ##安装locate命令
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
base                                     | 3.6 kB     00:00     
extras                                   | 3.4 kB     00:00     
updates                                  | 3.4 kB     00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 mlocate.x86_64.0.0.26-8.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================
 Package       架构         版本               源          大小
================================================================
正在安装:
 mlocate       x86_64       0.26-8.el7         base       113 k

事务概要
================================================================
安装  1 软件包

总下载量:113 k
安装大小:379 k
Downloading packages:
mlocate-0.26-8.el7.x86_64.rpm              | 113 kB   00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : mlocate-0.26-8.el7.x86_64                   1/1 
  验证中      : mlocate-0.26-8.el7.x86_64                   1/1 

已安装:
  mlocate.x86_64 0:0.26-8.el7                                   

完毕!
[root@linux-02 .ssh]# 
[root@linux-02 .ssh]# locate ls
locate: 无法执行 stat () `/var/lib/mlocate/mlocate.db': 没有那个文件或目录

[root@linux-02 .ssh]# mkdir /root/111
[root@linux-02 .ssh]# locate 111
/usr/lib/firmware/moxa/moxa-1110.fw
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/i2c/busses/i2c-amd8111.ko.xz
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/media/usb/dvb-usb-v2/dvb-usb-mxl111sf.ko.xz
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/media/usb/dvb-usb-v2/mxl111sf-demod.ko.xz
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/media/usb/dvb-usb-v2/mxl111sf-tuner.ko.xz
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/net/ethernet/amd/amd8111e.ko.xz
/usr/lib64/gconv/IBM1112.so

[root@linux-02 .ssh]# updatedb  ## 只有更新过库文件才可以找到新建的文件
[root@linux-02 .ssh]# locate 111
/root/111
/usr/lib/firmware/moxa/moxa-1110.fw
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/i2c/busses/i2c-amd8111.ko.xz
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/media/usb/dvb-usb-v2/dvb-usb-mxl111sf.ko.xz
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/media/usb/dvb-usb-v2/mxl111sf-demod.ko.xz
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/media/usb/dvb-usb-v2/mxl111sf-tuner.ko.xz
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/net/ethernet/amd/amd8111e.ko.xz
/usr/lib64/gconv/IBM1112.so
[root@linux-02 ~]# locate 111
/root/111
/usr/lib/firmware/moxa/moxa-1110.fw
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/i2c/busses/i2c-amd8111.ko.xz
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/media/usb/dvb-usb-v2/dvb-usb-mxl111sf.ko.xz
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/media/usb/dvb-usb-v2/mxl111sf-demod.ko.xz
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/media/usb/dvb-usb-v2/mxl111sf-tuner.ko.xz
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/net/ethernet/amd/amd8111e.ko.xz
/usr/lib64/gconv/IBM1112.so

4.2 find命令

find 命令的格式 find (位置)(选项)(参数)

选项

说明

-type

指定文件类型

-name

指定文件名称,可以使用*

-inum

按照inode号查找文件(inode number)

-mmin

查找文件按照多少分钟(-60代表60分钟内)

-exec {} ;

find前面查找的文件输出给{}

-size

按文件大小查找文件(b-块(512字节)、 c表示字节、w-字(2字节)、k-千字节、M-兆字节、G-吉字节,单位的默认值为b)

-ctime(change time)

文件最近改动,包含改权限、改文件时间、改大小、改所有者、改所属组

-mtime(modify time)

文件的创建时间,最近更改内容

-atime(access time)

文件的最后访问时间

-o

条件或

## 查找 /root/ 下面 一个小时内的文件 ##

[root@linux-01 ~]# find  /root  -type f  -mmin -60  -exec ls -l  {} \;
-rw-------. 1 root root 7915 3月  19 05:03 /root/.bash_history
[root@linux-01 ~]# 


## 查找文件的硬链接 ##
[root@linux-01 ~]# ln 1.txt  /tmp/
[root@linux-01 ~]# ls -i 1.txt 
16797814 1.txt
[root@linux-01 ~]# find / -inum 16797814
/root/1.txt
/tmp/1.txt
/home/xihaji/2.txt

4.3 查看文件或者文件系统的状态 stat

[root@linux-01 ~]# stat anaconda-ks.cfg.1 
  文件:"anaconda-ks.cfg.1"
  大小:1420      	块:8          IO 块:4096   普通文件
设备:803h/2051d	Inode:16797763    硬链接:1
权限:(0600/-rw-------)  Uid:(    0/    root)   Gid:(    0/    root)
环境:system_u:object_r:admin_home_t:s0
最近访问:2019-03-14 01:02:30.554024559 +0800
最近更改:2019-03-14 01:02:30.557024559 +0800
最近改动:2019-03-16 19:27:24.017008351 +0800
创建时间:-
[root@linux-01 ~]#


## 修改文件名称,可以查看到文件的ctime时间改变 ##
[root@linux-01 ~]# stat anaconda-ks.cfg
  文件:"anaconda-ks.cfg"
  大小:1420      	块:8          IO 块:4096   普通文件
设备:803h/2051d	Inode:16797763    硬链接:1
权限:(0600/-rw-------)  Uid:(    0/    root)   Gid:(    0/    root)
环境:system_u:object_r:admin_home_t:s0
最近访问:2019-03-14 01:02:30.554024559 +0800
最近更改:2019-03-14 01:02:30.557024559 +0800
最近改动:2019-03-19 05:33:57.779597148 +0800
创建时间:-

## 系统语言修改成英文  ##
[root@linux-01 ~]# LANG=en
[root@linux-01 ~]# stat anaconda-ks.cfg
  File: 'anaconda-ks.cfg'
  Size: 1420      	Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d	Inode: 16797763    Links: 1
Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:admin_home_t:s0
Access: 2019-03-14 01:02:30.554024559 +0800
Modify: 2019-03-14 01:02:30.557024559 +0800
Change: 2019-03-19 05:33:57.779597148 +0800
 Birth: -

时间属性

解释

访问时间(access time 简写为atime)

显示的是文件中的数据最后被访问的时间,比如系统的进程直接使用或通过一些命令和脚本间接使用。(执行一些可执行文件或脚本)

修改时间(modify time 简写为mtime)

显示的是文件内容被修改的最后时间,比如用vi编辑时就会被改变。(也就是Block的内容)

状态修改时间(change time 简写为ctime)

显示的是文件的权限、拥有者、所属的组、链接数发生改变时的时间。当然当内容改变时也会随之改变(即inode内容发生改变和Block内容发生改变时)

5. 文件名后缀

  • 一个Linux文件能否被执行,与它的第一列的十个属性有关,与文件名一点关系也没有。这个跟windows有点不一样,win下的可执行文件扩展名通常是.com、.exe、.bat等,而在Linux下,只要文件具有x就代表这个文件具有可执行权限。
  • 一个文件能否被执行成功不仅与是否具有可执行权限有关,还与文件内容是否可执行有关。
  • 在Linux中虽然文件后缀扩展名并没有什么实际的意义,但文件扩展名有利于我们了解文件的类型,是用来干嘛的,所以通常文件还是会加适当的扩展名。
  • 几种常用的扩展名: .sh: 脚本或批处理文件,因为批处理文件使用shell写的,所以扩展名为sh Z、tar、.tar.gz、.zip、.tgz: 经过打包的压缩文件。这是因为压缩的文件分别是gunzip、tar等,由于不同的压缩软件,而取其相关的扩展名。 .html、.php: 网页相关文件
  • Linux系统的文件名只是让你了解文件可能的用途,真正的执行与否仍然需要权限的规范才行。
  • 我们使用Linux的时候经常遇到这种问题,从网络上下载一个可执行文件,但在Linux系统里就是无法运行,很有可能就是文件权限的问题。在从网络上传到我们的Linux系统中,文件的属性和权限会发生改变。

6. linux和windows文件互传(rz和sz)

## 使用xshell软件,下载安装lrzsz ##
[root@linux-01 ~]# yum install -y lrzsz
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 lrzsz.x86_64.0.0.12.20-36.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================
 Package     架构         版本                 源          大小
================================================================
正在安装:
 lrzsz       x86_64       0.12.20-36.el7       base        78 k

事务概要
================================================================
安装  1 软件包

总下载量:78 k
安装大小:181 k
Downloading packages:
lrzsz-0.12.20-36.el7.x86_64.rpm            |  78 kB   00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : lrzsz-0.12.20-36.el7.x86_64                 1/1 
  验证中      : lrzsz-0.12.20-36.el7.x86_64                 1/1 

已安装:
  lrzsz.x86_64 0:0.12.20-36.el7                                 

完毕!

rz可以弹出一个窗口上传windows的文件到Linux ,传的文件位置是当前位置

在这里插入图片描述
在这里插入图片描述

同样linux的文件也可以下载到windows,使用命令 sz (文件名)

在这里插入图片描述
在这里插入图片描述

7.linux常用终端快捷键

快捷键

含义

Ctrl + C

在终端上中断命令或进程该按的键

Ctrl + Z

该快捷键将正在运行的程序送到后台。 通常,你可以在使用 & 选项运行程序前之完成该操作, 但是如果你忘记使用选项运行程序,就使用这对组合键。

Ctrl + D

这对键盘快捷键将使你退出当前终端。如果你使用 SSH 连接,它将会关闭。如果你直接使用一个终端,该应用将会立刻关闭。把它当成“退出”命令。

Ctrl + L

清空你的终端屏幕

trl + A

该快捷键将移动光标到所在行首。

Ctrl + E

这对快捷键与 Ctrl+A 相反。 Ctrl+A 送光标到行首,反之 Ctrl+E 移动光标到行尾。

Ctrl + U

代替用退格键来丢弃当前命令,使用 Linux 终端中的 Ctrl+U 快捷键。 该快捷键会擦除从当前光标位置到行首的全部内容。

Ctrl + K

擦除的是从当前光标位置到行尾的全部内容

Ctrl + Y

这将粘贴使用 Ctrl+W,Ctrl+U 和 Ctrl+K 快捷键擦除的文本。如果你删除了错误的文本或需要在某处使用已擦除的文本,这将派上用场。

Ctrl + P

你可以使用该快捷键来查看上一个命令。 你可以反复按该键来返回到历史命令。 在很多终端里,使用 PgUp 键来实现相同的功能。

Ctrl + N

你可以结合 Ctrl+P 使用该快捷键。Ctrl+N 显示下一个命令。 如果使用 Ctrl+P 查看上一条命令,你可以使用 Ctrl+N 来回导航。 许多终端都把此快捷键映射到 PgDn 键。

Ctrl + R

快捷键来搜索历史命令。

Ctrl + W

擦除光标位置前的单词,如果光标在一个单词本身上,它将擦除从光标位置到词首的全部字母。

课后总结

1.inode相关

2.find . -inum 16797814 | xargs rm

xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。 xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。 xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。 xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。 xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令。之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了 xargs 命令

[root@linux-01 ~]# ll
总用量 8
drwxrwxr--. 2 root root    6 3月  19 00:09 111
-rw-rw-r--. 2 root root    5 3月  20 05:50 1.txt
-rw-------. 1 root root 1420 3月  14 01:02 anaconda-ks.cfg

[root@linux-01 ~]# ll -i 1.txt 
16797814 -rw-rw-r--. 2 root root 5 3月  20 05:50 1.txt
[root@linux-01 ~]# find . -inum 16797814 
./1.txt

[root@linux-01 ~]# find . -inum 16797814 | xargs  rm 
[root@linux-01 ~]# ll
总用量 4
drwxrwxr--. 2 root root    6 3月  19 00:09 111
-rw-------. 1 root root 1420 3月  14 01:02 anaconda-ks.cfg

3.测试总结

这次基础的测试,看似简单的题,其中包含了很多的知识点,有些知识点可能是一个选项的问题,有些题目可能对初学者来说,感觉很绕口,给人的感觉,运维是一个细心的活,现在做测试,我们错了还可以改,如果到正式环境,也许一些错误是无法弥补的,总之自己要十分的注意。 这次测试,我看到了我自己对之前一周的课中几个知识点的不牢固,一点是:atime、ctime、mtime;另外一点是suid、sgid、sticky。下来对这些知识点需要重复去看,理解很重要,死记容易错。

4.错题解析

在这里插入图片描述
在这里插入图片描述
## 解析:
答案 B和D肯定是错误的,ipconfig是windows查看ip地址的命令, 但是不懂为什么ifconfig 是错误的,求解答。 刚差了下,ifconfig有些时候是不显示网卡。
[root@linux-01 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.141.128  netmask 255.255.255.0  broadcast 192.168.141.255
        inet6 fe80::8db4:d867:92de:d2d1  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:6d:81:cc  txqueuelen 1000  (Ethernet)
        RX packets 27339  bytes 5620073 (5.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4933  bytes 756610 (738.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@linux-01 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:6d:81:cc brd ff:ff:ff:ff:ff:ff
    inet 192.168.141.128/24 brd 192.168.141.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::8db4:d867:92de:d2d1/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
在这里插入图片描述
在这里插入图片描述
## 解析:
答案A和C是一个意思,相对路径相对当前目录,绝对路径是从/下开始算的,~ 代表是跟用户,因为在使用命令 cd ~ 是会定位到当前用户的家目录,所以B选项是错误的。
在这里插入图片描述
在这里插入图片描述
## 解析:
这题题目是有点小绊脚,题目是在链接linux的时候,卡住,自己想成了链接上linux在运行命令的时候卡住了,所以选择了D ctrl +c 终止程序。
在这里插入图片描述
在这里插入图片描述
## 解析:
这题目错是题目没有好好阅读,问题是不让cp复制的时候询问,-r选项就是可以取消这个询问。
在这里插入图片描述
在这里插入图片描述
## 解析:
错误的描述:- 代表的是包含纯文本文件、二进制文件、数据格式文件,压缩文件。
b代表的是块设备文件
在这里插入图片描述
在这里插入图片描述
## 解析:
改变属组,chown  属主:属组  文件    (左边是属主,右边是属组    :可以用 .  代替)
chown 没有 -g 选项  useradd 是有-g选项的
在这里插入图片描述
在这里插入图片描述
## 解析
-R 是递归的意思,这题错在没有好好读题,想的-a可以全部显示当前目录,题目是显示子文件。
在这里插入图片描述
在这里插入图片描述
## 解析
sgid 在用权限的时候,chmod g=tws  file 在使用这条命令的时候,文件权限会变成S,直接用S权限是错误的。
在这里插入图片描述
在这里插入图片描述
## 解析
stick的权限设置在主目录,子目录用户新建的文档,其他用户是可以修改的;stick是防删权限,是为了防止别的用户删除自己的文件。所以是错误的。
在这里插入图片描述
在这里插入图片描述
## 解析:
find -size选项,默认单位是B,可以用k ,使用兆时候要用大写M
在这里插入图片描述
在这里插入图片描述
## 解析
这个命令的意思是在1.txt文件中追加字符111111,相当于修改了文件内容,所以mtime ctime肯定是变了。atime没有变,没有访问文件,所以atime没变。

[root@linux-01 ~]# stat 1.txt 
  File: '1.txt'
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 803h/2051d	Inode: 16797813    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2019-03-20 07:51:03.772158277 +0800
Modify: 2019-03-20 07:51:03.772158277 +0800
Change: 2019-03-20 07:51:03.772158277 +0800
 Birth: -
[root@linux-01 ~]# echo "1111" >> 1.txt
[root@linux-01 ~]# !stat
stat 1.txt 
  File: '1.txt'
  Size: 5         	Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d	Inode: 16797813    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2019-03-20 07:51:03.772158277 +0800
Modify: 2019-03-20 07:51:45.835158797 +0800
Change: 2019-03-20 07:51:45.835158797 +0800
 Birth: -
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-03-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • linux基本命令
  • 预习内容
    • 1.文件增加隐藏权限(chattr)和查看隐藏权限(lsattr)
      • 1.1 chattr 选项 +i 权限
      • 1.2 chattr 选项 +a 权限
      • 1.3 chattr 选项“i”与“a”区别
      • 1.4 lsattr 选项 -a -d -R
    • 2.特殊权限
      • 2.1 set_uid 权限,作用于二进制文件,可执行文件
      • 2.2 set_gid 权限
      • 2.3 stick_bit 防删位
    • 3.软链接和硬链接
      • 3.1软链接文件
      • 3.2 硬链接文件
      • 3.3 软链接和硬链接区别
    • 4. 搜索文件命令
      • 4.1 其他搜索命令:
      • 4.2 find命令
      • 4.3 查看文件或者文件系统的状态 stat
    • 5. 文件名后缀
      • 6. linux和windows文件互传(rz和sz)
        • 7.linux常用终端快捷键
        • 课后总结
          • 1.inode相关
            • 2.find . -inum 16797814 | xargs rm
              • 3.测试总结
                • 4.错题解析
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档