一、PATH 环境变量

which可以查到命令所在的路径

[root@centos-01 ~]# which ls

alias ls='ls --color=auto'

/usr/bin/ls

#可以发现ls的路径为/usr/bin/ls。其中,/usr/bin这个路径是在PATH中的,所以ls可以直接使用。

命令如果在PATH中的路径中就可以直接使用

[root@centos-01 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@centos-01 ~]# cp /usr/bin/ls /tmp/ls2

#将ls命令复制一份到/tmp/ls2

[root@centos-01 ~]# ls2

-bash: ls2: 未找到命令  #直接运行ls2,找不到命令

[root@centos-01 ~]# /tmp/ls2

anaconda-ks.cfg   #直接运行/tmp/ls2 结果和ls运行的结果一样

[root@centos-01 ~]# ls

anaconda-ks.cfg

[root@centos-01 ~]# PATH=$PATH:/tmp #将/tmp目录加入PATH

[root@centos-01 ~]# echo $PATH  #查看PATH中包含的目录

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp

[root@centos-01 ~]# ls2 #/tmp加入PATH中后可以直接运行ls2命令

anaconda-ks.cfg

新开一个远程窗口,运行ls2,提示为找到命令。查看PATH发现/tmp目录不在PATH中,因为PATH=$PATH:/tmp 只在当前窗口生效。

PATH永久生效,修改系统文件/etc/profile,将PATH=$PATH:/tmp加到文件的最后。保存并退出。这样ls2就能永久生效。

如果不想要ls2 就去修改系统文件/etc/profile.将PATH=$PATH:/tmp删掉。保存并退出。

二、cp命令

cp = copy

cp 参数 源文件或目录 目标文件或目录

[root@centos-01 /]# cp /etc/passwd /tmp/1.txt

#将/etc/passwd 文件拷贝到/tmp目录下并改名为1.txt

拷贝目录需要加上-r参数。

[root@centos-01 /]# cp -r /tmp/cptest/ /tmp/cptest1/

[root@centos-01 /]# tree /tmp/cptest/ #查看目录

/tmp/cptest/

└── cp.txt

1 directory, 0 files

[root@centos-01 /]# tree /tmp/cptest1/  #查看目录

/tmp/cptest1/

└── cp.txt

1 directory, 0 files

将/tmp下的cptest目录拷贝到/tmp下的test目录时。如果test目录已存在,那么cptest目录将会在test目录下(/tmp/test/cptest/)。如果test目录不存在,那么cptest目录将会改名为test(/tmp/test/)。

[root@centos-01 /]# cp -r /tmp/cptest/ /tmp/test/

[root@centos-01 /]# tree /tmp/test/

/tmp/test/

└── cptest

   └── cp.txt

2 directories, 0 files

[root@centos-01 /]# ls /tmp/test/

cptest

如果目标文件中存在和源文件同名的文件,系统会提示是否覆盖,输入 y(yes)覆盖,输入n(no)不覆盖。

[root@centos-01 /]# cp /etc/passwd /tmp/1.txt

cp:是否覆盖"/tmp/1.txt"?

/etc/bin/cp 源文件 目标文件   #这样就不会询问是否覆盖

三、mv命令

mv=move

移动文件的位置。如果是在同一个目录下进行就是修改文件名(重命名)。

[root@centos-01 cptest]# ls

cp.txt

[root@centos-01 cptest]# mv cp.txt mv.txt  #将cp.txt改名为mv.txt

[root@centos-01 cptest]# ls

mv.txt

[root@centos-01 cptest]# ls /tmp/cptest1

abc  cp.txt

[root@centos-01 cptest]# mv mv.txt /tmp/cptest1/20171022

#将mv.txt移动到/tmp/cptest1/目录下并改名为20171022

[root@centos-01 cptest]# ls /tmp/cptest1

20171022  abc  cp.txt

[root@centos-01 cptest1]# mv 1 /tmp/cptest/test-1

#将1目录移动到/tmp/cptest/目录下,并改名为test-

1

[root@centos-01 cptest1]# ls /tmp/cptest/

test-1

[root@centos-01 cptest1]# mv 2 /tmp/cptest/test-2

#将2目录移动到/tmp/cptest/目录下,并改名为test-2,由于/tmp/cptest/目录下已经存在test-2目录,所以2目录只能在test-2目录下(/tmp/cptest/test-2/2)。和cp一样。

[root@centos-01 cptest1]# ls /tmp/cptest/

test-1  test-2

[root@centos-01 cptest1]# ls /tmp/cptest/test-2

2

当目标目录(文件)存在与源目录(文件)名字相同的目录时,会提示是否覆盖。y(yes)覆盖 n(no)不覆盖。

[root@centos-01 cptest1]# mv 2 /tmp/cptest/test-2

mv:是否覆盖"/tmp/cptest/test-2/2"?

四、文档查看cat、more、less、head、tail

1、cat  查看文件内容的

cat 文件

cat -n 显示行号

cat -A 显示行尾结束符,每一行结尾都有一个$符号。

tac  倒叙查看文件内容

2、more 查看文件内容

more 文件名

按空格向后翻页,翻到最后一页会退出。ctrl+B往前看

wc -l 文件名 可以查看文件的行数

3、less 查看文件内容

less 文件名

空格键翻页,上下方向键上下滚动,ctrl+B 往前看,ctrl+f往后看。看到最后一页不会自动退出,需要按q。

按 /,然后输入一个字符串,然后回车,这样就可以从前往后查找这个字符串了。如果查找多个该字符串,可以按n显示下一个,按shift+n(N)可以显示上一个。

按?,然后输入字符串可以从后往前搜索。

小技巧:g 定位到开头 G定位到结尾

4、head 查看文件前几行的内容

head默认查询前十行

head -n 3 /etc/passwd  #查看文件的前三行

5、tail 查看文件后几行的内容

tail默认查询后十行

tail -n 2 /etc/passwd #查看文件的后两行

tail 常用于查看动态文件,例如日志。

tail -f 动态显示文件内容,看日志时候会用到。