Linux学习之文件操作常用命令
1、文件权限
r :可读权限,值为4
w :可写权限,值为2
x :可执行权限,值为1
一个文件或文件夹其对应三个用户,第一位文件拥有者,第二位组内用户,第三位组外用户
文件夹权限为755
第一位:文件拥有者拥有最高权限为7 = (4+2+1) = rwx
第二位:组内用户权限,值为5=(4+1)=rx
第三位:组外用户权限,值为5=(4+1)=rx
2、使用ls指令查看文件权限
ls [选项] 文件路径
相关选项:
-l :以列表形式显示文件信息
-a :显示所有文件信息(包括隐藏文件)
示例代码:
由以上图解可知:
【总用量 24】 这个是该目录下所有文件占用磁盘块数。另外目录也是当是一个文件需要占空间的,磁盘格式化会把磁盘分页分块,块是基本单位,如果一个文件大小不足一块大小也需要占用一个块的大小。
【第1列】 文件权限
一共有10位,第1位代表文件的类型(- 表示普通文件,d 目录,b 块特殊文件,c 字符特殊文件,l 符号链接文件,p 命名管道文件FIFO,s 套接字文件)
第234位代表文件拥有者的权限,r(4)w(2),所以最终权限为6
第567位代表组内用户的权限,r(4),所以最终权限为4
第8910位代表组外用户的权限,r(4),所以最终权限为4
综上所述,index.php的最终权限为644
【第2列】 文件数量
【第3列】 root,文件的拥有者
【第4列】 root,文件的所属组
【第5列】 文件大小
【第6列】 文件的创建时间
【第7列】 index.php,文件的名称
3、目录管理,创建与删除目录
mkdir 创建目录
mkdir -m 777 shop
创建权限为777的shop文件夹
mkdir -p /shop/taobao
递归创建 /shop/taobao 文件夹
mkdir -pm 777 shop/taobao
递归创建权限都为777 的 /shop/taobao 文件夹
rmdir 删除目录
rmdir shop
删除shop文件夹
rmdir -p /shop/taobao
递归删除/shop/taobao 文件夹
4、文件创建与删除
touch 指令 :创建文件
touch index.php
问题:touch指令与vim指令创建文件有何区别呢?
vim指令打开文件,但是如果文件不存在,则自动创建该文件
touch指令只能创建文件而没有打开功能
rm 指令:删除文件
相关选项:
-r :递归删除(主要用于删除文件夹)
-f :关闭删除确认
rm index.php
删除index.php 文件,会弹出删除确认,输入 y 即执行删除操作
rm -rf ./shop
直接递归删除当前目录中的 shop 目录
rm -rf /*
删库跑路命令,看看就好,不要试,试了你就赶紧卷铺盖跑路
5、复制与移动文件或文件夹
cp [选项] <源文件路径> <目标文件路径>
相关选项:
-v : 显示进度条
-R : 递归复制
-p : 复制时保持文件的原有属性
-vRp :递归复制,保存文件的原有属性,显示进度条
cp -vRp shop ttt
将shop文件夹复制到ttt文件夹中,复制文件夹是可带命令选项 -a
-r
等选项递归处理,没有递归处理参数会提示“略过目录”,即复制失败
mv指令 :剪切移动、文件或文件夹重命名
相关选项:
-v :移动时显示进度条
mv [选项] 旧文件名 新文件名
#CentOS 安装mv命令
yum install coreutils
至于是剪切移动还是重命名取决于 新文件名这个参数,demo如下
6、wc 文件统计
基本语法:
wc [选项] <文件列表>
相关选项:
-c :统计文件的字节数
-l :lines缩写,统计文件的行数
-w :word缩写,统计文件的单词数
7、grep 搜索匹配行
基本语法:
grep [选项] <字符串> <源文件>
相关选项:
-n :显示匹配的行号
-c :统计一共有多少行
-i :ignore缩写,代表匹配时忽略大小写
8、显示文件内容
cat指令 :正序显示文件内容
tac指令 :倒序显示文件内容
cat index.html
tac index.html
9、更改文件的权限
①更改文件的权限
chmod -R(递归修改) 777
② 更改文件的拥有者
chown -R(递归修改) root
③ 更改文件的所属组
chgrp -R(递归修改) www
10、创建链接文件
在Linux系统中,软链接文件就是相当于Windows中的快捷方式
软链接创建步骤:
ln [-s] <源文件或目录> <目标文件或目录>
特别说明:创建软链接时,要求使用的源文件路径必须是绝对路径。
11、查找文件
find [目录列表] [匹配选项] [匹配标准]
相关选项:
-name :根据文件的名称进行搜索
-group :根据文件的所属组进行搜索
-user :根据文件的拥有者进行搜索
扩展Shell指令:locate指令,用于检索数据
locate 文件名称