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

环境变量PATH cp命令 mv命令 文档查看cat/more/less/head/tail

时间:2018-03-28 11:04:43      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:PATH cp mv

一、环境变量PATH
echo $PATH
例如:把ls2命令加入到PATH环境变量中(ls2命令拷贝ls命令)
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# which ls
alias ls=‘ls --color=auto‘
/usr/bin/ls
[root@localhost ~]# cp /usr/bin/ls /tmp/ls2
[root@localhost ~]# /tmp/ls2
anaconda-ks.cfg
[root@localhost ~]# PATH=$PATH:/tmp
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp
[root@localhost ~]# ls2
anaconda-ks.cfg
[root@localhost ~]# which ls2
/tmp/ls2

让ls2命令永久生效:
[root@localhost ~]# vi /etc/profile
在文件最后一行添加:PATH=$PATH:/tmp/
再打开一个终端可以看到/tmp/已经加入环境变量,ls2命令也生效
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin
[root@localhost ~]# ls2
anaconda-ks.cfg

删除PATH中刚刚加入的/tmp/
[root@localhost ~]# vi /etc/profile
删除最后一行PATH=$PATH:/tmp/ 保存退出。
再新打开一个终端,可以看到/tmp/已经不在PATH中
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# ls2
-bash: ls2: command not found

二、cp命令
cp(copy):拷贝命令
cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。
例1:拷贝/etc/passwd 文件到/tmp/1.txt
[root@localhost ~]# cp /etc/passwd /tmp/1.txt
例2:拷贝/tmp/hll/ 目录到/tmp/111(拷贝目录,目录后面需要带/)
[root@localhost ~]# cp -r /tmp/hll/ /tmp/111
例3:拷贝/tmp/hll/目录到 /tmp/222/
[root@localhost ~]# cp -r /tmp/hll/ /tmp/222/
[root@localhost ~]# tree !$ (!$表示上一条命令的最后一个参数)
tree /tmp/222/
/tmp/222/
├── 1
│ └── 2
└── 2
└── 2.txt

3 directories, 1 file
查看cp命令的位置,cp命令其实是一个别名,真实命令为:cp -i(-i选项其实是一个安全选项,如果拷贝目标文件是已存在的文件,则会提示是否覆盖)
[root@localhost ~]# which cp
alias cp=‘cp -i‘
/usr/bin/cp
[root@localhost ~]# cp /etc/passwd /tmp/1.txt
cp: overwrite ‘/tmp/1.txt’? ^C
如果拷贝过程不需要提示,直接写cp命令的绝对路径
[root@localhost ~]# /usr/bin/cp /etc/passwd /tmp/1.txt
当目标目录已经存在的时候,会把源目录直接放到目标目录下;当目标目录不存在的时候,会把源目录拷贝到目标目录并重命名
[root@localhost ~]# tree /tmp/hll1/
/tmp/hll1/
├── 1
│ └── 2
├── 2
│ └── 2.txt
└── hll
├── 1
│ └── 2
└── 2
└── 2.txt

7 directories, 2 files
[root@localhost ~]# cp -r /tmp/hll/ /tmp/hll1/
cp: overwrite ‘/tmp/hll1/hll/2/2.txt’? n

选项:
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。
参数:
● 源文件:制定源文件列表。默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用-R选项;
● 目标文件:指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录。

三、mv命令
mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。
mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:
1、如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
2、如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。
注意事项:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。
mv 源目录 目标目录
如果目标目录不存在,则将源目录改名;如果目标目录存在,则将源目录移动到目标目录
选项:
--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
--strip-trailing-slashes:删除源文件中的斜杠“/”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
--target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
参数:
● 源文件:源文件列表。
● 目标文件:如果“目标文件”是文件名则在移动文件的同时,将其改名为“目标文件”;如果“目标文件”是目录名则将源文件移动到“目标文件”下。
例1:
将anaconda-ks.cfg 改名为anaconda-ks.cfg.1
[root@localhost ~]# mv anaconda-ks.cfg anaconda-ks.cfg.1
[root@localhost ~]# ls
anaconda-ks.cfg.1
例2 :
将/hll/目录下的1.txt移动到/root/下并改名为2.txt
[root@localhost hll]# mv 1.txt /root/2.txt
[root@localhost hll]# ls /root/
2.txt anaconda-ks.cfg.1
mv命令同样有-i选项,有提示,若不需要提示,直接使用mv命令的绝对路径/usr/bin/mv
[root@localhost hll]# which mv
alias mv=‘mv -i‘
/usr/bin/mv
四、文档查看cat_more_less_head_tail
cat命令:
cat命令是linux下的一个文本输出命令
tac命令:可以倒序查看cat出来的内容
参数:
-A:显示所有字符
-n :由 1 开始对所有输出的行数编号
[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 tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
18 postfix:x:89:89::/var/spool/postfix:/sbin/nologin
19 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
-b : 和 -n 相似,只不过对于空白行不编号
-s : 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 –show-nonprinting
cat aa >> bb 将aa文件追加到bb文件
[root@localhost ~]# cat /etc/passwd >> anaconda-ks.cfg.1

more命令:
more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。
该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:--More--(XX%)可以用下列不同的方法对提示做出回答:
● 按Space键:显示文本的下一屏内容。
● 按Enier键:只显示文本的下一行内容。
● 按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
● 按H键:显示帮助屏,该屏上有相关的帮助信息。
● 按B键:显示上一屏内容。
● 按Q键:退出rnore命令。
选项:
-<数字>:指定每屏显示的行数;
-d:显示“[press space to continue,‘q‘ to quit.]”和“[Press ‘h‘ for instructions]”;
-c:不进行滚屏操作。每次刷新这个屏幕;
-s:将多个空行压缩成一行显示;
-u:禁止下划线;
+<数字>:从指定数字的行开始显示。
扩展:wc命令----可以查看一个文件的行数
[root@localhost ~]# wc -l anaconda-ks.cfg.1
51 anaconda-ks.cfg.1

less命令:和more命令相似,但它支持方向键往上、往下看,Ctrl+B往上看,Ctrl+F往下看,空格往下看,需要按q键退出
如果需要看cdrom,敲/root,root则会高亮显示,如需看下一个root,按n键;如需看前一个root,按shift+n; 如果需要从后往前看,敲?root,则会从后往前显示; 显示到最后一行快捷键:shift+g,显示到第一行快捷键:g

head命令:查看一个文件的头10行
tail命令:查看一个文件的最后10行
-n 数字 :查看几行
tail -f :动态显示一个文件的最后10行(适用于查看日志)

环境变量PATH cp命令 mv命令 文档查看cat/more/less/head/tail

标签:PATH cp mv

原文地址:http://blog.51cto.com/13669226/2091882

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