博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2.10 环境变量PATH 2.11 cp命令 2.12 mv命令 2.13 文档查看cat/more/less/head/tail
阅读量:6301 次
发布时间:2019-06-22

本文共 8104 字,大约阅读时间需要 27 分钟。

hot3.png

环境变量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 ~]# lsanaconda-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.txt1 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.logcham       ls2chamlinux  systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy[root@cham2 ~]# ls /tmp1.txt      ks-script-JG2UJk                                                          yum.logcham       ls2chamlinux  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.txt1 directory, 1 file[root@cham2 ~]# tree !$                                                     tree /tmp/cham1//tmp/cham1/└── 2    └── 2.txt1 directory, 1 file[root@cham2 ~]# which cp                                              看一下 which cpalias 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.txtcham/cham1/chamlinux/.font-unix/.ICE-unix/ks-script-JG2UJkls2systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy/.Test-unix/.X11-unix/.XIM-unix/yum.log[root@cham2 ~]# tree /tmp/cham1//tmp/cham1/└── 2    └── 2.txt1 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.txt3 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 ~]# lsanaconda-ks.cfg[root@cham2 ~]# mv anaconda-ks.cfg  anaconda-ks.cfg.1        同一个目录下是改名字[root@cham2 ~]# lsanaconda-ks.cfg.1[root@cham2 ~]# cd /tmp/                                                     进入tmp[root@cham2 tmp]# ls                                                     1.txt  chamlinux         systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cycham   ks-script-JG2UJk  yum.logcham1  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]# lscham       ks-script-JG2UJk                                                          yum.logcham1      ls2chamlinux  systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy[root@cham2 tmp]# mv ls2 cham/  [root@cham2 tmp]# ls cham2  ls2[root@cham2 tmp]# touch ls2                 再建一个ls2    [root@cham2 tmp]# mv ls2 cham/          如果该文件存在,则会询问是否覆盖mv:是否覆盖"cham/ls2"? n[root@cham2 tmp]# which mvalias mv='mv -i'    /usr/bin/mv[root@cham2 tmp]# /usr/bin/mv ls2 cham/[root@cham2 tmp]# lscham   chamlinux         systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cycham1  ks-script-JG2UJk  yum.log[root@cham2 tmp]# ls cham/2  ls2[root@cham2 tmp]# lscham   chamlinux         systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cycham1  ks-script-JG2UJk  yum.log[root@cham2 tmp]# mv cham1/ cham/[root@cham2 tmp]# mv cham/ cham2/[root@cham2 tmp]# lscham2      ks-script-JG2UJk                                                          yum.logchamlinux  systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy[root@cham2 tmp]# lscham2      ks-script-JG2UJk                                                          yum.logchamlinux  systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy[root@cham2 tmp]# mv cham2/ chamlinux/[root@cham2 tmp]# ls chamlinux/2  cham2[root@cham2 tmp]# mkdir -pv cham2mkdir: 已创建目录 "cham2"[root@cham2 tmp]# lscham2      ks-script-JG2UJk                                                          yum.logchamlinux  systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy[root@cham2 tmp]# touch cham2/1.txt[root@cham2 tmp]# tree cham2cham2└── 1.txt0 directories, 1 file[root@cham2 tmp]# tree chamlinuxchamlinux├── 2│   └── 2.txt└── cham2    ├── 2    │   └── 2.txt    ├── cham1    │   ├── 2    │   │   └── 2.txt    │   └── chamlinux    │       └── 2    │           └── 2.txt    └── ls27 directories, 5 files[root@cham2 tmp]# mv cham2/ chamlinux/mv:是否覆盖"chamlinux/cham2"? ymv: 无法将"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

你可能感兴趣的文章
[转] JavaScript:彻底理解同步、异步和事件循环(Event Loop)
查看>>
jQuery基础:keydown( ) 与 keypress( ) 区别
查看>>
electron 开发环境搭建
查看>>
使用MEF实现通用参数设置
查看>>
修改头像,存入后台
查看>>
嵌入式开发之davinci--- 8148/8168/8127 中的图像缩放sclr、swms之后出现图像视频卡顿、屏幕跳跃的问题...
查看>>
60阶单群同构于A5的证明
查看>>
【备忘】Android获取正在使用网络的IP4地址
查看>>
poj2524
查看>>
C# Dictionary.Add(key,"123") 与 Dictionary[key]="123"的区别
查看>>
cocos2dx 学习代码记录
查看>>
xcode 各版本下载地址及其它工具下载地址
查看>>
MVC 自定义AuthorizeAttribute实现权限管理
查看>>
内存溢出导致jenkins自动部署到tomcat失败
查看>>
Python之zip
查看>>
try catch finally
查看>>
UOJ #148. 【NOIP2015】跳石头 二分
查看>>
lintcode 中等题:和大于S的最小子数组
查看>>
用于重新编译的工具和命令
查看>>
pthread_create()之前的属性设置
查看>>