首页 > 系统相关 >Linux(三)文件管理、复杂操作与实用工具详解

Linux(三)文件管理、复杂操作与实用工具详解

时间:2024-10-01 10:48:46浏览次数:10  
标签:文件 创建 实用工具 filename 目录 详解 Linux txt 链接

Linux学习笔记(三)文件管理、复杂操作与实用工具详解

Linux 学习笔记(二):深入理解用户管理、运行级别与命令行操作

1.文件操作的基本操作


1.1 创建

创建目录
  • mkdir:创建目录
mkdir /home/dog
# 创建单级目录
mkdir -p /home/animal/tiger
# 创建多级目录,如果父目录不存在,将连同父目录一起创建
创建文件
  • dd:创建和转换文件
dd if=/dev/zero of=sample_file bs=1M count=1
# 创建一个大小为1MB的空文件,使用/dev/zero作为输入源
  • touch:创建一个空文件
touch hello.txt
# 创建一个空的文本文件 hello.txt

1.2 删除

删除目录
  • rmdir:删除空目录
rmdir /home/dog
# 删除单级空目录,若目录非空则会失败
rm -rf /home/animal/
# 强制递归删除目录及其所有内容
删除文件
  • rm:删除文件或目录
rm /home/hello.txt
# 删除指定文件
rm -rf /home/bbb
# 强制递归删除整个目录及其内容,-f选项避免任何提示

1.3 拷贝

拷贝目录
  • cp:拷贝目录
cp -r /home/bbb/ /opt/
# 递归拷贝整个目录
cp -r /home/bbb/ /opt/  # 而没有 -r 会导致错误
拷贝文件
  • cp:拷贝文件
cp source.txt /path/to/destination/
# 拷贝文件到指定目录

1.4 移动和重命名

移动或重命名目录
  • mv:移动或重命名目录
mv /opt/bbb/ /home/
# 将目录/opt/bbb/移动到/home/
移动或重命名文件
  • mv:移动或重命名文件
mv cats.txt pigs.txt
# 在同一目录下重命名文件
mv pigs.txt /root/
# 将文件剪切并移动到/root/目录

1.5 查看文件

在这里插入图片描述

  • cat:查看文件内容
cat -n /etc/passwd | more
# 查看文件内容并显示行号,可以分屏查看
  • less:查看文件内容
    在这里插入图片描述
less filename.txt
# 分页查看文件内容,支持向前和向后翻页
head -n 10 filename.txt
# 查看文件的前10行
tail -n 10 filename.txt
# 查看文件的最后10行
tail -f filename.txt
# 实时更新显示文件的新增内容

2. 文件扩展操作


2.1 硬链接

  • 特点
  1. 共享inode和磁盘块: 硬链接与原文件共享
  2. 同一个inode和磁盘块,因此对其中一个文件进行修改,会影响到另一个文件。
  3. 文件名数量增加: 每创建一个硬链接,文件名数量就会增加,但文件的实际大小和磁盘占用不变。
  4. 不能跨分区: 硬链接只能在同一文件系统内创建,不能跨分区。
  5. 不能为目录创建硬链接: 硬链接不能用于目录。
  • 创建硬链接
ln file1.txt file2.txt
# 创建file2.txt作为file1.txt的硬链接
ls -li file1.txt file2.txt
# 查看文件的inode信息(可用-inode进行链接的判断)
  • 硬链接的应用场景
  1. 文件备份: 可以使用硬链接创建文件备份,节省磁盘空间。
  2. 文件共享: 可以使用硬链接实现文件共享,方便多人访问同一文件。
  • 注意事项
  1. 硬链接不能跨分区,因此在跨分区共享文件时需要使用软链接
  2. 硬链接不能用于目录,因为目录需要额外的信息来维护目录结构

2.2 软链接

  • 特点
  1. 不共享inode和磁盘块: 软链接会创建一个新的inode,并指向原文件的名字路径,因此软链接和原文件占用不同的磁盘空间。
  2. 可以跨分区: 软链接可以跨分区创建,不受文件系统限制。
  3. 可以创建对目录的链接: 软链接可以创建对目录的链接,方便快速访问目录。
  4. 删除原文件,软链接仍然存在: 当删除原文件时,软链接仍然指向该文件,但文件内容已经不存在。
  • 创建软链接
ln -s /root /home/myroot
# 创建指向/root目录的软链接myroot
  • 软链接的应用场景
  1. 快速访问文件: 可以通过软链接快速访问位于不同目录或分区中的文件。
  2. 文件备份: 可以使用软链接创建文件备份,但无法实现真正的文件复制。
  3. 目录链接: 可以创建目录的软链接,方便快速访问相关目录。
  • 注意事项
  1. 软链接指向的是文件名路径,如果原文件移动或重命名,软链接可能无法正常访问
  2. 软链接占用额外的磁盘空间,因为它们需要存储目标文件路径信息
  3. 软链接不能用于文件系统挂载点

2.3 查找文件

在这里插入图片描述

  • whereis:定位命令文件
whereis bash
# 查找bash相关的可执行文件、源代码和手册页
  • locate:快速查找文件
locate filename
# 在索引数据库中搜索文件,index需要定期更新
updatedb # 更新数据库
  • find:实时查找文件
    在这里插入图片描述
find . -type f -name "filename"
# 在当前目录及子目录中查找指定文件
find /path/to/directory -name "*.txt"
# 查找指定目录下所有的txt文件

2.4 文件压缩与解压

gzip & gunzip
gzip filename
# 压缩文件
gunzip filename.gz
# 解压缩文件
zip & unzip
zip -r myarchive.zip /path/to/directory
# 压缩目录
unzip myarchive.zip -d /destination/directory
# 解压缩到指定目录
tar:打包与压缩

在这里插入图片描述

tar -zcvf archive.tar.gz /path/to/directory
# 创建一个压缩的tar文件,-z用于gzip压缩
tar -zxvf archive.tar.gz -C /destination/directory
# 解压缩到指定目录

2.5 vi编辑器:编辑文件

  • 基本移动操作
h j k l
#左下上右
^移动到行首非空白字符
#$ 文章末尾
#0 行尾
#10h
#15G到15行
#G尾行
#gg = \G
#Ctrl + o回到上一个位置
#Ctrl + i回到下一个位置
#b单词开头
#w下一个单词
#e单词尾部
#(上一句
#)下一句
#%匹配与之对应的括号

在这里插入图片描述

  • 跳转命令
G      # 跳转到最后一行
10G    # 跳转到第10行
gg     # 跳转到第一行
Ctrl + o  # 回到上一个光标位置
  • 插入和删除
    在这里插入图片描述

  • 常用命令:

    • i 进入插入模式
    • d 删除行
    • y 复制行
    • p 粘贴
    • u 撤消

3. 文件的实用工具


3.1 grep:行过滤器

grep 'word' filename
# 查找包含'word'的行
  • 选项:
    • -i 忽略大小写
    • -n 显示行号
    • -v 反向匹配,即显示不包含’word’的行
    • -c 显示匹配行的数量

3.2 cut:列过滤器

cut -c3 filename
# 提取每行的第三个字符
cut -d' ' -f1,3 filename
# 使用空格作为分隔符提取每行的第1和第3字段

3.3 tr:字符转换

tr 'a-z' 'A-Z' < filename
# 将文件中的小写字母转换为大写
tr -d 'a' < filename
# 删除文件中的所有字母'a'

3.4 sort:排序

sort -k3 filename
# 根据第三字段排序
sort -t: -k1,1 filename
# 根据冒号分隔符的第一个字段排序
#-k4n 按数值大小来排序
#-k4.2n 在第四个字段的第二个字符开始按照数值排序
#-k4r 逆序

3.5 uniq:去重

uniq -s2 -w2 命令用于从输入中删除连续的重复行,并允许你指定跳过的字符数和要比较的字符数。在这个例子中,-s2 意味着跳过输入中的前两个字符,-w2意味着仅比较输入中的后两个字符以查找重复行

uniq filename
# 显示不重复的行
uniq -c filename
# 显示每行的重复次数

3.6 diff:比较文件

diff file1.txt file2.txt
# 显示两个文件之间的差异
diff -u file1.txt file2.txt > changes.patch
# 生成统一格式的差异文件

3.7 patch:应用补丁

patch < changes.patch
# 根据补丁文件应用文件改变

标签:文件,创建,实用工具,filename,目录,详解,Linux,txt,链接
From: https://blog.csdn.net/2301_77207909/article/details/142668221

相关文章

  • Linux 学习笔记(二):深入理解用户管理、运行级别与命令行操作
    Linux学习笔记(二):深入理解用户管理、运行级别与命令行操作前置学习内容:Linux学习(一)1.用户管理1.1用户密码管理创建用户密码使用passwd命令可以为指定用户设置密码:sudopasswd`userName`密码找回当忘记密码时,可以采取以下步骤找回:在登录界面按e键进入编......
  • 虚拟机三种网络模式详解
    在电脑里开一台虚拟机,是再常见不过的操作了。无论是用虚拟机玩只有旧版本系统能运行的游戏,还是用来学习Linux、跑跑应用程序都是很好的。而这其中,虚拟机网络是绝对绕不过去的。本篇文章通俗易懂的介绍了常见的虚拟网络提供的三种网络链接模式NAT、桥接、主机。即使不懂虚拟......
  • Linux 万字入门教程
    0.前言文章已经收录到GitHub个人博客项目,欢迎Star:https://github.com/chenyl8848/chenyl8848.github.io或者访问网站,进行在线浏览:https://chenyl8848.github.io/1.Linux介绍1.1引言Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix......
  • Linux
    Linux文章目录LinuxLinux的简介为什么不用Windows部署程序,而选择Linux?Linux文件系统常用命令文本编辑器用户管理帮助指令文件目录指令日期时间搜索查找命令解压缩组管理和权限管理**组管理****权限管理**定时任务调度crond定时调度**at定时任务**磁盘分区、挂载网络......
  • Linux: network: /proc/net/sockstat 解读
    怎么解读:sockets:used333833TCP:inuse18017orphan0tw2alloc333609mem232518ChatGPT这些数据是关于系统网络套接字使用情况的统计信息。下面是各项的解释:sockets:used333833:当前系统正在使用的套接字总数为333,833。TCP:inuse18017:表示当前有18,017......
  • 【C++】set详解
    ......
  • 【有啥问啥】二分图(Bipartite Graph)算法原理详解
    二分图(BipartiteGraph)算法原理详解引言二分图(BipartiteGraph),又称二部图,是图论中的一个重要概念。在实际应用中,二分图模型经常用于解决如匹配问题、覆盖问题和独立集问题等。本文将详细解析二分图的基本概念、性质、判定方法,以及求解最大匹配问题的匈牙利算法,并探讨其在......
  • linux内核双向链表使用list klist
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、list和klist是什么?二、代码示例1.list2.klist总结前言提示:这里可以添加本文要记录的大概内容:linux内核中大量使用了链表数据结构来存储各种数据,比如device和driver使用klist存储,下......
  • c# - - - .net core 判断程序运行的环境,Windows环境或Linux环境或MacOs环境
    c#.netcore判断程序运行的环境,Windows环境或Linux环境或MacOs环境Codeif(RuntimeInformation.IsOSPlatform(OSPlatform.Linux)){//Linux}elseif(RuntimeInformation.IsOSPlatform(OSPlatform.Windows)){//Windows}elseif(RuntimeInformation.IsOSPlatform(OSPlatfo......
  • iperf3命令详解
    iperf3是一个用于网络性能测试的工具,主要用于测试带宽、延迟、丢包等网络相关指标。它支持TCP、UDP测试,还可以测量单向和双向流量。以下是iperf3的安装、基本使用方法和常见选项:1.安装iperf3在大多数Linux发行版上可以直接通过包管理器安装iperf3:Debian/Ubuntu:sud......