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

7月19号第二周命令总结

时间:2016-07-20 06:42:45      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:老男孩笔记

grep 

  除了显示匹配的一行之外,并显示该行之前的num行。

 A 除了显示匹配的一行之外,并显示该行之后的num行。

     C 除了显示匹配的一行之外,并显示该行之前后各num

 

head  [–n] [文件名] ,显示文件的前几行,  默认文件的前10行。

 

tail  [–n] [文件名],显示文件的后几行,默认文件结尾的后10行。

 

find   查找   -type  文件类型ffile,d(directory),c(character),b(block),s(socket),l(link),-name “文件名 -mtime时间,按修改时间查找,时间数字, +7 7前以前,7 7天,-7 最近7

 

 

 

 

 

 

sed

   sed   -e   /^ oldboy/d test.txt

   sed  /oldboy/d   test.txt

   sed  -n   /[^oldboy]/p test.txt

 

 

awk  /[^oldboy]/  test.txt

 

 

 

cp   不要覆盖文件提示的方法:

     1:   \cp   test.php demo1/

2:   /bin/cp   test.php  deom1/

3: unalias 取消别名。

 

cp  -i   test.php dem1/    (-i   表示提示要不要确认的意思)

      

为什么cp ,mv命令需要这样?如下:

 

输入 \或者全路径,是为了屏蔽它的别名功能。

 

 

 

alias 查看系统现有的别名。

unalias   cp 删除cp 别名设置。

设置别名:

alias rm= echo this command does  not allowto use .

 

定义别名永久生效:

/etc/profile 全局生效

~/.bashrc  当前用户生效。

别名的作用:
1: 通过给危险命令加一些保护参数,防止人为误操作。

2: 把复杂的命令或者字符串变成简单的。

 

http://oldboy.blog.51cto.com/2561410/699046

 

seq   sequence 序列。 

seq  -s   10   (制定分隔符)

 

sed stream  editor 流编辑器,可是实现文件的增删改

参数: n 取消默认输出,-i修改文件内容,-e允许多项编辑,

功能: 

    p打印 ,g与s联合使用时,表示对当前行全局匹配替换。

s常说的查找并替换,用一个字符串换成另一个。

s i  s#oldboy#oldgirl#g  a.txt

# 是分隔符,可以用 /@ 等替换。

 

 

题: 查看文件中20到30行的内容?

答案:

(一):

   head -30  ett.txt |tail -11

(二):这个方法是最有效率的

sed  -n 20,30p  ett.txt   (-n 取消默认输出 ,-p表示打印)

sed  -n 20,30p  ett.txt

sed  -n 20p  ett.txt 打印第20行

sed  -n $p  ett.txt 打印最后一行

(三):

awk  ‘19<NR && NR<31‘  ett.txt   NR 表示行号

 ()

     awk {if(NR<31&&NR>19) printf $0\n }  ett.txt

 

 (五):

grep20 –A 10 ett.txt

awk  过滤,输出内容,一门语言。 NR 表示行号。

 

awk  取其中一行  :awk  NR==31  ett.txt

 

题:   把oldboy目录及其子目录下所有以扩展名.sh结尾的文件名包含oldboy的字符串全部替换为oldgirl.

ls*.sh  | xargs  sed -i "s/oldboy/oldgirl/g" (-i 的作用,加-i的话,会更改文件的内容,不加-i的话,就只是输出改了。)

 

find  /oldboy -type  f  -name  “*.sh”  |xargs sed –i  ‘s#oldboy#oldgirl#g’

 


ls -l * |grep"^-"|wc -l      (“-”开头的是普通文件,“d”开头的是目录)

ls -l * |grep"^d"|wc -l  

 

xargs   从标准输入读入创建执行命令  -n 1 分组。

 

awk  -F   制定分隔符 NR行号  {print  $1 $2}

 

 

 

  大括号的使用:

 echo {1..10}   .. 表示序列。

 与 seq  -S  10 对比。

   Touch  {1..10}.sh 

   mkdir  /data/{3306,3307}/data p

 

! 的使用:

  1) !+ 字母,表示调出最近一次以此字母开头的命令。

  2) !+ 表示使用最近一次操作的命令。

  3) !+数字 表示调出历史的第几条命令。

  4) 取反的意思。(find ,shell)  find ./ ! -name "*3*"

 

 

快捷键:

ctrl+a 光标移动到行首

ctrl+e 光标移动到行尾

ctrl+u (清理命令前面的)

ctrl+r (搜索命令)

ctrl+s  挂起

ctrl+q  解除挂起

ctrl+w 清除当前行

ctrl+d  退出当前用户环境,相当于exit,logout

 

 

怎么看电脑是64位还是32位?

Uname a  或者uname m

ls ld   /64

 

 

 

问题解决方案:

[root@oldboy echo]# find /echo -type f -name"juntai{1..99}.txt" -exec rm {} \;

[root@oldboy echo]# ll

total 0

-rw-r--r--. 1 root root 0 Jul 20 05:15juntai100.txt

-rw-r--r--. 1 root root 0 Jul 20 05:15juntai10.txt

-rw-r--r--. 1 root root 0 Jul 20 05:15juntai11.txt

-rw-r--r--. 1 root root 0 Jul 20 05:15juntai12.txt

 

方案如下:  find  -name "juntai[0-9].txt" -o -name "juntai[0-9][0-9].txt" |xargs rm

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


7月19号第二周命令总结

标签:老男孩笔记

原文地址:http://hongtoushizi.blog.51cto.com/2141764/1827923

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