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

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

hot3.png

第二章 文件、目录管理

2.10 环境变量PATH

>PATH说简单点就是一个字符串变量(该字符串内容是一个命令的绝对路径),当输入命令的时候LINUX会去查找PATH里面记录的路径。

PATH这个变量包含了一系列由冒号分隔开的目录,系统就从这些目录里寻找可执行文件。如果你输入的可执行文件(例如ls、rm)不在这些目录中,系统就无法执行它(除非你输入这个命令的完整路径,如/bin/ls)。

# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin    默认

当一个命令在PATH中存在的时候,无需使用其绝对路径,eg:rm、ls、cd等等。

  • 更改环境变量
    eg1: 添加一个环境变量tmp
# PATH=$PATH:/tmp/# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/

注: 以上只是临时增加一个变量。如果想要永久添加变量还需要执行以下命令:

# vi /etc/profile  编辑配置文件,在该文件内容最后一行添加PATH=$PATH:/tmp/

174016_t9ey_3706800.png

eg2: 删除环境变量

方法1:

# PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin   让PATH等于其默认值即可!# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin    默认

方法2:

# vi /etc/profile 编辑该配置文件,在内容中删除“PATH=$PATH:/tmp/”即可!

2.11 cp命令

cp=copy

语法: cp [选项] [源文件] [目标文件]
选项:
-r 拷贝目录
-i 安全选项,类似于rm命令,如果遇到一个存在的文件,会询问是否覆盖。centos系统默认cp=cp -i。
注: 当目标目录已存在的时候,cp命令会把源目录放到目标目录下面;当目标目录不存在的时候,cp命令会把源目录重命名后放到目标目录的位置!

例如我想把 test1 拷贝成 test2,这样即可cp test1 test2;

例如我想把 test1 拷到 test2,但test2存在,这样test22会被放到test21下面;

!$ 表示上一个命令的最后一个参数;

在对目录文件进行编辑的时候,命令末尾加"/";对非目录文件进行编辑的时候不必加!

2.12 mv命令

  • mv=move
  • 语法: mv [选项] [源文件] [目标文件]
  • 选项: -i 和cp的-i一样,当目标文件存在是会问用户是否要覆盖(在Redhat/centos系统中,我们用的mv就是mv -i的别名),使用绝对路径/usr/bin/mv时不再出现此询问。
  • 该命令有几种情况:
    1)目标文件是目录,而且目标文件不存在(=重命名--把源文件命名为目标文件的名字)
# mkdir dira dirb  创建目录dira和dirb# ls anaconda-ks.cfg dira dirb install.log install.log.syslog# mv dira dirc 移动目录dira到dirc目录(该目录不存在)下# ls anaconda-ks.cfg dirb dirc install.log install.log.syslog  目标文件dirc为目录,并且目标目录不存在,相当于把dira重命名为dirc

2)目标文件是目录,而且目标文件存在(=移动)

# mv dirc dirb  移动目录dirc到目录dirb(两个目录均存在)# lsanaconda-ks.cfg dirb install.log install.log.syslog# ls dirbdirc    目标文件dirc为目录,且目标目录存在,则会把dirc移动到dira目录里

3)目标文件不是目录不存在 (=重命名--把源文件命名为目标文件的名字)

# touch filed  创建文件filed# lsanaconda-ks.cfg dirb filed install.log install.log.syslog# mv filed filee 把源文件filed移动到filee# lsanaconda-ks.cfg dirb filee install.log install.log.syslog  目标文件filee不是目录且不存在,相当于把filed文件重命名为filee

4)目标文件不是目录存在

①移动至某目录下(=移动)

# mv filee dirb  移动文件filee到dirb下# lsanaconda-ks.cfg dirb install.log install.log.syslog# ls dirbdirc filee   目标文件不是目录,且存在则会把源文件移动

②移动至另一个非目录目标文件 (=删除源文件)

[root@3 dir1]# lsdir2  file1  file2[root@3 dir1]# mv file2 file1  移动非目录文件file2到非目录文件file2mv:是否覆盖"file1"? y[root@3 dir1]# lsdir2  file1    移动非目录文件file2到非目录文件file1,相当于删除文件file2(源文件)

简略:

mv bash mvtest/1 将文件bash移动到目录mvtest下并更名为1

mv test/   test1/ 将目录test更名为test1

PS :(与cp命令相同,如果目标目录存在,则会把原目录放到目标目录下,如果目标目录不存在,则把原目录更名为目标目录名字)

mv mvtest.txt mvtest2.txt 将文件mvtest更名为mvtest2

2.13 文档查看

  • cat命令
    查看一个文件的内容并显示在屏幕上,后面可以不加任何选项,直接加文件名。
    两个常用选项:
    1)-n 查看文件时显示行号
    eg:
# echo 'aaaaa'>dirb/filee  将“aaaaa”写入filee文件# echo 'ccccc'>>dirb/filee 将“ccccc”写入filee文件# cat dirb/dileeaaaaaccccc# cat -n dirb/dilee1 aaaaa2 ccccc

注: “>>”和“>”都是重新定向的作用,即把前面输出的东西输入到后面的文件中,只不过“>>”是追加的意思,而使用“>”时,如果文件中有内容会把内容删除,“>>”则不会。

2)-A 显示所有东西出来,包括特殊字符
eg:

# cat -A dirb/fileeaaaaa$ccccc$    在此"$"是结束符号
  • tac命令
    同cat命令,用来显示文件内容,相对cat,该命令是倒序显示文件里的内容。
    eg:
# tac dirb/fileecccccaaaaa
  • more命令
    也是用来查看文件内容的命令,格式是‘cat filename’,当文件内容太多,一屏幕放不下,而使用‘cat’是看不到前面的内容的,使用‘more’可以解决此问题。当看完一屏后按space键继续查看下一屏。当看完所有内容后就会退出,如果想提前退出,按q键。
  • less命令
    作用和more一样,格式‘less filename’,但比more好在可以上翻、下翻。space键同样可以翻页,j键可以逐行向下移动,k键可以逐行向上移动,Ctrl+b和Ctrl+f可分别实现上翻页和下翻页。在使用more和less命令查看文件时,可以键入‘/’,然后输入字符串,Enter,查找该字符串,如果存在多个该字符串,按n(next)可显示下一个,同样可以使用‘?’实现同样的功能,区别是:‘/’是在当前行向下查找,‘?’是从当前行向上查找。
    按G键可以快速到文本最末端,按g可以快速回到文件首部。q键可中途退出。
  • head命令
    查看文件前n行内容。
    语法: head [选项] [filename]
    选项:
    -n n后面跟数字,表示显示n行(不加参数时默认显示前十行)
    eg:
# head /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologin# head -n3 !$head -n3 /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin
  • tail命令
    同head命令,倒序显示文件后n行内容。
    eg:
# tail /etc/passwdftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologinsystemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologinsystemd-network:x:192:192:systemd Network Management:/:/sbin/nologindbus:x:81:81:System message bus:/:/sbin/nologinpolkitd:x:998:996:User for polkitd:/:/sbin/nologintss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologinchrony:x:997:995::/var/lib/chrony:/sbin/nologin# tail -n3 /etc/passwdpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologinchrony:x:997:995::/var/lib/chrony:/sbin/nologin

转载于:https://my.oschina.net/u/3706800/blog/1592255

你可能感兴趣的文章
CentOS 6.0 安装 Atheros ar8151 网卡驱动
查看>>
【MySQL运维】事物隔离级别和行日志格式设置不当导致故障案例
查看>>
Sersync+rsync(数据实时同步)
查看>>
在安装seaborn等包时,使用pip install安装不成功
查看>>
AWR介绍与SYSAUX空间关系 SYASAUX表空间满了 系统慢
查看>>
Java基础部分5
查看>>
angularjs外部文件中的控制器使用
查看>>
bootstrap14-悬停表格布局
查看>>
bootstrap-表格-普通表格
查看>>
我的友情链接
查看>>
Windows脚本初探之PowerShell流程控制while
查看>>
ASP.NET MVC 2.0 3.0 4.0分離項目區域實現多人開發管理方案
查看>>
教育小结
查看>>
用TCP/IP实现自己简单的应用程序协议:最后再返回来看HTTP协议
查看>>
DS4300 更换控制器电池 (一)
查看>>
解决跨浏览器下PHP下载文件名中的中文乱码问题
查看>>
Windows Azure Platform 系列文章,第三章 使用Azure创建快照 和 还原系统
查看>>
CentOS7.2系统环境中安装saltstack详细配置过程讲解
查看>>
Oracle 官方文档阅读指南
查看>>
”每次打开visio 2013 pro 均显示windows都是正在设置,请稍后”的精准解决方式!...
查看>>