原标题:笔记:Centos7 文件操作相关指令

一、touch

作用:常用来创建空文件,如果文件存在,则修改这个文件的时间

语 法:touch [-acfm][-d ][-r ][-t ][--help] [--version][文件或目录...] 或 touch [-acfm][--help][--version][日期时间][文件或目录...]

补充说明:使用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间。

参 数:

-a或--time=atime或--time=access或--time=use 只更改存取时间。

-c或--no-create 不建立任何文件。

-d 使用指定的日期时间,而非现在的时间。

-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m或--time=mtime或--time=modify 只更改变动时间。

-r 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同。

-t 使用指定的日期时间,而非现在的时间。

--help 在线帮助。

--version 显示版本信息。

实例:

1.创建一个文件

2.创建多个文件,用,隔开

注意{}可以是替代符,有很多种,这里略

3.创建连续的文件

二、vi/vim 文件编辑

主要是编辑文件内容,如果是空文件也可以生成

1.替换和删除

rc 用 c 替换光标所指向的当前字符;

nrc 用 c 替换光标所指向的前 n 个字符;

5rA 用 A 替换光标所指向的前 5 个字符;

x 删除光标所指向的当前字符;

nx 删除光标所指向的前 n 个字符;

3x 删除光标所指向的前 3 个字符;

dw 删除光标右侧的字;

ndw 删除光标右侧的 n 个字;

3dw 删除光标右侧的 3 个字;

db 删除光标左侧的字;

ndb 删除光标左侧的 n 个字;

5db 删除光标左侧的 5 个字;

dd 删除光标所在行,并去除空隙;

ndd 删除(剪切) n 行内容,并去除空隙;

3dd 删除(剪切) 3 行内容,并去除空隙;

s 用输入的正文替换光标所指向的字符;

S 删除当前行,并进入插入模式;

ns 用输入的正文替换光标右侧 n 个字符;

nS 删除当前行在内的 n 行,并进入插入模式;

cw 用输入的正文替换光标右侧的字;

cW 用输入的正文替换从光标到行尾的所有字符(同 c$ );

ncw 用输入的正文替换光标右侧的 n 个字;

cb 用输入的正文替换光标左侧的字;

ncb 用输入的正文替换光标左侧的 n 个字;

cd 用输入的正文替换光标的所在行;

ncd 用输入的正文替换光标下面的 n 行;

c$ 用输入的正文替换从光标开始到本行末尾的所有字符;

c0 用输入的正文替换从本行开头到光标的所有字符。

d$ 从当前光标起删除字符直到行的结束;

d0 从当前光标起删除字符直到行的开始;

J 删除本行的回车符(CR),并和下一行合并。

复制粘贴

p 小写字母 p,将缓冲区的内容粘贴到光标的后面;

P 大写字母 P,将缓冲区的内容粘贴到光标的前面。

yy 复制当前行到内存缓冲区;

nyy 复制 n 行内容到内存缓冲区;

5yy 复制 5 行内容到内存缓冲区;

“+y 复制 1 行到操作系统的粘贴板;

“+nyy 复制 n 行到操作系统的粘贴板。

2.撤销和重复

u 撤消前一条命令的结果;

. 重复最后一条修改正文的命令。

3.插入模式

i 在光标左侧插入正文

a 在光标右侧插入正文

o 在光标所在行的下一行增添新行

O 在光标所在行的上一行增添新行

I 在光标所在行的开头插入

A 在光标所在行的末尾插入

注意:退出插入模式的方法是,按 ESC 键或组合键 Ctrl+[ ,退出插入模式之后,将会进入编辑模式 。

4.打开、保存、退出

打开一个文件需要用 :e 命令:

:e path_to_file/filename

保存当前编辑的文件需要用 :w 命令(单词 write 的缩写):

:w

文件另存为 file_temp 则:

:w file_temp

保存并退出则可以讲两条命令结合起来使用(注意命令顺序,先保存,后退出):

:wq

5.字符串搜索

:/str/ 正向搜索,将光标移到下一个包含字符串 str 的行

:?str? 反向搜索,将光标移到上一个包含字符串 str 的行

:/str/w file 正向搜索,并将第一个包含字符串 str 的行写入 file 文件

:/str1/,/str2/w file 正向搜索,并将包含字符串 str1 的行至包含字符串 str2 的行写

三、目录相关

创建目录

mkdir [目录]

连接创建多级目录,的情况会出现以下的情况

需要加上参数 -p

-Z:设置安全上下文,当使用SELinux时有效;

-m或--mode建立目录的同时设置目录的权限;

-p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;

--version 显示版本信息。

例:

mkdir -p-m 750 ss/ds/as/dfs

查看目录树

使用tree 命令查看刚才创建的目录

删除目录

rm命令

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

参数如下

注:如果没有安装tree,则先安装

yum install -y tree

-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;

-f:强制删除文件或目录;

-i:删除已有文件或目录之前先询问用户;

-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;

--preserve-root:不对根目录进行递归操作;

-v:显示指令的详细执行过程。

实例

rm 删除目录

复制

cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

参数选项

移动文件

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

注意事项:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。注意事项:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。

查看文件

实例

a.将文件file复制到目录/usr/men/tmp下,并改名为file1

cp file /usr/men/tmp/file1

b.将目录/usr/men下的所有文件及其子目录复制到目录/usr/zh中

cp -r /usr/men /usr/zh

[正则]交互式地将目录/usr/men中的以m打头的所有.c文件复制到目录/usr/zh中

cp -i /usr/men m*.c /usr/zh

实例

将文件ex3改名为new1

mv ex3 new1

将目录/usr/men中的所有文件移到当前目录(用.表示)中:

mv /usr/men/* .

cat 查看文件全部内容

more 按分页的情况查看

less 和more差不多,但是可以前后翻页

hand 查看文件的头部,默认10行,由-n 设置

tail 查看文件的尾部,默认10行,由-n 设置,-f 监控改变,不退出(常用)