文件结构
bin: 普通用户使用的命令(存放二进制可执行文件(ls,cat,mkdir等))
boot: 存放系统启动相关的文件
dev: 设备文件(硬件)
etc: 配置文件
home: 普通用户的文件
root: root(超级管理)用户的HOME
sbin: 管理员使用的命令
tmp: 临时文件
usr: 系统文件,相当于C:\Windows
var: 存放的是一些变化文件,比如数据库,日志,邮件…
文件类型
(用ls -l查看)
文件类型 | 含义 |
---|---|
- | 普通文件(文本文件,二进制文件,压缩文件,电影,图片。。。) |
d | 目录文件(蓝色) |
b | 块设备(硬盘,光驱等设备) |
c | 字符设备文件(打印机) |
l | 链接文件(淡蓝色) |
s | 套接字文件 |
p | 管道文件 |
drwxr-xr-x
第1个字母:代表文件类型(目录文件)
第2~4字母:代表用户的权限
第5~7字母:代表用户组的权限
第8~10字母:代表其他的用户的权限
文件权限
r(read)读,掩码为4
w(write)写,掩码为2
x(execute)执行,掩码为1
r--(100)-w-(010)--x(001) rwx(111)
特殊文件权限
SUID
若其他用户拥有执行权限,则会以拥有者的身份来执行此文件
chmod u+s file//当其他用户或组用户等非文件拥有者拥有执行文件权限时,执行时会以拥有者的身份执行
SGID
以组用户的身份执行
Stick bit
对目录生效,配置此权限后,除拥有者和root用户,其他用户无法删除与重命名文件
基础命令
cd
进入目录
cd #进入目录命令
cd ..#返回上级目录
cd ~#进入主目录
cd /#进入根目录
cd /etc#从根目录开始查找
cd dir#从当前目录开始查找
ls
查看文件与目录
ls命令,列出当前目录的文件与目录
ls *//以通配符的方式列出文件
ls -a#列出当前目录全部文件,包括隐藏文件
ls -l#列出当前目录文件与目录权限
ls -d (dir)#列出特定目录的文件与目录,后面需要接目录参数
ls -R //递归列出所有(包括目录下)的文件与目录
touch
创建文件
mkdir
创建目录
mkdir -p dir1/dir2/dir3#创建多级目录
cp
复制文件
cp 源文件 目标 文件 //复制单个文件
cp 单个/多个源文件 目的目录 //复制单/多个文件到指定目录
cp -r 单个源目录/多个源目录 目标目录 //复制多个目录到指定目录
mv
移动和重命名
mv file.txt dir1/ //移动命令
mv file.txt dir1/file3.txt //重命名命令
rm
删除
rm -rf file.txt //删除文件
rm -rf /root/file.txt //删除目标目录下的文件
-f 是force的缩写,表示强制删除不提示
-r 表示递归,表示目录本身和里面的所有内容
cat
显示纯文本内容
cat file1.txt //用于查看file1的文件内容;
head
显示头部内容
head -n 5 file1 //显示文件file1的前5行内容
head -c 20 file2 //显示文件file2的前20个字节内容
tail
显示尾部内容
tail -n 5 file1 //显示文件file1的末尾5行内容
tail -c 20 file2 //显示文件file2的末尾20个字节
ln
创建连接
ln file file.ln//创建硬链接
ln -s file file.ln//创建软连接
(链接不需要.ln后缀名,此处是方便认出哪个是链接)
pwd
显示当前位置(当前工作目录)
find
查找文件,接通配符
可选选项
-name 以文件名字匹配
-iname 忽略大小写的以文件名字匹配
-user 以用户名查找
-uid 以用户id查找
-a 与操作and
-o 或操作or
! 取反操作
例 find -name f* -o -name b*
locate
查找文件数据库的形式来查找文件,比find快,但当文件被删除时locate无法实时更新数据库,因此locate命令查找出的文件列表可能不准确
压缩与解压文件
tar
归档命令
可选项
-A 合并两个归档文件
-c 创建一个归档文件
--delete 从归档文件中删除文件
-r 追加文件
-t 列出归档文件内的文件
-u 更新归档文件
-x 从归档文件中解出文件
-f 指定一个归档问文件/设备进行操作
-v 显示归档过程
-z 调用gzip来压缩归档文件
tar -cvf mytar.tar /etc /home/1.txt//将/etc、/home下的1.txt归档到mytar.tar中
//-c 创建一个归档文件,-v显示归档过程,-f指定归档文件
//.tar后缀名不是必需的
gzip
压缩命令
可选项
-c 压缩文件,需要用管道符“>”配合使用
-d 解压文件
-n|n=1-9 压缩比,n越大压缩比越高,文件越小,压缩与解压速度越慢
-v 显示压缩与或解压信息
-t 检查压缩文件是否完整
文件权限管理命令
chown
更改文件的拥有者与所属组
chown user1: file//将文件file的拥有者改为user1
chown :group1 file //将文件file的所属组改为group1
chown user1:group1 file //将文件file的拥有者改为user1,所属组为group1
chown -R (dir)//目录下的文件和目录都执行此操作
chmod
更改文件权限
chmod 750 file//此时file权限改为rwxr-x---,即拥有者拥有全部权限,所属组不可写,其他人无任何权限
chmod u+x file//拥有者增加执行权限
u拥有者,g所属组,o其他用户
chmod g=r-- file//所属组只读file文件
chmod u-x,o+x file//拥有者失去执行权限,其他用户增加执行权限
chmod -R (dir) 目录下的所有目录与文件都执行此操作
getfacl
获取文件acl表
setfacl
-m:设置后续acl参数
-x:删除后续acl参数
-b:删除全部的acl参数
-k:删除默认的acl参数
-R:递归设置acl,包括子目录
-d:设置默认acl
-R:递归操作,目录下的文件都执行此操作
setfacl -m u:user1:rwx file//添加一个acl语句,user1对file拥有全部权限
//ubuntu类的系统需要额外加个-R,无论是对目录还是单个文件操作
setfacl -R -m u:user1:rwx file