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

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
# 根据补丁文件应用文件改变
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值