linux菜鸟学习(二)----mv,cp,touch,cat,nl,more,less

7.mv 命令:

-b :若需覆盖文件,则覆盖前先行备份。 

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

-u :若目标文件已经存在,且 source 比较新,才会更新(update)

         -t  : --target-directory=DIRECTORYmove all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

 

1

//a.php重命名为 abc.jsp

mv  a.php  abc.jsp

 

2

//abc.php文件移动到test目录

mv abc.php  test

3

//命令将log1.txt log2.txt log3.txt 三个文件移到 test1目录中去

mv  log1.txt log2.txt log3.txt tes1 

//命令又将三个文件移动到test2目录中去

mv -t mv /home/alpha/桌面/A/test2/ log1.txt log2.txt log3.txt 

4

//将文件file1改名为file2,如果file2已经存在,则询问是否覆盖

mv –I a.php b.html

//将文件file1改名为file2,如果file2已经存在,还是直接覆盖

mv –f a.php b.html

5

//目录的移动将test移动到test11目录中

mv test test11

6

//移动当前文件夹下的所有文件到上一级目录

mv * ../

//把当前目录的一个子目录的文件移动到另一个子目录里

mv test1/*.txt test2

 

8.cp命令

-a, --archive    等于-dR --preserve=all

    --backup[=CONTROL    为每个已存在的目标文件创建备份

-b,类似--backup 但不接受参数

   --copy-contents     在递归处理是复制特殊文件内容

-d等于--no-dereference --preserve=links

-f, --force  如果目标文件无法打开则将其移除并重试(当 -n 选项存在时则不需再选此项)

-i, --interactive  覆盖前询问(使前面的 -n 选项失效)

-H    跟随源文件中的命令行符号链接

-l, --link    链接文件而不复制

-L, --dereference   总是跟随符号链接

-n, --no-clobber   不要覆盖已存在的文件(使前面的 -i 选项失效)

-P, --no-dereference   不跟随源文件中的符号链接

-p   等于--preserve=模式,所有权,时间戳

    --preserve[=属性列表   保持指定的属性(默认:模式,所有权,时间戳),如果可能保持附加属性:环境、链接、xattr 等

-R, -r, --recursive  复制目录及目录内的所有项目

1

//复制单个文件到目标目录,文件在目标目录中不存在,存在时会询问;目标文件存在时,会询问是否覆盖。这是因为cpcp -i的别名。目标文件存在时,即使加了-f标志,也还会询问是否覆盖。

cp a.log test

2

//复制整个目录,如果目标目录存在时,则整个目录复制到目标目录里面;

cp –a test test11

[root@localhost A]# cp -a a test

[root@localhost A]# ll

总用量 0

drwxr-xr-x 2 root root 67 7  10 11:35 a

drwxr-xr-x 3 root root 27 7  10 11:54 test

[root@localhost A]# cd test

[root@localhost test]# ll

总用量 0

drwxr-xr-x 2 root root 67 7  10 11:35 a

-rw-r--r-- 1 root root  0 7  10 11:38 a.html

//不存在,就产生目标目录

cp –a test test12

[root@localhost A]# cp -a a b

[root@localhost A]# ll

总用量 0

drwxr-xr-x 2 root root 67 7  10 11:35 a

drwxr-xr-x 2 root root 67 7  10 11:35 b

drwxr-xr-x 3 root root 27 7  10 11:54 test

3

//复制的 a.html建立一个连结档 a_link.html;-s 的参数造成的,建立的是一个『快捷方式』,所以您会看到在文件的最右边,会显示这个文件是『连结』到哪里去的

cp –s a.html a_link.html

[root@localhost A]# cp -s a.html a_link.html

[root@localhost A]# ll

总用量 0

-rw-r--r-- 1 root root  0 7  10 11:23 a.html

lrwxrwxrwx 1 root root  6 7  10 12:03 a_link.html -> a.html

9.touch 命令:

-a   或--time=atime或--time=access或--time=use  只更改存取时间。

-c   或--no-create  不建立任何文档。

-d  使用指定的日期时间,而非现在的时间。

-f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m   或--time=mtime或--time=modify  只更改变动时间。

-r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

-t  使用指定的日期时间,而非现在的时间

1:创建不存在的文件

touch a.log b.log

2:更新a.log的时间和b.log时间戳相同

touch -r a.log b.log

3:设定文件的时间戳

touch -t 201607142234.50 a.log

-t  time 使用指定的时间值 time 作为指定文件相应时间戳记的新值.此处的 time规定为如下形式的十进制数:      

  [[CC]YY]MMDDhhmm[.SS]    这里,CC为年数中的前两位,即”世纪数”;YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch   将把年数CCYY限定在1969--2068之内.MM为月数,DD为天将把年数CCYY限定在1969--2068之内.MM为月数,DD为天数,hh 为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0--61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时 间.由于系统的限制,早于1970年1月1日的时间是错误的。

10.Cat 命令:

cat主要有三大功能:

1.一次显示整个文件:cat filename

2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

3.将几个文件合并为一个文件:cat file1 file2 > file

命令参数:

-A, --show-all           等价于 -vET

-b, --number-nonblank    对非空输出行编号

-e                       等价于 -vE

-E, --show-ends          在每行结束处显示 $

-n, --number     对输出的所有行编号,由1开始对所有输出的行数编号

-s, --squeeze-blank  有连续两行以上的空白行,就代换为一行的空白行 

-t                       与 -vT 等价

-T, --show-tabs          将跳格字符显示为 ^I

-u                       (被忽略)

-v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

1:把 a.log 的文件内容加上行号后输入 b.log 这个文件里(空格也加,a.logb.log内容不变)

[root@localhost test]# cat a.log

111111111

[root@localhost test]# cat b.log

22222222

[root@localhost test]# cat -n a.log b.log

     1  111111111

     2  22222222

[root@localhost test]# cat a.log

111111111

[root@localhost test]# cat b.log

22222222

2:把 a.log 的文件内容加上行号后输入 b.log 这个文件里(空格不加)

cat -b a.log b.log

3

 la.log 的文件内容加上行号后输入 b.log 这个文件里 (覆盖b.log

cat -n a.log > b.log

 la.log 的文件内容加上行号后输入 b.log 这个文件里 (不覆盖b.log

cat -n a.log > >b.log

4:使用here doc来生成文件

[root@localhost test]# cat >log.txt <<EOF

> Hello

> World

> Linux

> PWD=$(pwd)

> EOF

说明:注意粗体部分,here doc可以进行字符串替换。

备注:tac (反向列示)

命令:

tac log.txt

输出:

[root@localhost test]# tac log.txt

PWD=/opt/soft/test

Linux

World

Hello

说明:tac 是将 cat 反写过来,所以他的功能就跟 cat相反, cat是由第一行到最后一行连续显示在萤幕上,而 tac则是由最后一行到第一行反向在萤幕上显示出来!

11.nl 命令

nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。 

1.命令格式:

nl [选项]... [文件]...

2.命令参数:

-b  :指定行号指定的方式,主要有两种:

-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);

-b t :如果有空行,空的那一行不要列出行号(默认值);

-n  :列出行号表示的方法,主要有三种:

-n ln :行号在萤幕的最左方显示;

-n rn :行号在自己栏位的最右方显示,且不加 0 ;

-n rz :行号在自己栏位的最右方显示,且加 0 ;

-w  :行号栏位的占用的位数。

-p 在逻辑定界符处不重新开始计算。

3.命令功能:

nl 命令读取 File 参数(缺省情况下标准输入),计算输入中的行号,将计算过的行号写入标准输出。 在输出中,nl 命令根据您在命令行中指定的标志来计算左边的行。 输入文本必须写在逻辑页中。每个逻辑页有头、主体和页脚节(可以有空节)。 除非使用 -p 标志,nl 命令在每个逻辑页开始的地方重新设置行号。 可以单独为头、主体和页脚节设置行计算标志(例如,头和页脚行可以被计算然而文本行不能)。

1:用 nl列出 log2012.log的内容

命令:

nl log2012.log

输出:

[root@localhost test]# nl log2012.log

     1  2012-01

     2  2012-02

 

     3  ======[root@localhost test]#

说明:

文件中的空白行,nl不会加上行号

2:用 nl列出 log2012.log的内容,空本行也加上行号

命令:

nl -b a log2012.log

输出:

[root@localhost test]# nl -b a log2012.log

     1  2012-01

     2  2012-02

     3

     4

     5  ======[root@localhost test]#

3:让行号前面自动补上0,统一输出格式

命令:

输出:

[root@localhost test]# nl -b a -n rz log2014.log

000001  2014-01

000002  2014-02

000003  2014-03

000004  2014-04

000005  2014-05

000006  2014-06

000007  2014-07

000008  2014-08

000009  2014-09

000010  2014-10

000011  2014-11

000012  2014-12

000013  =======

[root@localhost test]# nl -b a -n rz -w 3 log2014.log

001     2014-01

002     2014-02

003     2014-03

004     2014-04

005     2014-05

006     2014-06

007     2014-07

008     2014-08

009     2014-09

010     2014-10

011     2014-11

012     2014-12

013     =======

说明:

nl -b a -n rz 命令行号默认为六位,要调整位数可以加上参数 -w 3调整为3位。

12.more 命令:

+n      从笫n行开始显示

-n       定义屏幕大小为n

+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示 

-c       从顶部清屏,然后显示

-d       提示“Press space tocontinue,’q to quit(按空格键继续,按q键退出)”,禁用响铃功能

-l        忽略Ctrl+l(换页)字符

-p       通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似

-s       把连续的多个空行显示为一行

-u       把文件内容中的下画线去掉

Enter    向下n行,需要定义。默认为1

Ctrl+F   向下滚动一屏

空格键  向下滚动一屏

Ctrl+B  返回上一屏

=       输出当前行的行号

f    输出文件名和当前行的行号

V      调用vi编辑器

!命令  调用Shell,并执行命令

q       退出more

1:显示文件中从第3行起的内容

more +3 abc.log

 

2:从文件中查找第一个出现"sb"字符串的行,并从该处前两行开始显示输出

more +/sb abc.log

3:设定每屏显示行数:

more -3 abc.log


如下图所示,最下面显示了该屏展示的内容占文件总行数的比例,按 Ctrl+F或者空格键将会显示下一屏3条内容,百分比也会跟着变化。

4:列一个目录下的文件,由于内容太多,我们应该学会用more来分页显示。这得和管道 | 结合起来

命令:ls –l |more -2


13.less 命令:

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

1.命令格式:

less [参数]  文件

2.命令功能:

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

3.命令参数:

-b <缓冲区大小> 设置缓冲区的大小

-e  当文件显示结束后,自动离开

-f  强迫打开特殊文件,例如外围设备代号、目录和二进制文件

-g  只标志最后搜索的关键词

-i  忽略搜索时的大小写

-m  显示类似more命令的百分比

-N  显示每行的行号

-o <文件名> 将less 输出的内容在指定文件中保存起来

-Q  不使用警告音

-s  显示连续空行为一行

-S  行过长时间将超出部分舍弃

-x <数字> 将“tab”键显示为规定的数字空格

/字符串:向下搜索“字符串”的功能

?字符串:向上搜索“字符串”的功能

n:重复前一个搜索(与 / 或 ? 有关)

N:反向重复前一个搜索(与 / 或 ? 有关)

b  向后翻一页

d  向后翻半页

h  显示帮助界面

Q  退出less 命令

u  向前滚动半页

y  向前滚动一行

空格键 滚动一行

回车键 滚动一页

[pagedown]: 向下翻动一页

[pageup]:   向上翻动一页

1:查看文件

less abc.log


2ps查看进程信息并通过less分页显示

ps -ef |less


3:查看命令历史使用记录并通过less分页显示

history | less


5:浏览多个文件

less abc.log a.log


说明:

输入 :n后,切换到 log2014.log

输入 :p 后,切换到log2013.log

4.附加备注

1.全屏导航

ctrl + F - 向前移动一屏

ctrl + B - 向后移动一屏

ctrl + D - 向前移动半屏

ctrl + U - 向后移动半屏

 

2.单行导航

j - 向前移动一行

k - 向后移动一行

 

3.其它导航

G - 移动到最后一行

g - 移动到第一行

q / ZZ - 退出 less 命令

 

4.其它有用的命令

v - 使用配置的编辑器编辑当前文件

h - 显示 less 的帮助文档

&pattern - 仅显示匹配模式的行,而不是整个文件

 

5.标记导航

当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:

ma - 使用 a 标记文本的当前位置

'a - 导航到标记 a 处



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值