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

news2024/11/22 16:50:11

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
# 根据补丁文件应用文件改变

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2182263.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【顺序表使用练习】发牌游戏

【顺序表使用练习】发牌游戏 1. 介绍游戏2. 实现52张牌3. 实现洗牌4. 实现发牌5. 效果展示 1. 介绍游戏 首先先为大家介绍一下设计要求 实现52张牌&#xff08;这里排除大小王&#xff09;洗牌——打乱牌的顺序发牌——3个人&#xff0c;1人5张牌 2. 实现52张牌 创建Code对象创…

NVIDIA G-Assist 项目:您的游戏和应用程序AI助手

NVIDIA G-Assist 是一个革命性的人工智能助手项目&#xff0c;旨在通过先进的AI技术提升玩家的游戏体验和系统性能。这个项目在2024年Computex上首次亮相&#xff0c;展示了其在游戏和应用程序中的潜在应用。 喜好儿网 G-Assist 的核心功能是提供上下文感知的帮助。它能够接收…

OLED移植

一、在D盘中找到OLED文件包 二、新建一个HAL库工程 只需要配好RCC和SYS以及时钟树就可以&#xff0c;不开启任何引脚 三、移植文件 把文件放在Core->Src里面 四、在Kile5中添加文件 五、注意 &#xff08;1&#xff09;下载的时候要开启Rsset and Run 不然下载不进程序 &a…

关于malloc,calloc,realloc

1.引用的头文件介绍&#xff1a; 这三个函数需要调用<stdlib.h>这个头文件 2.malloc 2.1 函数简单介绍&#xff1a; 首先这个函数是用于动态开辟一个空间&#xff0c;例如数组在c99标准之前是无法arr[N]的&#xff0c;这个时候就需要使用malloc去进行处理&#xff0c…

kettle从入门到精通 第八十八课 ETL之kettle kettle连接sqlserver彻底搞明白

场景&#xff1a;时不时群里面会有小伙伴咨询使用kettle连接ms sqlserver 数据库&#xff0c;折腾很久浪费时间&#xff0c;今天刚好有时间把这一块梳理下&#xff0c;希望能让大家节省时间提高效率。 1、首先要知道连接sqlserver 有两种方式&#xff0c;JTDS jdbc驱动和微软的…

Web安全 - 重放攻击(Replay Attack)

文章目录 OWASP 2023 TOP 10导图1. 概述2. 重放攻击的原理攻击步骤 3. 常见的重放攻击场景4. 防御重放攻击的技术措施4.1 使用时效性验证&#xff08;Time-Based Tokens&#xff09;4.2 单次令牌机制&#xff08;Nonce&#xff09;4.3 TLS/SSL 协议4.4 HMAC&#xff08;哈希消息…

4.1、FineReport单元格扩展和父子格

单元格扩展 1、配置数据集 2、纵向扩展 方法一&#xff1a; 方法二&#xff1a; 结果 多个字段纵向 2、横向扩展 方法一&#xff1a; 方法二&#xff1a; 结果 父子格 没什么特殊要求&#xff0c;就保持默认 1、右边的值默认以左边为左父格 2、下边的值默认以上边…

Node.JS 版本管理工具 Fnm 安装及配置(Windows)

Fnm 安装及配置&#xff08;Windows&#xff09; Fnm&#xff08;Fast Node Manager&#xff09;&#x1f680; 一个快速而简单的 Node.js 版本管理工具&#xff0c;使用 Rust 编写。 1 安装 官网&#xff1a;Fnm&#xff08;镜像网站 &#xff09;。下载&#xff1a;Fnm&a…

高德POI数据下载详细说明

本文详细总结了如何利用地图资源下载工具&#xff08;geodatatool&#xff09;下载高德POI数据。下载POI数据相对比较复杂。加上地图资源下载工具&#xff08;geodatatool&#xff09;下载功能越来越多、越复杂&#xff01;很多时候我给网友介绍的时候也会出现纰漏&#xff01;…

第4篇:如何在百万行代码里发现隐藏的后门----应急响应篇

试想一下&#xff0c;如果你的网站被入侵&#xff0c;攻击者留下隐藏的后门&#xff0c;你真的都可以找出来嘛&#xff1f;面对一个大中型的应用系统&#xff0c;数以百万级的代码行&#xff0c;是不可能做到每个文件每段代码进行手工检查的。 即使是一款拥有99.9%的Webshell检…

鸿蒙NEXT开发-组件事件监听和状态管理(基于最新api12稳定版)

注意&#xff1a;博主有个鸿蒙专栏&#xff0c;里面从上到下有关于鸿蒙next的教学文档&#xff0c;大家感兴趣可以学习下 如果大家觉得博主文章写的好的话&#xff0c;可以点下关注&#xff0c;博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…

SpringBoot + ITextPdf:高效生成 PDF 预览文件

问过神奇的chatgpt后&#xff0c;了解到iTextPdf这个库&#xff0c;应该是比较好的选择。 解决方案 我们先观察下真实的开票预览的模板。 发票信息由两部分组成&#xff1a; 固定信息&#xff0c;例如购买方信息、销售方信息。 商品信息&#xff0c;可能有多行&#xff0c;需…

基于yolov8的100种中草药智能识别系统python源码+pt模型+训练日志+精美GUI界面

【算法介绍】 基于YOLOv8的100种中草药智能识别系统是一款利用最新的YOLOv8算法开发的高效、准确的识别工具。该系统能够精准快速地识别100种不同的中草药类别&#xff0c;对于传统中药行业是一次重要的革新。 该系统通过搜集不同中草药的相关数据图片&#xff0c;并基于YOLO…

【leetcode】122. 买卖股票的最佳时机 II

题目描述 给你一个整数数组 prices &#xff0c;其中 prices[i] 表示某支股票第 i 天的价格。 在每一天&#xff0c;你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买&#xff0c;然后在 同一天 出售。 返回 你能获得的 最大 利润 。…

nacos client 本地缓存问题

问题&#xff1a; nacos 更新了配置文件&#xff0c;更新了以后重新启动还是旧的配置信息。 NACOS版本&#xff1a; 1.1.4 解决&#xff1a; 配置缓存 Nacos Client 会将从 Nacos 服务器获取的配置信息缓存在本地。这样&#xff0c;即使 Nacos 服务器不可用&#xff0c;客…

成都大学体育场馆预约系统—计算机毕业设计源码37087

摘 要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信息存…

AMD CDNA™2 GPU 中的寄存器压力

Register pressure in AMD CDNA™2 GPUs — ROCm Blogs 注意&#xff1a; 此博客以前是 AMD实验室笔记 博客系列的一部分。 GPU kernel 中的寄存器压力对高性能计算 (HPC) 应用程序的整体性能有着巨大的影响。理解和控制寄存器的使用可以让开发者精心设计代码&#xff0c;以最…

解决银河麒麟中`/etc/sudoers`权限问题

解决银河麒麟中/etc/sudoers权限问题 1、问题描述2、解决方法 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 当你在银河麒麟操作系统中使用sudo命令时&#xff0c;如果遇到“/etc/sudoers可被任何人写”的错误&#xff0c;说明/etc/sudoer…

国庆节快乐

葡萄城在这里祝大家国庆快快乐&#xff1a; 10月葡萄城活动&#xff1a; 公开课 【从软件应用走向数据应用——葡萄城技术赋能数据挖掘】 新版本发布&#xff1a; 活字格 V10.0 Update1新版本发布

Linux相关概念和重要知识点(8)(操作系统、进程属性)

1.操作系统&#xff08;OS&#xff09; &#xff08;1&#xff09;基本结构的认识 任何计算机系统都包含一个基本的程序集合&#xff0c;用于实现计算机最基本最底层的操作&#xff0c;这个软件称为操作系统。操作系统大部分使用C语言编写&#xff0c;少量使用汇编语言。 从…