学习笔记第七节课

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记第七节课相关的知识,希望对你有一定的参考价值。

环境变量PATH


  • which可以查看到命令所在的路径,包括别名。
  • 之前还有一个find命令(查找文件的起始目录)可以把所有文件从头到位变量了一遍。
  • 但是which不会,它速度很快,实际是从以下目录里面去找的,命令如果在目录里,去敲命令时就不用去敲绝对路径。
  • 技术分享图片

  • 真正用一个命令,应该使用绝对路径。命令其实也是一个文件,你想使用这个命令,就要先找到这个命令在哪里。
  • 我们可以把ls命令做一个特殊处理,改个名字,使用cp (也就是拷贝) 再使用/tmp/ls2 和ls的命令一个效果, 但是直接使用ls2 却找不到这个命令,因为它不在usr/local/sbin的目录里面。 想直接用 就要改一下环境变量。
  • 技术分享图片

  • ls2在tmp下面,是可以加入到/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    里面的, 输入PATH=$PATH:/tmp/ 再查看,你会发现路径下,多了一个tmp 再用 which ls2 就发现有了 这个就是环境变量。
    技术分享图片

  • 再打开一个终端,输入ls2发现没有了,文件目录下也没有tmp(说明只是暂时生效,从新启动系统后又消失。) 想要每次都生效,需要把环境变量改为永久的。
  • 技术分享图片

  • 变为永久的方法就是 输入vi /etc/profile 编写 在最后一行加上PATH=$PATH:/tmp/ 然后:wq 退出
  • 技术分享图片
  • 技术分享图片
  • 然后用cat /etc/profile 查看发现已经加入了最后一行,再打开一个终端, 输入echo ¥PATH 查看发现已经有了 tmp ls2也生效了。
  • 技术分享图片

  • 如果不想它生效了 就可以把它删掉,输入PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
  • 或者使用vi /etc/profile 再编辑一下,把PATH=$PATH:/tmp/ 给删除掉,这里可以使用dd 快速删除。

cp命令

  • cp就是 copy 拷贝的意思, 就是拷贝原文件成目标文件。做个实验, cp一个 txt文件 和cp一个目录 (这里和rm 一样 加-r )用tree查看,发现都是一样的。
  • 技术分享图片

  • 这里有个问题,在拷贝原文件的时候,加了斜杠,拷贝的目标没有加斜杠。
  • 拷贝目录的时候有点特殊,拷贝文件无所谓,文件本身没有斜杠, linux系统里目录是有斜杠的。一个目录相当于windows的文件夹,里面是有东西的。
  • 比如ls / ls /tmp/都是带斜杠,用tab补全的时候也会自动带上斜杠。 不加也没事, 但是我们要统一化的约定。因为后面的课程有一个命令 加不加斜杠是有区别的。 不管这个目录存不存在,都最好加上斜杠。(养成一个习惯)
  • 技术分享图片

  • 这里又用到一个命令 !$ 这个表示上一条命令的最后一个参数,正常应该是(tree /tmp/yingxinlinux1)
  • 技术分享图片

  • 我们使用which cp查看, 发现 有-i rm 也有-i cp其实也是一个别名, -i的意思就是一个安全参数 选项,会询问。
  • 技术分享图片

  • 我们也可以让它不询问,直接使用/usr/bin/cp /etc/passwd /tmp/1.txt

  • 技术分享图片

-继续做实验, 正常拷贝文件的时候 会询问是否覆盖,但是拷贝目录的时候是不会询问的,它会在原目录下创建一个新的目录,就是刚才拷贝的目录。
这说明当目标目录已经存在的时候,它会把原目录放在目标目录下面去, 如果目标目录不存在,会把原目录拷贝过来,改个名字。
技术分享图片


mv命令

  • mv move 把文件挪动地方,在同一个位置下,它是改名字。
  • 比如我们把文件改名字,如下操作。
  • 技术分享图片
  • 也可以把一个文件放在另一个文件下面,然后修改名字。
  • 技术分享图片
  • 实验操作,把ls2放在yingxin目录下面
  • 技术分享图片

  • 我们再创建touch ls2 再去挪动,它会出现提示是否覆盖, 因为在yingxin下面已经有了一个ls2 这和rm cp 一样,都有-i选项,不想让提示 还是使用绝对路径,就直接覆盖了。
  • 技术分享图片

  • 有时候会有特殊用法。比如我们把一个目录放到一个不存在的目录,那么会发现还是生效了,它其实就是改名字了。
  • 技术分享图片
  • 如果目标目录存在,它就会把原目录放在目标目录下面,和cp的一样。
  • 技术分享图片

文档查看cat_more_less_head_tail

  • 之前讲到一个cat 命令 是查看文件内容的。没什么特殊的用法
  • 有一个和他对应的是tac ,可以倒叙查看。
  • 技术分享图片
  • 可以man 查看一下。有时候可能用一下-A 显示有所字符,在windows和linux下编辑一个文件是不一样的。
  • 技术分享图片
  • 可以cat -A /etc/passwd,会发现后面有$符号,这个表示文件的这一行的行尾结束符。
  • 还有-n 也可能用到, 会显示出行号。
  • 技术分享图片
  • 技术分享图片

  • 还有一个more 就i是多的意思,它也是查看文件内容的,不会像cat全部显示, 然后使用空格键就可以往下看没显示到的文件。
  • 技术分享图片
  • wc命令 可以查看一个文件的行数。
  • 实验一下,手动给文件的内容增加一些东西。 cat /etc/passwd >> anaconda-ks.cfg.1 anaconda-ks.cfg.1 这个文件是系统自带的 是可以改的,这个文件是自动装系统的,平时用不到,不用管他。
  • 它的作用是,把cat /etc/passwd 追加到anaconda-ks.cfg.1,每运行一次都会追加。
  • 技术分享图片
  • 追加后,再去看效果就明显了。空格键,一屏一屏往下走。按Ctrl+B往上看。还有个对应的 Ctrl+F 往下看。
  • 技术分享图片
  • 技术分享图片

  • 除了more 还有个类似的命令,是less 也可以空格键往下看,但是它也支持用方向键往上查看。但是并不像more一样直接退出来,需要按一个q键。
  • 技术分享图片

  • less还有个功能,可以搜索,先按一个/ 然后输入想搜索的东西,它会高亮显示。(演示的是cdrom)
  • 技术分享图片
  • 想看还有没有其他地方有 可以按n键 提示没有存在了。
  • 技术分享图片
  • 做个实验,搜索root 按n 往后看,有很多, 也可以往前n(第一张图是n,第二张是shift n)
  • 技术分享图片
  • 技术分享图片

  • /是从前往后搜, 也可以从后往前搜。就是? 问号的操作和/的操作恰恰相反,n是往前看,shift n是往后。

  • 现在想看后面的文件要按空格 这样太慢,可以用shift+G 往后看定位到行尾, g的话就可以定位到行首。
  • less可以使用more所有的功能,就用less就可以了。有时候文件很多,用less方便。

  • 我们还常用 head 和tail (head 头的意思,tail尾的意思),可以查看头十行和尾十行。
  • 技术分享图片
  • head 和tail 是可以指定数字的(不是非得十行)
  • 技术分享图片

  • tail 经常用来查看一个动态的文件,比如一个文件经常写内容,可以用 tail -f 来查看,但是会发现并没有退出命令。
  • 技术分享图片

  • 我们从新复制个,然后输入命令 再回来,发现文件有所增加。(红色框之后的) 这个就是动态显示,看日志的时候会用到。
  • 技术分享图片
  • 技术分享图片

以上是关于学习笔记第七节课的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记第十七节课

Linux学习第七节课(2019.9.20)

Oracle学习笔记之第七节手动数据库链介绍

Oracle学习笔记之第七节共享专用服务器配置及案例

JAVAscript学习笔记 jsBOM 第七节 (原创) 参考js使用表

Linux第七节课