误删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

最新文章

  1. code vs1436 孪生素数 2(数论+素数的判定)
  2. vertical-align属性
  3. 《ASP.NET1200例》高亮显示ListView中的数据行并自动切换图片
  4. tomcat http 文件下载
  5. CF Playing with Paper
  6. linux系统装windows时需要注意的问题
  7. 织梦dede标签tags的美化教程
  8. 【模拟】Codeforces 706A Beru-taxi
  9. 补丁惹的祸-ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService
  10. CFileDialog类与16进制格式的dat文件
  11. swfupload在chrome中点击上传图片按钮无反应的解决办法
  12. CAEmitterLayer 粒子效果(发射器)
  13. IdentityServer4 通过 AccessToken 获取 UserClaims
  14. 简单的vuex 的使用
  15. testng及JMeter使用之初体验
  16. group_concat_max_len
  17. android: android 中的ColorMatrix (转)
  18. python入门 -- 学习笔记4
  19. Codeforce 9C - Hexadecimal's Numbers
  20. OFIFG fault when using DCO in MSP430

热门文章

  1. 性能测试:Jmeter压测过程中的短信验证码读取
  2. nm 命令能够显示目标文件中重载函数的名字改变(C++)
  3. 微信小程序前端样式WXSS书写
  4. Ubuntu cd后自动执行ls或ll
  5. jquery的返回顶端的功能实现
  6. [NOIp2009] luogu P1071 潜伏者
  7. NServiceBus+Saga开发分布式应用
  8. Halcon一日一练:图像设备介绍
  9. halcon学习方法小结及以后的学习计划
  10. 去除提示“Chrome正在受到自动软件的控制”