9月13日任务
2.10 环境变量PATH
2.11 cp命令
2.12 mv命令
2.13 文档查看cat/more/less/head/tail
文件操作
2018-9-8
环境变量PATH
大多数人有使用windows系统的经验,在安装软件时都会选择安装路径。其实linux软件安装也可以选择安装路径,自带软件则安装在几个规定好的目录里,比如/bin、/usr/bin、/sbin、/usr/sbin。我们在终端中输入命令启动软件,linux就会在记录的目录里找,如果所有记录的目录都找不到就会报告“-bash: ads: 未找到命令”。如果你没有输错命令,要么你还没安装该软件,要么这个软件的安装路径还没有被linux记录在册。
怎么告诉linux你自定义安装的软件目录呢?这就需要修改环境变量PATH。在终端中输入echo $PATH
,系统就会反馈当前PATH包含的目录。
[root@centos ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
解释:
- echo是标准输出命令,可以输出指定内容
- PATH是系统规定的环境变量名,环境变量都用大写字母
- echo命令调用环境变量时,需要在环境变量前加“$”
- PATH环境变量又冒号分割
现在演示添加PATH。假设你下载了编译好的linux软件,把它放在/opt下面。终端输入命令:PATH=$PATH:/opt
,然后在查看PATH变量就已经生效。这个命令只在当前shell有效,重启或者再开shell都会失效。如果想一直使用,可以编辑/etc/profile文件,在最后加入以上的命令。
如果查看/etc/profile文件,可能会看到export开头的环境变量声明形式。export的作用是声明该变量为全局变量。全局变量在子shell中仍生效。
常用文件操作
拷贝cp
各式cp A B
,A为原文件,B为拷贝路径或者“路径/新文件名”。如果B是第二种情况,cp相当于完成了拷贝+重命名的作用。
如果A是一个目录,需要添加-r
参数,否则不能拷贝。在拷贝目录A时,linux会自动识别A是不是目录。也就是说在目录结尾加不加“/”都行。不过建意养成良好的习惯,都加上。
此外,用which命令查看cp,会发现centos别名了cp命令,增加了-i
参数。这是防止拷贝时覆盖了重名文件。如果不想看到安全提示,可以直接调用/usr/bin/cp
或者/bin/cp
。
移动mv
mv命令可以移动目录,不需要加额外参数。各式mv A B
,A为原文件,B为拷贝路径或者“路径/新文件名”。如果B是第二种情况,mv相当于完成了移动+重命名的作用。在linux下重命名可以通过mv命令实现。
用which命令查看mv,centos也添加了-i
参数。
查看cat、more、less、head、tail
cat后加文件就可以在终端上看到文件的内容。比较常用的参数有A、n。A会显示文件全不内容,linux、windows、mac在文本文件中换行标志不一样,如果处理跨平台拷贝过来的文档需要小心。可以用-A先查看一下。-n参数在输出文档内容时会显示行号。
cat命令其实是用来拼接的,后面可以接多个文件或内容,它会拼接起来在终端标准输出。但是,如果只是想查看文档内容,cat有时不好用,比如内容太长。这时可以用more或者less命令。这两个命令都可以分屏显示文档内容,不同的是more下翻到底部自动退出,less不会。所以可以常用less。在less中空格、ctrl+f下翻页,ctrl+b上翻页,g到顶不,G到底部,/aaa向下查找“aaa”的字符,?aaa向上查找“aaa”的字符。
如果你只想看文档的头几行或者末尾几行,可以用head、tail命令。默认的,head file
查看文件前10行,tail file
查看文件末尾10行。你可以用-n指定想看的行数,例如head -n 5 file
可以查看文档前5行。
在监控系统时常需要查看系统日志的末尾。我们可以使用tail -f
来动态显示日志最后几行。