记一次删除.bash_profile文件

安装jmeter,使用的时候发现不能保存测试计划,百度发现是jdk版本是16,jmeter版本是5.4.1就会出现这种状况,然后打算安装最新的jdk17试一下可不可以,然后在修改jdk的配置变量时候,修改~/.bash_profile文件有一次异常退出后,就每次使用sudo vi ~/.bash_profile文件会有提示,Found a swap file by the name "~/.bash_profile.swp",然后查了一下这个swp文件是因为异常退出产生的,所以打算使用命令rm -f ~/.bash_profile.swp删除,然后删除的时候命令写成了rm -f ~/.bash_profile,然后华丽丽地把bash_profile文件给删除了,就离谱,然后找恢复的方法:

export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

open -e .bash_profile

使用上述的方法不能恢复,甚至提示找不到bash_profile文件,这个方法应该是适用于修改了或者其他操作吧,反正我这个无效,因为文件都删没了,然后就使用下面的方法打算重新写bash_profile文件,尽量恢复,遇到问题了再解决吧。

touch .bash_profile

open -e .bash_profile

然后输入配置信息

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH

回想应该还有mysql,Hadoop,nvm,maven的环境配置,再想不起来了,如果不能用了再补吧。

保存,是用source .bash_profile使配置生效。

source .bash_profile

大概就是这样吧。

使用mysql -uroot -p然后输入密码123,还是可以进入mysql的,奇怪哦,昨天输入mysql就报错找不到命令zsh: command not found: mysql,今天不了。所以其实这个~/.bash_profile文件应该是还可以误删的吧,问题不大,但是还是要长记性,下次修改配置文件的时候,要先备份。

修改~/.bash_profile文件流程:

open -e ~/.bash_profile
#这样就用记事本打开了.bash_profile文件,先把这个复制出一份,然后再修改
#然后command+s保存
#然后使用source命令使修改生效
source ~/.bash_profile

记:

问题:电脑安装的jdk版本为16,jmeter版本为5.4.1,然后运行jmeter无法保存测试计划,点了没反应

解决:安装jdk17,然后修改环境变量为17的路径,运行jmeter,保存测试计划,报错大概是下面这样:

Uncaught Exception java.lang.IllegalAccessError: class com.github.weisj.darklaf.ui.filechooser.DarkFilePaneUIBridge$DetailsTableModel

cannot access class sun.awt.shell.ShellFolder (in module java.desktop) because module java.desktop does not export sun.awt.shell to unnamed module

然后解决办法:勾选为system,就可以保存测试计划,正常使用jmeter了(现在怀疑最开始可能也不需要安装jdk17,只需要切换一下外观为system,大家可以先试试切换外观,不行再装jdk17)。

总结:

1、vi和vim的区别

相同点,使用vi或者vim修改文件的时候,使用i可以进入插入模式进行修改,修改完成之后,点击esc退出编辑,进入命令模式,然后使用:q!或者:wq来退出。

sudo vi ~/.bash_profile
sudo vim ~/.bash_profile

vi和vim的区别是,vim比vi命令更加高级,vim支持使用u多级撤销(vi使用u只能撤销上一次的操作),vim可以运行在多个平台,unix,windows,mac等,vi只能是unix,vim可以加亮代码,对vi完全兼容,相当于vi的升级版本。

用vi或者vim修改文件后,退出时的操作:

(1)保存并退出

:wq

(2)保存不退出

:w

(3)不保存退出(文件被修改过)

:q!

(4)退出(文件未被修改过)

:q

2、/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc文件的不同

/etc/profile文件是系统的配置文件,修改该文件后,必须source一下修改才会生效,对每个用户生效;

/etc/bashrc文件是bash打开时执行的文件,修改后重启bash即生效;

~/.bash_profile是每个用户专属的配置文件,修改后需要source一下才会生效(和.login或者.profile文件相同,为不同shell的不同叫法);

~/.bashrc文件是用户下的每次打开shell时执行的文件,修改后重新打开shell即生效。

区别和联系:

(1)当在用户目录下找不到.bash_profile或者.bashrc文件时,会去读取系统的配置文件(存疑);

(2)/etc/profile设置的变量作用于全局,而~/.bashrc文件中的变量继承于/etc/profile中的变量,只作用于局部,两者之间属于父子关系;

(3)~/.bash_profile是交互式、login方式进入bash运行的;而~/.bashrc是交互式的,non-login方式进入bash运行,两者大致相同,可以重启生效,也可以source生效;

(4)~/.bash_history是bash shell的历史记录文件,记录了bash shell中输入的所有命令(我自己的暂时找不到,感觉应该要设置,不是自动保存的)。

3、cat、open、vi或者vim的区别

cat ~/.bash_profile
open -e ~/.bash_profile
vim ~/.bash_profile

使用cat ~/.bash_profile命令,直接在终端展示该文件内容,且只能查看;

使用open -e ~/.bash_profile命令,会使用记事本把这个文件打开,可以进行编辑查看,使用command+s保存,同时可以在终端继续其他命令操作;

使用vim ~/.bash_profile命令,会在终端看到该文件内容,不做任何操作无法退出,必须先按i进入插入模式,然后按esc退出插入模式,进入命令模式,输入:q!退出才行。

4、shell是什么,zsh、bash、cmd、dos的区别

cmd和shell的区别:

(1)shell是Linux操作系统和用户之间的交互层,而cmd只是windows系统下的一个小小的应用;

(2)shell是介于操作系统和用户之间的壳,所有的应用程序和内核交互都要通过shell,包括Linux的图形桌面XWindows,而cmd只是windows下一个补充,cmd存在与否对windows操作系统并不重要;

(3)Linux在没有图形界面下几乎可以完成任何事情,而且比图形界面更简洁高效,还可以配合shell编程实现自动化,而cmd只是windows下的一个终端模拟器,相当于一个桌面应用。

5、命令行

命令行的一般格式:

命令字  [选项]  [参数]

命令字区分大小写,是整条命令中最重要的部分

[选项] 调节命令的具体功能,决定这个命令将如何执行,同一个命令配合不同的选项可以实现细微的差别

[参数] 命令字的处理对象,可以是文件,目录,文件夹,用户等,参数可以是0个,或者多个

命令字、选项、参数之间空格隔开,多余的空格会被忽略

选项和参数的顺序可以混淆,不影响命令的执行,特殊的除外

6、查看自己的shell版本

echo $SHELL

第一次输入shell小写了,没有展示结果,第二次输入shell大写了,展示了shell的版本,说明shell命令确实区分大小写。

也可以看到我的shell默认是zsh。

查看自己电脑上的shell,使用以下命令:

cat /etc/shells

 以下部分,不太懂了

切换bash:

chsh -s /bin/bash

切换zsh:

chsh -s /bin/zsh

在我自己的终端里执行这两个命令,然后通过echo $SHELL命令查看当前的shell,发现一直是zsh,并没有切换成功(存疑)--------解疑:切换shell后必须关闭终端重新打开,才会发现shell已经切换了,切换后不重启终端,那么shell切换就没有生效。 

bash读取的配置文件:~/.bash_profile

zsh读取的配置文件:~/.zshrc

在我自己的电脑上使用的shell为zsh,但是配置文件是~/.bash_profile,我也不知道为啥可以使用zsh shell,读取bash的配置文件,都是跟着网上的教程来的(而且我本身电脑上也不存在~/.zshrc文件)。

从bash切换为zsh时,如果不想重新配置.zshrc文件,可以在~/.zshrc文件中加命令 source ~/.bash_profile,从而直接从.bash_profile文件读取配置(我理解,对应的shell启动的时候会读取对应的配置问价,切换shell后,在.zshrc文件里添加那行命令,就是启动zsh时,读取.zshrc文件的配置,然后相当于执行source ~/.bash_profile文件,然后就执行了.bash_profile文件)。

不知道原来为什么终端使用zsh,然后配置文件使用bash_profile可以生效了,刚刚用网上的方法创建了.zshrc文件,然后添加了每次打开终端都运行.bash_profile文件了。

创建zsh的配置文件

vim ~/.zshrc

按i进入编辑模式,输入

source ~/.bash_profile

点击esc,退出编辑模式,输入下面的命令,保存退出。

:wq

关闭终端,就会发现这次会在打开终端的时候默认执行了bash_profile文件了。

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值