9月13日任务
2.10 环境变量PATH
2.11 cp命令
2.12 mv命令
2.13 文档查看cat/more/less/head/tail
一、环境变量
linux中命令都是可以直接使用的,没有使用命令的绝对路径,原因是因为系统的环境变量PATH起了作用。可以使用echo命令查看:
[root@wxy ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
我们试试把一个命令copy到别的路径下,重新命名看看是否可以执行:
[root@wxy ~]# cp /usr/bin/ls /tmp/ls2
[root@wxy ~]# ls2
-bash: ls2: command not found
[root@wxy ~]#
提示命令找不到,我们把它加到PATH环境变量里面再试试:
[root@wxy ~]# export PATH=$PATH:/tmp/
[root@wxy ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/
[root@wxy ~]# ls2
tcping-1.3.5 test zabbix-release-3.2-1.el7.noarch.rpm
tcping-1.3.5.tar.gz wget-log zabbix-release-3.2-1.el7.noarch.rpm.1
结果是可以的,原因是我们tmp目录加进了PATH环境变量。
ls2只是临时的环境变量,如果新打开一个终端或者重新登录就不再生效了,如果我们想永久使环境变量生效需要加到/etc/profile配置文件:
[root@wxy ~]# vi /etc/profile
在文件的最后加上:
xport PATH=$PATH:/tmp/
这样就可以永久ls2命令了,如果不想使用这个环境变量了就把profile中的exprot PATH=$PATH:/tmp/删除即可。
二、CP命令
cp就是copy,作用是把一个文件或目录拷贝到另外一个目录,并可以重新命名。
[root@wxy ~]# cp /etc/profile /tmp/profile2
[root@wxy ~]# ls /tmp/profile2
/tmp/profile2
拷贝目录的时候需要添加 -r参数:
[root@wxy ~]# cp /tmp/test1/ /tmp/test2
cp: omitting directory ‘/tmp/test1/’
[root@wxy ~]# cp -r /tmp/test1/ /tmp/test2
当拷贝的文件已经存在的时候,会提示“是否覆盖”:
[root@wxy ~]# cp /etc/profile /tmp/profile2
cp: overwrite ‘/tmp/profile2’? y
这是应为cp命令加了-i参数:
[root@wxy ~]# which cp
alias cp='cp -i'
/usr/bin/cp
拷贝目录时如果目标目录已经存在,则会拷贝到目标目录下,如果目标目录不存在时会改名
[root@wxy home]# cp -r wxy/ /tmp/
[root@wxy home]# cp -r wxy/ /tmp/
cp: overwrite ‘/tmp/wxy/1.txt’? y
三、MV命令
mv就是move,用来移动文件就是windows中的剪贴。
在同一目录中mv就相当于更改文件名:
[root@wxy wxy]# ls
2.txt
[root@wxy wxy]# mv 2.txt 3.txt
[root@wxy wxy]# ls
3.txt
文件mv到其它目录并改名:
[root@wxy wxy]# mv 3.txt /home/4.txt
[root@wxy wxy]# ls /home/
20180629_bak.tar.gz 4.txt mysql wxy
mv移动重名文件也会提示是否覆盖:
[root@wxy wxy]# mv 1.txt /home/4.txt
mv: overwrite ‘/home/4.txt’?
mv移动目录时和cp一样,如果目标目录已经存在,则会拷贝到目标目录下,如果目标目录不存在时会改名,如果目标目录下有重名的目录则会提示是否覆盖:
[root@wxy ~]# mkdir /tmp/wxy/
[root@wxy ~]# mv /tmp/wxy/ /home/wxy/
mv: overwrite ‘/home/wxy/wxy’?
[root@wxy ~]# cd /home/wxy/
四、文档查看cat/more/less/head/tail
使用cat目录查看文档:
[root@wxy wxy]# tac 1.txt
zabbix:x:997:995:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin
mysql:x:1000:1000::/home/mysql:/bin/bash
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
cat -n可以显示行号:
[root@wxy wxy]# cat -n 1.txt
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
tac 反向的查看文件
[root@wxy wxy]# tac 1.txt
zabbix:x:997:995:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin
mysql:x:1000:1000::/home/mysql:/bin/bash
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
more:也是查看文件,但是以一页一页的方式显示,可以按空格进行翻页,按b可以返回上一页,这样更方便查看大文档。
less:类似于more命令,比more功能更强大:搜索等功能(/搜索 ?反向搜索)、g显示头 G显示末尾、n向下 N向上。
head:查看文件头10行,也可以指定查看行数:head -n30 1.txt
tail:查看文件末尾10行,也可以指定查看行数:tail -n30 1.txt 。
tail命令更多的时候是使用-f参数来查看动态日志。