誤刪/清空.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軟件,默認是不顯示隱藏文件的,你需要手動設置一下。
image.png

然后重開終端。

對於誤刪的話,你沒法source,所以問題不大。直接在當前終端按照上面的步驟恢復就行了。
如果你清空.bashrc文件內容或者PATH變量沒有重寫,source后也不影響操作,還是可以按上面步驟操作。

不過要是重寫了PATH變量並且source ./bashrc后,又還沒其他終端可用,怎么獲取之前的設置我就不知道了。

最后,雖然我盡量還原了,但.bashrc里的有些設置還是不能還原。還是影響到當前使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM