N42_王明旺 Linux文件管理

一、描述Linux发行版的系统目录名称命名规则以及用途。

系统目录名称命名规则:

1.严格区分字符的大小写
2.文件名可以使用除/以外的任意字符
3.文件名不能超过255个字符
4.遵循FHS(Filesystem Hierarchy Standard)标准
5.目录也是文件,在同一目录下,两个文件不能同名
6.以点号开头的文件为隐藏文件,两个特殊文件:
. :表示当前目录
.. :这表示当前目录的上一级目录

Linux发行版基本目录的用途:

/boot 系统启动引导文件存放此目录,内核文件以及引导加载器都存放在此目录下
/bin 存放所有用户的基本命令,该目录不可以独立分区,系统启动时会使用此目录下的文件
/sbin 存放管理类的基本命令,该目录不能独立分区,系统启动时会使用此目录下的文件。
/lib  存放系统启动时程序依赖的基本共享库文件和内核模块文件(/lib/modules)
/lib64  专用于x86_64系统上的辅助共享库文件存放的位置
/etc 配置文件目录
/home  普通用户的家目录
/root 管理员用户的家目录
/media  移动式设备的挂载点
/mnt  临时文件系统挂载点
/dev 设备文件和特殊文件存储位置
/opt  第三方引用程序的安装位置
/srv  系统运行的服务用到的数据
/tmp  产生临时文件的程序提供的存储临时文件的目录
可以执行用户执行写入权限,有特殊权限
/tmp 临时文件存储位置
/usr 全局共享的只读数据路径
/var  存储常发生变化的数据库的目录 一般情况下,使用较多的时 /var/log 日志目录
/proc  基于内存的虚拟文件系统,为内核和进程存储其相关信息,多为内核参数。
/sys  sysfs虚拟文件系统提供一种比proc更加理想的访问内核数据的途径。用于管理Linux设备
提供的一种统一模型的接口。

二、描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?

文件的元数据信息及含义:

File:文件名
Size:文件大小(单位:B)
Blocks:文件所占块个数
IO Block:每个数据块的大小(单位:B)
regular file:普通文件(此处显示文件的类型)
Inode:文件的Inode号,文件的索引节点号
Links:硬链接次数
Access:权限
Uid:(属主id/属主名)
Gid:(属组id/属组名)
Context:文件所在的环境
Access:最近访问时间access time (atime)
Modify:数据改动时间modification time (mtime)
Change:元数据改动时间status time (ctime)
Creat:文件创建时间

查看文件的元数据的方法:

  • stat命令:stat – ,使用stat 查看文件的元数据
    使用语法:stat file
  • 示例:查看/etc/passwd文件的元数据
[wangmingwang@localhost ~]$ stat  /etc/passwd 
  File: ‘/etc/passwd’
  Size: 2328        Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 135768421   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:passwd_file_t:s0
Access: 2019-11-11 00:38:52.081999667 +0800
Modify: 2019-11-04 02:55:01.615875210 +0800
Change: 2019-11-04 02:55:01.615875210 +0800
 Birth: -

修改文件的时间戳的方法:

touch命令:touch –  修改时间戳

使用语法:     touch [OPTION]… FILE…

注意:#touch /tmp/x   当touch的文件不存在时,会在目标目录下创建x空文件

选项:

不跟任何选项时三个时间戳都会被更新为当前时间。

-c: 指定的文件路径不存在时不予创建;

-a: 仅修改access time;

-m:仅修改modify time;

-t :指定改为某一时刻的时间,时间参数格式  [[CC]YY]MMDDhhmm[.ss]
  • 示例:将/tmp/passwd文件的最近更改时间改为2019年11月10日17点00分00秒
[wangmingwang@localhost ~]$ touch  -m -t 201911101700.00 /tmp/passwd 
[wangmingwang@localhost ~]$ 
[wangmingwang@localhost ~]$ 
[wangmingwang@localhost ~]$ 
[wangmingwang@localhost ~]$ 
[wangmingwang@localhost ~]$ stat /tmp/passwd
  File: ‘/tmp/passwd’
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 134766934   Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/wangmingwang)   Gid: ( 1000/wangmingwang)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2019-11-11 01:01:25.323919007 +0800
Modify: 2019-11-10 17:00:00.000000000 +0800
Change: 2019-11-11 01:01:25.323919007 +0800
 Birth: -
  • touch 这个指令最常被使用的情况是:
    • 建立一个空的文件;
    • 将某个文件日期修订为目前 (mtime 与 atime)

三、总结软链接和硬链接区别,并用实例操作说明。

什么是链接?

  • 链接简单说实际上是一种文件共享的方式,是 POSIX 中的概念,主流文件系统都支持链接文件。

作用?

  • 你可以将链接简单地理解为 Windows 中常见的快捷方式(或是 OS X 中的替身),Linux 中常用它来解决一些库版本的问题,通常也会将一些目录层次较深的文件链接到一个更易访问的目录中。在这些用途上,我们通常会使用到软链接(也称符号链接)。

软链接和硬链接的区别是?

首先创建一个WJC文件夹,并且文件夹下创建两个AAA和BBB文件
[wangmingwang@localhost ~]$ mkdir wjc
[wangmingwang@localhost ~]$ cd wjc
[wangmingwang@localhost wjc]$ touch AAA
[wangmingwang@localhost wjc]$ touch BBB
[wangmingwang@localhost wjc]$ ls -il
total 0
69522897 -rw-rw-r--. 1 wangmingwang wangmingwang 0 Nov 11 01:36 AAA
69524449 -rw-rw-r--. 1 wangmingwang wangmingwang 0 Nov 11 01:36 BBB
再做一个AAA的硬链接
引用
[wangmingwang@localhost wjc]$ ls -il
total 8
69522897 -rw-rw-r--. 2 wangmingwang wangmingwang 119 Nov 11 01:42 AAA
69522897 -rw-rw-r--. 2 wangmingwang wangmingwang 119 Nov 11 01:42 AAAhard
69524449 -rw-rw-r--. 1 wangmingwang wangmingwang   0 Nov 11 01:36 BBB
在创建硬链接前,AAA显示的链接数目为1,创建链接后 
1. AAA和AAAhard的链接数目都变为2。 
2. AAA和AAAhard的inode号是一样的,都是69522897。 
3. AAA和AAAhard显示的文件大小也是一样,都是119B。

由上面操作示例发现:AAA和AAAhard是同一个文件的两个名字, 它们具有同样的索引节点号和文件属性,建立文件AAA的硬链接,就是为 AAA的文件索引节点在当前目录上建立一个新指针。你可以删除其中任何一个,如rm AAA,每次只会删除一个指针,链接数同时减一,只有将所有指向文件内容的指针,也即链接数减为0时,内核才会把文件内容从磁盘上删除。

虽然硬链接节省空间,也是Linux系统整合文件系统的传统方式,但是存在一些不足之处: 
1. 不允许给目录创建硬链接。 
2. 不可以在不同文件系统的文件间建立链接。因为 inode 是这个文件在当前分区中的索引值,是相对于这个分区的,当然不能跨越文件系统了。

然后再做一个指向BBB的软链接,软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。
[wangmingwang@localhost wjc]$ ln -s BBB BBBsoft
[wangmingwang@localhost wjc]$ ls -il
total 8
69522897 -rw-rw-r--. 2 wangmingwang wangmingwang 119 Nov 11 01:42 AAA
69522897 -rw-rw-r--. 2 wangmingwang wangmingwang 119 Nov 11 01:42 AAAhard
69524449 -rw-rw-r--. 1 wangmingwang wangmingwang   0 Nov 11 01:36 BBB
69522899 lrwxrwxrwx. 1 wangmingwang wangmingwang   3 Nov 11 02:03 BBBsoft -> BBB
从上面链接后的结果可以看出来软链接与硬链接,区别不仅仅是在概念上,在实现上也是完全不同的。

区别:

1.硬链接:原文件_链接文件共用一个inode号,说明他们是同一个文件,而软链接:原文件_链接文件拥有不同的inode号,表明他们是两个不同的文件;
2.在文件属性上软链接明确写出了是链接文件,而硬链接没有写出来,因为在本质上硬链接文件和原文件是完全平等关系;
3.链接数目是不一样的,软链接的链接数目不会增加;
4.文件大小是不一样的,硬链接文件显示的大小是跟原文件是一样的。而这里软链接显示的大小与原文件就不同了,BBB大小是0B,而BBBsoft是3B。因为BBB共有3个字符
5.软链接没有任何文件系统的限制,任何用户可以创建指向目录的符号链接

总结:

  • 总之,建立软链接就是建立了一个新文件。当访问链接文件时,系统就会发现他是个链接文件,它读取链接文件找到真正要访问的文件。
  • 当然软链接也有硬链接没有的缺点:因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。

四、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

1、touch:创建空文件和刷新时间

1.创建一个新文件

2.将一个文件时间修改为当前atime和mtime

参数 含义
-a 只更改读取时间
-c 不建立任何文件
-d <时间日期> 使用指定的日期,而非现在的时间
-m 只更改修改时间
-r <参考文件或目录> 把指定文件或目录的日期和时间通通设置成参考文件或目录的日期时间
-t <日期时间> 使用指定的日期时间,而非现在的时间
--help 在线帮助
  • 修改文件读取时间
[wangmingwang@localhost ~]$ cd /data
[wangmingwang@localhost data]$ touch test
touch: cannot touch ‘test’: Permission denied
[wangmingwang@localhost data]$ sudo touch test
[sudo] password for wangmingwang: 
Sorry, try again.
[sudo] password for wangmingwang: 
[wangmingwang@localhost data]$ 
[wangmingwang@localhost data]$ ll
total 4
-rw-r--r--. 1 root root 56 Nov 17 20:34 test
[wangmingwang@localhost data]$ touch -a test
touch: cannot touch ‘test’: Permission denied
[wangmingwang@localhost data]$ sudo touch -a test
[wangmingwang@localhost data]$ stat test
  File: ‘test’
  Size: 56          Blocks: 8          IO Block: 4096   regular file
Device: fd02h/64770d    Inode: 69          Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2019-11-17 20:37:31.877507696 +0800
Modify: 2019-11-17 20:34:51.970517227 +0800
Change: 2019-11-17 20:37:31.877507696 +0800
 Birth: -
  • 修改文件修改时间
[wangmingwang@localhost data]$ date
Sun Nov 17 20:49:54 CST 2019     当前系统时间    
[wangmingwang@localhost data]$ ll test
-rw-r--r--. 1 root root 56 Nov 17 20:34 test    文件修改时间
[wangmingwang@localhost data]$ ll -a test
-rw-r--r--. 1 root root 56 Nov 17 20:34 test    文件读取时间
[wangmingwang@localhost data]$ ll -c test
-rw-r--r--. 1 root root 56 Nov 17 20:37 test    文件创建时间
[wangmingwang@localhost data]$ sudo touch -d "-1 day ago" test
[wangmingwang@localhost data]$ date;ll test;ll -a test;ll --time=ctime test
Sun Nov 17 20:58:14 CST 2019
-rw-r--r--. 1 root root 56 Nov 18  2019 test
-rw-r--r--. 1 root root 56 Nov 18  2019 test
-rw-r--r--. 1 root root 56 Nov 17 20:58 test
[wangmingwang@localhost data]$ 
[wangmingwang@localhost data]$ 
[wangmingwang@localhost data]$ touch -t "201911172100" test
touch: cannot touch ‘test’: Permission denied
[wangmingwang@localhost data]$ sudo touch -t "201911172100" test
[wangmingwang@localhost data]$ date;ll test;ll -a test;ll --time=ctime test
Sun Nov 17 21:00:12 CST 2019
-rw-r--r--. 1 root root 56 Nov 17 21:00 test
-rw-r--r--. 1 root root 56 Nov 17 21:00 test
-rw-r--r--. 1 root root 56 Nov 17 21:00 test

2、ls:查看文件和目录

参数 含义
-a 显示所有文件及目录(包括文件名或目录名称为“.”的隐藏文件)
-A 显示除隐藏文件“.”和“..”以外的所有文件列表
-C 按列输出,纵向排序
-l 列出文件的详细信息
-F 在每个文件名后附上一个字符以说明该文件的类型。"*":表示可执行的普通文件;"/":表示目录;“@”:表示符号链接;“ ”:表示FIFOs;“=”:表示套接字(sockets)。
-b 将文件中的不可输出的字符以反斜线“”加字符编码的方式输出
-c 输出文件的 i 节点的修改时间,并以此排序
-d 仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表
-ld 目录和符号链接信息
-f 此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果,对输出的文件不排序
-i 显示文件索引节点号(inode)。一个索引节点代表一个文件
-k 以KB(千字节)为单位显示文件大小
-m 横向输出文件名,并以“,”作为分格符。
-n 用数字的 UID,GID 代替名称
-r 以文件名反序排列并输出目录内容列表
-1 文件分行显示
-s 显示文件和目录的大小,以区块为单位
–X 按文件后缀排序
-S 以文件大小排序
-t 用文件和目录的更改时间排序
-u 配合-t选项,显示并按atime从新到旧排序
-L 列出链接文件名而不是链接到的文件
-R 递归处理,将指定目录下的所有文件及子目录一并处理
--full-time 列出完整的日期与时间
--color[=WHEN] 使用不同的颜色高亮显示不同类型的
  • 查看所有文件包含隐藏文件
[wangmingwang@localhost ~]$ ls  -a
.              .bashrc  Documents      .mozilla   Videos
..             .cache   Downloads      Music      .viminfo
.bash_history  .config  .esd_auth      Pictures   wjc
.bash_logout   .dbus    .ICEauthority  Public     wmw
.bash_profile  Desktop  .local         Templates  .Xauthority
  • 查看文件以长格式显示
wangmingwang@localhost ~]$ ls -l
total 0
drwxr-xr-x. 2 wangmingwang wangmingwang  6 Nov  4 03:20 Desktop
drwxr-xr-x. 2 wangmingwang wangmingwang  6 Nov  4 03:20 Documents
drwxr-xr-x. 2 wangmingwang wangmingwang  6 Nov  4 03:20 Downloads
drwxr-xr-x. 2 wangmingwang wangmingwang  6 Nov  4 03:20 Music
drwxr-xr-x. 2 wangmingwang wangmingwang  6 Nov  4 03:20 Pictures
drwxr-xr-x. 2 wangmingwang wangmingwang  6 Nov  4 03:20 Public
drwxr-xr-x. 2 wangmingwang wangmingwang  6 Nov  4 03:20 Templates
drwxr-xr-x. 2 wangmingwang wangmingwang  6 Nov  4 03:20 Videos
drwxrwxr-x. 2 wangmingwang wangmingwang 58 Nov 11 02:03 wjc
-rw-rw-r--. 1 wangmingwang wangmingwang  0 Nov 11 01:33 wmw
[wangmingwang@localhost ~]$ 
  • 以时间降序方式显示文件
[wangmingwang@localhost ~]$ ls -tSlr
total 0
-rw-rw-r--. 1 wangmingwang wangmingwang  0 Nov 11 01:33 wmw
drwxr-xr-x. 2 wangmingwang wangmingwang  6 Nov  4 03:20 Videos
drwxr-xr-x. 2 wangmingwang wangmingwang  6 Nov  4 03:20 Templates
drwxr-xr-x. 2 wangmingwang wangmingwang  6 Nov  4 03:20 Public
drwxr-xr-x. 2 wangmingwang wangmingwang  6 Nov  4 03:20 Pictures
drwxr-xr-x. 2 wangmingwang wangmingwang  6 Nov  4 03:20 Music
drwxr-xr-x. 2 wangmingwang wangmingwang  6 Nov  4 03:20 Downloads
drwxr-xr-x. 2 wangmingwang wangmingwang  6 Nov  4 03:20 Documents
drwxr-xr-x. 2 wangmingwang wangmingwang  6 Nov  4 03:20 Desktop
drwxrwxr-x. 2 wangmingwang wangmingwang 58 Nov 11 02:03 wjc

3、cp:复制文件

参 数 含 义
-a 归档,此参数的效果和同时指定"-dpR"参数相同
-d 当复制符号链接时,把目标文件或目录也建立为符号链接,并指向与源文件或目录链接的原始文件或目录
-f 强行复制文件或目录,不论目标文件或目录是否已存在
-i 覆盖前提示
-l 对源文件建立硬链接,而非复制文件
-p 保留源文件或目录的属性
-R/r 递归处理,将指定目录下的所有文件与子目录一并处理
-s 对源文件建立符号连接,而非复制文件
-u 使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件
-S 在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀
-b 覆盖已存在的文件目标前将目标文件备份
-v 详细显示命令执行的操作
  • 复制文件/data/test到/tmp/下
[wangmingwang@localhost ~]$ cp /data/test /tmp
[wangmingwang@localhost ~]$ ls /tmp
anaconda.log
hsperfdata_root
ifcfg.log
ks-script-25ZMDi
packaging.log
passwd
program.log
sensitive-info.log
ssh-O0wn96LqjCRN
ssh-ZqB2alxWOEIA
storage.log
systemd-private-57ec3771b8e04b3da70dea68f472ca5a-bolt.service-9jrIYD
systemd-private-57ec3771b8e04b3da70dea68f472ca5a-colord.service-Jce1z5
systemd-private-57ec3771b8e04b3da70dea68f472ca5a-cups.service-09vTGB
systemd-private-57ec3771b8e04b3da70dea68f472ca5a-fwupd.service-WT3F1z
systemd-private-57ec3771b8e04b3da70dea68f472ca5a-rtkit-daemon.service-NfQxLP
systemd-private-be89f8d8953a44439eb5e35c6b63a27c-bolt.service-ww6ufz
systemd-private-be89f8d8953a44439eb5e35c6b63a27c-colord.service-zDfahN
systemd-private-be89f8d8953a44439eb5e35c6b63a27c-cups.service-Qg4n1q
systemd-private-be89f8d8953a44439eb5e35c6b63a27c-fwupd.service-YzwpN3
systemd-private-be89f8d8953a44439eb5e35c6b63a27c-rtkit-daemon.service-DSUEDN
test
tracker-extract-files.1000
vmware-root_6537-1690112612
vmware-root_6595-1983784328
yum.log
  • 文件夹递归复制
[wangmingwang@localhost data]$ ll
total 4
drwxr-xr-x. 2 root root  6 Nov 17 22:58 dir
-rw-r--r--. 1 root root 56 Nov 17 21:00 test
[wangmingwang@localhost data]$ cp -r dir/ dir2
cp: cannot create directory ‘dir2’: Permission denied
[wangmingwang@localhost data]$ sudo cp -r dir/ dir2
[wangmingwang@localhost data]$ ll
total 4
drwxr-xr-x. 2 root root  6 Nov 17 22:58 dir
drwxr-xr-x. 2 root root  6 Nov 17 22:59 dir2
-rw-r--r--. 1 root root 56 Nov 17 21:00 test

4.mv 移动文件

mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。

mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:

1.如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
2.如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。
注意事项:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。
选项 含义
--backup=<备份模式> 若需覆盖文件,则覆盖前先行备份
-b 当文件存在时,覆盖前,为其创建一个备份
-f 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录
-i 交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
--strip-trailing-slashes 删除源文件中的斜杠“/”
-S<后缀> 为备份文件指定后缀,而不使用默认的后缀
--target-directory=<目录> 指定源文件要移动到目标目录
-u 当源文件比目标文件新或者目标文件不存在时,才执行移动操作
  • 移动文件(未指定文件名)
[wangmingwang@localhost data]$ ll
total 4
drwxr-xr-x. 2 root root  6 Nov 17 22:58 dir
drwxr-xr-x. 2 root root  6 Nov 17 22:59 dir2
-rw-r--r--. 1 root root 56 Nov 17 21:00 test
[wangmingwang@localhost data]$ sudo mv test dir/
[sudo] password for wangmingwang: 
[wangmingwang@localhost data]$ ll
total 0
drwxr-xr-x. 2 root root 18 Nov 17 23:11 dir
drwxr-xr-x. 2 root root  6 Nov 17 22:59 dir2
[wangmingwang@localhost data]$ ll dir/
total 4
-rw-r--r--. 1 root root 56 Nov 17 21:00 test
[wangmingwang@localhost data]$ 
  • 移动文件并重命名(指定文件名)
[wangmingwang@localhost dir]$ ll
total 4
-rw-r--r--. 1 root root 56 Nov 17 21:00 test
-rw-r--r--. 1 root root  0 Nov 18 11:06 test1
-rw-r--r--. 1 root root  0 Nov 18 11:07 test2
-rw-r--r--. 1 root root  0 Nov 18 11:07 test3
-rw-r--r--. 1 root root  0 Nov 18 11:07 test4
[wangmingwang@localhost dir]$ mv test test.bak
mv: cannot move ‘test’ to ‘test.bak’: Permission denied
[wangmingwang@localhost dir]$ sudo mv test test.bak
[wangmingwang@localhost dir]$ ll
total 4
-rw-r--r--. 1 root root  0 Nov 18 11:06 test1
-rw-r--r--. 1 root root  0 Nov 18 11:07 test2
-rw-r--r--. 1 root root  0 Nov 18 11:07 test3
-rw-r--r--. 1 root root  0 Nov 18 11:07 test4
-rw-r--r--. 1 root root 56 Nov 17 21:00 test.bak

5、rm:删除文件

rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。
对于链接文件,只是删除整个链接文件,而原有文件保持不变。

注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。
所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。
使用这个选项,系统会要求你逐一确定是否要删除。
这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。

选项 含义
-d 直接把需要删除的目录的硬链接数据删除成0,删除该目录
-f 强制删除文件或目录
-i 删除已有文件或目录之前先询问用户
-r/R 递归处理,将指定目录下的所有文件与子目录一并处理
--preserve-root 不对根目录进行递归操作
-v 显示指令的详细执行过程
  • 删除文件
[wangmingwang@localhost dir]$ ll
total 4
-rw-r--r--. 1 root root  0 Nov 18 11:06 test1
-rw-r--r--. 1 root root  0 Nov 18 11:07 test2
-rw-r--r--. 1 root root  0 Nov 18 11:07 test3
-rw-r--r--. 1 root root  0 Nov 18 11:07 test4
-rw-r--r--. 1 root root 56 Nov 17 21:00 test.bak
[wangmingwang@localhost dir]$ rm test1
rm: remove write-protected regular empty file ‘test1’? y
rm: cannot remove ‘test1’: Permission denied
[wangmingwang@localhost dir]$ sudo rm test1
[sudo] password for wangmingwang: 
[wangmingwang@localhost dir]$ sudo rm test2
[wangmingwang@localhost dir]$ ll
total 4
-rw-r--r--. 1 root root  0 Nov 18 11:07 test3
-rw-r--r--. 1 root root  0 Nov 18 11:07 test4
-rw-r--r--. 1 root root 56 Nov 17 21:00 test.bak
  • 强制删除文件不提示(慎用)
[root@localhost wmw]# ll
total 0
-rw-r--r--. 1 root root 0 Nov 18 11:39 test1.txt
-rw-r--r--. 1 root root 0 Nov 18 11:39 test2.txt
-rw-r--r--. 1 root root 0 Nov 18 11:39 test3.txt
-rw-r--r--. 1 root root 0 Nov 18 11:39 test4.txt
-rw-r--r--. 1 root root 0 Nov 18 11:39 test.txt
[root@localhost wmw]# rm -f test.txt
[root@localhost wmw]# ll
total 0
-rw-r--r--. 1 root root 0 Nov 18 11:39 test1.txt
-rw-r--r--. 1 root root 0 Nov 18 11:39 test2.txt
-rw-r--r--. 1 root root 0 Nov 18 11:39 test3.txt
-rw-r--r--. 1 root root 0 Nov 18 11:39 test4.txt
  • 删除文件夹及文件夹内容(默认无法删除文件夹需添加选项参数-r)
[root@localhost wmw]# ll
total 0
drwxr-xr-x. 2 root root 18 Nov 18 11:43 dir1
drwxr-xr-x. 2 root root  6 Nov 18 11:41 dir2
-rw-r--r--. 1 root root  0 Nov 18 11:39 test1.txt
-rw-r--r--. 1 root root  0 Nov 18 11:39 test2.txt
-rw-r--r--. 1 root root  0 Nov 18 11:39 test3.txt
-rw-r--r--. 1 root root  0 Nov 18 11:39 test4.txt
[root@localhost wmw]# rm dir1
rm: cannot remove ‘dir1’: Is a directory
[root@localhost wmw]# rm -r dir1
rm: descend into directory ‘dir1’? y
rm: remove regular empty file ‘dir1/test’? y
rm: remove directory ‘dir1’? 
[root@localhost wmw]# rm -rf dir1
[root@localhost wmw]# ll
total 0
drwxr-xr-x. 2 root root 6 Nov 18 11:41 dir2
-rw-r--r--. 1 root root 0 Nov 18 11:39 test1.txt
-rw-r--r--. 1 root root 0 Nov 18 11:39 test2.txt
-rw-r--r--. 1 root root 0 Nov 18 11:39 test3.txt
-rw-r--r--. 1 root root 0 Nov 18 11:39 test4.txt

五、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符。

cp /etc/profile /tmp    #######复制文件
vim /tmp/profile         #######编辑文件
在vim命令模式下输入:进入扩展命令模式输入以下代码。就可以完成行首的空白键删除了
:%s/^[[:blank:]]\+//g        

%s/要查找的文字/要替换的文字/g
^ 首行
[[:blank:]] 空白键
/g 全局替换

六、在vim中设置tab缩进为4个字符。

设置缩进的几种方式:
1.  set ts=num
2.  set tabstop=num
3.  set softtabstop=num
4.  set shiftwidth=num
如果是当前用户,只修改当前用户创建文件.vimrc文件写入配置信息    
如果是所有用户都希望生效可修改/etc/vimrc文件写入配置信息
set ts=4
set expandtab
set autoindent
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,875评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,569评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,475评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,459评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,537评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,563评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,580评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,326评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,773评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,086评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,252评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,921评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,566评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,190评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,435评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,129评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,125评论 2 352

推荐阅读更多精彩内容