一、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 动态显示文件内容,看日志时候会用到。