[TOC]
# 查看目录 || 文件
## 目录切换:
~~~
> cd 目录名字 #切换到哪个目录
> cd / #切换到根目录
> cd .. #向上级目录切换
> cd ~ #快速切换回自己的家目录
~~~
## 查看目录下的文件信息:
~~~
> ls #list查看当前目录下有什么文件
> ls -l 或ll #list -list通过详细内容形式查看目录下的文件内容
> ls 目录 #查看指定目录下文件名字信息
> ls -l 目录 #以详细列表形式查看指定目录下文件名字信息
> ls -a #slist all查看全部文件,包括隐藏文件
> ls -al //list list all以详细列表形式查看全部文件,包括隐藏
文件:
> ls -i //查看目录下文件名字的索引号码(id号)
> ls -h //人性化显示(显示文件大小)
> ls -d //查看目录属性
~~~
# 操作目录 ||文件
* cat #查看文件内容
` > cat filename(需要操作的文件名) #在终端显示文件全部内容`
> -n 显示的时候带行号(空行也编号)
> -b 显示的时候带行号(空行不编号)
~~~
# 和grep一起使用
> cat -n log.xml | grep -C 5 'subscribe' #查找log.xml文件中,有subscribe关键词的行,并显示其上下5行
grep的参数: -C上下5行; -B前5行; -A后5行
~~~
* more filename #通过"敲回车"方式从第一行逐行查看文件内容;不支持回看;q键 退出查看
* less filename #"上下左右"键方式查看文件各个部分内容;支持回看,q键 退出
* head -n filename #查看文件“前n行”内容
* tail -n filename #查看文件“末尾n行”内容
> -f 当文件增长时,输出后续添加的数据;
* head -5路径/文件名 #查看前5行
* tail #查看后5行
> 不加参数 列出尾行
> -n 指定行数
> -f 动态查看数据写入
* locate #也是查找文件,效率上会比find快一点
* find 路径 -type f -name文件名 #查找文件‘文件名*’ #模糊查找
1. name 根据文件名字查找指定的文件
find 目录 -name 完整文件名称
~~~
> find / -name passwd[完整名称] #"递归遍历"系统全部目录查找名字等于passwd的文件
> find /etc -name passwd[完整名称] #递归遍历/etc及内部所有目录查找 名字等于passwd的文件
> find 目录 -name "an*"[部分名称] #模糊查找文件名字以an开始的
~~~
2. 对查找的目录层次进行限制
> -maxdepth #限制查找的最"深"层次
> -mindepth #限制查找的最"浅"层次
> find / -name passwd -mindepth 3 -maxdepth 4 //在3到4个层次的目录里边定位passwd文件
3. 根据文件大小进行查找
> - size 单位
> find ./目录路径 -size 50c //在当前目录下查找大小[等于]50个字节的文件
单位:
数量 单位 实际大小
100 -------> 512字节:【100*512字节】
50c -------> 字节 : 【50字节】
50k -------> 千字节: 【50*1024字节】
50m -------> 兆字节 【50*1024*1024字节】
> find ./ -size +50c #在当前目录下查找大小[大于]50个字节的文件
> find ./ -size -50c #在当前目录下查找大小[小于]50个字节的文件
4. 查找10天前修改的文件(源慕课4-3,12分开始,17分)
5. 搜索文件(效率比find高,比find搜的快)源自慕课4-1(视频上的系统是6.3)
> find 文件名 #他在/var/lib/mlocate后台数据库(默认每天更新1次)中搜索,所以新建的他搜索不到。
> updatedb #强制更新数据库后就可以搜索到了
* grep '要查找的内容' 要查找的文件名(绝对或相对路径) #【查行】支持正则
> -v //取反
> -E //能使用扩展正则表达式
~~~
> grep -Ev '^#|^$' nginx.conf //去掉配置文件中,以#开头的,和空行。用cat -A就能看出来空行是$
> grep 'sbin' /etc/passwd //在passwd文件中查找sbin字样,会把sbin所在行的内容都输出
~~~
和find的区别:find是查找文件在哪里,grep是查找文件中的xx些内容。此查找不是在vim编辑器中查找vim查找内容用的是/和?
6、awk '{print $1}' 文件名 //【查列】输出第1列的数据。英文单引,支持正则。
-F '分隔符' //默认的分隔符是空,以什么分隔符进行列和列的切分,英文单引
7、sed -i 's#no#yes#g' 要替换的文件名 //【增改删】不使用vim的替换(不打开文件情况下的替换),支持正则。
>[warning]注意:和vim的替换差不多,vim中是:%s#no#yes#g //将整个文档的no替换成yes
>[info] 总结:awk、grep、sed三剑客,都支持正则
6、wc 文件名 //统计
-c #统计字节数 -w #统计单词数 -l #统计行数
> grep '80.82.70.187' /var/log/nginx.access.log | awk '{print $1}' | wc -l //先取行,在取列,最后统计。统计80.82.70.187有多少个
7、du -h //查看文件或目录的大小以k m的形式查看文件占据磁盘空间大小
8、df -h //磁盘的使用情况
# 对文件/目录的【增删改】
1、mkdir 目录名//【增】新建-p递归新建
2、touch 文件名//【增】新建
3、mv 原目录路径 新目录路径//【改】移动(目录文件均可操作)
4、rename //修改文件名
5、cp 源目录路径 新目录路径//【改】复制(目录文件均可操作)-r是给目录用的,递归复制
6、rm -rf //【删】递归删除目录和文件
7、unlink //【删】文件名;只能删除文件
8、echo 内容 >路径文件名//【改】覆盖追加2个>>换行追加(不覆盖),内容复杂的话,用引号引起来,单词用空格间隔
9、diff 文件a 文件b //对俩个文件进行对比,输出的是a和b文件不一样的地方
安装和解压
1、yum install 软件包名-y #安装软件包
yum search 软件包不精确的名字 //在yum中查找软件包
yum list installed //yum中已安装的包
2、rpm 傻瓜式下一步安装软件
4、zip压缩和解压
范例:
zip命令可以用来将文件压缩成为常用的zip格式。unzip命令则用来解压缩zip文件。
4.1、 我想把一个文件abc.txt和一个目录dir1压缩成为yasuo.zip:
# zip -r yasuo.zip abc.txt dir1
4.2、我下载了一个yasuo.zip文件,想解压缩:
` > unzip yasuo.zip`