环境变量PATH、cp命令、mv命令、cat、more、less、head、tail

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就已经不生效了

环境变量PATH、cp命令、mv命令、cat、more、less、head、tail_第1张图片
环境变量没有永久改变
[root@mylinux ~]# vi /etc/profile (更改每次终端连接都会加载的文件)
并在文件最后加上PATH=$PATH:/root/并保存就可以使之永久生效
环境变量PATH、cp命令、mv命令、cat、more、less、head、tail_第2张图片
最后一行加上PATH=$PATH:/root/

重新开启终端发现已经生效

环境变量PATH、cp命令、mv命令、cat、more、less、head、tail_第3张图片
重新开启终端发现已经生效

需要删除的话可以直接删除文件里面的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顺序查看文件
tac倒序查看文件

环境变量PATH、cp命令、mv命令、cat、more、less、head、tail_第4张图片
cat和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 可以回翻)

环境变量PATH、cp命令、mv命令、cat、more、less、head、tail_第5张图片
分屏查看文件
[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

你可能感兴趣的:(环境变量PATH、cp命令、mv命令、cat、more、less、head、tail)