2.10 环境变量PATH 2.11 cp命令 2.12 mv命令 2.13 文档查看cat/more/less/head/tail

环境变量PATH  

先介绍一个命令 which,它用于查看某个命令的所在路径命令。

115511_byFR_3708120.png

echo用来输出$PATH的值。PATH前面的$是变量的前缀符号。

115830_7MM1_3708120.png

使用 ls2 来代表 ls
[root@cham2 ~]# ls /usr/bin/ls
/usr/bin/ls
[root@cham2 ~]# cp /usr/bin/ls   /tmp/ls2
[root@cham2 ~]# /tmp/ls2                         /tmp/ls2   和ls是一样的
anaconda-ks.cfg
[root@cham2 ~]# ls
anaconda-ks.cfg

[root@cham2 ~]# ls2                                直接ls2不行,因为ls2并没有在PATH的目录里面
-bash: ls2: 未找到命令

[root@cham2 ~]# PATH=$PATH:/tmp/        把它加上,重新赋值,加上/tmp/
[root@cham2 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/

[root@cham2 ~]# ls2                                   再运行ls2就可以执行了
anaconda-ks.cfg

[root@cham2 ~]# which ls2                            我们看一下
/tmp/ls2

 


打开一个新终端LS2又不能用了

因为/tmp自动退出了PATH的路径。 如果想永久的把/tmp加入到/PATH的路径下,
输入命令#vi /etc/profile
然后在最后一行加入PATH=$PATH:/tmp/
然后保存退出。

输入图片说明

想ls2不生效  删除PATH环境变量下/tmp路径

给PATH重新赋值一下 执行命令: #PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
然后把vi /etc/profile的最后一行添加PATH路径删除即可。

命令cp

1、命令语法:
cp [选项][来源文件][目的文件]

2、命令描述:
cp是copy(即复制)的简写

3、命令选项:
-r: 如果要复制一个目录,必须加-r选项,否则不能复制
-i:这是安全选项,如果遇到一个已存在的文件,会询问是否覆盖。

**小知识**在用cp命令时,所有的目录全部末尾加上"/"。cp目录时,不会询问你是否覆盖,说明当目标目录已经存在的时候,它会把原目录直接放到目标目录下面去。如果目标目录不存在,它会把原目录cp过来,并改变一个名字。

以下是命令行:

[root@cham2 ~]# cp copy   ^C
[root@cham2 ~]# cp /etc/passwd /tmp/1.txt                   拷贝文件     passwd到tmp/1.txt
[root@cham2 ~]# cp -r /tmp/chamlinux/ /tmp/cham     拷贝目录与要加-r     拷贝目录需要加“/”
[root@cham2 ~]# tree /tmp/chamlinux/
/tmp/chamlinux/
└── 2
    └── 2.txt

1 directory, 1 file
[root@cham2 ~]# ls /                                            
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@cham2 ~]# ls /tmp/
1.txt      ks-script-JG2UJk                                                          yum.log
cham       ls2
chamlinux  systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
[root@cham2 ~]# ls /tmp
1.txt      ks-script-JG2UJk                                                          yum.log
cham       ls2
chamlinux  systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
[root@cham2 ~]# cp -r /tmp/chamlinux/ /tmp/cham1/      chamlinux拷贝到cham1目录
[root@cham2 ~]# tree !$                                                  *小知识*上一条命令的最后参数
tree /tmp/cham1/
/tmp/cham1/
└── 2
    └── 2.txt

1 directory, 1 file
[root@cham2 ~]# tree !$                                                     
tree /tmp/cham1/
/tmp/cham1/
└── 2
    └── 2.txt

1 directory, 1 file
[root@cham2 ~]# which cp                                              看一下 which cp
alias cp='cp -i'
    /usr/bin/cp
[root@cham2 ~]# which rm                                              -i是安全选项,询问是否覆盖或者是否删除
alias rm='rm -i'
    /usr/bin/rm
[root@cham2 ~]# cp /etc/passwd /tmp/1.txt                     会询问是否覆盖
cp:是否覆盖"/tmp/1.txt"? ^C
[root@cham2 ~]# /usr/bin/cp /etc/passwd /tmp/1.txt          这样才不会询问
[root@cham2 ~]# tree /tmp/
1.txt
cham/
cham1/
chamlinux/
.font-unix/
.ICE-unix/
ks-script-JG2UJk
ls2
systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy/
.Test-unix/
.X11-unix/
.XIM-unix/
yum.log
[root@cham2 ~]# tree /tmp/cham1/
/tmp/cham1/
└── 2
    └── 2.txt

1 directory, 1 file
[root@cham2 ~]# cp -r /tmp/chamlinux/ /tmp/cham1/      拷贝目录的时候不会问是否覆盖

                                                                                         
[root@cham2 ~]# ls /tmp/cham1/                        看一下。当目标目录已经存在的时候,会把源目录放到                                                                              目标目录下面去,如果目标目录不存在的,会把源                                                                                    目录拷贝过来并改个名字
2  chamlinux
[root@cham2 ~]# tree /tmp/cham1/
/tmp/cham1/
├── 2
│   └── 2.txt
└── chamlinux
    └── 2
        └── 2.txt

3 directories, 2 files
[root@cham2 ~]# cp -r /tmp/chamlinux/ /tmp/cham1/     因为chamlinx下面已经存在chamlinux

                                                                                          所以会存在是否覆盖
cp:是否覆盖"/tmp/cham1/chamlinux/2/2.txt"? n


 

命令mv

1.命令语法:
mv[选项][源文件或目录][目标文件或目录]

2.命令描述:
mv是move的简写,可以移动文件或者 重命名文件(语法为: mv [源文件名][修改后的文件名])

3.命令的几种情况:

  • 目标文件是目录,但该目录不存在。

  • 目标文件是目录,且该目标存在。

  • 目标文件是文件,且文件不存在。

  • 目标文件是文件,但该文件存在。

  • 当目标文件是目录时,其存在与否,执行后的结果不一样。如果该目录存在,则会把源文件或目录移动到该目录中。如果该目录不存在,则会把源文件重命名为给定的目标文件名。

  • 当目标文件是文件时,其存在与否,执行后的结果也是不一样的。如果该文件存在,则会询问是否覆盖。如果该文件不存在,则会把源文件重命名为给定的目标文件名。

命令行如下:

[root@cham2 ~]# mv move   ^C
[root@cham2 ~]# ls
anaconda-ks.cfg
[root@cham2 ~]# mv anaconda-ks.cfg  anaconda-ks.cfg.1        同一个目录下是改名字
[root@cham2 ~]# ls
anaconda-ks.cfg.1
[root@cham2 ~]# cd /tmp/                                                     进入tmp
[root@cham2 tmp]# ls                                                     
1.txt  chamlinux         systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
cham   ks-script-JG2UJk  yum.log
cham1  ls2
[root@cham2 tmp]# mv 1.txt /root/2.txt                         移动1.txt到root/2.txt文件不存在,把源文件                                                                                         重命名为给定的目标文件名    
[root@cham2 tmp]# ls /root/                                          看一下
2.txt  anaconda-ks.cfg.1
[root@cham2 tmp]# ls
cham       ks-script-JG2UJk                                                          yum.log
cham1      ls2
chamlinux  systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
[root@cham2 tmp]# mv ls2 cham/  
[root@cham2 tmp]# ls cham
2  ls2
[root@cham2 tmp]# touch ls2                 再建一个ls2    
[root@cham2 tmp]# mv ls2 cham/          如果该文件存在,则会询问是否覆盖
mv:是否覆盖"cham/ls2"? n
[root@cham2 tmp]# which mv
alias mv='mv -i'
    /usr/bin/mv
[root@cham2 tmp]# /usr/bin/mv ls2 cham/
[root@cham2 tmp]# ls
cham   chamlinux         systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
cham1  ks-script-JG2UJk  yum.log
[root@cham2 tmp]# ls cham/
2  ls2
[root@cham2 tmp]# ls
cham   chamlinux         systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
cham1  ks-script-JG2UJk  yum.log
[root@cham2 tmp]# mv cham1/ cham/
[root@cham2 tmp]# mv cham/ cham2/
[root@cham2 tmp]# ls
cham2      ks-script-JG2UJk                                                          yum.log
chamlinux  systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
[root@cham2 tmp]# ls
cham2      ks-script-JG2UJk                                                          yum.log
chamlinux  systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
[root@cham2 tmp]# mv cham2/ chamlinux/
[root@cham2 tmp]# ls chamlinux/
2  cham2
[root@cham2 tmp]# mkdir -pv cham2
mkdir: 已创建目录 "cham2"
[root@cham2 tmp]# ls
cham2      ks-script-JG2UJk                                                          yum.log
chamlinux  systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
[root@cham2 tmp]# touch cham2/1.txt
[root@cham2 tmp]# tree cham2
cham2
└── 1.txt

0 directories, 1 file
[root@cham2 tmp]# tree chamlinux
chamlinux
├── 2
│   └── 2.txt
└── cham2
    ├── 2
    │   └── 2.txt
    ├── cham1
    │   ├── 2
    │   │   └── 2.txt
    │   └── chamlinux
    │       └── 2
    │           └── 2.txt
    └── ls2

7 directories, 5 files
[root@cham2 tmp]# mv cham2/ chamlinux/
mv:是否覆盖"chamlinux/cham2"? y
mv: 无法将"cham2/" 移动至"chamlinux/cham2": 文件已存在
[root@cham2 tmp]# 

命令cat

1.命令语法 cat [参数] 文件名

2.命令描述 用于查看一个文件的内容并将其显示在屏幕上。(cat后面可以不加任何选项,直接跟文件名。)

3.命令参数 -n :查看文件时,把行号也显示在屏幕上。

 QQ截图20171023103901.png

-A :显示所有的内容,包括特殊字符。
QQ截图20171023103815.png

命令tac

1.命令语法
tac 文件名

2.命令描述
命令tac是命令cat的反序写法,也是把文件的内容显示在屏幕上。
只不过是先显示最后一行,然后显示倒数第二行,最后才显示第一行。

小知识: #wc -l 文件名 //查看一个文件的行数
QQ截图20171023105036.png

命令more

1.命令语法 more 文件名

2.命令描述
命令more也用于查看一个文件的内容,后面直接跟文件名。
当文件内容太多的时候,一屏不能全部显示时,用命令cat肯定是看不了前面的内容的,这时可以使用命令more。
当看完一屏后,按空格键可以继续看下一屏,看完所有内容后就会退出。
按Ctrl+D可以向上翻屏,按Ctrl+F可以向下翻屏(同空格)。
如果你想提前退出,按q即可。
QQ截图20171023104819.png

命令less

1.命令语法
less 文件名

2.命令描述
命令less的作用和命令more一样,后面直接跟文件名,但命令less比more功能要多一点。
按空格键可以翻页。
按j键可以向下移动,按k键可以向上移动。
在使用more和less查看某个文件时,你可以按一下/键,并输入一个字符串(如root),然后回车,这样就可以查找这个字符串了。
如果是查找多个字符串,可以按n键显示下一个。
另外,也可以用?键代替/键来搜索字符串,唯一不同的是,/是在当前行向下搜索,而?是在当前行向上搜索。

命令head

1.命令语法
head 文件名

2.命令描述
命令head用于显示文件的前10行,后面直接跟文件名。

3.命令参数
-n :显示文件的前几行(n代表行数,n也可以省略)
QQ截图20171023110801.png

命令tail

1.命令语法
tail 文件名

2.命令描述
和命令head类似,命令tail用于显示文件的最后10行,后面直接跟文件名。

3.命令参数
-n :显示文件的最后几行(-n后面有无空格均可,且字母n也可以省略)。
QQ截图20171023111605.png
-f :它可以动态显示文件的最后10行(一般用来查看日志)。如果文件的内容在不断的增加(动态增加的内容会全部显示),使用-f选项非常方便和直观。比如tail -f /var/log/messages可以动态,实时地查看文件/var/log/messages中的内容。

转载于:https://my.oschina.net/u/3708120/blog/1555365

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值