误删tree命令如何恢复
误删tree命令如何恢复
考察rpm,yum的用法
一、删除tree命令,tree命令不可用
[root@centos7 ~]# which tree
/usr/bin/tree
[root@centos7 ~]# rm -f /usr/bin/tree
[root@centos7 ~]# tree .
bash: tree: command not found...
二、直接yum或rpm安装将提示tree已经安装
[root@centos7 ~]# yum install tree
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.bit.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
nginx | 2.9 kB 00:00:00
updates | 3.4 kB 00:00:00
Package tree-1.6.0-10.el7.x86_64 already installed and latest version
Nothing to do
[root@centos7 ~]# rpm -ivh /misc/cd/Packages/tree-1.6.0-10.el7.x86_64.rpm
Preparing... ################################# [100%]
package tree-1.6.0-10.el7.x86_64 is already installed
三、解决办法:强制覆盖安装
[root@centos7 ~]# rpm --help
--replacepkgs reinstall if the package is already present
[root@centos7 ~]# rpm -ivh /misc/cd/Packages/tree-1.6.0-10.el7.x86_64.rpm --replacepkgs
Preparing... ################################# [100%]
Updating / installing...
1:tree-1.6.0-10.el7 ################################# [100%]
四、此时的tree已经可以使用
[root@centos7 ~]# tree . -d
.
├── Desktop
├── Documents
├── Downloads
├── Music
├── Pictures
├── Public
├── scripts
├── Templates
└── Videos
9 directories
五、yum的话可以重新安装
[root@centos7 ~]# yum --help
reinstall reinstall a package
[root@centos7 ~]# rm -f /usr/bin/tree
[root@centos7 ~]# tree -d .
-bash: /usr/bin/tree: No such file or directory
[root@centos7 ~]# yum reinstall tree -y
[root@centos7 ~]# tree -d .
.
├── Desktop
├── Documents
├── Downloads
├── Music
├── Pictures
├── Public
├── scripts
├── Templates
└── Videos
9 directories
六、如果知道自己缺的文件,可以只修复指定文件
使用rmp2cpio将tree的rpm包转成cpio
再使用cpio提取相关文件
缺陷:仅仅是复制过去了,有可能属性都不对,复杂的包也不适用,最好不采用此法
# cpio -tv表示只是查看下包里面的文件
[root@centos7 ~]# rpm2cpio /misc/cd/Packages/tree-1.6.0-10.el7.x86_64.rpm | cpio -tv
-rwxr-xr-x 1 root root 62768 Jun 10 2014 ./usr/bin/tree
drwxr-xr-x 2 root root 0 Jun 10 2014 ./usr/share/doc/tree-1.6.0
-rw-r--r-- 1 root root 18009 Aug 13 2004 ./usr/share/doc/tree-1.6.0/LICENSE
-rw-r--r-- 1 root root 4628 Jun 24 2011 ./usr/share/doc/tree-1.6.0/README
-rw-r--r-- 1 root root 4100 Jun 24 2011 ./usr/share/man/man1/tree.1.gz
# 使用cpio -idv将/usr/bin/tree拿出来
[root@centos7 ~]# rpm2cpio /misc/cd/Packages/tree-1.6.0-10.el7.x86_64.rpm | cpio -idv ./usr/bin/tree./usr/bin/tree
177 blocks
[root@centos7 ~]# ls usr/bin/ -l
total 64
-rwxr-xr-x 1 root root 62768 Aug 3 09:29 tree
# 然后将文件复制到原来的位置
[root@centos7 ~]# cp usr/bin/tree /usr/bin/tree
cp: overwrite ‘/usr/bin/tree’? y
# 照样可以使用
[root@centos7 ~]# tree . -d
.
├── Desktop
├── Documents
├── Downloads
├── Music
├── Pictures
├── Public
├── scripts
├── Templates
├── usr
│ └── bin
└── Videos
11 directories
误删tree命令如何恢复的更多相关文章
- 误删rpm命令的恢复方法
rpm命令不能用了,被依赖的yum也不能使用了, 恢复rpm命令无外乎重装, 重装方法1: 使用源码编译, 需要gcc ,cmake包,如果没装,悲剧了 重装方法2: 找一台,和出问题的这台同样系统 ...
- 在Linux,误删磁盘分区怎么恢复呢【转】
在我们运维工作中,频繁的操作,可能命令写入错误,造成磁盘分区的删除,那么应该怎么办呢?怎么恢复磁盘分区呢? 一不小心删除了磁盘分区.如下图,删除了sda磁盘的第一个分区,为系统boot分区,系统如果重 ...
- Windows下用tree命令生成目录树
有时候我们想为某个目录制作一个文档结构图,在Windows上,我们知道是使用tree命令. 但是,默认情况下tree只显示子目录名,而不显示子目录里的文件名,需要加上/F参数才能显示完整的文件名. ...
- Linux tree命令
Linux tree命令用于以树状图列出目录的内容. 执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件. 语法 tree [-aACdDfFgilnNpqstux][-I <范 ...
- Mac 下如何使用 Tree 命令
方式一 Mac 系统下默认是不带这条命令的,执行下面这条命令也可以打印出树状结构. find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g' 不想每 ...
- tree命令的使用
有些工作在linux下完成就是比在windows下完成高效! windows和linux都有tree命令,主要功能是创建文件列表,将所有文件以树的形式列出来 windows下的tree比较垃圾,只有两 ...
- Linux/Ubuntu tree 命令以树形结构显示文件夹目录结构
1.安装命令工具 sudo apt-get -y install tree 2.可以查看关于tree命令的帮助信息 $ tree --help usage: tree [-adfghilnpqrstu ...
- mac tree命令
mac下默认是没有 tree命令的,不过我们可以使用find命令模拟出tree命令的效果,如显示当前目录的 tree 的命令: $ find . -print | sed -e 's;[^/]*/;| ...
- mac 终端中添加tree命令显示文件目录结构
在Ubuntu下,通过 sudo apt-get install tree 可以使用tree命令,显示文件目录列表,如图所示: 在mac OS X系统下怎么使用呢? 在终端输入: cd $home ...
随机推荐
- Python制作有道翻译小工具
该工具主要是利用了爬虫,爬取web有道翻译的内容. 然后利用简易GUI来可视化结果. 首先我们进入有道词典的首页,并点击翻译结果的审查元素 之后request响应网页,并分析网页,定位到翻译结果. 使 ...
- Spring源码分析(一)预备篇=》基本知识储备
一.Spring框架整体,各个部分 .Spring Core Container Core 和 Beans 模块是框架的基础部分,提供 IoC (控制反转)和依赖注入特性. 这里的基础 概念是 Bea ...
- Redis开发与运维:数据迁移(下)
上一篇,有朋友留言redis-port,借此机会我尝试使用一下redis-port这个同步工具 redis-port 已编译版 https://github.com/CodisLabs/redis-p ...
- API---文件操作
CreateFile() 介绍: 功能:打开或创建以下对象,并返回可访问的句柄: 控制台,通信资源,目录(只读打开),磁盘驱动器,文件,邮槽,管道. 函数原型:HANDLE CreateFile ( ...
- phpstorm中xdebug配置和断点调试
今天赶紧把这个搞了 运行环境: phpStorm 2018 PHP 5.45 nts VC9 Xdebug 2.4.1 0x01 PHP安装xdebug扩展 自己之前装一直没装起 原来是版本问题 下 ...
- PHP krsort
1.什么都不想说了,干么没事放那么悲伤的歌呢?回忆里我还是对代码懵懵懂懂的无知青年!也许不是青年,只是少年... <?php $arr = [ 1 => 'Zhangbiyu', 2 =& ...
- ESP8266开发之旅 基础篇⑥ Ticker——ESP8266定时库
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- 程序员修神之路--为什么有了SOA,我们还用微服务?
菜菜哥,我最近需要做一个项目,老大让我用微服务的方式来做 那挺好呀,微服务现在的确很流行 我以前在别的公司都是以SOA的方式,SOA也是面向服务的方式呀 的确,微服务和SOA有相同之处 面向服务的架构 ...
- java 连续数字数组分组
问题: 1. 将Lis list = Arrays.asList(1,2,3,5,8,9,10), 拆分成 [1,2,3] .[5]. [8,9,10] , 2. 再传入一个数字 9, 将匹配数字9的 ...
- 百万年薪python之路 -- 内置函数练习
1.整理今天笔记,课上代码最少敲3遍. 2.用列表推导式做下列小题 过滤掉长度小于3的字符串列表,并将剩下的转换成大写字母 lst = [["a","b"],[ ...