首页 > 系统相关 >2 - Linux目录与文件操作

2 - Linux目录与文件操作

时间:2024-07-31 22:53:59浏览次数:16  
标签:选项 文件 tar 命令 查找 内容 Linux 目录

一、Linux目录

1.Linux目录结构

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

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 "选项" "目标文件"

选项解释
-nn=尾行数(例: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 "选项"  "目标文件"

常用选项解释
-nn=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.bz2.tar -C /home/user/documents

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

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

调用gzip程序将当前目录下的documents.gz.tar归档文件解压到/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编辑器的工作模式

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

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提示用户对每个替换动作进行确认

标签:选项,文件,tar,命令,查找,内容,Linux,目录
From: https://blog.csdn.net/2401_85983616/article/details/140827055

相关文章

  • 书生大模型实战营闯关 - 入门岛 - Linux
    学习目标:掌握在InternStudio 使用远程开发机Linux环境的方法。学习内容:提示:这里可以添加要学的内容例如:ssh连接设置完成端口映射并运行`hello_world.py` 进入开发环境一些新学习的Linux指令test.shshell 脚本编写作业内容:1. SSH连接ssh-keygen-trsa在合适......
  • Linux系统中 “管理基本存储” 中的部分相关重要知识点
    将持续更新发布,留下个关注吧!1.对Linux磁盘进行分区时有哪两种方案?MBR方案:支持最多四个主分区,可以使用扩展分区和逻辑分区创建最多15个分区,对于32位分区大小,使用此分区的磁盘最多可达2TiBGPT方案:最多提供128个分区,64位存储分区大小。最大磁盘分区大小可以达到8ZiB2.创......
  • Apache HttpClient发送文件时中文名变问号
    使用ApacheHttpClient发送multipart/form-data,包含有中文名的文件,对方收到的文件名中文变成了问号解决方法:发送方需要设置mode为HttpMultipartMode.RFC6532发送端代码如下,其中关键行为builder.setMode(HttpMultipartMode.RFC6532);importorg.apache.http.HttpEntity;impor......
  • 理解 Unix/Linux 中的 Terminal、Shell、TTY 和 Console
    文章目录1Terminal1.1传统意义上的Terminal1.2现代的Terminal2TTY2.1TTY的起源2.2Linux中的TTY2.3虚拟终端2.3.1虚拟终端为什么是虚拟的?2.4伪终端2.4.1伪终端的组成2.4.2伪终端的工作原理2.4.3伪终端的应用3Console3.1Console的定义3.2Linux中......
  • 2021年我因为Tab Session Manager丢失数据,好像是研究过一次leveldb的查看/解码方式 但
    Default\LocalStorage\leveldb.ldb 2023年下半年我因为chatmindai修改域名,又研究过一次,因为时间关系也没有细究 最近,我想查看一下anki的devtool的LocalStorage,即https://ankiweb.net/shared/info/31746032这个插件产生的C:\Users\xxx\AppData\Local\Anki\QtWebEngine\De......
  • Django模板、模版语言和静态文件
    1.templates模板(html)在app目录下创建一个templates目录,用于存放网页模板利用url返回网页点击查看代码defuser_list(request):returnrender(request,"user_list.html");输入url地址时,会去app目录下的templates目录下寻找名为user_list的HTML文件(根据app注册顺......
  • py编译成pyd文件
      该踩的的坑都踩过了最简单的demo #!/usr/bin/envpython#-*-coding:utf-8-*-"""@author:IrvingShi"""#!/usr/bin/envpython#-*-coding:utf-8-*-"""@author:IrvingShi"""#setup.pyfromset......
  • Linux的软硬连接
    目录见一下软硬连接特征 什么是软硬连接,有什么用软连接有什么用硬连接有什么用 总结 见一下软硬连接建立一个软连接 建立硬连接特征1.软连接是一个独立的文件,因为有自己的inode号,由上图可知;软连接的内容:目标文件所对应的路径字符串(linux中路径具有唯......
  • 修改Debian GNU/Linux的默认等宽字体
    背景在使用DebianGNU/Linux的过程中,不少用户尝试修改了系统字体。例如KDEPlasma5的字体设置:然而遗憾的是,DebianGNU/Linux的默认等宽字体似乎还是没有发生变化。以下为修改以上设置后但是没有修改其他文件的情况:解决经过本人的查询,得知了字体配置文件的路径。其中全局配......
  • Linux(2)--Linux的基本功能
    文章目录Linux目录结构文件权限修改文件所有者和关联组用户和用户组添加用户删除或修改用户名修改密码增加用户组删除或修改用户组总结LinuxLinux是一种自由和开放源码的类Unix操作系统,由林纳斯·托瓦兹(LinusTorvalds)于1991年首次发布。Linux以其高效性、灵活性和......