2018.3.27 二周第二次课

Posted

tags:

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

1. 环境变量PATH

命令介绍:
which 查找某个命令的绝对路径
!$ 这个命令可以查看你最后一个命令的参数 (上一条命令最后一个参数)
例:tree !$
cp -r 如果目标目录存在的话,则会拷贝到目标目录下的目录里面,如果目标目录不在的话,则会创建目录放置那里。
wc 可以查看一个文件的行数有多少, 语法:wc -l anaconda-ks.cfg.1 # -l后面跟要查看的文件相对路径或绝对路径

1.1 PATH环境变量

如何自定义环境变量
例:假设把ls命令换成ls2并且实现ls的功能,我们首先把给ls的根目录cp到一个文件里,如/tmp。

第一步: 先查看ls在哪个路径下,在这里我们可以看见他在/usr/bin下

[[email protected] ~]# which ls
alias ls=‘ls --color=auto‘
/usr/bin/ls

第二步:查看一下PATH(环境变量)下都有哪些目录

[[email protected] ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

第三步:我们把 ls 的绝对路径CP一份到/tmp下

[[email protected] ~]# cp /usr/bin/ls /tmp/ls2
[[email protected] ~]# ls /tmp/
ks-script-PhAkJi
ls #在这个命令的备份在这里

第四步:我们使用PATH(环境变量)赋值,在基础上再添加一个目录。

[[email protected] ~]# PATH=$PATH:/tmp
[[email protected] ~]# !echo
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp

第五步:用which ls2 查看是否生效

[[email protected] ~]# which ls2
/tmp/ls2

在这里,我们新开一个终端,刚才设置的PATH(环境变量)就不生效了
如何让他永久生效呢? 我们就需要改一个配置文件。

第一步:编辑配置文件 vi /etc/profile ,按大“G"进入到最后一行,再按"A"让光标到最后一个字符末尾,回车,添加

PATH=$PATH:/tmp/

如何赋值PATH(环境变量)呢,直接用PATH赋值

[[email protected] ~]# PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:
[[email protected] ~]# !echo
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:

2.命令cp (拷贝原文件成目标文件)

概念:cp即copy的简写
命令格式为: cp [选项] [来源文件] [目的文件]
-r : 如果要复制一个目录,必须加-r选项,否则不能复制。
cp -r 如果目标目录存在的话,则会拷贝到目标目录下的目录里面,如果目标目录不在的话,则会创建目录放置那里。

我想吧test1目录复制到当前目录下并且修改名字为test2.
[[email protected] /]# mkdir /home/zhangzhen-03/test1
[[email protected] /]# ls /home/zhangzhen-03/
test1
[[email protected] /]# cp -r /home/zhangzhen-03/test1/ /home/zhangzhen-03/test2/
[[email protected] /]# ls /home/zhangzhen-03/
test1 test2

-i 选项:这个是安全选项,如果遇到一个已存在的文件,会询问是否覆盖。

3.mv 命令 (move)

该命令的格式为:mv [选项] [源文件或目录] [目标文件或目录]
该命令有几种情况
1)目标文件是目录,但该目录不存在
2)目录文件是目录,切目录存在
3)目录文件是文件,切该文件不存在
4)目标文件是文件,但该文件存在

例1:

如源目录到目标目录且该目录不存在时
[[email protected] zhang]# mkdir 1 2 3
[[email protected] zhang]# ls
1 2 3
[[email protected] zhang]# mv 1 4
[[email protected] zhang]# ls
2 3 4

文件1本身存在,4不存在,把1修改名字为4

例2:

如源目录到目标目录且该目录存在时
[[email protected] zhang]# mv 1 4
[[email protected] zhang]# ls
2 3 4
[[email protected] zhang]# mv 2 3
[[email protected] zhang]# ls
3 4
[[email protected] zhang]# ls 3/
2
#假设2目录移动到本目录下,且名字修改成3,如目标目录存在的话,则会放到该目标目录下的目录。

例3:目录文件是文件,切该文件不存在,则修改名字

[[email protected] 3]# ls
1 2
[[email protected] 3]# mv 1 3
[[email protected] 3]# ls
2 3

例4:目标文件是文件,但该文件存在

[[email protected] 3]# ls
2 3
[[email protected] 3]# mv 2 3
mv:是否覆盖"3"? n

如果该目录存在的话,则覆盖。

3. 文档查看cat_more_less_head_tai

大“G”直接翻到最后一行,小“g”行首。
cat命令的使用

参数 -A :显示所有的内容,包括特殊字符 如“$”符号,表示行尾,结束的意思
命令如下 : cat -A /etc/passwd
参数 -n :显示行数
命令如下 : cat -n /etc/passwd
例: 查看 /etc/passwd 文件
[[email protected] ~]# cat /etc/passwd #省略号为省略中间的部分
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
·······
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
zhangzhen-03:x:1000:1000::/home/zhangzhen-03:/bin/bash

tac命令的使用

概念: 查看一个文件的内容,和cat的概念一样,cat是正序,tac是倒序查看
命令如下 : tac /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin


adm:x:3:4:adm:/var/adm:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
**root:x:0:0:root:/root:/bin/bash**   #最后一行和cat命令的第一行是一样的

more命令的使用

概念:当文件内容太多,一屏不能全部显示时,用cat是查看不了前面的内容,这时可以使用“Ctrl+B”可以向上翻屏,按Ctrl+F可以向下翻屏(也可以按空格),想退出输入“q”
命令如下:more /var/log/cron # more后面跟你想查看的文件目录

wc 命令的使用

wc命令使用参考:https://baike.baidu.com/item/wc/405573?fr=aladdin
概念:wc命令是查看一个文件有多少行
语法:wc -l anaconda-ks.cfg.1 # -l是统计行数
例:查看一个文件有多少行
[[email protected] ~]# wc -l anaconda-ks.cfg
51 anaconda-ks.cfg

less 命令的使用 建议使用
概念:跟more使用的方法一样,后面直接跟文件名
优点:这个可以使用方向键 上下左右 来控制,也可以使用空格翻页
less可以实现查找功能,打开一个文档后,输入“/” 后面跟你想要查找的字符串,输入“?”可以从后往前看。
按小“n”可以查看下一个字符串在哪,按大“N”可以向上查找。

head命令的使用

概念:命令head用于显示文件的前10行,后面直接跟文件名。如果加“-n”选项,则显示文件的前几行。
语法:head /etc/passwd
显示头两行语法: head -n 2 /etc/passwd

tail命令的使用

概念:和head类似,命令tail用于显示文件的最后10行,直接跟文件名,如果加“-n”,则显示文件的前几行。
语法:tail /etc/passwd
显示最后两行语法:tail -n 2 /etc/passwd

-

命令 tail -f 可以查看动态日志,适合查看正在生成的文件。
语法: tail -f /etc/passwd

技术分享图片

以上是关于2018.3.27 二周第二次课的主要内容,如果未能解决你的问题,请参考以下文章

二周第二次课(12月19日)

二周第二次课(12月19日)

二周第二次课

第二周第二次课

第二周第二次课

二周第二次课(10月24日)