Linux-基本命令(查看,搜索文件 shell 权限 压缩 grep)
1.命令行工具
查看文件
file: 查看文件类型
cat:
查看小型文件内容
-n 加上行号
more和less(more的增强版)
显示大文件
显示控制命令:
空格 向下滚动一屏
回车:向下一行
h:帮助界面
q:退出
/{模式}:搜索{模式}
n:找到下一个模式
:f:显示文件名和当前行号
head和tail
默认显示文件开头或者结尾的10行
-n 设置显示行数
wc :
默认统计文件行数,单词数,字符数信息
-c 字节数
-m 字符数
-m 行数
-w 单词数
搜索文件
locate:在每天早晨系统创建的数据库(包含所有文件和目录列表)中查找。例子 locate words | head
find
搜索当前文件系统的所有文件,时间比locate长, 例子 find /usr -name words
-nmin n
-mtime n 显示 n*24小时之间修改过的文件
-group groupname 属于特定群组的文件
-size n 显示大小问n的文件
-ls 给出文件的详细信息
-delete 删除文件
-exec() / 在找到的文件上执行一个命令
比较文件
cmp 确定两个文件是否有差别,而不是差别在哪里,也可用于比较非文本文件
diff 查看两个文件有何不同
2.shell特性
shell变量 (可以保存有用信息)
创建变量语法 VAR=value
显示变量 echo $变量名
显示所有变量 set
默认情况下变量只有在创建它的shell中才可使用,但是通过 export 变量名 将变量转换成环境变量,可以把变量传递给可shell中执行的任何命令
别名
为命令定义一个别名 alias myfind=‘命令’
打开新的shell之后,需要重建别名,或者把alias命令放在主目录的.bashrc文件中,这个方法也可创建变量
历史
history 命令可以查看执行过的命令 例子 history | tail -n 5,显示结果中每个命令都被编号,通过 !编号 可重用命令
上箭头
3.权限
可读(目录可读表示可以列出目录文件),可写,可执行(目录的可执行表示可cd到这个目录或者在路径名中使用这个目录)
修改权限
chmod
八进制法
0到7分别表示一个权限组的具体权限
使用八进制法必须给出三个数字
符号
例子 chmod u+w filename
谁 | 做社么 | 权限 |
u 用户所有者 |
+ - = |
r w x
|
g 组所有者 | ||
o 其他用户 | ||
a 所有组 |
4.文件压缩
gzip
创建文件的压缩版本,默认替换初始文件
-c 为了保存初始文件 可将命令输出发送到stdout,例子 gzip -c filename > filename.gz
gizp 期望文件的扩展名是.gz
-d 解压缩用gzip压缩的文件
bzip2
和gizp的区别是如何执行压缩操作
tar
将一大堆文件合并在一起
默认情况下,tar不进行压缩,可以使用让tar使用gizp或者bzip2进行压缩,例如,分别使用-z(gizp)和-j(bzip2)选项即可
创建
例子 tar -cvf 压缩文件名.tar 目录名
-c 表示创建tar文件 ,-v表示生成合并到tar文件中的文件列表,-f 指定最终的tar文件名
查看
例子 tar -tf xxx.tar
提取
例子 tar -xf xxx.tar
5.grep 命令
grep 模式 文件名
只显示那些匹配了某种模式的数据行
默认不考虑模式是不是单词的一部分,例如 grep the 文件名 会匹配then
如果想匹配完成的单词,使用-w选项
正则表达式
^ 匹配模式从头开始的那些行,例子 grep "^There" 文件名
$ 匹配末尾
. 表示正好一个字符 ,例如 ”r..t“会匹配root
* 匹配0个或者多个字符
+ 一个或者多个字符
[ ] 匹配字符集中的单个字符
? 匹配可选的 字符 a?表示匹配a 或者什么都不匹配
| 匹配二者中的任意一个 例如 abc|xyz
\ 去除正则表达式字符的特殊意义,\*表示匹配*
使用grep 搜索文件
可以根据文件内容搜索文件,
-r 选项可以递归地搜索目录下的所有文件
-l 搜索目录时使用这个选项可以列出匹配的文件名
例子 grep -rl '^#!bin/bash' /etc/* 2>/dev/null