2.10 环境变量PATH
2.11 cp命令
2.12 mv命令
2.13 文档查看cat/more/less/head/tail
2.10 环境变量PATH
!!!回顾
#which 可以查看命令的所处路径,有没有别名。
#find 命令是查找整个硬盘相关的路径,但是#which 只在/usr/local/sbin:/usr/local/bin/:/usr/sbin:/usr/bin:/root/bin (:是分割位置)如果命令都在此几个目录下,就不需要键入绝对路径。
例如#rm (真正用到命令,应该使用绝对路径,命令其实也是一个文件,需要找到对应路径,才能触发他的使用)
#rm 可以直接用,
#/usr/bin/rm 也可以用绝对路径使用
一般常用命令会存放在这几个路径下:/usr/local/sbin:/usr/local/bin/:/usr/sbin:/usr/bin:/root/bin,
而rm存放在/usr/bin/
如果我们任意键入不存在命令,系统会报错,未找到命令,
例如
用LS作个例子 作个copy,新的copy改个新名字(其实它的功能还是跟ls一样),改作ls2
先#which ls 来寻找它所在的路径,/usr/bin/ls,
找到路径后,再作个cp,
#cp /usr/bin/ls /tmp/ls2
复制文件随后,需要把cp后的路径,加入到$PATH里面
#PATH=$PATH:/tmp/ ($PATH后面带的参数,就是需要写入PATH里面的内容,此处一般带目录)
#echo $PATH ,OK.发现多了一个/tmp/
运行ls2
#ls2
结果ok,跟ls功能一样 ,成功激发ls,这就是环境变量的作用与含义。
打开另一个Shell终端 发现#ls2 不生效。
如果想ls2每次在终端都生效,此时需要把ls环境变量设为永久生效
方法
#vi /etc/profile(每次开机都可以自动加载命令)(截图)
#cat
再次打开终端,
#echo $PATH (截图)发现多了ls2的路径
#ls2 生效
取消ls2
#echo $PATH 复制ls2的路径以外的路径,
#PATH=(粘贴ls2以外的路径,有点像反选的作用)
#ls2 不生效
再#vi /etc/profile 将之前添加ls2的路径deleted删掉,保存退出.
#ls2 不生效
进入新一个Xhshell终端页面,
#echo $PATH 路径不存在,成功取消ls2。
2.11 cp命令
命令#cp
cp=copy 顾名思义,复制,拷贝的意思。
作用 拷贝源文件、目标文件。
相关知识点:cp格式,源文件,源目录,目标文件,目标目录。
文件用法 ,
复制/etc/passwd到/tmp/,并将passwd改名1.txt
#cp /etc/passwd /tmp/1.txt
目录用法
#cp -r /tmp/aminglinux/ /tmp/aming
对比源与目标,一样
#tree /tmp/aminglinux/
#tree /tmp/aming
#cp copy源有“/”,目标没有“/”?
其实#cp命令在这加不加“/”都一样效果,但是在这需要统一化,加上“/”
#cp -r /tmp/aminglinux/ /tmp/aming1/
#tree !$
(此处标星,!$上一条命令的最后一个参数,相当于#cp -r /tmp/aminglinux/ /tmp/aming1/中的/tmp/aming1/,即是说#tree !$等于#tree /tmp/aming1/,
此处#tree !$区别与!tree,!tree是上次最新,最后的tree的命令)
拷贝文件,
#which rm 别名,#rm -i
#which cp 有别名#cp -i(-i其实就是一个安全询问)
#cp /etc/passwd /tmp/1.txt 发现会询问是否删除,其实是-i的作用
如果不需要询问,可以直接用绝对路径命令
#/usr/bin/cp /etc/passwd /tmp/1.txt
#cp -r /tmp/aminglinux/ /tmp/aming1/
#ls /tmp/aming1
#tree /tmp/aming1
拷贝目录,是不会询问“是否覆盖”类提示消息。*当目标目录已经存在的时候,它会把源目录直接放到目标目录下面,如果目标目录不存在,它会把源目录拷贝过来,并且改个名字。
2.12 mv命令
相当于把文件摞动到别的地方
同一个目录下使用#mv,此时功能是改名。
例如
#ls /root
#mv anaconda-ks.cfg2 anaconda-ks.cfg.1
#ls
anaconda-ks.cfg.1
改名成功。
移动文件,并改名用法。
#cd /tmp/
#mv /tmp/1.txt /root/2.txt
#ls /root/
2.txt
同样,我们可以这样,得出如下结果
#mv ls2 aming/
#ls aming/
2 ls2
!!!!!!!注意!!!!!!!
#touch ls2
#mv ls2 aming/
mv:是否覆盖 ... n
因为aming/下面已经有了ls2 ,所以n.(mv之所以会提示,是因为也有“-i”,如果不想出现,提示,跟cp一样,,#which出路径,使用绝对路径)
#usr/bin/mv ls2 aming/ 直接覆盖,不再询问。
mv命令两点用途:改名,移动地方。
特殊用法
#mv aming1/ aming/ 把aming1/放到aming/下面去
#mv aming/ aming2/ (aming2/是不存在的)
#ls 发现aming/被改成aming2/,
此处可以理解成,当aming2/不存在时 源目录aming/会被改成aming2/,改名作用。也就是说,当目标目录不存在的时候,相当于将源目录的名称改成目标目录名称。
#mv aming2/ aminglinux/
#ls aminglinx/
2 aming2/
此用法相当于cp的用法。
#mkdir aming2(此处作比较作用,无意义)
#mv
如果在同一个目录下面,改名
如果目标文件存在,是否覆盖
如果目标是目录,且目录不存在,源也是目录,此时会把源的名字改了。
如果目标目录已存在,源也是一个目录,那他就会把这目录放到目标目录里面去。
2.13 文档查看cat_more_less_head_tail
#cat (q退出)查看文件内容
tac与cat对应,tac是倒序查看文件内容,cat是正序。
详细用法,#man cat。
#cat -A 显示文件路径的结束,用$结尾
#cat -n 显示文件行列行号
#more (q退出)
一屏一屏显示 按“空格”显示下一屏
#wc -l ancond-ks.cfg.1 查看行数
把/etc/passwd 的内容 增加到anaconda-ks.cfg.1 下面去
#cat /etc/passwd >>anaconda-ks.cfg.1
#wc -l anaconda-ks.cfg.1
再用more 可以看到数据每页只显示个别数据,more的作用是现实满屏数据,不完全显示。
往后翻,ctrl-B(back)
#less (q退出)
less和more差不多,不过less支持方向键移动走位查看。
ctrl-b 往后
ctrl-f 往前
搜索
"/" 搜索 高亮显示 "n"(next) 下一个 shift n 上一个
倒序搜索(看最后)“?”
shift g 末行
g 首行
#head 头10行 #tail 尾10行
#head -n 2 前2行
#tail -n 2 后2行
*tail查看动态文件用法多,例如日志。
#tail -f 动态使用文件内容
例如 先#tail -f anaconda-ks.cfg.1 (截图)
复制1个终端窗口,在新的窗口打开查看
再#tail -n 2 /etc/passwd >>anaconda-ks.cfg.1 (截图)
返回,发现anaconda-ks.cfg.1 文件越来越多,动态显示(截图)
原文地址:http://blog.51cto.com/13578154/2066983