bash shell命令学习之文件处理篇

本博客内容来自《Linux命令行与shell脚本编程大全》第三章

目录

0、相关概念

1、显示文件

2、处理文件

创建空文件

复制文件

链接文件

重命名文件/移动文件

删除文件

3、处理目录

创建目录

删除目录

4、查看文件内容

查看文件类型

查看整个文件 

查看部分文件


0、相关概念

Windows将文件存储在盘符中,具有路径概念,使用反斜线 \

Linux将文件存储在单个目录结构中,又称虚拟目录,虚拟目录结构只包含一个称为根目录的基础目录,采用正斜线 /

(反斜线用来标志转义字符)

Linux文件系统的最顶端是 / ,我们称 / 为Linux的root

Tips:最简单记忆,Windows中,首字母W第一笔画是\,而Linux中第一笔画是/,这样就可以愉快的区分不会记混啦~

1、显示文件

ls -F 可以区分文件和目录,显示效果为:在目录后显示/,在可执行文件后显示*

ls -a 把隐藏文件与普通文件及目录一起显示出来

ls -R 递归显示

ls -l 等效于 ll :查看文件详细信息

ls -l 后面跟上字符就可以对结果进行过滤,加*号或者?等文件扩展匹配符进行匹配,还可以使用类似[abc]、[!a]的元字符通配符

ls -i 查看文件的inode编号,这是用于标识的唯一数字

ldd: ldd本身不是一个程序,而仅是一个shell脚本:ldd可以列出一个程序所需要得动态链接库(so)

2、处理文件

创建空文件

 touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]

参数说明:

a 改变档案的读取时间记录。

m 改变档案的修改时间记录。

c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。

f 不使用,是为了与其他 unix 系统的相容性而保留。

r 使用参考档的时间记录,与 --file 的效果一样。

d 设定时间与日期,可以使用各种不同的格式。

t 设定档案的时间记录,格式与 date 指令相同。

--no-create 不会建立新档案。

--help 列出指令格式。

--version 列出版本讯息。

touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件

复制文件

cp [options] source dest

cp [options] source... directory

参数说明:

-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。

-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。

-f:覆盖已经存在的目标文件而不给出提示。

-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。

-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。

-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。

-l:不复制文件,只是生成链接文件。

cp命令主要用于复制文件或目录。

链接文件

Linux中有两种不同类型的文件链接——符号链接和硬链接

符号链接:文件指向文件 ln -s yuanwenjian lianjie

硬链接:创建独立虚拟文件,与原始文件是同一个文件(只适用于处于同一存储媒体的文件之间,否则用符号链接)

语法

ln [参数][源文件或目录][目标文件或目录]

参数说明:

-b 删除,覆盖以前建立的链接

-d 允许超级用户制作目录的硬链接

-f 强制执行

-i 交互模式,文件存在则提示用户是否覆盖

-n 把符号链接视为一般目录

-s 软链接(符号链接)

-v 显示详细的处理过程

重命名文件/移动文件

mv (移动)

可以移动整个目录

mv [options] source dest

mv [options] source... directory

参数说明:

-i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;

-f: 在mv操作要覆盖某已有的目标文件时不给任何指示;

删除文件

rm

3、处理目录

创建目录

mkdir

含路径时 使用 mkdir -p

删除目录

rmdir删除空目录

rm -r 递归删除

rm -rf 强制递归删除

4、查看文件内容

查看文件类型

file

查看整个文件 

cat 命令用于连接文件并打印到标准输出设备上

cat (内容较少时使用)

cat 输出文件内容

cat -n 加上行号

cat -b 只给文本行加行号

cat -T 去掉制表符

more 适合文件内容较多的情况。空格(翻页)和回车(换行)翻阅

从第 20 行开始显示 testfile 之文档内容。

more +20 testfile

less 是more的进阶版命令(less is more)支持上下键

查看部分文件

tail 显示文件最后几行(10行)

-n 修改行数

tail -n 20 文件名

-f 动态查看文件内容(常用功能)

head 显示文件开头几行

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值