这里是引用
-
find
1. 在指定目录下查找文件
find path [options] params
ex:
find -name "question.docx" ./exam/question.docx
在目录下寻找 “question.docx”的文件。得到结果为 ./exam/question.docx;
2. 全局搜索
find / -name "question.docx"
3. 模糊查询
find ~ -name "question*"
会查找出所有以question打头的文件
4. 不区分大小写查询
find ~ -iname "question*"
-
grep
查找文件里符合条件的字符串
grep [options] pattern file
1. 查找文件中的特定内容
grep "abc" question*
从以question开头的文件中检索abc;
grep -v "abc"
过滤包含abc字符串的信息
grep -o 'abc'
筛选包含abc字符串的内容
-
管道操作符 |
可将指令连接起来,前一个指令的输出作为后一个指令的输入
ex:查找特定文件
find ~ | grep question*
find ~ 列出主目录下所有文件 grep question* 从中获取出以question打头的文件
ps -ef |grep java
查看当前系统下的Java进程
管道命令符只处理前一个命令的正确输出,不处理错误输出
-
awk
一次读取一行文本,按输入分隔符进行切片,切成多个组成部分
awk '{print $1,$4}' log.txt
打印log.txt文件中的第一列和第四列
awk '$1==abc' && '$4==1{print $0}' log.txt
打印log.txt中第一列为abc 第四列等于1的所有行
awk ('$1==abc' && '$4==1) ||NR=1 {print $0}' log.txt
带表头打印log.txt中第一列为abc 第四列等于1的所有行
-
批量替换文件内容 sed
流编辑器,适用于对文本内容的编辑
sed -i 's/^Str/String/' test.java
将test.java中的Str转换为String
sed -i 's/\.$/\;/' test.java
将test.java中的 . 转换为 ;
sed -i 's/ABC/AAA/' test.java
将test.java中的出现的第一个 ABC 转换为AAA 若要全文替换 在第三个 / 后边 + g
-
chmod
权限 | value |
---|---|
可读(r) | 4 |
可写(w) | 2 |
可执行(x) | 1 |
chmod 755 test.sh
设定test.sh 文件的所有者有 读,写,执行的权限, 所有者所在的组的组员 和 其他人员 有读,执行的权限,
角色 | value |
---|---|
用户 | u |
小组 | g |
拥有者 | o |
chmod ugo=rwx file1
设定file1文件的 所有者, 组员, 其他人员的 均有 读,写,执行的 权限
chmod +x file1
给file1 加可执行权限