文件结构,及相关文件的命令


重点命令:
ls,pwd,cd,mkdir,touch,cat(tac,more,less,tail,ldd,hexdump,rev),
tree,cp,mv,rm,type,which(whereis,whatis),du,cut,paste,wc,sort,uniq,diff

1.文件路径

> 1.绝对路径: 			
> 				a)以“/”开头的,他是唯一一个绝对能够描述文件在路径的方式 
> 				b)“/”根路径是linux操作系统最顶级的目录, 			
> 				c)表示bozai家的路径:/home/bazai/file1
> 2.相对路经 	
> 				a)路径是相对的,文件所在的路径是相对于前所在的路径而言的 		
> 				b)当前路径使用 . 或者 ./
> 	i.当前目录的上一级目录使用  ..或者 ../
> 		当前用户家目录使用  ~	 
> 		上次工作路径使用  -  

2. 文件的类型

File判断文件类型
选项 
	-b列出文件识别结果不显示文件名称
	-f   filelist列出文件filelist中文件名的文件类型
	-F   使用指定分隔符替换输出文件名后默认的:”;”分隔符
	-L    查看对应软连接对应的文件类型
	--help 帮助说明	

在这里插入图片描述
在这里插入图片描述

命令

1. ls命令

常用选项

-A 列出所有的文件,包括隐藏文件 除了… 和.文件
-a 也可以用ls --all,查看目录下所有的文件,包括隐藏文件(就是以.开头的文件)
-l (小) 长度显示(显示所有信息)
-r(小) 逆序排序
-R (大) 递归列出目录中的内容、(包括子文件夹里面的内容)
-S(大) 按文件的大小排序
-h human,以人性化的方式显示出来(按字节M显示文件)
-d 只列出目录名本身,不列出其他内容
-t 按修改时间排序
-i 显示文件的inode号(索引号) df -i 查看磁盘空间的节点大小
-m 拥逗号分隔显示内容

例如:

ls  -lS /root(  把/root 的文件 按 大小排序,默认会把最大的文件放在第一个)
ls  -lt /root (按修改时间排序)
ls  -ltr /root	(按修改时间反向排序)
ls  -dt /root	 (查看本身的详细信息)

2.pwd 显示当前所处的目录

pwd -P 显示实际的工作目录,而非使用链接路径
在这里插入图片描述

3.cd 更改目录,切换目录

用法:cd 目标目录

. 当前目录
. .父目录
cd . . 切换到父目录,切换到上一-级目录
cd 类似cd~命 令,切换到当前用户家目录
cd ~ 切换到当前用户的家目录
cd - 返回上- -次所处的目录
cd \ 回车 ,输入目录名就会切换到对应的目录
在这里插入图片描述

4.mkdir创建目录

-m 可以设置权限
-p 连级创建
-v 显示详细信息

**创建目录最好写绝对路径   ./表示该目录下面**

特殊的:a 如果上级目录不存在就要是用 -p 连级创建文件夹
b .可以同时创建多个目录

例如:
  mkdir -pv ./testdir/dir1{x,y}/{a,b}      #可以使用花括号组合

在这里插入图片描述

创建一个first目录其中包括目录dir1x和dir1y 并且分别创建两个子目录a,b

在这里插入图片描述

5.touch创建目录

		也可以这样创建文件
		
		>  文件名    #重名文件 会被清空
		>>  文件名   #不会清空重名文件内容

在这里插入图片描述
缺陷,如果重复在一个目录下创建同一个文件,则会导致,该文件被清空文件

文件名区分大小写
文件名不能包含特殊符号
文件名最多可达255个字符

如果所创建的文件存在(则就为—修改文件的时间戳)
-h
1.修改“访问acccess”时间-a

touch –a file  –t “202010101111”    

2.修改 “更改modify”时间是-t

touch –m file –t “201810101111”

3.修改访问时间又修改更改时间-d --文件放到最后

 touch –d  “20171010”  file

6.cat查看文件内容(小文件)

-E:显示行结束符$ 
-n:对显示出的每一行进行编号
-A:显示所有控制符
-b:非空行编号
-s:压缩连续的空行成一行

特殊功能:文件合并

 cat   文件1  文件2  > 文件路径

选项:
-n显示行号
-A(大)显示控制字符 (如:换行符$)

其他命令

tac,more,less,head,less,tail,ldd,hexdump,rev

  • tac 方向查看,是cat的反义

  • more 和less 命令:分页查看, 用法: q退出查看 ,建议less命令 (空格翻页,enter翻行)

  搜索时用
  /关键字        #搜索

在这里插入图片描述

· 在less中搜索的关键字会高亮显示,而more中不会

  • head开头查看
 -c # 指定获取前#字节
-n # 指定获取前#行
 -# 指定行数

tail结尾查看

-c # 指定获取后#字节
-n # 指定获取后#行 -# 同上
-f 跟踪显示文件fd新追加的内容,常用日志监控
 相当于 --follow=descriptor
-F 跟踪文件名,相当于--follow=name --retry	

tail -f 动态查看文件变化(用于日志文件跟踪))Ctrl+c退出 或者q键

  tail  -f  文件名
  • ldd 一般用来查看二进制命令文件

  • Hexdump 查看二进制文件 外部命令(-c 查看其中的符号)
    在这里插入图片描述

  • rev命令可以将查找到的内容倒置(反过来看)
    在这里插入图片描述

7.tree显示目录结构-----你得安装包tree

在这里插入图片描述
选项
-d 只显示目录
-L 指定层级数目 例如tree -L 2 /boot 只显示这个目录下面的前两集目录结构
-P 显示由指定的pattern模式 匹配到的路径
在这里插入图片描述

8.cp拷贝文件

默认为cp -i

格式
 cp 源文件  生成的文件

注意拷贝时 不包括隐藏文件

. 代表当前目录

注意:拷贝隐藏文件全完不能用 /root/.*   
因为  .*中包含     . 文件和   .. 文件 
所以拷贝时用/root/.[^.]  排除..文件
-r	递归拷贝目录	-rf是强制性递归拷贝
-v  显示拷贝过程信息
-u   --update只复制源比目标更新文件或目标不存在的文件
-b  目标存在,覆盖先备份,形式为filename~
-p  文件属性信息一起拷贝
		如果拷贝其他用户的文件,可能会导致文件属性的改变,所以用 –p	
-a  递归拷贝文件,包括目录及文件属性信息(都不会改变)

如果同时复制两次同一个文件夹到同一个目录下,则会将第二次复制的文件夹,放到该目录下面--------------幂等性

在这里插入图片描述
在这里插入图片描述

9.mv文件的移动和重命名

移动文件 (文件路径不一样)

mv  源文件  新路径

重命名:(老文件和新文件路径一样)

mv 原名  新名

rename一次性更改多个文件的文件名使用

在这里插入图片描述

10.rm删除文件

切记:要经常问自己(who–where–what)不会立即释放空间 如果正在使用这个文件,则不会删除 建议使用 # > 目录名

常用选项
		-r 递归删除
		-f  强制删除  或者将两个合起来 –rf(没有提示)

建议:
在工作中使用mv 文件 /tmp/ 将文件移动到临时目录 用这个方法删除不需要的文件
一般情况下吧 rm定义为别名mv 避免删除后无法恢复

文件能不能删,看的是文件夹的权限
rm 删除的是这个文件的节点表,并没有删除数据,而这些数据的空间,在下一个数据 存入是 会被覆盖-----------------所以有些情况下是能还原的

rmdir

删除目录------------只能删除空目录


	-p 递归删除父空目录(如果发现父目录为空,也删除)
	-v显示详细信息  

8.tree显示目录结构
得安装包tree
在这里插入图片描述

选项
-d 只显示目录
-L 指定层级数目 例如tree -L 2 /boot 只显示这个目录下面的前两集目录结构
-P 显示由指定的pattern模式 匹配到的路径

13.du -sh查看目录的真实大小

-s只显示汇总的大小(summarles)
-h 表示以较高可读性显示(就是以K,MB,GB显示)自己判别大小(并给单位)
在这里插入图片描述

14.按列抽取文本cut和合并文件paste

-d DELIMITER: 指明分隔符,默认tab
-f FILEDS:
 #: 第#个字段
 #,#[,#]:离散的多个字段,例如1,3,6
 #-#:连续的多个字段, 例如1-6
 混合使用:1-3,7
-c 按字符切割
--output-delimiter=STRING指定输出分隔符

显示文件或STDIN数据的指定列
cut -d: -f1 /etc/passwd
cat /etc/passwd | cut -d: -f7
cut -c2-5 /usr/share/dict/word
paste 合并两个文件同行号的列到一行
paste [OPTION]… [FILE]…
-d 分隔符:指定分隔符,默认用TAB
-s : 所有行合成一行显示
示例:
paste f1 f2
paste -s f1 f2

15. 收集文本统计数据wc

计数单词总数、行总数、字节总数和字符总数

行数 字数 字节数
常用选项
-l 只计数行数
-w 只计数单词总数
-c 只计数字节总数
-m只计数字符总数
-L 显示文件中最长行的长度
wc 统计文件信息(包括行数-l(lines),单词数-w(words依据空格区分),字节数-c)

所以一般使用时wc -lwc (也可以不加-lwc 显示的结果与这个一样)

例如:

 wc -l /etc/passwd  				查看当前系统有多少个用户
 cat  /etc/passwd|wc -l

16. 文本排序sort

把整理过的文本显示在STDOUT,不改变原始文件
sort [options] file(s)
常用选项
-r 执行反方向(由上至下)整理
-R 随机排序
-n 执行按数字大小整理
-f 选项忽略(fold)字符串中的字符大小写
-u 选项(独特,unique)删除输出中的重复行
-t c 选项使用c做为字段界定符
-k X 选项按照使用c字符分隔的X列来整理能够使用多次

17. uniq

uniq命令:从输入中删除前后相接的重复的行
uniq [OPTION]… [FILE]…
-c: 显示每行重复出现的次数
-d: 仅显示重复过的行
-u: 仅显示不曾重复的行
注:连续且完全相同方为重复
常和sort 命令一起配合使用:
sort userlist.txt | uniq -c

18. 比较文件diff

比较两个文件之间的区别

diff foo.conf foo2.conf
5c5 
< use_widgets = no 
---
> use_widgets = yes
第5行有区别(改变)

19.bc

相当于计算机用quit退出
输入十进制输出二进制 需要小obase =2
ibase用于设置输入数据的进制
obase用于输出的数据进制
在这里插入图片描述

练习

1、找出ifconfig “网卡名” 命令结果中本机的IPv4地址
2、查出分区空间使用率的最大百分比值
3、查出用户UID最大值的用户名、UID及shell类型
4、查出/tmp的权限,以数字方式显示
5、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值