当前位置: 首页 > article >正文

【Linux实践】实验三:LINUX系统的文件操作命令

【Linux实践】实验三:LINUX系统的文件操作命令

  • 实验目的
  • 实验内容
  • 实验步骤及结果
    • 1. 切换和查看目录
    • 2. 显示目录下的文件
    • 3. 创建和删除目录
      • ① mkdir
      • ② rm
      • ③ rmdir
    • 4. 输出和重定向
      • ① 输出
      • ② 重定向 > 和 >>
    • 5. 查看文件内容
      • ① cat
      • ② head
    • 6. 权限
    • 7. 复制
    • 8. 排序
    • 9. 文件类型
    • 10. 匹配(搜索)字符

这章开始要涉及到命令了,其他关于命令的内容可以看我 2021年写的笔记。
传送 ——> Linux 从零开始

实验目的

1、掌握LINUX下文件和目录操作命令:cd、ls、mkdir、rmdir、rm。
2、掌握LINUX下文件信息显示命令:cat、more。
3、掌握LINUX下文件复制、删除及移动命令:cp、mv。
4、掌握LINUX的文件检索、排序命令:grep、sort。

实验内容

1、使用命令切换到/etc目录,并显示当前工作目录路径。
2、使用命令显示/root目录下所有文件目录的详细信息,包括隐藏文件。
3、使用命令创建目录/root/linux,然后删除该目录。
4、使用命令cat用输出重定向在/root目录下创建文件abc,文件内容为“Hello,Linux!”,并查看该文件的内容。
5、使用命令创建具有默认权限为744的目录/root/ak,然后将/root/abc文件复制到该目录中,最后将该目录及其目录下的文件一起删除。
6、查看文件/etc/passwd的前3行内容。
7、创建文件file1,文件内容有3行,分别为a、c、b,排序该文件数据,显示在屏幕上。
8、使用命令显示/etc/passwd文件的文件类型。
9、在文件/etc/passwd中搜索匹配字符“root”。

实验步骤及结果

1. 切换和查看目录

序号命令对应英文作用
01pwdprint work directory查看当前所在文件夹
02cd [目录名]change directory切换文件夹
  • cd 功能:更改当前的工作目录
  • 所有的 目录文件名 大小写敏感
命令含义
cdcd ~切换到当前用户的主目录(/home/用户目录)
cd .保持在当前目录不变
cd ..切换到上级目录
cd -可以在最近两次工作目录之间来回切换
  • cd /etc 切换到 /etc 目录
    在这里插入图片描述
  • pwd 显示当前工作目录路径
    在这里插入图片描述

2. 显示目录下的文件

命令对应英文作用
lslist查看当前文件夹下的内容
  • 功能:列出目录的内容
  • . 开头的文件为隐藏文件
  • . 代表当前目录
  • .. 代表上一级目录
参数含义
-a显示指定目录下的所有子目录与文件,包括隐藏文件
-l以列表方式显示文件的详细信息
-h配合 -l 一起使用,以人性化的凡是显示文件大小
  • 使用命令显示/root目录下所有文件目录的详细信息,包括隐藏文件。
    在这里插入图片描述
    因为root是超级用户的主目录,所以需要管理员权限,现在的权限不够,那就加 sudo
    在这里插入图片描述

3. 创建和删除目录

序号命令对应英文作用
01mkdir 目录名make directory创建目录
02rm 文件名remove删除指定的文件或目录
03rmdir [选项] 目录名remove directory删除空目录

① mkdir

  • mkdir 功能:创建一个新的目录
  • 新建目录的名称不能与当前目录中已有的目录或文件同名
选项含义
-p可以递归创建目录(例:mkdir ~/a/b/c/d
  • 使用命令创建目录/root/linux,操作root目录需要使用管理员权限。
    在这里插入图片描述

② rm

  • rm 功能:删除文件或目录,不放入回收站,危险性较大。 sudo rm -rf /*
选项含义
-r递归地删除目录下的内容,删除文件夹 时必须加此参数
-f强制删除,忽略不存在文件,无需提示
  • 使用命令删除目录/root/linux
    在这里插入图片描述

③ rmdir

  • rmdir 命令只能删除空目录。如果目录中有文件或子目录,rmdir会报错并提示目录非空。
选项含义
-p递归删除目录及其所有父目录,如果父目录在删除最后一个子目录后变为空目录,则一并删除。
-v显示删除每个目录的详细信息。

4. 输出和重定向

① 输出

  • 格式:echo 文字内容
  • echo 会再终端中显示参数指定的文字,通常会和 重定向 联合使用

② 重定向 > 和 >>

  • 功能:讲命令执行结果重定向到一个文件
  • 将本应显示在终端上的内容 输出 / 追加 到指定文件中
  • > 表示输出,会覆盖文件原有的内容
  • >> 表示追加,会将内容追加到已有文件的末尾

输出重定向在/root目录下创建文件abc,文件内容为“Hello,Linux!”。
因为操作的是 root 目录,依然需要管理员权限。

在这里插入图片描述
但是即使加上 sudo 依然没有提示权限不够。

在这里插入图片描述
所以这里使用 su 命令直接切换到管理员。如果不知道密码,可以输入sudo passwd root设置新密码。

在这里插入图片描述

5. 查看文件内容

序号命令对应英文作用
1cat 文件名concatenate查看文件内容、创建文件、文件合并、追加文件内容等功能
2head [参数] [文件]head查看文件的开头部分的内容

① cat

  • 功能:查看文件内容,创建文件,文件合并,追加文件内容等
  • 会一次显示所有的内容,适合 查看内容较少 的文本文件
  • 命令 nlcat -b 等价
选项含义
-b对非空输出行编号
-n对输出的所有行编号

查看 /root/abc 文件中的内容。

在这里插入图片描述

② head

  • 功能:head 命令可用于查看文件的开头部分的内容
  • 有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。
选项含义
-q隐藏文件名
-v显示文件名
-c <数目>显示的字节数
-n <行数>显示的行数

查看文件 /etc/passwd 的前3行内容

在这里插入图片描述

6. 权限

序号权限英文缩写数字代号
01readr4
02writew2
03执行excutex1
04无权限-0
  • chmod 功能:修改 用户 / 组文件 / 目录 的权限
  • 命令格式:chmod +/-rwx 文件名|目录名

使用命令创建目录 /root/ak

在这里插入图片描述

给 /root/ak 赋予 744权限

在这里插入图片描述

7. 复制

序号命令对应英文作用
1cp 源文件 目标文件copy复制文件或目录
  • cp 功能:将给出的文件或目录复制到另一个文件或目录
  • 如果要复制到当前文件夹,不更改文件名,只加一个. cp ~/Documents/readme.txt .
选项含义
-i覆盖文件前提示
-f若给出的原文件是目录文件,则将递归复制该目录下的所有目录和文件,目标文件必须是一个目录名

将 /root/abc 文件复制到 /root/ak 中

在这里插入图片描述

最后将该目录及其目录下的文件一起删除

在这里插入图片描述

8. 排序

  • sort 命令用于将文本文件内容加以排序。
  • sort 可针对文本文件的内容,以行为单位来排序。
常用选项含义
-d排序时,处理英文字母、数字及空格字符外,忽略其他的字符
-f排序时,将小写字母视为大写字母
-n依照数值的大小排序
-u意味着是唯一的(unique),输出的结果是去完重了的
-r以相反的顺序来排序
-o <输出文件>将排序后的结果存入指定的文件

创建文件file1,文件内容有3行,分别为a、c、b

在这里插入图片描述

排序该文件数据,显示在屏幕上

在这里插入图片描述

9. 文件类型

  • file 命令用于辨识文件类型。
常用选项含义
-b输出结果时,不显示文件名称
-c详细显示指令执行过程,便于排错或分析程序执行的情形
-L直接显示符号连接所指向的文件的类别
-z尝试去解读压缩文件的内容

使用命令显示/etc/passwd文件的文件类型

在这里插入图片描述

10. 匹配(搜索)字符

  • grep 功能:文本搜索工具
  • 格式:grep 搜索文本 文件名
  • 允许对文本文件按进行模式查找,所谓模式查找,也被称为正则表达式
选项含义
-n显示匹配行及行号
-v显示不包括匹配文本的所有行(相当于求反)
-i忽略大小写
  • 常用的两种模式查找
选项含义
^a行首,搜索以 a 开头的行
ke$行尾,搜索以 ke 结束的行

在文件/etc/passwd中搜索匹配字符“root”

在这里插入图片描述


http://www.kler.cn/a/318121.html

相关文章:

  • 分布式专题(10)之ShardingSphere分库分表实战指南
  • Go语言及MongoDB数据库安装配置详解!
  • 编程语言的软件工程
  • Anton和Danik的棋局对决
  • 抓取手机HCI日志
  • 深入探讨 Go 中的高级表单验证与翻译:Gin 与 Validator 的实践之道20241223
  • 【强化学习系列】Gym库使用——创建自己的强化学习环境3:矢量化环境+奖励函数设计
  • 【30天玩转python】单元测试与调试
  • 制造企业MES系统委外工单管理探析
  • js中正则表达式中【exec】用法深度解读
  • 【Finetune】(五)、transformers之LORA微调
  • JetLinks物联网学习(前后端项目启动)
  • 学习编程利器《西蒙学习法》
  • 边学英语边学 Java|Synchronization in java
  • vite配置将es6打包成es5
  • Java-ArrayList和LinkedList区别
  • 速通LLaMA3:《The Llama 3 Herd of Models》全文解读
  • Ubuntu中常用的操作指令
  • vsomeip客户端/服务端大致运行流程
  • STL之vector篇(上)还在为学习vector而感到烦恼吗?每次做算法题都要回忆很久,不如来看看我的文章,精简又易懂,帮你快速掌握vector的相关用法
  • kafka 生产者拦截器
  • yum 安装gcc 时,提示glibc错误依赖
  • LeetCode题练习与总结:二叉树的最近公共祖先--236
  • 读书笔记——DDIA-v2 设计数据密集型应用(第二版)
  • 卷积神经网络——手写数字识别
  • PX4固定翼控制器详解(五)——L1、NPFG控制器