Linux横向连接文件,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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值