Linux 基本操作命令总结

文章热词:Linux

日期:2019-08-09 08:33 by 杨国伟 325 0 收藏
我要分享

摘要:Linux 基本操作命令 文件和目录管理 创建和删除

创建:mkdir

删除:rm

删除非空目录:rm -rf file 目录

删除日志 rm log (等价: $find ./-name “log” -exec rm {} ; )

移动:mv

复制:cp (复制目录:cp -r)

创建文件 touch

查看

显示当前目录下的文件 ls

按时间排序,以列表的方式显示目录项 ls -lrt

ls -l

查看文件内容 cat 可以加 more 、less 控制输出的内容的大小

cat a.textcat a.text | morecat a.text| less

权限

改变文件的拥有者 chown

改变文件读、写、执行等属性 chmod

递归子目录修改:chown -R tuxapp source/

增加脚本可执行权限:chmod a+x myscript

管道和重定向

把前一个命令的执行结果当做后一个命令的输入 |

串联:使用分号 ;

前面成功,则执行后面一条,否则,不执行: &&

前面失败,则后一条执行: ||

ls /proc && echo  suss! || echo failed.

文本处理


文件查找 find

find 参数很多,本文只介绍几个常用的

-name 按名字查找

-type 按类型

-atime 访问时间

find . -atime 7 -type f -printfind . -type d -print  //只列出所有目录find / -name "hello.c" 查找hello.c文件

文本查找 grep

grep match_patten file // 默认访问匹配行

常用参数

-o 只输出匹配的文本行 VS -v 只输出没有匹配的文本行

-c 统计文件中包含文本的次数

grep -c “text” filename

-n 打印匹配的行号

-i 搜索时忽略大小写

-l 只打印文件名

grep "class" . -R -n # 在多级目录中对文本递归搜索(程序员搜代码的最爱)cat LOG.* | tr a-z A-Z | grep "FROM " | grep "WHERE" > b #将日志中的所有带where条件的sql查找查找出来

文本替换 sed

sed [options] 'command' file(s)

首处替换

sed 's/text/replace_text/' file   //替换每一行的第一处匹配的text

全局替换

sed 's/text/replace_text/g' file

默认替换后,输出替换后的内容,如果需要直接替换原文件,使用 -i:

sed -i 's/text/repalce_text/g' file

移除空白行

sed '/^$/d' file
sed 's/book/books/' file #替换文本中的字符串:sed 's/book/books/g' filesed '/^$/d' file #删除空白行

数据流处理 awk

详细教程可以查看 http://awk.readthedocs.io/en/latest/chapte...

awk ' BEGIN{ statements } statements2 END{ statements } '

工作流程

1. 执行 begin 中语句块;

2. 从文件或 stdin 中读入一行,然后执行 statements2,重复这个过程,直到文件全部被读取完毕;

3. 执行 end 语句块;

特殊变量

NR: 表示记录数量,在执行过程中对应当前行号;

NF: 表示字段数量,在执行过程总对应当前行的字段数;

$0: 这个变量包含执行过程中当前行的文本内容;

$1: 第一个字段的文本内容;

$2: 第二个字段的文本内容;

awk '{print $2, $3}' file# 日志格式:'$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"'#统计日志中访问最多的10个IPawk '{a[$1]++}END{for(i in a)print a[i],i|"sort -k1 -nr|head -n10"}' access.log

排序 sort

-n 按数字进行排序 VS -d 按字典序进行排序

-r 逆序排序

-k N 指定按第 N 列排序

sort -nrk 1 data.txtsort -bd data // 忽略像空格之类的前导空白字符

去重 uniq

消除重复行

sort unsort.txt | uniq

统计 wc

wc -l file // 统计行数wc -w file // 统计单词数wc -c file // 统计字符数

上一篇:九型人格

下一篇:PHP curl常用的5个例子


评论