linux 的 rm命令使用时得非常小心,一不注意就误删了。所以最好的方式是将rm替换成其他的命令。

有几种方式实现:

1. rm.sh 脚本,参考:https://github.com/artmees/rm

2. trash-cli 脚本,参考:https://github.com/andreafrancia/trash-cli

这里有比较多的工具,包括查看删除的文件,以及恢复删除的文件等等。

3.最简单的方式,将rm alias为mv。如:

alias rm = "mv -t ~/.Trash"

4. 将rm实现成一个bash function.
function rm () {
	local path
	for path in "$@"; do
		# ignore any arguments
		if [[ "$path" = -* ]]; then :
		else
			local dst=${path##*/}
			# append the time if necessary
			if [[ -z "$dst" ]]; then
				dst=$(echo $path | sed -e 's/\/$//')
				dst=${dst##*/}
			fi
			while [ -e ~/.Trash/"$dst" ]; do
				dst="$dst"-$(date +%Y-%m-%d-%H-%M-%S)
			done
			sudo mv "$path" ~/.Trash/"$dst"
		fi
	done
}


Logo

更多推荐