标签:老男孩笔记
grep
-B 除了显示匹配的一行之外,并显示该行之前的num行。
-A 除了显示匹配的一行之外,并显示该行之后的num行。
-C 除了显示匹配的一行之外,并显示该行之前后各num行
head [–n] [文件名] ,显示文件的前几行, 默认文件的前10行。
tail [–n] [文件名],显示文件的后几行,默认文件结尾的后10行。
find 查找 -type 文件类型f(file),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,30’p ett.txt (-n 取消默认输出 ,-p表示打印)
sed -n 20,30p ett.txt
sed -n ‘20’p 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
标签:老男孩笔记
原文地址:http://hongtoushizi.blog.51cto.com/2141764/1827923