Linux常用命令之文件处理

(二)文件处理

在linux里面,一切都是文件,文件是文件,目录也是文件,程序也是文件,什么都是文件,Linux文件系统具有良好的结构,同时系统提供了很多文件处理程序

Linux命令回顾

Linux常用命令之安装与登录
command [-options] [parameter]
命令 选项 参数
注意:按下tab命令会自动补全
命令后面的参数,是加了中括号表示可选,没有中括号,表示必须要带着参数
当忘记某些命令时,我们可以使用:
man command 或者 command --help
前者是获取所有的详细命令,后者是获取主要的命令
前者是全英文手册,后者会有部分中文解释
前者一般会分页显示,按下回车会显示下一行,按下空格会显示下一页
一般这种都与管道配合使用,查询第几页等等

言归正传,现在我们开始列出Linux下的文件操作指令

file

1、作用:通过探测文件内容判断文件类型,使用权限是所有用户
2、格式:file [options] 文件名
3、参数:
-v 在标准输出后显示版本信息,并且退出
-z 探测压缩过的文件类型
-L 允许符合连接
C是一个目录,pycharm是一个软链接
4、说明:
通过file可以知道这个文件是什么类型的,shell脚本,二进制可执行文件,C语言源文件,目录,文件,软链接,文本文件

mkdir

1、作用:创建目录,它的使用权限是所有用户
2、格式:mkdir [options] 目录名
3、参数:
-m 设定权限<模式>
-p 需要时创建上层目录,可以递归创建子目录
-v 每次创建新目录的时候都显示信息
4、说明:
在进行目录创建的时候,可以设置目录的权限,此时使用的参数就是-m,让所有用户都有rwx的权限,可以使用如下的命令:
mkdir -m 777 zhuyu
mkdir -p 1/2/3 可以递归创建1/2/3目录

touch

1、作用:创建文件,它的使用权限是所有用户
2、格式:touch [options] 文件名
3、参数:
-a 只更改访问时间
-c, --no-create 不创建任何文件
-d, --date=字符串 使用指定字符串表示时间而非当前时间
-h, --no-dereference 会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者时,此选项才有用)
-m 只更改修改时间

ls

1、作用:显示目录内容,它的使用权限是所有用户
2、格式:ls [options] [filename]
3、参数:
-a 显示隐藏文件和目录
-A 列出除了".""…"以外的任何项目(比如交换文件)
-author 打印出每个文件的著作者
-b 以八进制序列号表示不可打印 的字符
-l 以列表的方式显示即list
-h 以人性化的方式显示文件的大小
4、说明:
最常用的是ls -lh
同时,ls显示的文件,不同类型的文件会以不同的颜色显示
ls
文件类型开头通常是以10个字符构成的字符串
第一个表示文件类型:
- 表示文件
d 表示目录
l 表示链接
b 块设备文件
后面9个表示文件的访问权限,分为3组,分别是属主,属组,其他
即文件主人的权限,同组其他组员的权限,其他非同组的权限
每一组的三个字符表示对文件的读(r)写(w)和执行权限(x)
数字2是硬连接数,表示可以通过两种路径到达该文件。
接着是属组和属主,以及文件大小,最后打开时间,加上文件名

cd

1、作用:切换文件路径,它的使用权限是所有用户
2、格式:cd [options] 路径
3、一般不加参数,直接进入路径
4、说明:
cd可以当做双击来使用,切换到想进入的文件中。
路径分为绝对路径相对路径
绝对路径是从根目录开始进入,即/
相对路径是相对于当前的路径怎么进入目标文件,当前的路径用“.”表示,上层路径用"…"表示,
进入当前文件用cd .
进入上一层文件用cd …
直接输入cd则回到家目录,等同于cd ~

rm

1、作用:删除文件,它的使用权限是所有用户
2、格式:rm [options] 文件名
3、参数:
-r 删除目录
-f 强制删除
-i 在删除前提示是否删除
4、说明:
删除目录需要加上-rf, rm删除就不能找回了,慎重,在回收站中也没有。并且最好加上-i,可以提示误删

mv

1、作用:剪切文件,它的使用权限是所有用户
2、格式:mv [-options] 要移动的文件 要移动到的路径
3、参数:
-i 交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答“y”或者“n”,这样可以避免覆盖文件
-f 禁止交互操作 不给提示信息,直接覆盖,强制操作
-n, --no-clobber 不覆盖已存在文件
4、说明:
mv除了用来移动剪切文件以外,还可以用来重命名文件

find

1、作用:在目录中搜索文件,它的使用权限是所有用户
2、格式:find [path] [options] [expression]
path 指定路径,系统从这里开始沿着目录树向下查找文件
3、参数:
-depth 使用深度级别的查找过程方式,在某层指定目录中有限查找文件内容
-maxdepth levels 表示至多查找到开始目录的第level层子目录,level是一个非负数
-mindepth levels 表示至少查找到开始目录的第level层子目录
-version 打印版本
*[experssion]*是匹配表达式
-name 支持匹配通配符
-atime n 搜索在过去n天读取过的文件
-ctime n 搜索在过去n天修改过的文件

grep

1、作用:指定文件中搜索特定的内容,并将含有这些内容的行标准输出,它的使用权限是所有用户
2、格式:grep [options]
3、参数:
-c 只输出匹配行的计数
-I 不区分大小写(只适用于单字符)
-h 查询多文件时不显示文件名
-l 查询多文件时只输出包含匹配字符的文件名
-n 显示匹配行以及行号
-s 不显示不存在或无匹配文本的错误信息
-v 显示不包含匹配文本的所有行

pattern正则表达式主要参数:
: 忽略正则表达式中特殊字符的原有含义
^: 匹配正则表达式的开始行
$: 匹配正则表达式的结束行
<: 从匹配正则表达式的行开始
>:到匹配正则表达式的行结束
[]: 单个字符,如[A]即A符合要求
[ - ]:范围,如[1-9],从1到9都符合
?:所有的单个字符
*:所有的字符
以上是主要的通配符,详细地可以参考:
正则表达式与通配符
grep.awk,sed等命令都支持正则表达式,用来在文件中匹配到符合条件的字符串

chmod

1、作用:改变文件或者目录的访问权限。用户可以使用它控制文件或者目录的访问权限
2、格式:(1) chmod 数字 文件名
(2)chmod u/g/o/a +/-w/r/x 加文件名
3、参数:
第一种三个数字从0到7,对应三位二进制,代表属主,属组,其他,
比如 chmod 775 文件名 表示该文件对主人的权限是可读可写可执行,对属组的权限是可读可写可执行,对其他的权限可读可写不可执行。
其中775即111,111,110,1代表有权限,0代表无权限,对应可读可写可执行。
第二种的u代表属主,g代表属组,o代表其他,a代表全部,就、+/-代表加上权限或者去掉权限,rwx分别代表可读可写可执行权限。

chown

1、作用:更改一个文件或者目录的属主和属组
2、格式:chown [options] 用户或者组 文件
3、参数:
和chgrp的参数基本一致

diff

1、作用:逐行比较两个文件,并指出不同,它的使用权限是所有用户
2、格式:diff [options] 源文件 目标文件
3、参数:
–normal 以正常的 diff 方式输出 (默认)
-a 将所有文件当成文本文件来处理
-b 忽略空格造成的不同
-B 忽略空行造成的不同
-c 使用纲要输出格式
-H 利用试探法加速对大文件的搜索
-I 忽略大小写的变化
-q, --brief 只有在文件不同时报告
-s, --report-identical-files 当两个一样时仍然显示结果
-u, -U 数量, --unified[=数量] 输出 <数量>(默认为 3)行一致化上下文
-e, --ed 以 ed script 方式输出
-n, --rcs 以 RCS diff 格式输出
-W, --width=数量 每行显示最多 <数量>(默认 130)个字符
–left-column 当有两行相同时只显示左边栏的一行
–suppress-common-lines 当有两行相同时不显示
-r, --recursive 连同所有子目录一起比较
-x, --exclude=模式 排除匹配 <模式> 的文件
-X, --exclude-from=文件 排除所有匹配在<文件>中列出的模式的文件
-S, --starting-file=文件 当比较目录時,由<文件>开始比较

cmp

1、作用:逐字节比较两个文件。它的使用权限是所有用户
2、格式:cmp [选项]… 文件1 [文件2 [跳1 [跳2]]]
3、参数:
-b --print-bytes 打印出内容相异的字节
-i, --ignore-initial=SKIP 两个输入内容都略过前 SKIP 字节
-i, --ignore-initial=跳1:跳2 略过 <文件1> 的前 <跳1> 个字节和文件 <文件2>的前 <跳2> 个字节。
-l, --verbose 输出所有相异字节的字节数和内容
-n, --bytes=限制 最多比较 <限制> 个字节
-s, --quiet, --silent suppress all normal output
–help 显示此帮助信息并退出
-v, --version 输出版本信息并退出
4、说明:
<跳> 值可以加上以下的单位:
kB=1,000、K=1,024、MB=1,000,000、M=1,048,576、GB=1,000,000,000、G=107,374,182,还有 T、P、E、Z、Y,如此类推。
如果文件是 “-” 或没给出,则从标准输入读入内容。
如果输入相同,则退出状态为 0;1 表示输入不同;2 表示有错误产生。
cmp

cat

1、作用:连接并显示指定的一个或者多个文件的有关信息,它的使用权限是所有用户
2、格式:cat [options] 文件1 文件2
3、参数:
-n 由第一行开始对所有的输出的行数编号
-b 和-n类似,只是对空行不编号
-s 遇见连续两行或以上的空格时,认为是一行
4、说明:
cat最简单的一个用处就是用来显示文本文件的内容

ln

1、作用:在文件之间创建链接,它的使用权限是所有用户
2、格式:ln [options] 源文件 链接名
3、参数:
-f 链接时先将源文件删除(慎重)
-d 允许系统管理者硬链接自己的目录
-s 进行软链接(symbolic link)
-b 将在链接时会被覆盖的或者删除的文件进行备份
链接有两种:硬链接,软链接

chgrp

1、作用:修改一个或者多个文件或目录所属的组
2、格式:chgrp [-ooptions] 组 文件
3、参数:
-c , --changes: 像 --verbose,但是只在更改时才显示结果
-f, --silent, --quiet: 去除大部分的错误信息
-R , --recursive: 递归处理所有的文件和子目录
-v, --verbose: 处理任何文件都会显示信息
4、说明:
该命令改变指定文件所属的用户组,其中group可以是用户组ID,也可以是/etc/group中的用户组的组名,文件名支持通配符。

备注:一个比较好用的命令,tree用树状图的形式打印文件,-r只打印目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值