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

如何在 Linux 系统中防止文件和目录被意外的删除或修改

在这篇简短的教程中,我们一起来看看怎么在实际应用中使用 chattr 命令,来防止文件和目录被意外删除。...Linux中防止文件和目录被意外删除和修改 默认,chattr 命令在大多数现代 Linux 操作系统中是可用的。...防止文件被意外删除和修改 我先在我的当前目录创建一个file.txt文件。 $ touch file.txt 现在,我将给文件应用 i 属性,让文件不可改变。...你现在可以删除或修改这个文件了。 $ rm file.txt 类似的,你能够限制目录被意外删除或修改,如下一节所述。 防止目录被意外删除和修改 创建一个 dir1 目录,放入文件 file.txt。...防止文件和目录被意外删除,但允许追加操作 我们现已知道如何防止文件和目录被意外删除和修改了。接下来,我们将防止文件被删除但仅仅允许文件被追加内容。

6.8K20

Linux根目录结构

1:  bin目录 此目录存放所有二进制命令(用户) 2:  boot目录 Linux内核及引导系统程序所需的目录 3:  dev目录 所有设备文件的目录(如声卡、磁盘、光驱) 4:  etc目录...二进制安装包(yum,rpm)配置文件默认路径,服务启动命令存放目录 5:  home目录 普通用户的家目录默认数据存放目录 6:  lib目录 库文件存放目录 7:  lost+found目录...在EXT3系统中,当系统意外崩溃或意外关机时,会产生一些碎片文件在这个目录下面,系统启动fcsk工具会检查这个目录,并修复已损坏的文件系统。...,程序运行时产生的临时文件存放目录 14:  usr目录 系统存放程序的目录(命令和帮助文件) 其中usr/bin 用户可执行文件目录(应用程序) /usr/sbin目录  存放一些网络管理工具的软件目录...15:  var目录 存放内容常变动的文件目录

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

    Linux系统根目录结构介绍

    /dev 所有设备文件的目录(如声卡、磁盘、光驱) ? /etc二进制安装包(yum,rpm)配置文件默认路径,服务启动命令存放目录 ? /home普通用户的家目录默认数据存放目录 ?.../lib库文件存放目录 ? /lost+found在EXT3系统中,当系统意外崩溃或意外关机时,会产生一些碎片文件在这个目录下面,系统启动时fcsk工具会检查这个目录,并修复已损坏的文件系统 ?.../tmp临时文件目录,程序运行时产生的临时文件存放目录 ? /usr系统存放程序的目录(命令和帮助文件) ? 其中/usr/bin 用户可执行文件目录(应用程序) ?.../var存放内容常变动的文件目录 ?.../var/log/meseage 系统日志文件 /var/spool/cron 系统定时任务配置文件 根目录下比较重要的目录有:/dev/ /etc/ /var /proc /home

    6.8K20

    微信Windows端IM消息数据库的优化实践:查询慢、体积大、文件损坏等

    3.2 问题2:存储文件大随着时间的推移,消息量的逐步累积,数据库存储文件的体积也是越来越大,显著占用用户存储空间。3.3 问题3:磁盘文件损坏磁盘文件意外损坏也有可能导致数据丢失。...因为所有消息都放到一个数据库文件,就类似把所有鸡蛋放在一个篮子。数据库文件也可能会因为存储坏道、电脑意外断电、sqlite自身bug等原因导致数据库文件发生损坏。...PS:微信移动端也有类似困扰,有兴趣可以阅读《微信客户端SQLite数据库损坏修复实践》。4、原因分析4.1 概述上述数据库存储文件变大和查询变慢的问题,都是由于消息数据的不断增多引起。...5.4 消息体积优化IM中消息显然总是会越来越多的,但如何能够在不影响读写效率的同时,减少/压缩消息数据的体积,也是我们的优化方向。...5.5 提高健壮性如果数据库文件由于外部原因发生损坏,则会对体验造成较大影响。降低损坏率和减少损坏带来的数据损失,也是我们改进的方向。按照时间维度划分数据库之后,相当于把消息按时间分散存储。

    89740

    Python使用SQLite插入大量数据

    前言 使用Python爬虫代理IP时,最先使用了sqlite作为存储ip数据库,sqlite简单、灵活、轻量、开源,和文件系统一样。...而当大量插入爬取的数据时,出现了严重的耗时,查看一起资料后,发现:sqlite在每条insert都使用commit的时候,就相当于每次访问时都要打开一次文件,从而引起了大量的I/O操作,耗时严重。...官方文档 当synchronous设置为FULL (2), SQLite数据库引擎在紧急时刻会暂停以确定数据已经写入磁盘。这使系统崩溃或电源出问题时能确保数据库在重起后不会损坏。...NORMAL模式下有很小的几率(但不是不存在)发生电源故障导致数据库损坏的情况。但实际上,在这种情况 下很可能你的硬盘已经不能使用,或者发生了其他的不可恢复的硬件错误。...若运行SQLite的应用程序崩溃, 数据不会损伤,但在系统崩溃或写入数据时意外断电的情况下数据库可能会损坏。另一方面,在synchronous OFF时 一些操作可能会快50倍甚至更多。

    3.9K10

    【Hadoop】如何做到Hadoop集群删库不跑路……

    这个文件的目的在于判断在Namenode启动过程中是否有丢失的edits,由于edits和fsimage可以配置在不同目录,如果edits目录被意外删除了,最近一次checkpoint后的所有edits...6.in_use.lock 防止一台机器同时启动多个Namenode进程导致目录数据不一致 HDFS集群重建步骤 前提是从last+found找回了元数据!!!...lost+found目录的文件通常是未链接的文件(名字以及被删除),这些文件还被一些进程使用(数据没有删除),在系统突然关机时(内核panic或突然断电)出现。这些文件系统会删除的,你不需要担心。...hadoop dfsadmin -safemode leave 2.列出损坏文件,损坏的文件无法恢复,只能删除 hdfs fsck / 3.只删除有问题的块文件,delete corrupted files...,NameNode会调用BlockManager.markBlockAsCorrupt()方法处理损坏的副本 情况2、客户端读文件以及DataNode的数据块扫描器都可能发现损坏的数据块副本,客户端会通过

    1.3K10

    【Dev Club 分享】微信 iOS SQLite 源码优化实践

    然后比较状态量,若当前状态不可跳转,则返回 SQLITE_BUSY 通过 fcntl 进行文件锁,防止其他进程介入。...问答环节 Q1 :前一阵微信提示我微信数据文件发现有损坏,这个是什么原因呢? 这个是数据库损坏,SQLite 是以B树结构存储的,如果某一个节点发生损坏,可能导致无法读取数据。...损坏的原因多种多样,如断电、文件系统错误、硬盘损坏等。据我所知很多产品都出现了类似问题。 你看到的那个是微信的损坏监测和修复逻辑,我们做了自研的工具进行修复。...Q4 :请问微信在 db 文件修复上有什么心得呢? 看来大家对 db 文件损坏很关注啊。...SQLite 提供了 PRAGMA integrity_check 的工具检测损坏 和 DUMP 工具导出损坏 db。但从实践来看,效果并不理想。

    1.7K80

    WCDB 的 WAL 模式和异步 Checkpoint

    当对 DB 进行写操作的时候,SQLite 首先将准备要修改部分的原始内容(以 Page 为单位)拷贝到“回滚日志”中,用于后续可能的 Rollback 操作以及 Crash、断电等意外造成写操作中断时恢复...对原始内容做备份后,才能写入修改后的内容到 DB 主文件中,当写入操作完成,用户提交事务后,SQLite 清空 -journal 的内容,至此完成一个完整的写事务。 ?...怎样的策略能得到最佳性能和损坏率的平衡?这些都是我们需要考虑的问题。 关于 WAL 模式和 Checkpoint 其他资料,可以参考 SQLite 官方文档。...损坏率对比 性能指标以外,DB 损坏率也是我们关注的重点,SQLite 一些性能选项会影响到 DB 损坏的概率,提高性能的同时牺牲 DB 稳定性和损坏率的话,我们是不能接受的。...即 对 DB 主文件进行写操作的次数与 DB 损坏率正相关。

    4.9K82

    电脑知识:如何保养自己的电脑,看完你就懂了!

    如何保养和维护好一台电脑,延长自己电脑的使用寿命,是大家都非常关心的话题。日常保养不能松懈 环境对电脑寿命的影响是不可忽视的。...如:计算机正在读写数据时突然关机,很可能会损坏驱动器(硬盘,软驱等);更不能在机器正常工作时搬动机器。 关机时,应注意先退出操作系统,关闭所有应用程序,再按正常关机顺序退出,否则有可能损坏应用程序。...当然,即使机器未工作时,也应尽量避免搬动电脑,因为过大的震动会对硬盘、主板之类的配件造成损坏。...2.2.3.杀毒 使用光盘或U盘前,一定要先杀毒;安装或使用后也要再查一遍毒,因为一些杀毒软件对压缩文件里的病毒无能为力。...2.2.4.硬盘扫描 系统非正常退出或意外断电,应尽快进行硬盘扫描,及时修复错误。

    1.5K10

    微信移动端数据库组件WCDB系列(二) — 数据库修复三板斧

    由于SQLite DB本身是文件(主DB + journal 或 WAL), 直接把文件复制就能达到备份的目的。 Dump: 上一个恢复方案用到的命令的本来目的。...基本格式丢失(文件头或sqlite_master损坏),获取有哪些表的时候就返回SQLITE_CORRUPT, 根本没法恢复。 第一种可以算是预期行为,毕竟没有损坏的数据能 部分恢复。...sqlite_master的表名、表结构都是固定的, 由文件格式定义,RootPage 固定为 page 1。...(图:最小化系统) Database File Format 详细描述了SQLite文件格式, 参照之实现B-tree解析可读取 SQLite DB。...(图: 恢复方案组合) 上面说的三种修复方法,原理上只涉及到SQLite文件格式以及基本的文件系统,是跨平台的。

    2.3K40

    应用程序自动升级方案问题收集

    https://github.com/GeneralLibrary/GeneralUpdate/issues/9 举个例子,开发者提问: (1)在更新过程中出现了断网、断电、电脑死机、突然蓝屏、程序假死等意外情况...,导致应用程序无法正常进行更新或者无法正常启动如何解决?...答:这个问题分两块回答,(1)意外情况可以尝试重启应用程序断点下载更新,目前的情况来说如果在更新过程中出现文件损坏无法只能重新安装。后续会考虑增加一种机制处理更新异常情况无法启动客户端应用程序的问题。...(2)如果更新包打包本身(更新包里本身就有异常文件)就有问题,更新完成之后程序无法正常启动。能不能回滚或者备份? 答:不能,在该版本发布之前就需要做好测试。...(3)如果客户端本地保存了一些数据文件,在保留之前的数据的文件基础上需要新增一些内容,例如sqlite的.db文件更新之后被之前的.db文件被覆盖,如何解决?或者增量更新是否可以正常更新这些文件?

    31910

    微信移动端数据库组件 WCDB 系列:数据库修复三板斧(二)

    由于SQLite DB本身是文件(主DB + journal 或 WAL), 直接把文件复制就能达到备份的目的。 Dump: 上一个恢复方案用到的命令的本来目的。...基本格式丢失(文件头或sqlite_master损坏),获取有哪些表的时候就返回SQLITE_CORRUPT, 根本没法恢复。第一种可以算是预期行为,毕竟没有损坏的数据能 部分恢复。...sqlite_master的表名、表结构都是固定的, 由文件格式定义,RootPage 固定为 page 1。...有了备份,我们的逻辑可以在读取DB自带的sqlite_master失败的时候 使用备份的信息来代替。DB初始化的问题除了文件头和sqlite_master完整性外,还有加密。...[1500433337015_145_1500433337492.png] (图: 恢复方案组合) 上面说的三种修复方法,原理上只涉及到SQLite文件格式以及基本的文件系统,是跨平台的。

    4.6K02

    SQLite 3.30.0 发布,使用最广泛的数据库引擎

    SQLite 3.30.0 发布了,SQLite 是一个 C 实现的 SQL 数据库引擎,它的特点是小型、快速、自包含、高可靠性和功能齐全。..._drop_modules() 接口,使应用程序可以禁用不需要的自动加载的虚拟表 改进 CLI 中的 .recover dot-command,以便从损坏的数据库文件中恢复更多内容 增强 RBU 扩展,...以支持表达式索引 更改架构解析器,因此如果 sqlite_master 表的类型、名称和 tbl_name 列中的任何列已损坏,并且数据库连接未处于 writable_schema 模式,它将出错 现在默认情况下..._db_config() 添加 SQLITE_DBCONFIG_ENABLE_VIEW 选项 添加了 TCL 接口配置方法,以便能够禁用 SQLITE_DBCONFIG_ENABLE_VIEW,并从 TCL...控制其他 sqlite3_db_config() 选项 为应用程序定义的 SQL 函数添加了 SQLITE_DIRECTONLY 标志,以防止在触发器和视图中使用这些函数 现在,旧版 SQLITE_ENABLE_STAT3

    90910

    激光器如何养护才能远离结露没烦恼

    高温高湿的环境下,激光器易出现结露情况,轻则降低激光器性能,重则导致激光器的电器和光学部件失效,甚至损坏激光器。  友情提示:为了避免结露,激光器必须处在要求的环境条件之内。...如何预防激光器结露  1. 高功率激光器在条件允许情况下,应单独建造一间空调房,水冷机应与激光器分别放置在不同的空间,严禁将水冷机放置在激光器空调房内;  2....每次重新开关机时,需要按照正确的开关机顺序来操作。 激光器发生结露怎么办?  ...夏季雷雨天气较多,为避免激光器在暴雨天受到损坏,请及时将激光器总电源断开,电控柜、激光器、冷水机做垫高处理,防止泡水产生巨额维修费。

    66920

    在云端保存数据安全吗?

    最常见的人为错误类型是有人意外删除数据。也许他们意外地删除了一个文件,或者删除了一个他们不打算保存的版本的文件。更糟糕的是,系统管理员可能会意外删除整个用户,文件夹或存储块。...静默数据损坏 传输数据和存储数据的每一时刻,都会出现静默数据损坏的风险。如果突然变成零,那么文件不再有用。传播中可能会发生静默损坏,并将数据写入存储介质。...当然存储在云计算中的数据应该被存储或发送到云端,使得公司可以从任何损坏或意外删除中恢复,并且不会意外地删除云数据,并且还必须主动监视数据损坏或攻击。...传统的云供应商还不支持防止意外或恶意删除或破坏数据的WORM (一次写入,多次读取)功能,也不支持数据的自动完整性检查。 但这并不意味着第三方平台无法提供此类功能。...虽然第三方平台可以通过接口防止意外或恶意删除或损坏,但恶意人员仍然可以绕过他们的接口,并尝试通过与平台存储其数据的云存储供应商直接连接来破坏数据。

    2.4K110

    Windows 是MySQL和PostgreSQL高性能数据库的坟墓

    当系统停止响应、崩溃或意外断电时会出现此错误。 事件 ID 1074:当某个应用程序(如 Windows 更新)导致系统重启,或用户主动启动重启或关机时,会记录此事件。...它会显示消息:“上一次系统关闭于时间日期,属于意外关闭。”...罪魁祸首: NTFS 文件系统,大家都知道WINDOWS上无论您是客户版本的Windows或是Windows Server的版本他的文件系统都是NTFS,其中NTFS文件系统在频繁的文件写入和删除操作后非常容易产生磁盘碎片...,导致文件分散在磁盘的不同位置,碎片化增加了文件系统的复杂性,同时增加了断电时数据损坏的风险.这可能也是 MySQL和PostgreSQL 为什么在Windows上,怎么就这么容易坏,多个位置在写入数据的时候尚未同步写入磁盘...系统的参数,如 innodb_flush_method 等,PostgreSQL的灵活性也在Windows上无法发挥,比如我们想随意添加extension ,这点我到现在也不知道在windows上的PG 如何操作

    30410

    Windows微信:消息数据库架构演进

    问题3:磁盘文件损坏 磁盘文件意外损坏也有可能导致数据丢失。因为所有消息都放到一个数据库文件,就类似把所有鸡蛋放在一个篮子。...数据库文件也可能会因为存储坏道、电脑意外断电、sqlite自身bug等原因导致数据库文件发生损坏。如果发生损坏时,有可能导致用户丢失消息数据。即使有DB恢复机制,也无法保证能恢复出所有历史记录。...消息体积优化 消息总是会越来越多的,如何能够不影响读写效率的同时,减少 & 压缩体积,是我们的优化方向。 从上面的数据看,部分消息体积较大,已经超过了数据库每页的大小(Page Size)。...数据库溢出页结构(来源:《The Definitive Guide to SQLite》) 但是压缩需要占用CPU资源,这里选择一种能够平衡性能和压缩率的算法是关键。...提高健壮性 如果数据库文件由于外部原因发生损坏,则会对体验造成较大影响。降低损坏率和减少损坏带来的数据损失,也是我们改进的方向。

    2K11

    用 Node.js 实现定时任务

    在本文中,我们将研究如何在 Node 程序中创建和使用 Cron 作业。为此我们将创建一个简单的程序,该应用程序会自动从服务器中删除自动生成的 error.log 文件。...万一使你的数据库因为发生意外而受到损坏,如果没有备份的话,那么一切将会变得一团糟。为了避免这种情况的发生,你还可以用 Cron 作业定期备份数据库中的现有数据。让我们来看看如何做到这一点。...为了便于说明,我们将使用 SQLite 数据库 首先,我们需要安装一个 Node 模块,该模块允许我们运行shell脚本: npm install shelljs 还要安装SQLite: npm install...sqlite3 现在,通过运行以下命令来创建示例数据库: sqlite3 database.sqlite 想要每天晚上 11:59 备份数据库,请更新你的 index.js 文件,如下所示: //...由Cron Job自动发送的电子邮件 总结 在本文中,我介绍了 Cron 作业以及如何在 Node.js 程序中使用。

    6.5K10

    内存卡数据恢复,3个方法帮你找回丢失的照片和视频

    无论是因误操作、硬件故障还是病毒攻击导致的数据丢失,数据恢复技术都可以帮助我们找回丢失的照片、视频、文件等重要数据。是不是经历多不小心删除了存储卡中的重要照片?如何恢复内存卡丢失的文件呢?...文件传输过程被意外中断:在内存卡和电脑之间传输视频或照片过程被意外中断了,导致存储卡中的文件无法访问甚至是消失。病毒感染:内存卡有可能会因为遭受病毒或恶意软件攻击而出现故障或是导致数据被删除或隐藏。...硬件故障:内存卡以及其他的数据存储设备都可能会因物理损坏或老化而无法读取数据。文件系统错误(内存卡无法读取变成RAW格式):内存卡的文件系统损坏时,操作系统将无法正确识别和读取内存卡里的数据。...意外断电:在数据传输过程中,如果出现意外断电或是电流不稳,很可能会损坏存储卡电路,并可能通过传输过高的电压损坏或丢失数据。移除内存卡方法不正确:和其他的USB磁盘一样,内存卡经常通过读卡器和电脑连接。...在扫描结果中找到丢失的文件,勾选并点击“恢复”按钮。保护内存卡数据安全的一些建议为了避免内存卡数据丢失,平时应注意以下几点:1. 定期备份:养成定期备份数据的习惯,防止数据意外丢失。2.

    74810
    领券