其他分享
首页 > 其他分享> > 目录与文件操作

目录与文件操作

作者:互联网

目录与文件操作

Linux结构目录

/root:系统管理员root的宿主目录
/home:普通用户的宿主目录
/boot:系统内核、启动文件
/dev:设备文件
/etc:配置文件
/bin:所有用户可执行的命令
/sbin:管理员可执行的管理命令
/usr:应用程序
/var:日志文件等
查看及检索文件

查看文件

cat命令

1.一次显示整个文件。
cat filename
2.从键盘创建一个文件。
cat > filename
3.将几个文件合并为一个文件。
cat file1 file2 > file

more命令

more会以一页一页的显示方便使用者逐页阅读

less命令

less 可以随意浏览文件
命令格式:less 选项 文件
常用选项
详细选项
-b <缓冲区大小> 设置缓冲区的大小

-e 当文件显示结束后,自动离开

-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件

-g 只标志最后搜索的关键词

-i 忽略搜索时的大小写

-m 显示类似more命令的百分比

-N 显示每行的行号

-o <文件名> 将less 输出的内容在指定文件中保存起来

-Q 不使用警告音

-s 显示连续空行为一行

-S 行过长时间将超出部分舍弃

-x <数字> 将“tab”键显示为规定的数字空格
-i 忽略搜索时的大小写

按键
/字符串:向下搜索“字符串”的功能

?字符串:向上搜索“字符串”的功能

n:重复前一个搜索(与 / 或 ? 有关)

N:反向重复前一个搜索(与 / 或 ? 有关)

b 向后翻一页

d 向后翻半页

h 显示帮助界面

Q 退出less 命令

u 向前滚动半页

y 向前滚动一行

空格键 滚动一行

回车键 滚动一页

[pagedown]: 向下翻动一页

[pageup]: 向上翻动一页

head命令

head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
命令格式:head 选项 文件
选项
-q 隐藏文件名
-v 显示文件名
-c<字节> 显示字节数
-n<行数> 显示的行数

tail命令

用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
命令格式:tail 必要选项 选项 文件
选项
-f 循环读取

-q 不显示处理信息

-v 显示详细的处理信息

-c<数目> 显示的字节数

-n<行数> 显示行数

--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.

-q, --quiet, --silent 从不输出给出文件名的首部

-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
tail -n 5 log2014.log
-n<行数> 显示行数

统计和检索

wc命令

统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
命令格式:wc 选项 文件
选项
-c 统计字节数。

-l 统计行数。

-m 统计字符数。这个标志不能与 -c 标志一起使用。

-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。

-L 打印最长行的长度。

-help 显示帮助信息

--version 显示版本信息
ls -l | wc -l
用来统计当前目录下的文件数

grep命令

在文件中查找并显示包含指定字符串的行
命令格式:grep 选项 查找条件 目标文件
选项
详细选项
-a --text #不要忽略二进制的数据。

-A<显示行数> --after-context=<显示行数> #除了显示符合范本样式的那一列之外,并显示该行之后的内容。

-b --byte-offset #在显示符合样式的那一行之前,标示出该行第一个字符的编号。

-B<显示行数> --before-context=<显示行数> #除了显示符合样式的那一行之外,并显示该行之前的内容。

-c --count #计算符合样式的列数。

-C<显示行数> --context=<显示行数>或-<显示行数> #除了显示符合样式的那一行之外,并显示该行之前后的内容。

-d <动作> --directories=<动作> #当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。

-e<范本样式> --regexp=<范本样式> #指定字符串做为查找文件内容的样式。

-E --extended-regexp #将样式为延伸的普通表示法来使用。

-f<规则文件> --file=<规则文件> #指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。

-F --fixed-regexp #将样式视为固定字符串的列表。

-G --basic-regexp #将样式视为普通的表示法来使用。

-h --no-filename #在显示符合样式的那一行之前,不标示该行所属的文件名称。

-H --with-filename #在显示符合样式的那一行之前,表示该行所属的文件名称。

-i --ignore-case #忽略字符大小写的差别。

-l --file-with-matches #列出文件内容符合指定的样式的文件名称。

-L --files-without-match #列出文件内容不符合指定的样式的文件名称。

-n --line-number #在显示符合样式的那一行之前,标示出该行的列数编号。

-q --quiet或--silent #不显示任何信息。

-r --recursive #此参数的效果和指定“-d recurse”参数相同。

-s --no-messages #不显示错误信息。

-v --revert-match #显示不包含匹配文本的所有行。

-V --version #显示版本信息。

-w --word-regexp #只显示全字符合的列。

-x --line-regexp #只显示全列符合的列。

-y #此参数的效果和指定“-i”参数相同。
-i --ignore-case #忽略字符大小写的差别。
-v --revert-match #显示不包含匹配文本的所有行。
查找条件
详细
^ #锚定行的开始 如:'^grep'匹配所有以grep开头的行。

$ #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。

. #匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。

.* #一起用代表任意字符。

[] #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。

[^] #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。

(..) #标记匹配字符,如'(love)',love被标记为1。

< #锚定单词的开始,如:'<grep'匹配包含以grep开头的单词的行。

> #锚定单词的结束,如'grep>'匹配包含以grep结尾的单词的行。

x{m} #重复字符x,m次,如:'0{5}'匹配包含5个o的行。

x{m,} #重复字符x,至少m次,如:'o{5,}'匹配至少有5个o的行。

x{m,n} #重复字符x,至少m次,不多于n次,如:'o{5,10}'匹配5--10个o的行。

\w #匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。

\W #\w的反置形式,匹配一个或多个非单词字符,如点号句号等。

\b #单词锁定符,如: '\bgrep\b'只匹配grep。
^ #锚定行的开始 如:'^grep'匹配所有以grep开头的行。

$ #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。
备份与恢复文档
压缩和解压缩
gzip和gunzip命令
gzip压缩完文件后会产生.gz的压缩文件,并删除原始的文件。
命令格式:gzip 选项 文件或目录
选项
详细选项
-a或--ascii  使用ASCII文字模式。

-c或--stdout或--to-stdout  把压缩后的文件输出到标准输出设备,不去更动原始文件。

-d或--decompress或----uncompress  解开压缩文件。

-f或--force  强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。

-h或--help  在线帮助。

-l或--list  列出压缩文件的相关信息。

-L或--license  显示版本与版权信息。

-n或--no-name  压缩文件时,不保存原来的文件名称及时间戳记。

-N或--name  压缩文件时,保存原来的文件名称及时间戳记。

-q或--quiet  不显示警告信息。

-r或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。

-S<压缩字尾字符串>或----suffix<压缩字尾字符串>  更改压缩字尾字符串。

-t或--test  测试压缩文件是否正确无误。

-v或--verbose  显示指令执行过程。

-V或--version  显示版本信息。

-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。
-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。
解压缩命令格式:gunzip或gzip -d 压缩文件.gz
bzip2和bunzip2命令
bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。
命令格式:bzip2 选项 文件或目录
选项
详细选项
 -c或--stdout  将压缩与解压缩的结果送到标准输出。
 -d或--decompress  执行解压缩。
 -f或--force  bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖,请使用此参数。
 -h或--help  显示帮助。
 -k或--keep  bzip2在压缩或解压缩后,会删除原始的文件。若要保留原始文件,请使用此参数。
 -s或--small  降低程序执行时内存的使用量。
 -t或--test  测试.bz2压缩文件的完整性。
 -v或--verbose  压缩或解压缩文件时,显示详细的信息。
 -z或--compress  强制执行压缩。
 -L,--license,
 -V或--version  显示版本信息。
 --repetitive-best  若文件中有重复出现的资料时,可利用此参数提高压缩效果。
 --repetitive-fast  若文件中有重复出现的资料时,可利用此参数加快执行速度。
 -压缩等级  压缩时的区块大小。
解压缩命令格式:bunzip2或bzip2 -d 压缩文件.bz2
tar归档和释放
用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的
命令格式:tar 必要选项 选择选项 文件
选项
详细选项
-A 新增压缩文件到已存在的压缩

-B 设置区块大小

-c 建立新的压缩文件

-d 记录文件的差别

-r 添加文件到已经压缩的文件

-u 添加改变了和现有的文件到已经存在的压缩文件

-x 从压缩的文件中提取文件

-t 显示压缩文件的内容

-z 支持gzip解压文件

-j 支持bzip2解压文件

-Z 支持compress解压文件

-v 显示操作过程

-l 文件系统边界设置

-k 保留原有文件不覆盖

-m 保留文件不被覆盖

-W 确认压缩文件的正确性

可选参数如下:

-b 设置区块数目

-C 切换到指定目录

-f 指定压缩文件

--help 显示帮助信息

--version 显示版本信息
-j 支持bzip2解压文件
-z 支持gzip解压文件
-c 创建(Create).tar 格式的包文件
-C 解压时指定释放的目标文件夹
-x 从压缩的文件中提取文件
-v 显示操作过程
-f 指定压缩文件
-u 添加改变了和现有的文件到已经存在的压缩文件
制作归档备份文件
tar jcvf *.tar.bz2 -C 路径 用bzip2压缩并显示操作过程指定压缩文件 到路径
tar zcvf *.tar.gz -C 路径 用gzip压缩并显示操作过程指定压缩文件 到路径
从归档文件中恢复数据
tar jxvf *.tar.bz2 -C 路径 用bzip2解压缩并显示操作过程指定压缩文件 到路径
tar zxvf *.tar.gz -C 路径 用gzip解压缩并显示操作过程指定压缩文件 到路径
vi文本编辑器
命令模式
启动 vi 编辑器后默认进入命令模式。该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。
子主题 1
1.模式切换
1.模式切换
在命令模式中,按 a、i、o 等键可以快速切换至输入模式,同时确定插入点的方式和位置,以便录入文件内容。需要返回命令模式时,按 Esc 键即可。常见的几个模式切换键及其作用如下。
a:在当前光标位置之后插入内容。
A:在光标所在行的末尾(行尾)插入内容。

i:在当前光标位置之前插入内容。
I:在光标所在行的开头(行首)插入内容。
o:在光标所在行的后面插入一个新行。
O:在光标所在行的前面插入一个新行。
2.移动光标
2.移动光标
光标方向的移动。直接按↑、↓、←、→四个方向键完成相应的光标移动。
翻页移动。
按 Page Down 键或 Ctrl+F 组合键向下翻动一整页内容。
按 Page Up 键或 Ctrl+B 组合键向上翻动一整页内容。
行内快速跳转。
按 Home 键或^键、数字 0 键将光标快速跳转到本行的行首。
按 End 键或$键将光标快速跳转到本行的行尾。
在上述按键操作中,Page Down、Page Up、Home、End 键及方向键同样也可在 vi
的输入模式中使用。
行间快速跳转。
使用按键命令 1G 或者 gg 可跳转到文件内容的第 1 行。
使用按键命令 G 可跳转到文件的最后一行。
使用按键命令#G 可跳转到文件中的第#行(其中“#”号用具体数字替换)。为了便于查看行间跳转效果,这里先学习如何在 vi 编辑器中显示行号。只要切换到末
行模式并执行如下的“:set nu”命令即可显示行号,执行“:set nonu”命令可以取消显示行号。

					3.复制、粘贴和删除
						3.复制、粘贴和删除

删除操作。

按 x 键或 Delete 键删除光标处的单个字符。
使用按键命令 dd 删除当前光标所在行,使用#dd 的形式还可以删除从光标处开始的#行内容(其中“#”号用具体数字替换)。
使用按键命令 d^删除当前光标之前到行首的所有字符。
使用按键命令 d$删除当前光标处到行尾的所有字符。
复制操作。使用按键命令 yy 复制当前行整行的内容到剪贴板,使用#yy 的形式还可以复制从光标处开始的#行内容(其中“#”号用具体数字替换)。复制的内容需 要粘贴后才能使用。
粘贴操作。在 vi 编辑器中,前一次被删除或复制的内容将会保存到剪切板缓冲区中,按 p 键即可将缓冲区中的内容粘贴到光标位置处之后,按 P 键则会粘贴到光标位置处之前。

					4.查找文件内容
						4.查找文件内容

在命令模式中,按/键后可以输入指定的字符串,从当前光标处开始向后进行查找(按? 键则向前查找)。完成查找后可以按 n、N 键在不同的查找结果中进行选择。例如,输入“/yum”,按 Enter 键后将查找出文件中的“yum”字符串并高亮显示,光标自动移动至第一个查找结果处,按 n 键可以移动到下一个查找结果,

					5.撤销编辑及保存和退出
						5.撤销编辑及保存和退出

在对文件内容进行编辑时,有时候需要对一些失误的编辑操作进行撤销,这时可以使用 按键命令 u、U 键。其中,u 键命令用于取消最近一次的操作,并恢复操作结果,可以多次重复按 u 键恢复已进行的多步操作;U 键命令用于取消对当前行所做的所有编辑。
当需要保存当前的文件内容并退出 vi 编辑器时,可以使用按键命令 ZZ。

		输入模式
			该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改或添加新的内容。处于输入模式时,vi 编辑器的最后一行会出现“-- INSERT --” 的状态提示信息。
		末行模式
			该模式中可以设置 vi 编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时, vi 编辑器的最后一行会出现冒号“:”提示符。
				子主题 1
					1.保存文件及退出 vi 编辑器
						1.保存文件及退出 vi 编辑器

保存文件。对文件内容进行修改并确认以后,需要执行如下的“:w”命令进行保存。

:w

若需要另存为其他文件,则需要指定新的文件名,必要时还可以指定文件路径。例如, 执行如下的“:w /root/newfile” 操作将把当前编辑的文件另存到/root 目录下, 文件名为newfile。

:w /root/newfile

退出编辑器。需要退出 vi 编辑器时,可以执行“:q”命令。若文件内容已经修改却没有保存,则仅使用“:q”命令将无法成功退出,这时需要使用如下的“:q!”命令强行退出(不保存即退出)。

:q!

保存并退出。既要保存文件又要退出 vi 编辑器可以使用一条末行命令“:wq”或“:x” 实现,其效果与命令模式中的 ZZ 命令相同,具体操作如下:

:wq

或者

:x
2.打开新文件或读入其他文件内容
2.打开新文件或读入其他文件内容
打开新的文件进行编辑。在当前 vi 编辑器中,执行“:e 新的文件”形式的末行命令可以编辑(Edit)新文件。例如,执行如下的“:e~/initial-setup-ks.cfg”操作将直接打开当前用户宿主目录中的 initial-setup-ks.cfg 文件进行编辑。

:e ~/initial-setup-ks.cfg

在当前文件中读入其他文件内容。执行“:r 其他文件”形式的末行命令可以读入
(Read)其他文件中的内容,并将其复制到当前光标所在位置。例如,执行如下的
“:r/etc/filesystems”操作将把系统文件/etc/filesystems 中的内容复制到当前文件中。
:r /etc/filesystems

					3.替换文件内容
						3.替换文件内容
在 vi 编辑器的末行模式中,能够将文件中特定的字符串替换成新的内容,当需要大批量修改同一内容时,使用替换功能将大大提高编辑效率。使用替换功能时的末行命令格式如 下:
[替换范围] sub /旧的内容/新的内容[/g]

在上述替换格式中,主要关键字为 sub(Substitute,替换),也可以简写为 s。替换范围是可选部分,默认时只对当前行内的内容进行替换,一般可以表示为以下两种形式。
%:在整个文件内容中进行查找并替换。
n,m:在指定行数范围内的文件内容中进行查找并替换。
替换格式中最末尾的“/g”部分也是可选内容,表示对替换范围内每一行的所有匹配结果都进行替换,省略“/g”时将只替换每行中的第一个匹配结果。例如,若要将文档中第 5 行~
第 15 行中的“initdefault”字符串替换为“DEFAULT”,可以执行以下操作:

:5,15 s /initdefault/DEFAULT/g

当需要对整个文档范围进行查找替换操作时,需要使用“%”符号表示全部。例如,以下操作将会把当前文件中所有的“initdefault”字符串替换为“bootdefault”。

:% s /initdefault/bootdefault/g

f接目标字符:如f+,搜索同一行内下一个+位置
;的作用:跳转到下一个f搜索的位置
,的作用:跳转到上一个f搜索的位置

vim filename
然后用命令 :set ff
可看到dos或unix的字样,如果的确是dos格式的, 那么用set ff=unix把它强制为unix格式的,,然后存盘退出后就可运行。

标签:文件,显示,--,压缩文件,命令,操作,目录,光标
来源: https://www.cnblogs.com/970618z/p/16418223.html