1.3 Linux目录操作

文章目录

零、学习目标

  1. 了解文件目录权限
  2. 掌握文件目录权限操作
  3. 熟悉常用文件目录操作

一、导入新课

  • Linux是一款安全性十分良好的操作系统。不仅有用户层面的安全性,还有目录操作层面的安全性,本次课我们要学习Linux的目录权限操作:读权限、写权限和执行权限。另外,常用目录操作也应该掌握,对于我们学习Hadoop奠定一个良好的Linux操作基础。

二、新课讲解

(一)常用权限操作

1、常用权限操作

(1)chgrp命令
  • 功能:修改文件所属组
  • 语法格式:chgrp 用户组 文件
  • 说明:ch - change;grp - group
(2)chown命令
  • 功能:改变文件所有者
  • 语法格式:chown 用户 文件
  • 说明:ch - change;own - owner
(3)chmod命令
  • 功能:改变文件权限
  • 语法格式:chmod 权限 文件
  • 说明:ch - change;mod - mode
  • 三种角色(role)
字母 角色
u 所有者(user)
g 用户组(group)
o 其他人(other)
  • 三种权限(permission | authority)
字母 权限
r 可读(readable)
w 可写(writable)
x 可执行(executable)
  • 两种权限设置方式
方式 说明 实例 实例 实例 实例
字母方式 r-w-x rwx r rw rx
数字方式 4-2-1 100-010-001 4+2+1=7 4+0+0=4 4+2+0=6 4+0+1=5
  • chmod 756 love.txt相当于chmod u=rwx, g=rx, o=rw love.txt

2、权限操作实战

任务1、创建文件,设置其用户组
  • 创建文件的方法很多,比如用vim、touch、echo......

  • root用户创建新文件love.txtecho是输出命令,默认是输出到屏幕;>是重定向命令)

  • 查看文件love.txt的用户及用户组

  • 将其用户组改为lzy用户组(在1.2节曾创建了lzy用户组),执行命令:chgrp lzy love.txt(love.txt → \rightarrow →lzy)

  • 查看文件love.txt的用户及用户组

任务2、修改文件的所有者
  • 将root用户所建文件love.txt的所有者改变成alice(在1.2节里创建的普通用户)
  • 执行命令:chown alice love.txt (love.txt ∈ \in ∈ alice)
  • 查看文件love.txt的所有者信息
任务3、修改文件所有者与用户组
  • love.txt文件所有者改为smith,用户组改为luzhou
  • 查看文件love.txt的用户及用户组信息
任务4、修改文件操作权限
  • 针对文件love.txt,权限字符串:-rw-r--r--

  • 权限字符串有10位,分为四个部分。

  • 第1位:表示文件类型;-表示文件,d表示目录,l表示链接

  • 第234位:表示文件所有者(user)的读写可执行权限

  • 第567位:表示文件所在组(group)的读写可执行权限

  • 第89X位:表示文件其他人(other)的读写可执行权限

  • 修改文件所有者权限为可读可写可执行(rwx),文件所在组的权限改为可读可执行但是不可写(r-x),文件其他人的权限设置为可读可执行但是不可写(r-x)

  • 执行命令:chmod u=rwx,g+x,o=rx love.txt(g+x:表明在原来权限基础上添加可执行权限)

  • 查看文件love.txt的操作权限

  • 其实,执行chmod 755 love.txt效果完全相同,我们不妨试一试。

  • 课堂练习:减去love.txt文件的用户组和其他人的可执行权限(字母方式或数字方式)

  • 采用字母方式,执行命令:chmod g-x,o-x love.txt

  • 查看love.txt的详细信息

  • 采用数字方式,执行命令:chmod 744 love.txt

  • 查看love.txt的详细信息

(二)常用目录操作

1、常用目录操作

命令 功能
help, man, info 获得命令帮助
pwd 查看当前的工作目录
cd 切换工作目录
ls -l 以长格式显示文件和目录的列表,包括权限,大小,最后更新时间等信息
ls -a 显示所有子目录和文件的信息,包括以"."开头的隐藏目录和隐藏文件
ls -d 显示目录属主的属性,而不是显示目录内容
ls -R 以递归的方式显示指定目录及其子目录的内容
mkdir 命令创建新的目录,使用"-p"创建嵌套的多层目录结构。
du 统计目录及文件的空间占用情况
du -a 统计磁盘空间占用时包括所有的文件,而不仅仅统计目录
du -h 以K,M单位显示显示统计结果
du -s 只统计每个参数所占空间总大小,而不是统计每个子目录和文件的大小
cp 拷贝目录或文件,允许使用通配符
mv 移动目录或文件
rm 删除目录或文件(rm -rf 强制删除)

2、目录操作实战

任务1、获取命令帮助信息
  • 执行命令:help pwd,查看pwd命令帮助信息
  • 执行命令:man pwd | head -20,查看pwd命令帮助信息(p rint w orking d irctory)
  • 执行命令:info pwd | head -20,查看pwd命令帮助信息
任务2、查看当前目录
  • 执行命令:pwd (pwd: print working directory)
  • 在后续搭建Hadoop环境时,经常会复制当前目录到配置文件里去使用。
任务3、显示目录(文件)
  • 执行命令:ls,显示当前目录下的目录文件名(ls - list)

  • 执行命令:ls /home,显示/home目录下的目录文件名

  • 执行命令:ls -l,显示当前目录下的目录文件详细信息

  • 说明:ls -l相当于ll命令

  • 执行命令:ls -a,显示所有子目录和文件的信息,包括以"."开头的隐藏目录和隐藏文件(. - 当前目录;.. - 父目录)

  • 执行命令:ls .,查看当前目录的内容

  • 执行命令:ls ..,查看父目录的内容

  • 执行命令:ls -dls -d /home,显示目录属主的属性,而不是显示目录内容

  • 执行命令:ls -R /home,以递归的方式显示指定目录及其子目录的内容(R - recursive)

  • 我们换一个目录来试,执行命令:ls -R /etc/sysconfig

  • 注意选项参数是-R,不是-r,用-r,查看结果是不同的,并没有递归

  • 执行命令:ls -h /etc/sysconfig

任务4、创建目录
  • 创建单个目录:mkdir 目录名,在当前目录下创建test目录(mkdir - make directory)

  • 创建多层目录:mkdir -p 多层目录,在当前目录下创建hw/yl/lzy

  • 如果不加参数-p,就不能创建原本不存在的多级目录

  • 创建平行的多个目录:mkdir 目录1 目录2 目录3......

  • 课堂练习 :创建下图所示目录结构(可以有不同的方法来完成任务)

  • 方法一:采用参数-p直接创建

  • 采用递归方式查看刚才创建的目录结构

  • 执行命令:yum -y install tree,安装tree,查看目录树

  • 修改网卡配置文件,执行命令:vim /etc/sysconfig/network-scripts/ifcfg-ens33

  • 存盘退出,重启网络服务,执行命令:systemctl restart network

  • 执行命令:yum -y install tree

  • 执行命令:tree /lzy,查看目录结构

  • 为了演示第二种方法,先把/lzy目录彻底删除

  • 方法二:逐层创建每一级目录

  • 逐层创建,需要用到两个命令:mkdir和cd(切换目录)

  • 执行命令:tree /lzy,查看目录树

任务5、切换目录
  • 执行命令:cd /,返回根目录

  • 执行命令:cd ~~省掉也是一样的),返回当前用户的主目录,当前用户是root用户,其主目录是/root

  • howard用户的主目录就是/home/howard,由root用户切换到howard用户,当前目录依然是root用户的主目录,即/root,发布cd ~命令,切换到howard用户的主目录,即/home/howard

  • 返回上一级目录:cd ...

  • 说明:本来当前目录在/home/howard,发布cd..命令,返回到/home目录。

  • 返回上一次的目录:cd -

  • 说明:刚才由/home/howard目录,发布cd ..命令,返回到父目录/home,紧接着发布cd -命令,返回上一次的目录,那就是/home/howard了。

任务6、统计目录及文件空间占用情况
  • 执行命令:du
  • 执行命令:du -a
  • 执行命令:du -h
任务7、复制目录(文件)
  • 拷贝单个文件到当前目录
  • 拷贝单个文件到指定目录
  • 退出普通用户环境,返回根用户环境
  • 拷贝单个文件到指定目录
  • 拷贝多个文件到指定目录
  • 拷贝目录(包括一切子目录的内容),需要一个参数-r
任务8、移动目录(文件)
  • 移动文件:将hw1目录下的CentOS-Base.repo文件移到当前目录
  • 移动目录:将hw2目录下的yum目录移到hw1目录
任务9、删除目录(文件)
  • 删除文件:将hw1目录下以Cent打头的文件全部删除
  • 删除目录:删除hw1目录下的yum目录
  • 如果用这种方式来删除一个目录,那是很麻烦的,尤其当目录里有很多子目录或文件
  • 强制删除目录:rm -rf hw1/yum

三、归纳总结

  • 回顾本节课所讲的内容,并通过提问的方式引导学生解答问题并给予指导。

四、上机操作

  • 形式:单独完成
  • 题目:目录权限操作与常用目录操作
  • 要求:按照讲课笔记,完成全部目录权限操作与常用目录操作,每个操作都必须截图,发一篇CSDN博客。
相关推荐
耶啵奶膘26 分钟前
uniapp-是否删除
linux·前端·uni-app
_.Switch1 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
2401_850410831 小时前
文件系统和日志管理
linux·运维·服务器
JokerSZ.1 小时前
【基于LSM的ELF文件安全模块设计】参考
运维·网络·安全
XMYX-02 小时前
使用 SSH 蜜罐提升安全性和记录攻击活动
linux·ssh
芯盾时代2 小时前
数字身份发展趋势前瞻:身份韧性与安全
运维·安全·网络安全·密码学·信息与通信
心灵彼岸-诗和远方3 小时前
DevOps业务价值流:架构设计最佳实践
运维·产品经理·devops
一只哒布刘3 小时前
NFS服务器
运维·服务器
苹果醋34 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
二十雨辰4 小时前
[linux]docker基础
linux·运维·docker