码迷,mamicode.com
首页 > 其他好文 > 详细

6.5 2.10-2.13

时间:2018-06-05 23:16:09      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:cp   mv   查看文档常用命令   PATH环境变量   

2.10 环境变量PATH

 

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

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

Which会从以上环境变量PATH列出的目录中去查找需要查找的内容;

通常使用的命令会被包含在PATH环境变量列出的路径中,如果没有则需要输入命令的绝对路径来执行命令;

 

[root@hyc-01-01 ~]# which ls which查看ls绝对路径

alias ls='ls --color=auto'

         /usr/bin/ls

[root@hyc-01-01 ~]# cp /usr/bin/ls /tmp/ls2 复制ls并改名为ls2

[root@hyc-01-01 ~]# /tmp/ls2 使用ls2的绝对路径与使用ls效果相同

anaconda-ks.cfg

[root@hyc-01-01 ~]# ls

anaconda-ks.cfg

 

在环境变量中添加新的路径:

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

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

[root@hyc-01-01 ~]# PATH=$PATH:/tmp/ PATH中添加新路径

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

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

[root@hyc-01-01 ~]# which ls2 which查找ls2

/tmp/ls2

[root@hyc-01-01 ~]# ls2

anaconda-ks.cfg

打开新终端发现原来修改的PATH环境变量不再生效

[root@hyc-01-01 ~]# vi /etc/profile

            . "$i" >/dev/null

        fi

    fi

done

 

unset i

unset -f pathmunge

PATH=$PATH:/tmp/ /etc/profile的末尾新加一行输入,使修改的环境变量永久生效(编辑后要重启终端才能生效)

 

PATH环境变量中去掉/tmp/路径

[root@hyc-01-01 ~]# PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin 编辑后立即生效

[root@hyc-01-01 ~]# ls2 此时在当前终端下/tmp/路径被去掉,ls2无法正常执行,其他终端ls2仍可以正常执行

-bash: ls2: 未找到命令

 

[root@hyc-01-01 ~]# vi /etc/profile 编辑删除PATH环境变量中的tmp路径

[root@hyc-01-01 ~]# ls2

anaconda-ks.cfg 编辑后在当前终端不生效

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

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

[root@hyc-01-01 ~]# init 6

重启后:

[root@hyc-01-01 ~]# ls2 重启后生效

-bash: ls2: 未找到命令

 

总结:

直接在命令行定义的环境变量会立即生效,但仅对当前终端产生影响;

/etc/profile下编辑的环境变量不会立即生效,但会对以后打开的所有终端生效;

 

2.11 cp命令

 

[root@hyc-01-01 ~]# cp /etc/passwd /tmp/1.txt 拷贝文件并改名

[root@hyc-01-01 ~]# cp -r /home/hyc /tmp/hyc1 拷贝目录并改名

 

[root@hyc-01-01 ~]# cp -r /home/hyc /tmp/hyc1

[root@hyc-01-01 ~]# tree !$ 表示上一条命令的最后一个参数

tree /tmp/hyc1

/tmp/hyc1

└── 1

    └── 2

        └── 3

            └── 4

                └── 5

 

5 directories, 0 files

 

-i

是一个安全参数,由于别名中携带了-i参数,执行cprm等命令时自动执行该参数,当要执行覆盖或删除等操作时会询问是否执行

[root@hyc-01-01 tmp]# rm -r /tmp/hyc1

rm:是否进入目录"/tmp/hyc1"? y

rm:是否删除普通文件 "/tmp/hyc1/.bash_logout"n

rm:是否删除普通文件 "/tmp/hyc1/.bash_profile"n

rm:是否删除普通文件 "/tmp/hyc1/.bashrc"n

rm:是否进入目录"/tmp/hyc1/1"? n

 

[root@hyc-01-01 tmp]# which rm

alias rm='rm -i'

         /usr/bin/rm

 

目标目录存在则将拷贝的目录放到目标目录下

[root@hyc-01-01 tmp]# cp -r /home/hyc /tmp/hyc1

[root@hyc-01-01 tmp]# ls /tmp/hyc1

1       hyc

目标目录不存在则将目标目录放到该路径下并改名

[root@hyc-01-01 tmp]# rm -rf /tmp/hyc1

[root@hyc-01-01 tmp]# cp -r /home/hyc /tmp/hyc1

[root@hyc-01-01 tmp]# ls -d /tmp/hyc1

/tmp/hyc1

hyc1目录下已经有了hyc目录,此时拷贝会询问是否覆盖原来的目录

[root@hyc-01-01 tmp]# ls /tmp/hyc1

1  hyc

[root@hyc-01-01 tmp]# cp -r /home/hyc /tmp/hyc1

cp:是否覆盖"/tmp/hyc1/hyc/.bash_logout" n

cp:是否覆盖"/tmp/hyc1/hyc/.bash_profile" n

cp:是否覆盖"/tmp/hyc1/hyc/.bashrc" n

 

2.12 mv命令

 

改名

[root@hyc-01-01 ~]# mv anaconda-ks.cfg anaconda-ks.cfg.1

[root@hyc-01-01 ~]# ls

anaconda-ks.cfg.1 在同一目录下使用mv修改文件名

 

移动位置并改名

[root@hyc-01-01 /]# mv 1.txt /root/2.txt

[root@hyc-01-01 /]# ls /root/

2.txt  anaconda-ks.cfg.1

 

移动文件位置

[root@hyc-01-01 tmp]# mv ls2 /root/ 移动文件位置

[root@hyc-01-01 tmp]# ls /root

2.txt  anaconda-ks.cfg.1  ls2

 

[root@hyc-01-01 tmp]# touch ls2

[root@hyc-01-01 tmp]# mv ls2 /root

mv:是否覆盖"/root/ls2" n

由于tmp下已经存在ls2,所以会询问是否要覆盖;

[root@hyc-01-01 tmp]# which mv mv别名中包含了询问的-i参数

alias mv='mv -i'

         /usr/bin/mv

若不想被询问则可以使用绝对路径;

[root@hyc-01-01 tmp]# /usr/bin/mv ls2 /root

[root@hyc-01-01 tmp]# ls /root

2.txt  anaconda-ks.cfg.1  ls2

 

目标目录不存在,默认修改目录名称

[root@hyc-01-01 tmp]# ls

1.txt

hyc

hyc1

systemd-private-1a74390875ee4c98ad59a45fa70b6dde-chronyd.service-NivrOU

systemd-private-1a74390875ee4c98ad59a45fa70b6dde-vgauthd.service-tOI3yN

systemd-private-1a74390875ee4c98ad59a45fa70b6dde-vmtoolsd.service-Dmal7Q

systemd-private-68e903313c14409eacbfe6cd62bb86f1-chronyd.service-OLfg6k

systemd-private-68e903313c14409eacbfe6cd62bb86f1-vgauthd.service-QmAF2a

systemd-private-68e903313c14409eacbfe6cd62bb86f1-vmtoolsd.service-mhDObv

systemd-private-fb38c0e27d9549b79f65eea8141c6a7a-chronyd.service-oVr265

systemd-private-fb38c0e27d9549b79f65eea8141c6a7a-vgauthd.service-ejJeNJ

systemd-private-fb38c0e27d9549b79f65eea8141c6a7a-vmtoolsd.service-mTGiss

[root@hyc-01-01 tmp]# mv hyc hyc2

[root@hyc-01-01 tmp]# ls

1.txt

hyc1

hyc2

systemd-private-1a74390875ee4c98ad59a45fa70b6dde-chronyd.service-NivrOU

systemd-private-1a74390875ee4c98ad59a45fa70b6dde-vgauthd.service-tOI3yN

systemd-private-1a74390875ee4c98ad59a45fa70b6dde-vmtoolsd.service-Dmal7Q

systemd-private-68e903313c14409eacbfe6cd62bb86f1-chronyd.service-OLfg6k

systemd-private-68e903313c14409eacbfe6cd62bb86f1-vgauthd.service-QmAF2a

systemd-private-68e903313c14409eacbfe6cd62bb86f1-vmtoolsd.service-mhDObv

systemd-private-fb38c0e27d9549b79f65eea8141c6a7a-chronyd.service-oVr265

systemd-private-fb38c0e27d9549b79f65eea8141c6a7a-vgauthd.service-ejJeNJ

systemd-private-fb38c0e27d9549b79f65eea8141c6a7a-vmtoolsd.service-mTGiss

 

目标目录存在,则会将源目录放到目标目录下

[root@hyc-01-01 tmp]# mv hyc1 hyc2

[root@hyc-01-01 tmp]# ls hyc2

1       hyc1

 

目标目录hyc2下已存在hyc1,则无法继续移动同名的hyc1hyc2目录下

[root@hyc-01-01 tmp]# mkdir hyc1

[root@hyc-01-01 tmp]# mv hyc1 hyc2

mv:是否覆盖"hyc2/hyc1" y

mv: 无法将"hyc1" 移动至"hyc2/hyc1": 文件已存在

 

2.13文档查看cat_more_less_head_tail

 

cat

[root@hyc-01-01 /]# cat /etc/passwd

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

 

cat –A 查看文件的所有字符

[root@hyc-01-01 /]# 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$

 

[root@hyc-01-01 /]# cat -n /etc/passwd

     1    root:x:0:0:root:/root:/bin/bash cat的同时显示行号

     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

 

tac 倒序查看文件

[root@hyc-01-01 /]# tac /etc/passwd

hyc:x:1000:1000::/home/hyc:/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

 

more 一屏一屏显示文件内容,所有内容查看完会自动退出

 

 

[root@hyc-01-01 ~]# wc -l anaconda-ks.cfg.1

51 anaconda-ks.cfg.1 文件共有51

[root@hyc-01-01 ~]# cat /etc/passwd >> anaconda-ks.cfg.1

[root@hyc-01-01 ~]# cat /etc/passwd >> anaconda-ks.cfg.1 追加重定向查看到的内容到目标文件中

使用more命令时,按空格键向下翻屏;按ctrl+B向上翻屏

 

less

more相同支持空格向下翻屏、ctrl+B向上翻屏;

支持上下方向键查看上一行或下一行;

支持ctrl+F向下翻屏;

退出命令需要按q否则不会自动退出;

less下查找指定字符(串):

 

/会从前向后查找匹配的项

输入/cdrom/后跟要查找的字符后回车即可;

匹配的内容会高亮显示;

支持按N键向下查看,按shift+N向上查看;

所有匹配项查看完后会出现提示Pattern not found

 

?会从后向前查找匹配的项

此时按N键会向上查看,按shift+N会向下查看;

其他用法相同;

 

快捷键

g会定位到首行,敲shift+g会定位到行尾;

 

head 查看文件开头的几行

[root@hyc-01-01 ~]# head anaconda-ks.cfg.1 headtail默认显示10

#version=DEVEL

# System authorization information

auth --enableshadow --passalgo=sha512

# Use CDROM installation media

cdrom

# Use graphical install

graphical

# Run the Setup Agent on first boot

firstboot --enable

ignoredisk --only-use=sda

 

tail 查看文件末尾的几行

[root@hyc-01-01 ~]# tail anaconda-ks.cfg.1

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

hyc:x:1000:1000::/home/hyc:/bin/bash

 

-n参数 指定要查看的行数

[root@hyc-01-01 ~]# head -12 anaconda-ks.cfg.1 查看文件的头12

#version=DEVEL

# System authorization information

auth --enableshadow --passalgo=sha512

# Use CDROM installation media

cdrom

# Use graphical install

graphical

# Run the Setup Agent on first boot

firstboot --enable

ignoredisk --only-use=sda

# Keyboard layouts

keyboard --vckeymap=cn --xlayouts='cn'

 

tail查看动态文件

[root@hyc-01-01 ~]# tail -f anaconda-ks.cfg.1 会发现并没有退出命令,

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

hyc:x:1000:1000::/home/hyc:/bin/bash

 

[root@hyc-01-01 ~]# cat /etc/passwd >> anaconda-ks.cfg.1

此时另起一个终端,在新终端下向anaconda-ks.cfg.1追加内容会发现tail –f下显示的内容在动态增加

 


6.5 2.10-2.13

标签:cp   mv   查看文档常用命令   PATH环境变量   

原文地址:http://blog.51cto.com/12216458/2125303

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!