210 环境变量PATH
环境变量作用
所有的命令其实使用时应该使用它的绝对路径,例如
[root@mylinux ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
这里的ls命令应该是使用 /usr/bin/ls,但是我们能直接使用命令,就是因为添加了环境变量
我们看到下面打印出来的环境变量
[root@mylinux ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin (这里就是我们存放的环境变量)
暂时改变环境变量
只有当我们的命令在环境变量里面就能让系统找到该命令,下面我们演示一下
[root@mylinux ~]# ls
anaconda-ks.cfg frp_0.11.0_linux_amd64
[root@mylinux ~]# cp /usr/bin/ls /root/ls2 (复制ls并且改名为ls2到当然root家目录下面来)
[root@mylinux ~]# ls
anaconda-ks.cfg frp_0.11.0_linux_amd64 ls2 (已经有ls2了)
[root@mylinux ~]# ls2
-bash: ls2: 未找到命令 (我们直接使用发现ls2并不能生效)
[root@mylinux ~]# /root/ls2 (必须使用绝对路径才能生效)
anaconda-ks.cfg frp_0.11.0_linux_amd64 ls2
[root@mylinux ~]# PATH=$PATH:/root/ (我们把ls2所在绝对路径目录加入到环境变量中)
[root@mylinux ~]# echo $PATH (打印环境变量)
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/ (发现最后出现了:/root/)
[root@mylinux ~]# ls2 (再来直接使用ls2就生效了)
anaconda-ks.cfg frp_0.11.0_linux_amd64 ls2
永久改变环境变量
环境变量没有永久改变上述的方法并不能实现对环境变量的永久改变,我们看下图我重新连接了一个客户端之后ls2就已经不生效了
[root@mylinux ~]# vi /etc/profile (更改每次终端连接都会加载的文件)
并在文件最后加上PATH=$PATH:/root/并保存就可以使之永久生效
最后一行加上PATH=$PATH:/root/
重新开启终端发现已经生效重新开启终端发现已经生效
需要删除的话可以直接删除文件里面的PATH=$PATH:/root/
211 cp命令
拷贝一个文件到某处并改名
[root@mylinux ~]# cp /root/2/1.txt /root/3/2.txt (拷贝1.txt到3文件夹下面并且改名为2.txt)
[root@mylinux ~]# ls /root/3/
2.txt
拷贝一个文件到某处并覆盖里面的某一个文件
[root@mylinux ~]# cp /root/2/1.txt /root/3/2.txt
cp:是否覆盖"/root/3/2.txt"? y
[root@mylinux ~]# ls /root/3
2.txt
拷贝目录到某处
[root@mylinux ~]# cp -r /root/2/ /root/3/ (建议所有目录结尾的路径都加上/)
[root@mylinux ~]# tree /root/3/
/root/3
├── 2
│ └── 1.txt
└── 2.txt
1 directory, 2 files
也可以
[root@mylinux ~]# tree !$ (!$表示上一条命令里面的最后一个参数)
tree /root/3
/root/3
├── 2
│ └── 1.txt
└── 2.txt
1 directory, 2 files
[root@mylinux ~]# which cp
alias cp='cp -i' (我们发现cp是cp -i的别名,这里面的-i表示询问是一个安全参数,即上面我们看到的是否覆盖就是因为这个参数)
/usr/bin/cp
[root@mylinux ~]# which rm
alias rm='rm -i' (rm 也有 -i 安全参数)
/usr/bin/rm
[root@mylinux ~]# ls
2 3 anaconda-ks.cfg frp_0.11.0_linux_amd64
[root@mylinux ~]# cp -r ./2/ ./3/(拷贝目录如果目标目录下有该目录了就会询问是否覆盖)
cp:是否覆盖"./3/2/1.txt"? n
[root@mylinux ~]# cp -r ./3/ ./2/ (如果没有就不会询问)
[root@mylinux ~]# ls
2 3 anaconda-ks.cfg frp_0.11.0_linux_amd64
[root@mylinux ~]# ls ./2/
1.txt 3
212 mv命令
修改文件名字
[root@mylinux ~]# ls
2 3 anaconda-ks.cfg frp_0.11.0_linux_amd64
[root@mylinux ~]# mv ./2/ ./4/ (修改目录名称)
[root@mylinux ~]# ls
3 4 anaconda-ks.cfg frp_0.11.0_linux_amd64
[root@mylinux ~]# touch 1.txt
[root@mylinux ~]# mv ./1.txt ./2.txt (修改文件名称)
[root@mylinux ~]# ls
2.txt 3 4 anaconda-ks.cfg frp_0.11.0_linux_amd64
移动文件(或目录)并且更改名字或者只移动文件(文件或目录)
[root@mylinux ~]# ls
2.txt 3 4 anaconda-ks.cfg frp_0.11.0_linux_amd64
[root@mylinux ~]# mv 2.txt ./3/ (只更移动文件)
[root@mylinux ~]# ls ./3/
2.txt
[root@mylinux ~]# ls
3 4 anaconda-ks.cfg frp_0.11.0_linux_amd64
[root@mylinux ~]# mv ./3/2.txt ./5.txt
[root@mylinux ~]# ls
3 4 5.txt anaconda-ks.cfg frp_0.11.0_linux_amd64
移动时如果文件或者文件夹重名会询问是否覆盖,目标目录如果不存在相当于改名字
213 文档查看cat_more_less_head_tail命令
cat命令
cat和taccat顺序查看文件
tac倒序查看文件
[root@mylinux ~]# cat -A 5.txt ($行位符号)
1$
2$
$
[root@mylinux ~]# cat -n 5.txt (显示行号)
1 1
2 2
3
[root@mylinux ~]#
more命令
分屏查看文件查看文件,按屏幕分页,并显示当前所看百分比。(按空格键向下翻页,Ctrl + B 可以回翻)
[root@mylinux ~]# wc -l anaconda-ks.cfg (查看文件内容行数)
51 anaconda-ks.cfg
>>符号
通过 >> 符号可以使前面的文件内容追加到后面的文件里面去(这里是从最后写入进去)
[root@mylinux ~]# cat 1.txt
a b c
[root@mylinux ~]# cat 5.txt
1 2 3 4
[root@mylinux ~]# cat 1.txt >> 5.txt
[root@mylinux ~]# cat 5.txt
1 2 3 4
a b c
less命令
[root@mylinux ~]# less anaconda-ks.cfg (和more差不多,但是支持方向键一行一行的向下翻看和向上回看,也支持空格翻页,Ctrl + B 回翻,到最后需要按q键退出)
在lees中还有搜索功能,可以输入/然后后面跟上字符串搜索字符串,搜索出来的字符串高亮显示,这是可以按n查看下一个,Shift + n 可以查看上一个。
输入/然后后面跟上字符串搜索字符串,搜索出来的字符串高亮显示,这是可以按n查看上一个,Shift + n 可以查看下一个。
Shift + g定位到末尾,g定位到文首
head命令
查看文件内容的头十行
[root@mylinux ~]# head -n 2 anaconda-ks.cfg (查看头两行)
[root@mylinux ~]# head anaconda-ks.cfg
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
tail命令
查看文件内容的末尾十行
[root@mylinux ~]# tail -f anaconda-ks.cfg (查看动态文件)
[root@mylinux ~]# tail anaconda-ks.cfg
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
网友评论