误删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 ...
随机推荐
- web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 ☝☝☝
web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 学习 ...
- 代码审计-Beescms_V4.0
Beescms_V4.0代码审计源于一场AWD线下比赛的漏洞源码 看了别的师傅的文章发现这个源码也非常简单 ,所以今晚简单审计过一遍. 0x01 预留后门 awd首先备份源码,然后下载下来查杀后门, ...
- 实验吧之【拐弯抹角】(url伪静态)
题目地址:http://ctf5.shiyanbar.com/indirection/ 打开后给了源码 <?php // code by SEC@USTC echo '<html>& ...
- Unix 线程改变创建进程中变量的值(2)
执行环境:Linux ubuntu 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 ...
- 如何巧妙地在基于 TCP Socket 的应用中实现用户注册功能?
通常,在基于TCP的应用中(比如我开源的GGTalk即时通信系统),当TCP连接建立之后,第一个请求就是登录请求,只有登录成功以后,服务器才会允许客户端进行其它性质的业务请求.但是,注册用户这个功能比 ...
- 一个关于内联优化和调用约定的Bug
很久没有更新博客了(博客园怎么还不更新后台),前几天在写一个Linux 0.11的实验 [1] 时遇到了一个奇葩的Bug,就在这简单记录一下调试过程吧. 现象 这个实验要求在Linux 0.11中实现 ...
- 概念理解-IO多路复用
epoll 是 Linux 内核为处理大批量文件描述符而作了改进的 poll,是 Linux 下多路复用 IO接口 select/poll 的增强版本 在 linux 的网络编程中,很长时间都在使用 ...
- Drive Scope Mac硬盘检查分析神器
Drive Scope Mac硬盘检查分析神器 硬盘驱动器(和固态驱动器)是Mac中最容易出故障的组件.出于这个原因,事实上,驱动器制造商已将自我监控,分析和报告技术内置于驱动器中.(又名SMART) ...
- jmeter-使用代理服务器录制脚本
使用代理服务器录制脚本 1.测试计划-添加线程组 2.工作台添加HTTP代理服务器(路径:工作台-右键添加-非测试元件-HTTP代理服务器) 3.端口号一般由8888改为其他的 4.打开chrome的 ...
- 个人记账app(一)需求设计
时间如流水,只能流去不流回. 学历代表你的过去,能力代表你的现在,学习能力代表你的将来. 学无止境,精益求精. 一.开发背景 Android应用市场记账的app那么多,我为什么还要再开发一个呢?重复造 ...