2 - Linux目录与文件操作

目录

一、Linux目录

1.Linux目录结构

2.根目录

3.常见的子目录与作用

二、文件操作

1.文件内容操作命令

1.1 cat 命令 - 查看文件内容

1.2 more 命令 - 查看文件内容

1.3 less 命令 - 查看文件内容

1.4 head、tail 命令 - 查找文件内容

1.4.1 head 命令

 1.4.2 tail 命令

1.5 wc 命令 - 统计文件内容

1.6 grep 命令 - 检索和过滤文件内容

2.压缩、解压缩命令

2.1 gzip、bzip2 - 压缩命令

2.2 gunzip、bunzip2 - 解压缩命令

2.3 tar 命令 - 归档命令

3.vi 命令 - 文本编辑器

3.1 常用的文本编辑器及其作用

3.1.1 Linux中最常用的文本编辑器

3.1.2 文本编辑器的作用

3.2 vi编辑器的工作模式

3.3 命令模式的基本操作

3.3.1 光标移动

3.3.2 复制、粘贴、删除

3.3.3 基本操作

3.4 末行模式的基本操作

3.4.1 保存文件及退出vi编辑器

3.4.2 文件内容替换


一、Linux目录

1.Linux目录结构

  • Linux目录结构是树形目录结构。

2 - Linux目录与文件操作_第1张图片

2.根目录

  • 是所有分区、目录、文件的起始起点。
  • 整个树形结构中,使用独立的一个"/"表示

3.常见的子目录与作用

目录 作用
/root 管理员用户root的宿主(家)目录
/home 普通用户的宿主(家)目录
/boot 存放系统内核、启动文件
/dev 存放设备文件(硬盘、光盘等)
/etc 存放配置文件
/bin 存放所有用户可执行的命令文件
/sbin 存放管理员可执行的命令文件
/usr 存放系统用户工具和应用程序
/var 存放可变化的文件、日志等文件
/lib 存放系统程序的的动态链接共享库文件(依赖等)
/media 存放可卸载的的媒介挂载点(u盘、光驱等)
/proc 存放映射系统信息的文件
/mnt 存放临时挂载储存设备
/opt 第三方应用程序安装的目录
/tmp 存放系统临时文件

二、文件操作

1.文件内容操作命令

1.1 cat 命令 - 查看文件内容

  • 用于直接显示出整个文件的内容

ps:cat命令只能读,不能写入,全量展示。

cat "选项" "目标文件"

例:

cat /etc/sysconfig/network

cat hello.txt

常用选项 解释
-n 对所有输出的行数进行编号
-b 对输出的空白行之外的行数进行编号
-s 对所有连续的空行替换为一个空行

1.2 more 命令 - 查看文件内容

  • 用于以全屏方式分页显示文件内容

more "选项" "目标文件"

键盘操作 解释
Enter 向下逐行滚动
Space 向下翻页
b 向上翻页
q 推出

ps:下翻到最后一页后会自动退出

        结合管道操作使用时(例如ls -R /etc | more )无法向上翻页

1.3 less 命令 - 查看文件内容

  • 与more命令相同,但扩展功能更多。(更常用)

less "选项" "目标文件"

键盘操作 解释
Page Up 向上翻页
Page Down 向下翻页
"↑"方向键 向上逐行滚动
"↓"方向键 向下逐行滚动

"/"键 查找内容
n 下一个内容
N 上一个内容

其他功能与more命令基本一致

ps:下翻到最后一页时不会自动推出

        结合管道操作可以向上翻页

1.4 head、tail 命令 - 查找文件内容

1.4.1 head 命令
  • 用于查看文件开头的一部分内容

head -n "行数" "目标文件"

 1.4.2 tail 命令
  • 用于查看文件结尾的少部分内容

tail "选项" "目标文件"

选项 解释
-n n=尾行数(例:tail -2 xxx) 查看结尾n行的内容
-f 或-nf ,n=尾行数 跟踪查看文件尾部动态更新的尾行内容

例:

tail -5f /var/log/messages

跟踪查看messages文件内结尾5行的动态更新内容

1.5 wc 命令 - 统计文件内容
  • 用于统计文件中的单词数量、行数等信息

wc "选项" "目标文件"

常用选项 解释
-l 统计行数
-w 统计单词个数
-c 统计字节数

ps:使用wc "文件"时(不带选项),默认同时使用 -l -w -c (-lwc)选项

1.6 grep 命令 - 检索和过滤文件内容

  • 在文件中查找并显示包含指定字符串的行

grep "选项"  "查找条件" "目标文件"

选项 解释
-i 查找时不区分大小写
-v 显示不包含匹配本文的所有行(反向查询、反向匹配)
-n 显示匹配行及行号
-c 只输出匹配到的总行数(非匹配目标的个数)
-e 实现多个查找条件的匹配(逻辑or关系)
-E 支持使用扩展正则表达式,相当于egrep命令
-o 只输出匹配的文字内容
查找条件 解释
"n" 查找含有n的行
"^n" 匹配以n开头的行
"n$" 匹配以n结尾的行
"^$" 匹配空行

2.压缩、解压缩命令

2.1 gzip、bzip2 - 压缩命令

  • 制作压缩文件:

gzip "选项" "目标文件"

bzip2 "选项"  "目标文件"

常用选项 解释
-n n=1~9中的数字(例:gzip -9 xxx) 设置压缩级别(压缩比)
-d 例:bzip2 -d xxx 用于解压缩文件

ps:压缩后源文件会消失

2.2 gunzip、bunzip2 - 解压缩命令

  • 用于解压缩文件

gunzip "选项" "目标文件"

bunzip2 "选项" "目标文件"

ps:gunzip 等同于 gzip -d 、bunzip2 等同于 bzip2 -d

        解压后的源压缩文件会消失

2.3 tar 命令 - 归档命令

  • 用于制作、释放归档文件

tar "选项" "归档文件名" "源文件、目录"

tar "选项" "归档文件名" -C "目标目录(绝对路径)"

常用选项 解释
-c 创建.tar格式的包文件
-x 解开.tar格式的包文件
-f 表示使用归档文件
-v 输出详细信息
-j 调用 bzip2 程序进行解压或压缩
-z 调用 gzip 成勋进行解压或压缩
-C 指定目标目录(绝对路径)

例:

tar -cjvf documents.tar.bz2 -C /home/user/documents

调用bzip2程序将/home/user/目录下的documents文件打包压缩成一个名为documents.tar.bz2的归档文件到当前目录并输出详细信息

tar -xzvf documents.tar.gz. -C /home/user/backup

调用gzip程序将当前目录下的documents.tar.gz归档文件解压到/home/user/backup目录下并输出详细信息

3.vi 命令 - 文本编辑器

3.1 常用的文本编辑器及其作用

3.1.1 Linux中最常用的文本编辑器
  • vi文本编辑器:类UNIX操作系统的默认文本编辑器
  • vim(Vi IMproved):vim是vi文本编辑器的增强版本
3.1.2 文本编辑器的作用
  • 创建或修改文本文件
  • 维护Linux系统中的各种配置文件

3.2 vi编辑器的工作模式

  • 三种工作模式:命令模式、输入模式、末行模式
  • 不同模式间的切换:

2 - Linux目录与文件操作_第2张图片

3.3 命令模式的基本操作

3.3.1 光标移动
键盘操作 解释
↑、↓、←、→ 上、下、左、右
Page Down 或 Ctrl+F 向下翻页
Page Up 或 Ctrl+B 向上翻页
Home 或 ^ 或 0 跳转至行首
End 或 & 跳转至行尾
1G 或 gg 跳转至首行
G 跳转至末行
"#"G 跳转至#行
:set nu 显示行号
:set nonu 取消显示行号

3.3.2 复制、粘贴、删除
键盘操作 解释
x 或 Delete 删除光标处的单个字符
dd 删除当前光标所在行
#dd 删除从光标所在行开始的#行内容
d^ 删除当前光标之前到行首的所有字符
d$ 删除当前光标处到行尾的所有字符
yy 复制光标所在行整行的内容到剪贴板
#yy 复制从光标所在行开始的#行内容
p 将缓冲区中的内容粘贴到光标位置处之后
P(大写) 粘贴到光标位置处之前

3.3.3 基本操作
  • 文件内容查找:
键盘操作 解释
/word 从上而下在文件中查找字符串“word'
?word 从下而上在文件中查找字符串"word
n 定位下一个匹配的被查找字符串
N 定位上一个匹配的被查找字符串

  • 撤销、编辑及保存退出
键盘操作 解释
u 撤回一次操作;重复u键,恢复多步操作
U(大写) 用于取消对当前行所做的所有编辑
ZZ(大写) 保存当前的文件内容并退出vi编辑器

3.4 末行模式的基本操作

3.4.1 保存文件及退出vi编辑器
命令 功能
:w 保存内容
:w /root/newfile 另存为新文件
:q 未修改退出
:q! 放弃对文件的修改,并退出vi
:wq 或 x 保存修改的内容并退出

3.4.2 文件内容替换
命令 功能
:s /old/new 将当前行中查找到的第一个字符“old” 串替换为“new”
:s /old/new/g 将当前行中查找到的所有字符串“old”替换为“new'
:#1,#2 s/old/new/g 将行号“#1,#2”范围内的所有字符串“old”替换为“new
:% s/old/new/g 将整个文件范围内的所有字符串“old”替换为“new
:s /old/new/c 提示用户对每个替换动作进行确认

你可能感兴趣的:(Linux,linux,运维,服务器)