Linux基本操作

文章目录

  • 前言
  • 一、tar
  • 二、find
  • 三、grep
  • 总结


前言


一、tar

# tar 打包和压缩
tar -cvf xxx.tar xxx.xxx      #将文件打成一个tar包,不压缩
tar -zcvf xxx.tar.gz xxx      #打包成tar.gz格式压缩包
tar -jcvf xxx.tar.bz2 xxx     #打包成tar.bz2格式压缩包
# tar 解压
tar zxvf xxx.tar.gz         #解压tar.gz格式压缩包
tar jxvf xxx.tar.bz2        #解压tar.bz2格式的压缩包
tar xvf xxx.tar.[gz/bz2]    #两种解压的便捷写法
# 参数
	-z:通过 gzip 指令处理文件
	-j:通过 bzip2 指令处理文件
	-c:创建归档文件,也就是打包
	-x:从归档文件中还原文件,也就是解压
	-v:显示操作过程
	-f:指定压缩文件

# zip 压缩和解压
zip -q -r xxx.zip xxx   # 压缩成zip格式
unzip xxx.zip           # 解压zip格式的压缩包
# 参数
	-q:不显示指令执行过程
	-r:递归处理

二、find

find是一个很强大的搜寻指令,但是花用的时间很大,因为find是直接搜寻硬盘。如果可以,推荐使用whereislocate指令代替搜索。

# 语法
find <指定目录> <指定条件> <指定动作>
# 在根目录下查找文件名以`.out`结尾的文件
find / -name "*.out"
# 在当前目录下查找以abc 开头的文件,并显示详情
find . -name "abc*" -ls
# 在当前目录中搜索过去10分钟更新的普通文件,如果不加-type f 参数,则搜索普通文件+特殊文件+目录
find . -type f -mmin -10
	-type 根据文件类型查找:f表示文件,d表示目录,l表示软链接
	-amin 访问时间
	-cmin 文件属性被更改
	-mmin 文件内容被修改
# 查找当前目录下i节点为400342的文件或目录
find . -inum 400342
	-inum 根据i节点查找

# 在当前目录下查找大于100M的文件,-n表示小于,n表示等于;1数据块==512字节==0.5KB,也就是1KB等于2数据块,100MB==102400KB==204800数据块
find . -size +204800

# 组合搜索:当前目录查找大于100M且过去十分钟 更新的普通文件的文件
find . -size +204800 -a -type f -mmin -10
	-a 表示两个条件同时满足(and)
	-o 表示两个条件满足一个即可(or)
#---统计源码的行数---#
#去空行
find . "(" -name "*.c" -or -name "*.h" -or -name "*.lua" ")" -print | xargs grep -v "^$"|wc -l
#含空行
find . "(" -name "*.c" -or -name "*.h" -or -name "*.lua" ")" -print | xargs wc -l
#也可以用cloc工具统计源码行数
cloc <path>

三、grep

#语法
grep [选项] pattern [文件名]

#在当前路径下的所有文件中查找字符串gcc所在位置
grep -rn 'gcc' .
	--color=auto 对匹配到的文本着色显示
	-a 将 binary 文件以 text 文件的方式搜寻数据
	-r 递归读取每个目录下的文件
	-w 完全匹配字符串,相当于 grep "\" # 匹配 cat 而不是categories或者catch
	-v 反向选择,亦即显示出没有 'gcc' 内容的那一行!
	-i 忽略字符大小写
	-n 显示匹配的行号
	-c 计算找到 'gcc' 的次数
	-o 仅显示匹配到的字符串
	-e 实现多个选项间的逻辑or关系	# grep –e ‘cat ’ -e ‘dog’ file
	-q 静默模式,不输出任何信息
	-E 使用ERE,相当于egrep
	-F 相当于fgrep,不支持正则表达式
	-G 支持普通正则表达式
	-f 把PATTERN写入文件中:# grep -f patterns.txt  sample.file
	-x 强制性以行为单位进行匹配
	-m 指定最多搜索数      # grep -m 10 cat sample.txt 在sample.txt中最多搜索10个cat
	
	-rn --color=auto  # 递归查找,显示行号并显示color
# 在ls的结果中搜索以a开头的文件或目录
ls | grep '^a'




总结

你可能感兴趣的:(Linux,bash,linux,开发语言)