UNIX/Linux中的别名是一个快捷方式,可让您创建自定义命令或修改现有命令的行为方式。通过使用Alias命令,您可以缩写一个长命令,或默认情况下将选项添加到命令中,从而使其更容易或更安全。
但是,在使用别名时,您必须谨慎,尤其是当它们改变RM等强大命令的行为时,避免养成不良习惯或在不同系统上遇到意外行为。
在本简短的教程中,我们将了解为什么将RM与RM -RM -I -I是一个不好的做法。我们还将了解与Linux中RM命令的最佳实践和更安全的替代方案。
目录
为什么有些人将rm的rm和rm -i
当您在UNIX/Linux系统上使用命令RM时,它立即永久删除文件。这是一个强大的命令,必须仔细地使用,以避免意外删除重要文件。
有些人为RM创建一个别名,例如Alias RM =“ RM -I”,以使其更安全。此别名更改RM命令,以在删除任何内容之前始终要求确认。
让我向您展示一个例子,以便您可以更好地理解它。
无别名的RM的示例:
$ rm exigants-file.txt
此命令将立即删除重要file.txt,而无需询问您是否确定。如果您制作错别字或改变主意,这很快但是有风险。
带别名(RM -I)的RM的示例:
$ rm exigants-file.txt
使用别名,此命令现在问:“删除常规文件'featign-file.txt'?”您必须输入y(是)才能删除它或n(否)才能取消。感觉更安全,因为它添加了仔细检查您的决定的步骤。
为什么异叠RM命令是一种不好的做法
别名rm ='rm -i'非常危险,因为;
原因1-不良习惯
如果您始终习惯RM命令要求确认,那么您可能会在删除哪些文件时仔细检查一下。
有一天,如果您使用没有该别名集的用户帐户,RM可能会立即删除文件。当您意识到发生了什么事时,可能为时已晚。
这种习惯在没有此别名的情况下也可能是危险的,因为RM会立即删除文件,而无需任何确认。
原因2-行为不一致
如果您使用不同的计算机或系统(例如Office计算机,服务器或朋友的笔记本电脑),则RM命令可能不会有相同的别名。
这种不一致会导致错误,您希望在其中要求确认,但没有意外删除重要的东西。
原因3-脚本和自动化问题
使用RM的脚本也将受到别名的影响。如果脚本期望删除文件而未确认,则该别名可能会导致其卡住,等待响应。这会破坏自动化并引起混乱。
学习正确的习惯
与其依靠别名为安全,不如练习仔细的命令使用。这里有一些提示:
- 在按Enter之前,请务必仔细检查命令及其将影响的文件。
- 使用LS命令列出文件并确保您处于正确的目录。
- 对于关键删除,手动键入RM -I仅针对该实例获得确认提示,而不是使其成为默认行为。
- 在安全的环境中使用RM,例如具有不重要的测试文件的文件夹,以建立信心和良好的习惯。
更安全的替代品与Aliasing RM命令的替代方案
您可以使用以下任何一个更安全的替代方案,而不是将默认RM命令列为RM -I。
- 使用具有不同命令名称的自定义别名
- 创建一个更安全的文件删除脚本,将已删除的数据放在垃圾桶目录中
- 使用垃圾CLI工具
- 使用文件系统快照
1。创建自定义别名
如果要为RM命令创建自定义别名,请完全使用一个不同的名称,例如RMI或RMCLI或MYRM。
例如,我将创建一个名为RMI的别名。
$ nano〜/.bashrc
最后添加以下行:
别名rmi ='rm -i'
保存文件并关闭。
从现在开始,您应该使用RMI命令来删除文件,而不是默认的“ RM”。
$ rmi somefile.txt
如果您真的想删除文件,您将被提示。
RM:删除常规文件“ somefile.txt”?
按“ y”确认文件删除或按“ n”跳过。
创建一个单独的别名,例如Alias rmi ='rm -i'确实是一种更安全,更有效的方法,而不是覆盖RM命令的默认行为。
此方法使您可以在不改变RM的基本行为的情况下具有交互式删除选项,从而降低了由于对别名的过度依赖而导致意外删除的风险。
使用别名rmi ='rm -i'的好处:
这就是为什么此替代方案对更安全的文件删除有益的原因:
- 明确的区别:它在标准RM命令及其交互式版本之间保持了明确的区别,从而减少了反射性使用RM并期望确认提示的机会。
- 不熟悉的系统的风险降低:如果您正在研究一个没有个性化别名的系统,则不小心删除文件的可能性较小,因为您不会习惯依靠RM来要求确认。
- 灵活性:您可以选择何时将RMI用于更安全的删除和RM,以更快,非相互交互的删除,具体取决于情况和确定性水平。
2。创建一个更安全的文件删除脚本
在上一个示例中,我们创建了一个名为“ RMI”的自定义命令,该命令在删除文件之前提示确认。另外,您可以编写一个小脚本,其中包括记录并将文件移至垃圾目录以进行以后的审查或恢复。
2.1。创建脚本
创建一个称为RMCLI的文本文件,其中包含以下内容:
#!/bin/bash #rmcli:更安全的文件删除脚本 trash_dir =“ $ home/.trash” log_file =“ $ home/.rmcli.log” #确保存在垃圾目录 mkdir -p“ $ trash_dir” #将文件移至垃圾而不是删除 用于“ $@”中的文件;做 时间戳= $(日期%y-%m-%d_%h-%m-%s) trash_path =“ $ trash_dir/$(basename“ $ file”)_ $ timestamp” MV -V“ $ file”“ $ trash_path” echo“ [$ timestamp] $ file-> $ trash_path” >>“ $ log_file” 完毕
请随时根据您的需求修改脚本,例如更改垃圾目录位置或日志文件格式。保存文件并关闭。
2.2。使脚本可执行:
保存脚本后,您需要使其可执行。这使您可以将其作为命令运行。为此,请使用CHMOD命令:
$ chmod x rmcli
2.3。将脚本移至路径中的位置:
为了方便起见,您应该将脚本移至系统路径中的位置,以便可以从任何目录运行它。个人脚本的一个常见位置是/usr/local/bin:
$ SUDO MV RMCLI/USR/local/bin
2.4。使用脚本:
现在,您可以像使用RM一样使用RMCLI命令,但具有脚本的安全功能。
例如:
$ rmcli somefile.txt
此命令将把somefile.txt移至垃圾目录,而不是永久删除它。
样本输出:
重命名为“ somefile.txt” - >'/home/ostechnix/.trash/somefile.txt_2024-02-28_16-53-59'
您可以通过列出〜/.trash目录的内容来验证它。
$ ls〜/.trash
2.5。恢复文件:
要恢复文件,请导航到垃圾目录(示例中的〜/。trash),然后根据需要将文件移回其原始位置或其他位置。
$ cd〜/.trash
$ mv somefile.txt_2024-02-28_16-53-59〜/somefile.txt
2.6。记录:
该脚本用时间戳登录每个“删除”。确保脚本中指定的日志文件位置存在或可写。您可以查看此日志,以查看哪些文件已移至垃圾桶。
$ cat $ home/.rmcli.log [2024-02-28_16-53-59] somefile.txt-> /home/ostechnix/.trash/somefile.txt_2024-02-28_16-53-59
3。使用垃圾桶
RM的另一个更安全的替代方法是使用命令行垃圾桶罐,例如Trash-Cli ,它将文件移至垃圾目录而不是永久删除它们。如果需要,这允许恢复文件。
要知道如何安装和使用垃圾CLI,请检查以下链接:
垃圾场:命令行垃圾桶,用于Unix式系统
4。使用支持快照的文件系统
使用支持无限快照的文件系统,例如BTRF (B-TREE文件系统)或ZFS (Zettabyte文件系统),是维护因意外文件删除或覆盖而保护的绝佳策略。
快照本质上是在特定时间点上的文件系统的仅读取副本,但在时空上都高效,因为它们仅存储与以前的快照的差异。
如何在OpenSuse中使用快照器创建和管理BTRFS快照
5。其他更安全的做法
- 详细模式:使用带有RM或您的别名的详细选项(-v)获取被删除的内容的详细输出。这可以在错误发生之前有助于捕获错误。例如,Alias rmi ='rm -i -v'。
- 脚本保障:对于经常以批量或脚本删除文件的用户,请考虑在RM附近编写包装脚本,其中包括记录已删除的文件或需要明确确认以上删除一定阈值(例如,文件数量,文件大小)。
- 教育和实践:定期教育自己和他人有关命令行操作的含义和实践安全文件管理习惯的影响。这包括在删除之前对当前目录(PWD),列表文件(LS或LA)进行仔细检查,并谨慎使用绝对路径。
结论
虽然将RM降低到RM-我似乎是一个很好的安全措施,但它可能会导致没有设定别名的环境中的过度自信和错误。
通过采用这些技巧和最佳实践,您可以通过UNIX/Linux系统上的RM命令显着降低与意外文件删除相关的风险。
相关阅读:
- AutoTrash - 一种在Linux中自动清除旧文件的CLI工具
- 删除在Linux上给定时间尚未访问的文件
- 一种保护文件免受Linux中意外删除的简单方法
以上是为什么在Linux中混为rm命令是一种不良习惯的详细内容。更多信息请关注PHP中文网其他相关文章!

学习Linux并不难。1.Linux是一个开源操作系统,基于Unix,广泛应用于服务器、嵌入式系统和个人电脑。2.理解文件系统和权限管理是关键,文件系统是层次化的,权限包括读、写和执行。3.包管理系统如apt和dnf使得软件管理方便。4.进程管理通过ps和top命令实现。5.从基本命令如mkdir、cd、touch和nano开始学习,再尝试高级用法如shell脚本和文本处理。6.常见错误如权限问题可以通过sudo和chmod解决。7.性能优化建议包括使用htop监控资源、清理不必要文件和使用sy

Linux管理员的平均年薪在美国为75,000至95,000美元,欧洲为40,000至60,000欧元。提升薪资可以通过:1.持续学习新技术,如云计算和容器技术;2.积累项目经验并建立Portfolio;3.建立职业网络,拓展人脉。

Linux的主要用途包括:1.服务器操作系统,2.嵌入式系统,3.桌面操作系统,4.开发和测试环境。Linux在这些领域表现出色,提供了稳定性、安全性和高效的开发工具。

互联网运行不依赖单一操作系统,但Linux在其中扮演重要角色。Linux广泛应用于服务器和网络设备,因其稳定性、安全性和可扩展性受欢迎。

Linux操作系统的核心是其命令行界面,通过命令行可以执行各种操作。1.文件和目录操作使用ls、cd、mkdir、rm等命令管理文件和目录。2.用户和权限管理通过useradd、passwd、chmod等命令确保系统安全和资源分配。3.进程管理使用ps、kill等命令监控和控制系统进程。4.网络操作包括ping、ifconfig、ssh等命令配置和管理网络连接。5.系统监控和维护通过top、df、du等命令了解系统运行状态和资源使用情况。

介绍 Linux是一个强大的操作系统,由于其灵活性和效率,开发人员,系统管理员和电源用户都喜欢。但是,经常使用长而复杂的命令可能是乏味的

Linux适用于服务器、开发环境和嵌入式系统。1.作为服务器操作系统,Linux稳定高效,常用于部署高并发应用。2.作为开发环境,Linux提供高效的命令行工具和包管理系统,提升开发效率。3.在嵌入式系统中,Linux轻量且可定制,适合资源有限的环境。

简介:通过基于Linux的道德黑客攻击数字边界 在我们越来越相互联系的世界中,网络安全至关重要。 道德黑客入侵和渗透测试对于主动识别和减轻脆弱性至关重要


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

WebStorm Mac版
好用的JavaScript开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver Mac版
视觉化网页开发工具