Linux(1)---常用命令

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux(1)---常⽤命令

1、将tgz⽂件解压到指定⽬录:

# tar zxvf test.tgz -C 指定⽬录

⽐如将 /lyl/test.tgz解压到 /lyl/linux ⽬录下

# tar zxvf /lyl/test.tgz -C /lyl/linux

2、删除正则匹配的⽂件

⽐如 home下⾯有我备份的⽂件压缩包(是按照每5分钟备份⼀次,⽂件名取⽇期加启动时间为名)

a_20100703174001.tar.gz

a_20100703174501.tar.gz

....

....

a_20100704013001.tar.gz

a_20100704013501.tar.gz

我想把a_20100703这个⽇期的所有备份⽂件删除掉!

这个a_20100704的保留

find . -name "a_20100703*" | xargs rm

将标准输⼊作为xargs后⾯命令的参数

4、grep:正则,从⼤量的⽂件中找出含有特定字符的⽂件。# 使⽤-l选项,从3个⽂件(1.txt,2.txt,3.txt)中找到内容包含first的⽂件

[roc@roclinux ~]$ grep -l "first" *.txt

1.txt

原来只有 1.txt ⽂件中包含有 first 单词。如果我想找出不含 first 单词的⽂件都有哪些,该如何操作呢?

[roc@roclinux ~]$ grep -L "first" *.txt

2.txt

3.txt

我们希望搜索/etc/passwd⽂件中开头是 leo 的⾏:

# ^表⽰⾏⾸

[root@roclinux ~]# grep'^leo' /etc/passwd

leo:x:503:503::/home/leo:/bin/bash

我们希望搜索 /etc/passwd ⽂件中⾏尾是 bash 的⾏呢?

# $ 表⽰⾏尾

[root@roclinux ~]# grep'bash$' /etc/passwd

root:x:0:0:root:/root:/bin/bash

cloud-user:x:500:500::/home/cloud-user:/bin/bash

test:x:502:502::/home/test:/bin/bash

leo:x:503:503::/home/leo:/bin/bash

roc:x:504:504::/home/roc:/bin/bash

grep:快速搜索在⽬录下⾯的含有关键字的⽂件

cd directories

grep -r 关键字

grep搜索⽂件是否包含指定内容并返回⽂件名

第⼀种⽅法:使⽤grep,假设搜索所有的.cpp⽂件是否包含'open'字符串,如果包含了,则显⽰该⽂件,命令如下:

grep -rl 'open' . --include=*.cpp

则执⾏结果如下:

./test/testall/file.cpp

./test/testall/shell_test.cpp

./test/daemontest/main.cpp

但是有时候只显⽰⽂件名,也不知道出现的地⽅到底是什么样⼦的,如果还有顺带查看⼀下那⼀⾏的内容,可以⽤如下命令:grep -rn 'open' . --include=*.cpp

则,执⾏结果如下:

./test/testall/file.cpp:270: FILE *file = fopen(file_name.c_str(),"w");

./test/testall/file.cpp:273: printf("Can't open the file\n");

./test/testall/shell_test.cpp:29: FILE *file = fopen(file_name, "r");

./test/daemontest/main.cpp:53: openlog("daemontest",LOG_PID,LOG_USER);

显⽰了⽂件名,⾏号以及该⾏内容。

第⼆种⽅法:使⽤find命令+grep

假设搜索所有的.cpp⽂件是否包含'open'字符串,如果包含了,则显⽰该⽂件,命令如下:

find -name '*.cpp' -exec grep -l 'open' {} \;

则结果如下:

./test/testall/file.cpp

./test/testall/shell_test.cpp

./test/daemontest/main.cpp

5、对⽐两个⽂件中内容的差别

可以⽤diff命令对⽐⽂档内容。

[语法]: diff [参数] ⽂件1 ⽂件2

[说明]: 本命令⽐较两个⽂本⽂件,将不同的⾏列出来

-b 将⼀串空格或TAB 转换成⼀个空格或TAB

-e ⽣成⼀个编辑⾓本,作为ex 或ed 的输⼊可将⽂件1 转换成⽂件2

[例⼦]:

diff file1 file2

diff -b file1 file2

diff -e file1 file2 >edscript

diff 命令的常⽤参数

a 将所有⽂件当做⽂本⽂件来处理

b 忽略空格造成的不同

B 忽略空⾏造成的不同

q 只报告什么地⽅不同,不报告具体的不同信息

H 利⽤试探法加速对⼤⽂件的搜索

i 忽略⼤⼩写的变化

l ⽤pr对输出进⾏分页

r 在⽐较⽬录时⽐较所有的⼦⽬录

s 两个⽂件相同时才报告

v 在标准输出上输出版本信息并退出

ll -R > dir1.list

ll -R > dir2.list

提取两个列表,再⽤diff⽐较

6、wc命令⽤于计算字数

语法

wc [-clw][--help][--version][⽂件...]

参数:

-c或--bytes或--chars 只显⽰Bytes数。

相关文档
最新文档