0
点赞
收藏
分享

微信扫一扫

Linux的文件命令和文件权限

云岭逸人 2022-01-31 阅读 81

Linux的文件命令和文件权限

文件常用命令

  • 创建文件
touch
  • 复制文件
cp file1 file2      //复制 file1 在同一目录下,命名 file2
cp file1 file2  dir  //复制 file1 file2 到 dir 目录下

cp -p  //移动文件,并保存原来的所有信息
  • 移动(重命名)文件
mv a b      //移动到本地,并改名 
mv a b dir //把 a,b  移动到 dir 目录
  • 删除文件
rm a b c  //删除普通文件
rm -f a b c //强制删除文件

文件查看命令

  • 查看文件信息
ls     //查看当前目录下的文件
ls -l  //查看详细文件
ls -i  //查看文件编号
ls -lh //查看文件大小
ls -a  //显示所有文件
ls -ld //查看目录本身
  • 查看文件类型

在这里插入图片描述

d //表示目录
- //表示文件
1 //表示连接文件
b //表示设备文件,提供存储的接口设备
c //表示设备文件。提供串行的接口设备--键盘,
  • 查看文件内容
  1. cat
cat file  //正序查看文件内容
tac file  //倒序查看文件内容
cat -b file  //文件内容显示行号

cat -A file  
//查看隐藏内容:换行符、空格、特殊符号
  1. nl
nl -ba   //无论是否有空行,都列出行号
nl -bt   //如果有空行,则不列出行号
  1. less
/          查找字符
:f         显示文件名和行数
b          翻到第一页
空格       向下翻动一页
pagedown   向下翻动一页
pageup     向上翻动一页
q          退出
  1. head、tail
head file  //显示文件前十行
tail file //显示文件末尾几行,一般查看日志(动态)

参数
-n:显示几行(默认十行)
-f:动态显示文件末尾内容
  1. wc
wc -l 文件名  //显示行数
wc -c 文件名 //显示字节

查找、替换文件内容

grep只能用于查找文件中的内容

grep

参数
-i :不区分大小写
-v :排除指定字符串

sed可以查找,然后替换或者插入想要的内容

字符代表含义
a新增,a的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)
d删除,因为是删除啊,所以d后面通常不接任何东西的;
i插入,i的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p列印,亦即将某个选择的资料印出。通常p会与参数sed.
s取代,可以直接进行取代的工作!
  • 查找文件 find
用法:find[路径][命令参数][表达式]

参数:
-name “文件名”:查找指定名称文件;
-user:查找指定用户拥有的文件;
-group:查找指定组拥有的文件;
-mtimen:查找在N天前被修改过的文件;
-atimen:查找在N天前被访问过的文件;
-type d/t/b/1/p:查找指定类型的又件;
-empty:查找为空的文件;
-size:按容量大小查找;
-perm mode:查找指定属性的文件;
-exec command{} \:查找指定的文件并执行指定的命令;
-newer文件名:查找比指定文件新的文件
find *   //全部字符
find ?  //单个字符
  • 查找目录 which
which 命令

软连接、硬链接

硬链接:

ln
ln -l

软连接

ln -s:软连接

目录常用命令

  • 系统目录
目录名作用
/boot系统启动目录,Liunx启动时,需要的文件如:内核文件和启动引导程序文件
/dev设备文件,硬件文件
/etc配置文件,脚本文件
/home存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/root管理员家目录
/proc虚拟文件系统保存到内存中。保存系统的内核,进程,外部设备状态和网络状态灯。如/proc/cpuinfo是保存CPU信息的,/proc/devices是 保存设备驱动的列表的,/proc/filesystems是保存文件系统列表的,/proc/net是 保存网络协议信息的
/sys虚拟文件系统。和/proc 目录相似,都是保存在内存当中的,主要是保存于内核相关信息的
/srv服务数据目录。- -些系统服务启动之后,可以在这个目录中保存所需要的数据
/tmp临时目录。系统存放临时文件的目录,该目录下所有用户都可以访问和写入
/usr系统软件资源目录。是“Unix SoftwreResource”的缩写,是存放系统软件资源的目录。系统中安装的软件大多数保存在这里,
/var动态数据保存位置。主要保存缓存、日志以及软件运行所产生的文件
/media挂载目录。系统建议是用来挂载媒体设备的,例如软盘和光盘
/mnt挂载目录,早期Linux中只有这一一个挂载目录,并没有细分。现在这个目录系统建议挂载额外设备,如U盘,移动硬盘和其他操作系统的分区
/opt第三方安装的软件保存位置。这个目录就是放置和安装其他软件的位置,我手工安装的源码包软件都可以安装到这个目录当中。不过我还是更加习惯把软件放置到/usr/loca1/目录当中,也就是说/usr/local/目录也可以用来安装软件
/run进程文件
/bin存放系统命令的目录,普通用户和超级用户都可以执行。不过放在/bin’下的命令在单用户模式下也可以执行
/ sbin保存和系统环境设置相关的命令,只有超级用户可以使用这些命令进行系统环境设置,但是有些命令可以允许普通用户查看
/usr/bin存放系统命令的目录,普通用户和超级用户都可以执行。这些命令和系统启动无关,在单用户模式下不能执行
/usr/sbin存放根文件系统不必要的系统管理命令,例如多数服务程序。只有超级用户可以使用。大家其实可以注意到Linux的系统,在所有“sbin"目录中保存的命令只有超级用户可以使用,“bin” 目录中保存的命令所有用户都可以使用
/usr/lib32位库文件
/usr/lib6464位库文件
  • 路径切换
  • 创建目录
mkdir  a  //创建 a 目录
mkdir -p  dir1/dir2/a  //若没有 dir 目录,则 -p 自动创建
  • 复制目录
cp -r dir1 dir2       //复制 dir1 在同一目录下,命名 dir2
cp -r dir1 dir2  dir3  //复制 dir1 dir2 到 dir3 目录下
  • 移动目录
mv dir1 dir2  //如果 dir2 不存在,相当于 dir1 重命名 dir2
mv dir1 dir2  dir3 //如果 dir3 存在,dir1 和 dir2 移动到 dir3
  • 删除目录
rm -r a  //删除 a 目录
rm -rf a b c //强制删除包含的文件和目录

文件和目录的权限

查询权限

ls -l 查询详细信息,每一处代表什么意思呢

在这里插入图片描述

  • 权限
  1. 文件权限
  1. 目录的权限:

修改权限

  • chmod 修改 拥有者 和 所属组 的权限
  1. 数字法:r=4,w=2, x=1
chomd 777 123
// 123的拥有者、所属组、其他人的权限为 rwx-rw-rw-
  1. 加减法
chomd u=rx 123// 123的拥有者权限为 rx
chomd u+w 123 // 123的拥有者权限为 rwx
  • chown 修改拥有者
chown  root  abc  //修改 abc 的拥有者为 root
chown  -R root  abc  //递归修改 abc 的拥有者为 root
//abc 目录包含的所有拥有者均改为 root
  • chgrp 修改所属组
groupadd 组名  //新建组

gpasswd -a 用户 组名 //田间用户进组

chgrp  root  abc  //修改 abc 的所属组为 root
chgrp  -R root  abc  //递归修改 abc 的所属组为 root
//abc 目录包含的所有所属组均改为 root

默认权限

  • umask:查看当前用户的创建文件和目录的默认权限

创建文件和目录时,会默认拿走文件的 x 权限

  1. 临时修改默认权限
umask 000  
//创建文件和目录时,文件rw-rw-rw-,目录rwxrwxrwx
  1. 永久改默认权限(不推荐)

特殊权限

drwxrwxrwt. 14 root root 4096 1023 19:32 / tmp/
rwsr- xr-x .1 root root 27832 610 2014 /usr/bin/ passwd
  • SUID

执行的时候,暂时的拥有SUID权限
在这里插入图片描述

  • SGID

1、针对文件

在这里插入图片描述
2、针对目录

  • SBIT

在这里插入图片描述

  • 修改特殊权限

数字法:SUID=4 SGID=2 SBIT=1

chomd 4777 文件名 
chomd 2777 文件名 
chomd 1777 目录名 

chmod u+s 文件名
chmod g+s 文件名
chmod o+t 目录名
  • 删除特殊权限
chmod 777 文件名

chmod u-s 文件名

ACL文件权限

  • 设置文件的acl权限setfacl
setfacl -m u:账户名: rwx 文件名/目录名
//对此文件/目录 加入了acl权限,有了一个特定账户
setfacl -m g: 组名: rwx 文件名/目录名

setfacl -m m: rwx //修改mask值


参数
-m:配置acl参数
-x:删除单个文件的acl
-b:删除acl的配置
-R:递归配置ac参数
  • 删除acl
setfacl -x u:账户名 文件名/目录名

setfacl -x g:账户名 文件名/目录名

setfacl -b 文件名/目录名  //删除该文件所有的 acl权限
  • 递归ACL权限
setfacl -m u:账户名: rwx -R 目录名 
  • 默认ACL权限
setfacl -m d:u:账户名: rwx 目录名 
  • 查看文件的acl权限getfacl
getfacl 文件名/目录名
  • 最大有效权限mask

文件系统隐藏属性

一把锁 防止root用户在内的用户,对文件误操作

  • 设置文件隐藏属性chattr
chattr +i 文件名/目录名
chattr -i 文件名/目录名
chattr =i 文件名/目录名
  • 查看文件隐藏属性lsattr
lsattr

参数
-a:显示所有文件和目录
-d:若目标是目录,只显示目录本身,不是子文件

sudo权限

关机命令只能root用户使用,但是root用户太忙,可以赋予普通用户使用

在这里插入图片描述

  • 查看被赋予的权限
sudo -l
  • 设置sudo
visudo   //实际修改的是/etc/sudoers文件
  • 例子
visudo

SC ALL= /sbin/shutdown -r now //给sc用户赋予重启权限	

sudo /sbin/ shutdown -r now //普通用户执行被赋予的权限
举报

相关推荐

0 条评论