Linux命令大全(档案管理)

news/2025/9/21 10:17:24/文章来源:https://www.cnblogs.com/lxjshuju/p/19103248

一、cat 命令

命令用于连接文件并打印到标准输出设备上,它的主要作用是用于查看和连接文件。

使用权限

所有使用者

语法

cat [选项] [文件]

参数说明:

选项功能描述
-n显示所有行的行号(包括空行)
-b仅对非空行显示行号(空行不编号)
-s压缩连续空行为单行显示
-E在每行结尾显示 $ 符号
-T将制表符(Tab)显示为 ^I
-v显示非打印字符(如换行符、制表符等控制字符)

使用说明:

  • 显示文件内容:cat filename 会将指定文件的内容输出到终端上。

  • 连接文件:cat file1 file2 > combined_file 可以将 file1 和 file2 的内容连接起来,并将结果输出到 combined_file 中。

  • 创建文件:可以使用 cat 命令来创建文件,例如 cat > filename,然后你可以输入文本,按 Ctrl+D 来保存并退出。

  • 在终端显示文件:可以将 cat 与管道(|)结合使用,用来显示其他命令的输出,例如 ls -l | cat 会将 ls -l 的输出通过 cat 打印到终端上。

实例

查看文件内容:显示文件 filename 的内容。

cat filename

创建文件:将标准输入重定向到文件 filename,覆盖该文件的内容。

cat > filename

追加内容到文件:将标准输入追加到文件 filename 的末尾。

cat >> filename

连接文件:将 file1 和 file2 的内容合并到 file3 中。

cat file1 file2 > file3

显示多个文件的内容:同时显示 file1 和 file2 的内容。

cat file1 file2

使用管道:将 cat 命令的输出作为另一个命令的输入。

cat filename | command

查看文件的最后几行:显示文件 filename 的最后 10 行。

cat filename | tail -n 10

使用 -n 选项显示行号:显示文件 filename 的内容,并在每行的前面加上行号。

cat -n filename

使用 -b 选项仅显示非空行的行号:

cat -b filename

使用 -s 选项合并空行:显示文件 filename 的内容,并合并连续的空行。

cat -s filename

使用 -t 选项显示制表符:显示文件 filename 的内容,并用 ^I 表示制表符。

cat -t filename

使用 -e 选项显示行结束符:显示文件 filename 的内容,并用 $ 表示行结束。

cat -e filename

把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:

cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:

cat -b textfile1 textfile2 >> textfile3

清空 /etc/test.txt 文档内容:

cat /dev/null > /etc/test.txt

cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:

cat /dev/fd0 > OUTFILE

相反的,如果想把 image file 写到软盘,输入:

cat IMG_FILE > /dev/fd0

二、chattr 命令

命令用于改变文件或目录的属性,这些属性可以控制文件系统的行为,提供更高级的文件管理功能。

语法

chattr [选项] [+/-/=属性] 文件或目录

常用选项

参数功能描述
-R递归处理目录及其子目录
-V显示详细信息
-v显示版本信息

属性模式

操作符功能描述示例
+:添加新属性到对象obj +: {key: value}
-:从对象中移除指定属性obj -: "key"
=:设置或覆盖对象的属性obj =: {key: value}

常用属性

    属性说明
    a仅追加:文件只能追加内容,不能删除或修改已有内容(需 root 权限)。
    i不可变:文件不能被删除、修改、重命名或创建硬链接(需 root 权限)。
    A不更新文件的最后访问时间(atime)。
    c文件在磁盘上自动压缩(部分文件系统支持)。
    s安全删除:文件被删除时,其数据会被清零(不可恢复)。
    u文件被删除后,其内容仍可恢复(与 s 相反)。
    d文件在 dump 备份时会被跳过。

    实例

    添加属性(+):

    sudo chattr +i file.txt  # 设置文件为不可变(防删除/修改)
    sudo chattr +a /var/log/syslog  # 日志文件只能追加

    移除属性(-):

    sudo chattr -i file.txt  # 取消不可变属性

    重置属性(=):

    sudo chattr =a file.txt  # 移除所有属性,仅保留 `a`

    保护重要配置文件:

    chattr +i /etc/passwd
    chattr +i /etc/shadow

    设置日志文件只能追加:

    chattr +a /var/log/messages

    递归设置目录属性:

    chattr -R +i /etc/important/

    查看文件属性(使用 lsattr 命令):

    lsattr filename

    三、chgrp 命令

    命令用于变更文件或目录的所属群组。

    语法

    chgrp [-cfhRv][--help][--version][所属群组][文件或目录...]
    或
    chgrp [-cfhRv][--help][--reference=][--version][文件或目录...]

    参数说明

    参数选项说明
    -c--changes类似 -v 参数,但仅显示被更改的部分
    -f--quiet--silent不显示错误信息
    -h--no-dereference仅修改符号链接文件本身,不修改其指向的目标文件
    -R--recursive递归处理目录下的所有文件及子目录
    -v--verbose显示指令执行过程的详细信息
    --help显示在线帮助信息
    --reference=<参考文件或目录>将目标文件/目录的所属群组设置为与参考文件/目录的群组相同
    --version显示版本信息

    ​​​​​实例

    1. 更改单个文件的所属组

    chgrp developers file.txt

    2. 更改多个文件的所属组

    chgrp users file1.txt file2.txt file3.txt

    3. 递归更改目录及其内容的所属组

    chgrp -R www-data /var/www/html

    4. 使用参考文件的组

    chgrp --reference=source_file.txt target_fi

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

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

    相关文章

    小狼毫雾凇拼音安装部署

    I. 资源链接 小狼毫官网:RIME | 中州韻輸入法引擎 雾凇拼音仓库:iDvel/rime-ice

    Chapter 3 Resize and Cropping

    img = cv2.imread(images/lambo.png) # (462, 623, 3) print(img.shape)# 先是width(x轴),然后是height(y轴),可以看出 resize 是放大或缩小并不是裁剪 imgResized = cv2.resize(img, (300, 200)) # 这里是He…

    详细介绍:java中常见的几种排序算法

    详细介绍:java中常见的几种排序算法pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monac…

    Linux 内核VRF

    Linux 内核VRFVirtual Routing and Forwarding (VRF) 由路由表+网络设备组成。 加载vrf内核模块 modprobe vrf 基本操作 # 创建并拉起vrf设备 # 自动创建路由表1 ip link add vrf1 type vrf table 1 ip link set dev v…

    使用FFmpeg转换m4a

    在Linux下可以使用FFmpeg将m4a文件转换为mp3文件,如下 ffmpeg -i input.m4a -vn -acodec libmp3lame -ab 320k output.mp3其中-i 是输入文件 -vn 是不包括视频 -acodec libmp3lame 是指定 LAME MP3 解编码器 -ab 320k…

    提升多屏监控体验/新增辅屏预览功能/轻松实现跨屏实时监控/支持高达500路多个屏幕同时显示

    一、前言说明 随着监控系统规模的不断扩大,以及用户对多屏协同操作需求的日益增长,如何高效、灵活地预览大量实时视频通道,成为提升用户体验的关键。尤其是在拥有多个显示器的环境中,用户越来越希望能够在不同屏幕…

    [Java SE/文件系统/IO] 核心源码精讲:java.io.File

    1 概述:java.io.File Java 流(Stream)、文件(File)和IOJava 中的流(Stream)、文件(File)和 IO(输入输出)是处理数据读取和写入的基础设施它们允许程序与外部数据(如文件、网络、系统输入等)进行交互。java.io…

    Linux 内核整体架构详解

    Linux 内核整体架构详解Linux 内核是操作系统的核心,其精妙的设计使得它能够高效地管理硬件资源,并为上层应用程序提供稳定的运行环境。下面我将为你详细解析 Linux 内核的结构,包括其整体架构、核心子系统、模块化…

    Ubuntu 磁盘扩容与扩容失败障碍解决( df -h 与 GParted 显示空间不一致的问题 -LVM)

    pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

    httplb 服务器

    #include <iostream> #include "httplib.h" using namespace std; using namespace httplib; int main(){Server svr;svr.Get("/",[](const Request& req,Response& res){res.s…

    atoi() - 字符串( ASCLL )转换为整数( int )

    引言 atoi() 函数是 C 标准库中用于将字符串(ASCII 字符串)转换为整数(int 类型)的核心函数,其名称是 “ASCII to Integer” 的缩写。 一、基本信息 函数原型 #include <stdlib.h> // 必须包含的头文件 in…

    02.Python:Flash初步使用

    python,flask前端处理:Vue+Axios Flash:后端框架,默认端口 5000 需要注意:get与post方法,对应的传参与取参方式 --------------<!DOCTYPE html> <html lang="en"><head><meta cha…

    解决Kubernetes集群中master节点无法与node节点通信的策略

    检查基础网络连接: 使用 ping命令检测节点间网络连通性。若无法ping通,可能是云服务的安全组或本地防火墙规则限制,需对安全组规则和防火墙规则(如iptables)进行审查。 ping <node-IP-address>验证kubelet服…

    从高版本的sqlserver向低版本的sqlserver上复制表和数据的方法

    今天要从一台sqlserver 2016的电脑上把数据库复制到一台装有sqlserver2012的服务器上,使用备份加还原的时候报错,提示不支持,导出sql语句的方式也没有成功,用navicat也没成功。方法如下: 在目标服务器上打开SQL S…

    【ROS2】 忽略局域网多机通信导致数据接收的bug - 教程

    pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

    在Ubuntu18.04安装兼容JDK 8的Eclipse集成开发环境

    更新系统包列表:首先,打开终端,并执行以下命令以更新Ubuntu系统的包列表: sudo apt update安装Java开发工具包 (JDK 8):在终端中运行以下命令安装OpenJDK 8: sudo apt install openjdk-8-jdk 安装完毕后,运行下…

    【php】带数组的文件列表生成,返回数组

    【php】带数组的文件列表生成,返回数组$list = gen_files_list(D:/novel/); for($i = 0; $i < count($lis); $i++) {echo "<li><a href=" . htmlspecialchars($lis[$i]) . ">" . …

    配置Nginx以支持Websocket连接的方法

    安装Nginx:首先,确保您安装了最新版本的Nginx,因为Websocket支持通常在较新版本中表现更佳。设置HTTP升级头:当Websocket客户端请求与服务器建立连接时,它会发送一个HTTP请求,请求中含有 Upgrade: websocket和 C…

    Extundelete工具恢复数据

    Extundelete 是一款专为 Ext 文件系统(Linux 系统中最常用的文件系统,如 Ext3、Ext4)设计的开源数据恢复工具,核心功能是恢复被意外删除(通过 rm 命令等操作)但尚未被新数据覆盖的文件或目录。它基于文件系统的底…

    最新!!!MySQL环境搭建(windows系统) - 详解

    pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …