一、环境变量PATH
echo $PATH 打印当前的环境变量
PATH=$PATH: 路径,定义环境变量
- which查找某个命令的绝对路径,也可以查看某个命令的别名,which查找的范围就在PATH下的几个目录下查找
[root@localhost ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@localhost ~]#
- 为什么我们在使用命令时,只是打出命令,而没有使用这些命令的绝对路径呢,这是因为环境变量PATH在起作用。
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
- 如果你的命令在这几个目录下,你敲的命令就不需要加绝对路径
[root@localhost ~]# cp /usr/bin/ls /tmp/ls2
[root@localhost ~]# which ls2
/usr/bin/which: no ls2 in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
- 这里要用决对路径,如果不加就会报错
[root@localhost ~]# /tmp/ls2
anaconda-ks.cfg
[root@localhost ~]# /tmp/ls2 /usr/
bin etc games include lib lib64 libexec local sbin share src tmp
- 我们将ls2的目录加到PATH下,就可以直接使用ls2命令了
[root@localhost ~]# PATH=$PATH:/tmp/
[root@localhost ~]# ls2 /usr/
bin etc games include lib lib64 libexec local sbin share src tmp
- 注意:这里只是临时将/tmp/目录加到PATH下,重新打开一个终端使用ls2还是会报错,不会生效,如果想要永久生效,我们需要修改配置文件/etc/profile
- 这里是列表文本 然后打开另一个终端输入命令ls2
- 如果想要删除/tmp/;删除配置文件后,在执行下列命令
二、cp命令
- cp [选项] [源文件] [目标文件]
- r 拷贝目录
- v 可视化
- i 安全选项,如果目标文件存在,提示是否覆盖。cp自带-i选项
- cp定一个规矩,拷贝目录,都要加上/
[root@localhost test]# ls
111 test1 test2
[root@localhost test]# touch 1.txt
[root@localhost test]# cp 1.txt 2.txt
[root@localhost test]# ls
111 1.txt 2.txt test1 test2
- cp –r 拷贝目录
[root@localhost test]# cp -r test1/ 333/
[root@localhost test]# ls
111 1.txt 2.txt 333 test1 test2
- cp –i 安全选项
[root@localhost test]# cp 1.txt 2.txt
cp:是否覆盖"2.txt"?
[root@localhost test]# echo '111'>> 1.txt // >>追加重定向
[root@localhost test]# echo '222'>> 2.txt
[root@localhost test]# cat 1.txt
111
[root@localhost test]# cat 2.txt
222
[root@localhost test]# /bin/cp 1.txt 2.txt //用绝对路径就不会提示覆盖
[root@localhost test]# cat 2.txt
111
- cp -v 可视化
[root@linux-128 test]# cp -v 2.txt 111/
"2.txt" -> "111/2.txt"
三、mv命令
- mv是move的缩写,移动或者重命名
- mv [选项] [源文件或目录] [目标文件或目录]
- 这里是列表文本mv命令有如下几种情况
- 目标文件是目录,但该目录不存在
[root@localhost test]# ls
222 2.txt 333 test1 test2
[root@localhost test]# mv 222 111
[root@localhost test]# ls
111 2.txt 333 test1 test2
意思:将目录222重命名为111;源目录消失
2.目标文件是目录,且该目录存在
[root@localhost test]# ls
111 2.txt 333 test1 test2
[root@localhost test]# mv 111 333
[root@localhost test]# ls
2.txt 333 test1 test2
[root@localhost test]# ls 333
111
意思:将目录111移动到目录333下
- 当目标文件是目录时,如果该目录存在,则会把源文件或目录移动到该目录中,如果该目录不存在,则会把源目录重命名为给定的目标文件名。
3.目标文件是文件,且该文件不存在
[root@localhost test]# ls
2.txt 333 test1 test2
[root@localhost test]# mv 2.txt 3.txt
[root@localhost test]# ls
333 3.txt test1 test2
意思:将文件2.txt重名命为3.txt;源文件消失
4.目标文件是文件,但该文件存在
[root@localhost test]# ls
1.txt 333 3.txt test1 test2
[root@localhost test]# mv 1.txt 3.txt
mv:是否覆盖"3.txt"? y
[root@localhost test]# ls
333 3.txt test1 test2
意思:将文件1.txt重命名为3.txt,源文件消失
文档查看命令
cat命令
- -n:查看文件时,把行号也显示在屏幕上
[root@localhost ~]# cat -n /etc/passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
11 games:x:12:100:games:/usr/games:/sbin/nologin
12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13 nobody:x:99:99:Nobody:/:/sbin/nologin
14 systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
15 dbus:x:81:81:System message bus:/:/sbin/nologin
16 polkitd:x:999:997:User for polkitd:/:/sbin/nologin
17 postfix:x:89:89::/var/spool/postfix:/sbin/nologin
18 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
19 chrony:x:998:996::/var/lib/chrony:/sbin/nologin
20 young:x:1000:1000::/home/young:/bin/bash
[root@localhost ~]#
- -A:显示所有的内容,包括特殊符号
[root@localhost ~]# cat -A /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$
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin$
sync:x:5:0:sync:/sbin:/bin/sync$
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown$
halt:x:7:0:halt:/sbin:/sbin/halt$
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin$
operator:x:11:0:operator:/root:/sbin/nologin$
games:x:12:100:games:/usr/games:/sbin/nologin$
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin$
nobody:x:99:99:Nobody:/:/sbin/nologin$
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin$
dbus:x:81:81:System message bus:/:/sbin/nologin$
polkitd:x:999:997:User for polkitd:/:/sbin/nologin$
postfix:x:89:89::/var/spool/postfix:/sbin/nologin$
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin$
chrony:x:998:996::/var/lib/chrony:/sbin/nologin$
young:x:1000:1000::/home/young:/bin/bash$
[root@localhost ~]#
注意:$ 是结束符*。
- tac命令
- 和cat一样,查看一个文件的内容将其显示在屏幕上,只不过是颠倒过来,先显示最后一行,最后显示第一行
[root@localhost ~]# tac /etc/passwd
young:x:1000:1000::/home/young:/bin/bash
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
lp:x:4:7:lp:/var/spool/lpd:/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
[root@localhost ~]#
more命令:
查看一个文件的内容,当文件内容太多,一屏显示不能显示时,按空格可以据需查看- 空格 向下翻屏
- Ctrl+b 向上翻屏
- Ctrl+f 向下翻屏
less命令:和more命令一样,直接跟文件名,但是比more功能更多
- 空格 翻页
- j键向下移动
- k键向上移动
- g光标定位到首行
- G光标定位到末尾
- /输入字符串,回车可以向下搜索这个字符串,按n键显示下一个
- ?输入字符串,回车可以向上搜索这个字符串,按n键显示下一个
head命令:用于显示文件的前10行,后面直接跟文件名;
- -n 这显示文件的前几行
[root@localhost ~]# head -n3 /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
[root@localhost ~]#
注意:-n后面有无空格均可;也可以省略字母n,-后面直接跟数字
- tail命令
- 和head命令类似,命令tail用于显示文件的最后10行,后面直接跟文件名
[root@localhost ~]# tail -n3 /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
young:x:1000:1000::/home/young:/bin/bash
[root@localhost ~]#
- tail –f 可以动态显示文件的最后10行,如果文件内容在不断增加,可以用-f选项非常直观显示,比如tail –f /var/log/messages 可以动态实时地查看日志内容。