首页
学习
活动
专区
圈层
工具
发布

【教程】Linux使用git自动备份和使用支持文件恢复的rm命令

/bin/bash# 指定git仓库的目录repo_dir="/mnt/disk/test"# 指定日志文件路径log_file="/mnt/disk/test/git_backup.log"# 记录操作开始的时间...这将显示垃圾箱中所有文件的列表,包括删除日期。 trash-list 恢复垃圾箱中的文件: 使用trash-restore命令从垃圾箱中恢复文件。...删除特定文件: 如果你知道要删除的文件的确切名称,可以使用trash-rm命令从垃圾箱中删除特定文件。...trash-cli提供了一种安全删除文件的方式,因为你有机会恢复错误删除的文件。确保定期检查和清理垃圾箱,以避免它占用过多的磁盘空间。...附:使用文件恢复工具有多种Linux文件恢复工具可用来尝试恢复删除的文件,例如:TestDisk:一个强大的恢复工具,可以恢复丢失的分区和非常有效地恢复删除的文件。

48200
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Git 中文参考(三)

    该命令采用适用于git rev-list命令的选项来控制显示的内容和方式,以及适用于git diff-*命令的选项,以控制每个提交引入的更改的显示方式。...--since= --after= 显示比特定日期更新的提交。 --until= --before= 显示超过特定日期的提交。...这适用于树对象,索引文件,ref 名称,以及命令行参数,环境变量和配置文件中的路径名(.git/config(参见 git) -config [1] ), gitignore [5] , gitattributes...要显式请求远程帮助程序,可以使用以下语法: :: 其中可以是路径,服务器和路径,或者由被调用的特定远程助手识别的任意类似 URL 的字符串。...要显式请求远程帮助程序,可以使用以下语法: :: 其中可以是路径,服务器和路径,或者由被调用的特定远程助手识别的任意类似 URL 的字符串。

    1.8K10

    Git 中文参考(五)

    如果你想在另一个提交中提取特定文件,你应该看到 git-checkout [1] ,特别是git checkout <commit> -- <filename>语法。...此标志使命令假装工作树副本具有指定文件的内容(指定-以使命令从标准输入读取)。 --date 指定用于输出日期的格式。...最后考虑全局和系统范围的文件(它们具有最低优先级)。 当工作树中缺少.gitattributes文件时,索引中的路径将用作后退。...commit object 对象包含有关特定修订版的信息,如父,提交者,作者,日期和树对象对应到存储修订的顶部目录。...在决定是否忽略路径时,Git 通常会检查来自多个源的gitignore模式,具有以下优先顺序,从最高到最低(在一个优先级内,最后一个匹配模式决定结果): 从命令行读取的模式用于支持它们的那些命令。

    1.6K10

    Git 中文参考(四)

    这适用于树对象,索引文件,ref 名称,以及命令行参数,环境变量和配置文件中的路径名(.git/config(参见 git) -config [1] ), gitignore [5] , gitattributes...该命令采用适用于git rev-list命令的选项来控制显示的内容和方式,以及适用于git diff-*命令的选项,以控制每个提交引入的更改的显示方式。...这适用于树对象,索引文件,ref 名称,以及命令行参数,环境变量和配置文件中的路径名(.git/config(参见 git) -config [1] ), gitignore [5] , gitattributes...当出现混淆时,路径可能需要以--作为前缀,以将它们与选项或修订范围分开。 映射作者 .mailmap功能用于将短名中的同一个人合并到一起,其中他们的姓名和/或电子邮件地址拼写不同。...搜索策略 对于每个提交的提交, git describe 将首先查找标记该提交的标记。带注释的标签将始终优先于轻量级标签,具有较新日期的标签将始终优先于具有较旧日期的标签。

    1.2K10

    Git 中文参考(六)

    路径名与任何模式都不匹配的所有文件都是最后输出的,就好像文件末尾有一个隐式匹配所有模式一样。如果多个路径名具有相同的等级(它们匹配相同的模式但没有早期模式),则它们相对于彼此的输出顺序是正常顺序。...模式与没有 FNM_PATHNAME 标志的 fnmatch(3)使用的模式具有相同的语法和语义,但如果删除任意数量的最终路径名组件与模式匹配,则路径名也匹配模式。...当使用多个 - 分支或–tags 时, git svn 不会自动处理名称冲突(例如,如果来自不同路径的两个分支具有相同的名称,或者分支和标记具有相同的名称冲突名称)。...注释行可以包含不包含 LF 的任何字节序列,因此可以用于包括可能特定于前端的任何详细调试信息,并且在检查快速导入数据流时非常有用。 日期格式 支持以下日期格式。...确保作者和提交者身份信息具有相同时间戳的唯一方法是省略author(从而从committer复制)或使用now以外的日期格式。

    1.5K10

    Git中文命令大全

    git -c = # 将配置参数传递给命令, 给定的值将覆盖配置文件中的值 --exec-path[=] # 安装核心Git程序的路径...否则whitespace -e, --edit # 从文件提取的消息-F,命令行 -m和从提交对象中取出的消息-C通常用作未修改的提交日志消息...此选项可用于将命令行选项与文件列表分开,(当文件名可能被误认为是命令行选项时很有用) --cached # 使用此选项可以取消仅从索引中删除路径的情况。...# 仅显示指定修订范围内的提交 [\--] …​ # 仅显示足以解释如何匹配指定路径的文件的提交...|no] # 此选项控制是否以及在什么条件下也应提取填充的子模块的新提交 -j, --jobs= # 用于提取子模块的并行子项的数量

    1.6K00

    Git 中文参考(一)

    GIT_COMMON_DIR 如果将此变量设置为路径,则通常在 GIT_DIR 中的非工作树文件将从此路径中获取。特定于工作树的文件(如 HEAD 或索引)取自 GIT_DIR。...您可以通过命令行选项或环境变量覆盖这些规则。 --global,--system和--worktree选项将分别限制用于全局,系统范围和每个工作树的配置文件。...文件/etc/gitconfig可用于存储系统范围的默认配置。 配置变量由 Git 管道和瓷器使用。...core.fsmonitor 如果设置,则此变量的值将用作命令,该命令将标识自请求的日期/时间以来可能已更改的所有文件。此信息用于通过避免对未更改的文件进行不必要的处理来加速 git 操作。...此缓存可用于提供 git 的 delta 启发式,可能导致位图和非位图对象之间更好的增量(例如,在较旧的位图包和自上一个 gc 以来已推送的对象之间提取时)。

    1.4K20

    Git 相关问题

    它可以跟踪文件的更改,并允许你恢复到任何特定版本的更改。 与 SVN 等其他版本控制系统(VCS)相比,其分布式架构具有许多优势,一个主要优点是它不依赖于中央服务器来存储项目文件的所有版本。...git pull 命令从中央存储库中提取特定分支的新更改或提交,并更新本地存储库中的目标分支。 git fetch 也用于相同的目的,但它的工作方式略有不同。...如何找到特定提交中已更改的文件列表? 对于这个问题,不能仅仅是提供命令,还要解释这个命令究竟做了些什么。...要获取特定提交中已更改的列表文件,请使用以下命令: git diff-tree -r {hash} 给定提交哈希,这将列出在该提交中更改或添加的所有文件。...,而 -name-only 只会打印文件名而不是它们的路径。

    2.8K10

    Android 项目构建编译概述

    它并不一定是build的确切构建日期,因为Google常常会在现有build中增加细微的更改,并在新build中重复使用与现有build相同的日期代码 bbb 表示具有相同日期代码的不同版本,从001开始...在大多数情况下,可以仅使用Git(不必使用Repo),或结合使用Repo和Git命令以组成复杂的命令。不过,使用Repo执行基本的跨网络操作可大大简化您的工作 ---- 2.2.2.1....Gerrit Gerrit是一个基于网页的代码审核系统,适用于使用Git的项目。...大多数条件语句都会转换为映射属性,其中选择了映射中的某个值并将其附加到顶级属性。 例如,要支持特定于架构的文件,请使用以下命令: cc_library { ......在构建相应产品时,应将源路径下的文件复制到目标路径。config/makefile 中定义了针对复制步骤的规则 PRODUCT_DEVICE 工业设计的名称。

    4K20

    查找 Linux 文件:查找命令使用完整指南

    find /path -iname filename如果您知道文件的确切名称和目录,则可以使用此命令来查找它。 使用通配符搜索与查询部分匹配的任何内容。*通配符可用于在不知道全名时查找文件。...这可以帮助您查找具有特定文件扩展名(例如 .pl 或 .c)的文件。...-mtime如果要查找上次修改日期前(或两天范围)的文件,请使用此选项。...若要在两个特定日期和时间之间搜索文件,请使用该选项。您需要在命令中使用此选项两次,一次用于搜索的开始日期,另一次用于结束日期。...ckMGb 按所有者或权限查找 使用 -user、-group 和 -perm 选项按所有者或权限查找文件。如果您尝试查找用户拥有的特定文件或具有特定权限的文件,则可以缩小搜索范围。

    6.3K10

    你可能不知道的20个Git命令,但真的很实用

    还有一个git gui命令,可以打开一个基于GUI 的 git应用程序2、Git 笔记用于git notes向提交添加额外信息有时您需要将其他数据附加到 git 提交(除了更改、消息、日期时间和作者信息之外...使用 git archive 将包括所有 repo 历史记录,因此可以轻松将其提取回其原始形式。该命令还包括许多附加选项,因此您可以准确自定义存档中包含和不包含的文件。...您可能希望查看在给定日期范围内所做的所有更改,对于此用途git diff HEAD@{7.day.ago} HEAD@{0}(上周),同样可以将其与文件名、分支名称、特定提交或任何其他参考配对。...还有一个git range-diff命令,它提供了一个用于比较提交范围的简单界面。git diff 工具还有更多功能(以及使用您自己的差异检查器的选项),因此我建议您查看 文档。...11、Git 责备用于git blame显示特定修订和行的作者信息一个经典的,快速找出谁写了特定代码行(也就是你的哪个同事应该为这个错误负责!)。

    1.2K00

    获取 nginx 日志中请求 IP 统计数,设置 IP 流量限制

    这条命令的解释如下: awk '{print $1}':使用awk命令提取每行日志中的第一个字段(IP地址)。 sort:将提取的IP地址进行排序。...然后,它会执行与之前相同的步骤,即提取IP地址、排序、统计和显示前50个IP地址。 请确保将/path/to/nginx/access.log.gz替换为实际的压缩日志文件路径。...脚本会使用while循环从开始日期迭代到结束日期,根据日期构建每个日志文件的路径。然后,它会检查文件是否存在,如果存在,则执行与之前相同的统计命令来处理该日志文件。...最后,它会输出当前文件的统计数据并进行换行。 请确保在脚本中设置正确的日志文件夹路径以及开始和结束日期。运行该脚本后,将循环处理指定日期范围内的所有日志文件,并输出每个文件的统计数据。...在location块中,limit_conn指令将连接数限制应用于该特定的位置。2表示每个IP地址最多允许2个并发连接。 请注意,以上配置仅为示例,您可以根据实际需求调整参数值和限制条件。

    1.6K20

    Git实战

    】 git merge [bill] 关于代码的比较 # 显示暂存区和工作区的差异 git diff git diff [filename] # 显示暂存区和上一个commit的差异【文件名】 git...[分支2] #指定文件 git diff [分支1]:[file1] [分支2]:[file2] #查看指定提交范围内的所有变更文件情况 git diff --stat master~[范围值] [分支名...​ %cr 提交日期,按多久以前的方式显示 ​ %s 提交说明 –since 限制显示输出的范围, ​ 例如: git log –since=2...[相对于父模块的相对路径]不一致的 创建完成以后会生成.gitmodules与.gitattributes这两个文件 .gitmodules和.git/config保存着子模块的信息 从远程仓库获取所有模块数据....gitmodules中的内容 再执行文件的删除 ———— 其他命令 # .gitmodules中子模块的内容更新到.git/config中 git submodule init gitmodules参考

    1K10

    8.4 自定义 Git - 使用强制策略的一个例子

    把 $newrev 和 $oldrev 变量的值传给一个叫做 git rev-list 的 Git 底层命令,你可以获取所有提交的 SHA-1 值列表。...下一步要实现从每个提交中提取出提交信息。 使用另一个叫做 git cat-file 的底层命令来获得原始的提交数据。...某些用户具有全部的访问权,其他人只对某些子目录或者特定的文件具有推送权限。 为了实现这一点,你要把相关的规则写入位于服务器原始 Git 仓库的 acl 文件中。...在本例中,你会有几个管理员,一些对 doc 目录具有权限的文档作者,以及一位仅对 lib 和 tests 目录具有权限的开发人员,相应的 ACL 文件如下: avail|nickh,pjhyett,defunkt...接着,对于每一个提交,找出它修改的文件,然后确保推送者具有这些文件的推送权限。 现在你的用户没法推送带有不正确的提交信息的内容,也不能在准许他们访问范围之外的位置做出修改。

    1K40

    git 如何查询指定范围内代码的修改记录

    在Git中,如果你想要查询指定范围内代码的修改记录,可以使用git log命令结合一些参数来实现。以下是一些常用的方法: 1....查看特定文件特定行的修改记录 如果你想要查看特定文件中特定行范围内的修改记录,可以使用以下命令: 例如,查看cJSON.c文件中第99行到第107行的修改记录: 2....查看特定作者的修改记录 如果你想要查看特定作者的修改记录,可以使用以下命令: 例如,查看 Max Bruckner 在cJSON.c文件中的修改记录: 3....查看特定日期范围内的修改记录 如果你想要查看在特定日期范围内的修改记录,可以使用以下命令: 例如,查看从 2022-01-01 到 2022-12-31 期间对cJSON.c文件的修改记录: 4....查看特定函数的修改记录 如果你想要查看特定文件中指定函数的修改记录,可以使用以下命令: 例如,查看cJSON.c文件中函数cJSON_strdup的修改记录: 参考 git help log

    1.2K10

    【Git】:基础的基础

    Git配置文件分类 System 系统级配置(适用于系统所有用户和所有项目) C:\Program Files\Git\mingw64\etc 用户级配置(适用于当前登录用户的配置) C:\Program...它存储了所有的配置文件和目录,以及所有的 commit。 git init 9.2. clone 现有仓库 git clone 命令用于创建一个与现有仓库完全相同的副本。...默认情况下,该命令会显示仓库中每个 commit 的: SHA 作者 日期 消息 10.2....查看文件变更细节 git log 命令具有一个可用来显示对文件作出实际更改的选项。 该选项是 --patch,可以简写为 -p。 显示被修改的文件 显示添加/删除的行所在的位置 显示做出的实际更改。..."sidebar" 分支 从工作目录中删除 git 跟踪的所有文件和目录 转到仓库,并提取分支指向的 commit 所对应的所有文件和目录 git branch -d sidebar 删除 "sidebar

    88541

    Git - reset, checkout, revert 总结

    ;而且git reset和git checkout两个命令不仅可以作用于提交,还可以作用于特定文件,本文介绍上述三个命令的区别与工作原理。...作用域 这三个命令可以作用于提交和文件: 命令 可用于提交 可用于文件 git reset √ √ git checkout √ √ git revert √ × 下面从这两个作用域的角度分别介绍相关命令的功能...作用于文件 git reset 工作原理: 当检测到文件路径时,git reset 将缓存区同步到指定的提交。...git checkout -- foo.py 当不指定特定提交时,checkout 优先从暂存区中提取文件副本覆盖工作区文件;当文件没有在暂存区提交过(没有add过)时,从仓库中(当前提交)提取文件副本覆盖工作区文件...也就是说,该命令会提取最近的一次保存的副本覆盖当前工作区的文件。

    68520

    20个你(可能)不知道的Git命令

    Git有一个内置的web-based visualiser的可视化工具,用于浏览本地仓库,让你通过浏览器的GUI来查看和管理你的仓库。它有很多有用的功能,包括。...还有git gui命令,它可以打开一个基于GUI的git应用 Git Notes 使用git notes为提交添加额外信息 有时您需要为一个 git 提交附加额外的数据(不仅仅是更改、消息、日期时间和作者信息...使用 git archive 将包括所有的 repo 历史,所以它可以很容易地被提取回它的原始形式。该命令还包括很多额外的选项,所以你可以准确地定制哪些文件包括在归档中,哪些不包括。...你可能想看某个日期范围内的所有改动,为此使用git diff HEAD@{7.day.agree} HEAD@{0}(上周),这也可以与文件名、分支名、特定提交或任何其他参数配对。...Git Blame 使用git blame来显示特定修订和行的作者信息 一个经典的方法,快速找出谁写了一行特定的代码(也就是你的同事要为这个错误负责!)。

    1.1K40

    Git 中文参考(二)

    git status命令可用于列出改动被放入暂存区但还未提交的文件。 默认情况下,git add命令不会添加忽略的文件。...然而,“diff”是关于比较两个 _ 端点 _,而不是范围和范围符号(“…”和“ … “)并不是指 gitrevisions [7] 中”指定范围“部分中定义的范围。...这适用于树对象,索引文件,ref 名称,以及命令行参数,环境变量和配置文件中的路径名(.git/config(参见 git) -config [1] ), gitignore [5] , gitattributes...-- 此选项可用于将命令行选项与文件列表分开(当文件名可能被误认为是命令行选项时很有用)。 --cached 使用此选项仅从索引中取消暂存和删除路径。无论是否修改了工作树文件,都将保持不变。...讨论 给予命令的列表可以是精确的路径名,文件 glob 模式或前置目录名。该命令仅删除 Git 已知的路径。已知文件路径,但没有告诉 Git 的文件不会被删除。 文件通配符跨目录边界匹配。

    1.3K10
    领券