误删/清空.bashrc文件/内容
误删.bashr或者清空.bashrc怎么办#
遇到这种情况不要慌,问题不大,不要乱操作,赶紧百度。
今天我本想追加一个环境变量。然后呢,少了个>,$PATH,我用了下面类似这命令
$ echo 'export PATH=/home/user/cmd/bin' > ~/.bashrc
$ source ~/.bashrc
然后,我就发现除了我刚加的那个命令,其他的啥都用不了。。。
[user@localhost ~]$ ls
bash: ls: command not found...
Similar command is: 'lz'
...
[user@localhost ~]$ lz
bash: lz: command not found...
Similar command is: 'ls'
顿时,我见到这情况就有点慌了,什么ls,cd,pwd的都用不了。然后我就去网上查,一查相关还挺多的。一个简单的方法是用下面的命令
$ cp /etc/skel/.bashrc ~/
新建用户的.bashrc都是从/etc/skel/.bashrc复制过去的。
但是,当时脑子不灵光,心里就想,这啥破方法,我tm的什么命令都用不了,你叫我用这命令? 所以继续查相关文章,不过都是类似方法。
好在,一会功夫,脑袋就开窍了,我在xshell开了多个终端,可以在其他终端的环境上还可以用命令啊!随即在其他终端上运行了上面那个命令。
环境变量,别名恢复#
不过复制过去的.bashrc文件,里面的内容是初始状态,之前自己设置的内容还是没了。
环境变量可以在其他终端用$PATH获取
$ echo $PATH
/home/user/anaconda3/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/local/lib:/home/user/.local/bin:/home/user/bin
然后vim 打开~/.bashrc
添加
export PATH=/home/user/anaconda3/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/local/lib:/home/user/.local/bin:/home/user/bin
别名的话用alias
$ alias
alias vi='vim'
alias ll='ls -l --color=auto'
...
把输出内容粘贴在.bashrc里保存就行了。
我只开了一个终端怎么办?#
可以借助xftp这样的文件传输工具,连接上服务器。手动复制/etc/skel/.bashrc 粘贴回自己的家目录。但是在xftp软件,默认是不显示隐藏文件的,你需要手动设置一下。
然后重开终端。
对于误删的话,你没法source,所以问题不大。直接在当前终端按照上面的步骤恢复就行了。
如果你清空.bashrc文件内容或者PATH变量没有重写,source后也不影响操作,还是可以按上面步骤操作。
不过要是重写了PATH变量并且source ./bashrc后,又还没其他终端可用,怎么获取之前的设置我就不知道了。
最后,虽然我尽量还原了,但.bashrc里的有些设置还是不能还原。还是影响到当前使用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具