使用curl安装的Phantom二进制文件

使用curl安装的Phantom二进制文件

我升级了二进制文件youtube-dl如下这条指令locate似乎找到它,但没有ls,并且无法调用它。怎么了?

/usr/bin $ sudo apt-get remove youtube-dl
/usr/bin $ sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
/usr/bin $ sudo chmod a+rx /usr/local/bin/youtube-dl
/usr/bin $ locate youtube-dl
/usr/bin/youtube-dl
/usr/share/bash-completion/completions/youtube-dl
/usr/share/doc/youtube-dl
/usr/share/man/man1/youtube-dl.1.gz
/usr/share/zsh/vendor-completions/_youtube-dl
/var/lib/dpkg/info/youtube-dl.list
/var/lib/dpkg/info/youtube-dl.md5sums
/var/lib/dpkg/info/youtube-dl.postinst
/var/lib/dpkg/info/youtube-dl.postrm
/var/lib/dpkg/info/youtube-dl.preinst
/var/lib/dpkg/info/youtube-dl.prerm
/usr/bin $ youtube-dl --version
bash: /usr/bin/youtube-dl: No such file or directory
/usr/bin $ ls y*
yacc  ybmtopbm  yelp  yes  yuvsplittoppm  yuvtoppm

答案1

locate不是“实时”:它扫描文件系统并记住其内部数据库中的文件和位置。这就是您运行时发生的情况:

/usr/bin/youtube-dl

由于数据库尚未更新,您将获得该文件位置的过时值。您可以通过以下方式强制执行此操作:

slocate -u

完整详细信息:https://ss64.com/bash/locate.html

答案2

您使用curl 下载到/usr/local/bin/youtube-dl并删除了旧版本/usr/binlocate不是最新的。跑步/usr/local/bin/youtube-dl

相关内容