环境变量,cp,mv,查看文档命令

1、环境变量PATH

echo $PATH 打印当前的环境变量
PATH=$PATH:路径 定义环境变量linux


  • which查找某个命令的绝对路径,也能够查看某个命令的别名,which查找的范围就在PATH下的几个目录下查找;
[root@linux-128 ~]# which  ls
alias ls='ls --color=auto'
	/usr/bin/ls
/usr/bin/
  • 为何咱们在使用命令时,只是打出命令,而没有使用这些命令的绝对路径呢,这是由于环境变量PATH在起做用。
[root@linux-128 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
  • 若是你的命令在这几个目录下,你敲的命令就不须要加绝对路径; 例子:
[root@linux-128 ~]# cp /usr/bin/ls /tmp/ls2
[root@linux-128 ~]# which ls2
/usr/bin/which: no ls2 in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
  • 这里要用决对路径,若是不加就会报错;以下:
[root@linux-128 ~]# /tmp/ls2
anaconda-ks.cfg
[root@linux-128 ~]# /tmp/ls2  /usr/
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src	tmp
  • 咱们将ls2的目录加到PATH下,就能够直接使用ls2命令了,命令以下:
[root@linux-128 ~]# PATH=$PATH:/tmp/
[root@linux-128 ~]# ls2 /usr/
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src	tmp
  • 注意:这里只是临时将/tmp/目录加到PATH下,从新打开一个终端使用ls2仍是会报错,不会生效,若是想要永久生效,咱们须要修改配置文件/etc/profile;命令以下:
[root@linux-128 ~]# vi /etc/profile
在最后面添加一行PATH=$PATH:/tmp/
for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . "$i"
        else
            . "$i" >/dev/null
        fi
    fi
done

unset i
unset -f pathmunge
PATH=$PATH:/tmp/
  • 这里是列表文本 而后打开另外一个终端输入命令ls2
[root@linux-128 ~]# ls2
anaconda-ks.cfg
  • 若是想要删除/tmp/;删除配置文件后,在执行下列命令:
[root@linux-128 ~]# PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@linux-128 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

2、cp命令

  • cp [选项] [源文件] [目标文件]
  • -r 拷贝目录
  • -v 可视化
  • -i 安全选项,若是目标文件存在,提示是否覆盖。cp自带-i选项

cp定一个规矩,拷贝目录,都要加上/;安全

[root@linux-128 test]# ls
111  test1  test2
[root@linux-128 test]# touch 1.txt
[root@linux-128 test]# cp 1.txt 2.txt
[root@linux-128 test]# ls
111  1.txt  2.txt  test1  test2

cp –r 拷贝目录

[root@linux-128 test]# cp -r test1/ 333/
[root@linux-128 test]# ls
111  1.txt  2.txt  333  test1  test2

cp –i 安全选项

[root@linux-128 test]# cp 1.txt 2.txt
cp:是否覆盖"2.txt"? 
[root@linux-128 test]# echo '111'>> 1.txt   	// >>追加剧定向
[root@linux-128 test]# echo '222'>> 2.txt
[root@linux-128 test]# cat 1.txt
111
[root@linux-128 test]# cat 2.txt
222
[root@linux-128 test]# /bin/cp  1.txt 2.txt 	//用绝对路径就不会提示覆盖
[root@linux-128 test]# cat 2.txt
111

cp -v 可视化

[root@linux-128 test]# cp -v 2.txt 111/
"2.txt" -> "111/2.txt"

3、mv 命令

  • mv是move的缩写,移动或者重命名
  • mv [选项] [源文件或目录] [目标文件或目录]

  • 这里是列表文本mv命令有以下几种状况
  1. 目标文件是目录,但该目录不存在
[root@linux-128 test]# ls
222  2.txt  333  test1  test2
[root@linux-128 test]# mv 222 111
[root@linux-128 test]# ls
111  2.txt  333  test1  test2
意思:将目录222重命名为111;源目录消失
  1. 目标文件是目录,且该目录存在
[root@linux-128 test]# ls
111  2.txt  333  test1  test2
[root@linux-128 test]# mv 111 333  
[root@linux-128 test]# ls
2.txt  333  test1  test2
[root@linux-128 test]# ls 333
111
意思:将目录111移动到目录333下
  • 当目标文件是目录时,若是该目录存在,则会把源文件或目录移动到该目录中,若是该目录不存在,则会把源目录重命名为给定的目标文件名。
  1. 目标文件是文件,且该文件不存在
[root@linux-128 test]# ls
2.txt  333  test1  test2
[root@linux-128 test]# mv 2.txt 3.txt
[root@linux-128 test]# ls
333  3.txt  test1  test2
意思:将文件2.txt重名命为3.txt;源文件消失
  1. 目标文件是文件,但该文件存在
[root@linux-128 test]# ls
1.txt  333  3.txt  test1  test2
[root@linux-128 test]# mv 1.txt 3.txt
mv:是否覆盖"3.txt"? y
[root@linux-128 test]# ls
333  3.txt  test1  test2
意思:将文件1.txt重命名为3.txt,源文件消失
  • 当目标文件是文件时,若是该文件存在,则会询问是否覆盖,若是该文件不存在,则会把源文件重命名为给定的目标文件名。

4、查看文档的相关命令

cat命令

  • -n:查看文件时,把行号也显示在屏幕上;例如:
[root@linux-128 ~]# 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
  • -A:显示全部的内容,包括特殊符号;例如:
[root@linux-128 ~]# 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$

注意:$ 结束符。

tac命令

  • 和cat同样,查看一个文件的内容将其显示在屏幕上,只不过是颠倒过来,先显示最后一行,最后显示第一行;例如:
[root@linux-128 ~]# tac /tmp/test/3.txt
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

more命令

查看一个文件的内容,当文件内容太多,一屏显示不能显示时,按空格能够据需查看bash

  • 空格 向下翻屏
  • Ctrl+b 向上翻屏
  • Ctrl+f 向下翻屏

less命令

和more命令同样,直接跟文件名,可是比more功能更多less

  • 空格 翻页
  • j键向下移动
  • k键向上移动
  • g光标定位到首行
  • G光标定位到末尾
  • /输入字符串,回车能够向下搜索这个字符串,按n键显示下一个;
  • ?输入字符串,回车能够向上搜索这个字符串,按n键显示下一个;

head命令

用于显示文件的前10行,后面直接跟文件名;ssh

  • -n 这显示文件的前几行;例如:
[root@linux-128 ~]# head -n2 /tmp/test/3.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
  • 注意:-n后面有无空格都可;也能够省略字母n,-后面直接跟数字
[root@linux-128 ~]# head –n 5 /tmp/test/3.txt
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

[root@linux-128 ~]# head -5 /tmp/test/3.txt
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

tail命令

  • 和head命令相似,命令tail用于显示文件的最后10行,后面直接跟文件名;例如:
[root@linux-128 ~]# tail  /etc/passwd
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/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:997:995::/var/lib/chrony:/sbin/nologin
wuzhou:x:1000:1000::/home/wuzhou:/bin/bash
[root@linux-128 ~]# tail -n2 /etc/passwd
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
wuzhou:x:1000:1000::/home/wuzhou:/bin/bash
  • tail –f 能够动态显示文件的最后10行,若是文件内容在不断增长,能够用-f选项很是直观显示,好比tail –f /var/log/messages 能够动态实时地查看日志内容。
相关文章
相关标签/搜索