学习记录008-linux常用命令/设置系统and用户环境变量two
修改文件 vi
vi 是linux自带的,vim是vi的升级版
命令:vi 文件名
如果文件存在,那么就直接进入对应的文件的编译模式,如果文件不存在,那么就进入以文件名命名的空文件的编译模式
vi 文件有两张模式:
命令模式:在编辑模式下点击ESC可进入命令模式
编辑模式:只有在该模式的时候才能进入内容的输入操作等,在页面左下角显示INSERT的时候就代表当前是编辑模式
【命令模式】
001 在命令模式下,想要进入编辑模式,操作 i 或者 o 或者a 均可
区别是:i 为切换成编辑模式的基础上可在当前光标的位置继续进行编辑
o 为切换成编辑模式的基础上,在当前光标的下一行进行内容的编辑输入
a 光标当前所在位置的下一个字符位置进入编辑模式
002 命令模式下操作内容的删除,按键为:X,可删除单个字符
003 命令模式下操作删除内容的撤销按键:U
004 命令模式下操作删除整行:dd
005 命令模式下操作多行的删除:行数+dd
006 命令模式下操作整行的粘贴:yy 复制:p
007 命令模式下进行多行复制:行数+yy 为粘贴当前光标位置的下面的内容的行数内容;随后 p 为复制
008 命令模式下操作显示当前文件的行号
在命令模式下,输入 :set nu
009 文件内容过长,光标快速到文件的最后一行的位置,为按键,大写的G
010 文件内容过长,操作光标快速的到固定行的位置,输入 :行号 比如输入“:3”就是到当前文件的第三行
011 操作光标迅速的到文件的首行位置 gg
012 操作光标快速的到行尾:shift+4
013操作光标快速的到行首:shift+6
014 只有在命令模式下才可进行文件的退出
只是查看了文件,未作修改进行退出---:q
修改完毕,操作保存退出---:wq 或者 :x
修改文件修改错了,那不保存进行退出---:q!
015 在命令模式下操作文件内容关键字的查找
:/关键字 在此基础上,可点击字母:n 进行关键字的上/下一个的查看--光标默认查看顺序为从前至后
?关键字 在此基础上,可进行关键字的输入查看,点击字母 n 为进行上一个下一个的查看--光标默认顺序为从后到前
016 vi模式下进行文件内容的替换
:%s/要替换的字符串/替换的新内容/g 指定内容进行替换即可,无论光标在哪里,文件里面指定的字符都会被替换
:s/想要替换的内容/新内容/g 只能替换当前光标行指定内容
017 场景:文件里面有类似这样的格式:iA/b/b/bbbbbc 里面有“/”;操作内容的替换
:%s/b/B/g----这是标准的格式,但是文件内容是用“/分隔的”
:%s/\/b/B/g ----这是文件内容里面有斜杠的内容替换
018 查看文件里面的内容
cat 文件名 #文件内容少的时候
more 文件名 #当文件内容过多,使用该命令可进行文件内容的分屏显示查看
019 当文件内容过长,查看文件前十行
head 文件名/文件路径
head -n 1 文件名字/文件路径 #n后面跟的是指定的想要看的文件内容的行数
020 查看历史命令输入有哪些
history #查看历史命令有哪些
history |grep 历史命令里面的某个关键字 #可进行历史命令的关键字过滤
021 查看文件的末尾N行
tail -n 2 file-name #n后面是想要查看的末尾的行数
022 查看日志的时候动态的查看访问的参数
tail -f file_name #动态查看log
tail -20f file_name #动态查看最后的20条
tail -f file_name |grep 关键字 #操作动态查看的时候进行关键字的特定查看,结果为只输出带有关键字的log信息
tail -f file_name |grep 关键字 --color #查找某个关键字的信息,并且关键字带有颜色
023 退出
control + c
024 排除关于某些关键字的信息
cat file_name |grep -v 关键字 #输出为不包含关键字的信息
025 显示当前环境变量
env
026 命令一般都存放在bin目录下
【关于 alias】
001 在当前页面进行对命令的负值
alias xiaohei=ls #在当前页面命令 ls 相当于xiaohei,即xiaohei取代了ls命令;但是只在当前页面生效,关闭之后就不再生效
002 那如果命令负值想永远生效,怎么做呢?需要添加命令到环境变量
在家目录下查找文件:ls -a;找到设置本地环境变量的文件 .bash_profile
把alias 设置的对应的替代命令添加进去在PATH位置下方,alias添加格式类似【alias source="source ~/.bash_profile"】⚠️注意多条变量加入的时候是进行逐列添加
随后操作 source .bash_profile 生效一下
【设置系统的环境变量】
step01
一般以a.sh结尾的都是shell脚本,也就是一堆linux命令的集合
echo相当于代码当中的print
理解场景:比如在当前路径:/opt/nhy路径下,在该路径下当前操作vi a.sh,进入编辑模式,进行内容编辑:
echo "hello"
ls
pwd
随后保存退出,运行脚本a.sh;命令为:sh+脚本文件名称;运行结果为:01 输出hello;02 ls查看当前目录下有哪些内容;03 pwd输出当前的路径
step02
step01 的操作的结果除上述之外,且文件的执行只能在/opt/nhy的路径基础上,在别的目录下是执行不了的,除非写绝对路径;那么如何在环境变量里面设置该文件的添加,以致在任何一个路径 下操作运行a.sh都可以呢
step03
那么就需要在环境变量里面进行添加该文件,操作环境变量配置文件的修改(/etc目录用于存放Linux/Unix系统的配置文件):vi /etc/profile
step04
找到文件的最下面:PATH,(PATH里面包含了所有的环境变量设置的命令),操作在PATH的最后进入编辑模式,连接【:/opt/nhy】,这里连接的是目录,不包含文件名字:a.sh
假如在进行设置环境变量进入etc/profile的时候没有发现PATH变量,⚠️注意不要直接在下面自己写入PATH=/opt/nhy这样的信息,这是因为linux环境下有内置好的PATH值,而此刻如果一旦自己手动再次写入,那么就会导致所有的命令都用不了,正确的做法是:手动写入【PATH=$PATH:/opt/nhy】即可,此处$PATH意为在原来内置PATH值的基础上进行添加
step05
操作使文件生效的两种方法:
第一种:【source /etc/profile】 操作对系统的环境变量的更新,使所有用户都可以使用
第二种:重新打开当前窗口
即生效
【设置在自己的家目录下操作添加环境变量】
在家目录下查找python
然后进入之后进行环境变量文件的新建设置
查看家目录下的所有文件:ls -a
然后进行编辑家目录下环境变量设置文件:vi .bash_profile
找到PATH,在最后的bin后面添加【:~/文件名字】保存退出即可
执行 source .bash_profile 更新一下
验证:在任何目录下操作输入添加环境变量的文件名称,验证通过即可
【当系统的环境变量和用户自己的环境变量同时设置,自己的环境变量要优先系统的变量优先级】