【大数据技术基础 | 实验二】Linux基础:常用基本命令和文件操作

news2024/12/27 11:14:50

在这里插入图片描述

文章目录

    • 一、实验目的
    • 二、实验要求
    • 三、实验环境
    • 四、常用基本命令
      • 1、验证cd和pwd命令
      • 2、验证ls命令
      • 3、验证mkdir命令
      • 4、验证cp、mv和rm命令
    • 五、Linux文件操作
      • 1、验证touch命令
      • 2、验证cat命令
      • 3、验证more命令
    • 六、实验心得


一、实验目的

  1. 学会linux常用命令(cd,ls,pwd,mkdir,rm,cp,mv)的使用方法。
  2. 学会linux文件操作命令(touch,cat,more)的使用方法。

二、实验要求

  1. 掌握linux常用命令基本用法。
  2. 掌握linux文件操作命令基本用法。

三、实验环境

云创大数据实验平台

四、常用基本命令

1、验证cd和pwd命令

启动实验,连接OpenVPN后,登录master服务器,执行下列指令,验证Linux环境下的cd和pwd命令。

cd是打开某个路径的命令,也就是打开某个文件夹,并跳转到该处。命令格式为:cd path,path为你要打开的路径。其中,path有绝对路径和相对路径之分,绝对路径强调从/起,一直到所在路径。相对路径则相对于当前路径来说,假设当前家目录有etc文件夹(绝对路径应为/home/username/etc),如果直接执行命令cd etc则进入此文件夹,但若是cd /etc/则是进入系统etc ,多琢磨一下就可以理解了。另外在Linux中,.代表当前目录,..代表上级目录,因此返回上级目录可以使用命令cd ..

pwd命令是查看当前目录,并返回工作目录名字,是绝对路径名。

[root@master ~]# pwd        ### 查看当前目录
/root
[root@master ~]# cd  /usr/    ### 使用绝对路径跳转目录
[root@master usr]# pwd
/usr
[root@master usr]# cd  cstor  ### 使用相对路径跳转目录
[root@master cstor]# pwd
/usr/cstor
[root@master cstor]#

在这里插入图片描述

2、验证ls命令

ls意思为list,用于列举指定目录下的文件名称以及属性。

命令说明
ls ×××列出文件
ls 目录名 ×××列出目录名下的可见文件
ls -l 目录名 ×××列出目录名下的课件文件详细信息
ls -hl 目录名 ×××列出详细信息并以可读大小显示文件大小
ls -al 目录名 ×××列出所有文件(包括隐藏文件)的详细信息

值得注意的是,Linux中以.开头的文件或者文件夹都是隐藏文件或者隐藏文件夹。

[root@master ~]# ls .         ### 仅列出当前目录可见文件
anaconda-ks.cfg  dataset  original-ks.cfg
[root@master ~]# ls -l .       ### 列出当前目录可见文件详细信息
total 8
-rw------- 1 root root 3407 Sep 11 23:53 anaconda-ks.cfg
drwxr-xr-x 2 root root   41 Oct  9 15:50 dataset
-rw------- 1 root root 3221 Sep 11 23:53 original-ks.cfg
[root@master ~]# ls -hl .      ### 列出详细信息并以可读大小显示文件大小
total 8.0K
-rw------- 1 root root 3.4K Sep 11 23:53 anaconda-ks.cfg
drwxr-xr-x 2 root root   41 Oct  9 15:50 dataset
-rw------- 1 root root 3.2K Sep 11 23:53 original-ks.cfg
[root@master ~]# ls -al .      ### 列出所有文件(包括隐藏)的详细信息
total 28
dr-xr-x---  5 root root  178 Oct  9 15:50 .
drwxr-xr-x 17 root root  294 Oct 10 09:48 ..
-rw-r--r--  1 root root   18 Dec 29  2013 .bash_logout
-rw-r--r--  1 root root 1283 Oct 10 09:48 .bash_profile
-rw-r--r--  1 root root  176 Dec 29  2013 .bashrc
drwx------  3 root root   17 Oct  9 15:13 .cache
-rw-r--r--  1 root root  100 Dec 29  2013 .cshrc
drwxr-----  3 root root   19 Sep 28 15:32 .pki
-rw-r--r--  1 root root  129 Dec 29  2013 .tcshrc
-rw-------  1 root root 3407 Sep 11 23:53 anaconda-ks.cfg
drwxr-xr-x  2 root root   41 Oct  9 15:50 dataset
-rw-------  1 root root 3221 Sep 11 23:53 original-ks.cfg
[root@master ~]#

在这里插入图片描述

3、验证mkdir命令

mkdir用于新建文件夹。

参数说明
-p递归创建多级目录
-m建立目录的同时设置目录的权限
-z设置安全上下文
-v显示目录的创建过程
[root@master ~]# ls -l
total 8
-rw------- 1 root root 3407 Sep 11 23:53 anaconda-ks.cfg
drwxr-xr-x 2 root root   41 Oct  9 15:50 dataset
-rw------- 1 root root 3221 Sep 11 23:53 original-ks.cfg
[root@master ~]# mkdir folder
[root@master ~]# ls -l
total 8
-rw------- 1 root root 3407 Sep 11 23:53 anaconda-ks.cfg
drwxr-xr-x 2 root root   41 Oct  9 15:50 dataset
drwxr-xr-x 2 root root    6 Oct 10 09:57 folder
-rw------- 1 root root 3221 Sep 11 23:53 original-ks.cfg
[root@master ~]# ls -l folder/
total 0
[root@master ~]# mkdir -p folder/subfolder   ### -p参数的含义为:当父目录存在时忽略,若不存在则建立,用此参数可建立多级文件夹
[root@master ~]# ls -l folder/
total 0
drwxr-xr-x 2 root root 6 Oct 10 09:58 subfolder
[root@master ~]#

在这里插入图片描述

4、验证cp、mv和rm命令

cp意思为copy,用于将一个或多个文件或目录复制到指定位置。

参数说明
-f若目标文件已存在,则会直接覆盖原文件
-i若目标文件已存在,则会询问是否覆盖
-p保留源文件或目录的所有属性
-r递归复制文件和目录

mv意思为move,用于对文件进行剪切和重命名。

常用参数说明
-i若存在同名文件,则向用户询问是否覆盖
-f覆盖已有文件时,不进行任何提示
-b当文件存在时,覆盖前为其创建一个备份
-u当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作

rm意思为remove,用于删除文件或目录,一次可以删除多个文件,或递归删除目录及其内的所有子文件。rm命令要谨慎的使用。

参数说明
-f强制删除(不二次询问)
-i删除前会询问用户是否操作
-r/R递归删除
-v显示指令的详细执行过程
[root@master ~]# cd /home/
[root@master home]# ls -l
total 0
[root@master home]# cp /root/dataset/area.csv /home/      ### 拷贝单个文件
[root@master home]# ls -l
total 272
-rw-r--r-- 1 root root 277422 Oct 10 10:07 area.csv
[root@master home]# cp /root/dataset/* /home/           ### 拷贝目录下所有文件
cp: overwrite '/home/area.csv'? y
[root@master home]# cp -r /root/folder/ /home/           ### 拷贝文件夹
[root@master home]# ls -l
total 2164
-rw-r--r-- 1 root root  277422 Oct 10 10:08 area.csv
drwxr-xr-x 3 root root      23 Oct 10 10:08 folder
-rw-r--r-- 1 root root 1933320 Oct 10 10:08 weather.csv
[root@master home]# mv area.csv area-bak.csv           ### 重命名文件,也可移动至其它目录
[root@master home]# ls -l
total 2164
-rw-r--r-- 1 root root  277422 Oct 10 10:08 area-bak.csv
drwxr-xr-x 3 root root      23 Oct 10 10:08 folder
-rw-r--r-- 1 root root 1933320 Oct 10 10:08 weather.csv
[root@master home]# mv folder newfolder               ### 重命名目录,也可移动至其它目录
[root@master home]# ls -l
total 2164
-rw-r--r-- 1 root root  277422 Oct 10 10:08 area-bak.csv
drwxr-xr-x 3 root root      23 Oct 10 10:08 newfolder
-rw-r--r-- 1 root root 1933320 Oct 10 10:08 weather.csv
[root@master home]# rm weather.csv                   ### 删除单个文件
rm: remove regular file 'weather.csv'? y
[root@master home]# ls -l 
total 272
-rw-r--r-- 1 root root 277422 Oct 10 10:08 area-bak.csv
drwxr-xr-x 3 root root     23 Oct 10 10:08 newfolder
[root@master home]# rm -f area-bak.csv                ### 强制删除单个文件(跳过确认步骤)
[root@master home]# ls -l
total 0
drwxr-xr-x 3 root root 23 Oct 10 10:08 newfolder
[root@master home]# rm -rf newfolder/subfolder/        ### 强制删除指定目录
[root@master home]# ls -l newfolder/
total 0
[root@master home]# touch a.txt b.txt c.txt             ### touch命令创建空文件
[root@master home]# ls -l
total 0
-rw-r--r-- 1 root root 0 Oct 10 10:11 a.txt
-rw-r--r-- 1 root root 0 Oct 10 10:11 b.txt
-rw-r--r-- 1 root root 0 Oct 10 10:11 c.txt
drwxr-xr-x 2 root root 6 Oct 10 10:11 newfolder
[root@master home]# rm -rf *                        ### 强制删除当前目录下所有文件和文件夹(谨慎使用,切记切记)
[root@master home]# ls -l
total 0
[root@master home]#

在这里插入图片描述

五、Linux文件操作

1、验证touch命令

touch命令的功能是用于创建空文件与修改时间戳。如果文件不存在,则会创建出一个空内容的文本文件;如果文件已经存在,则会对文件的访问时间和修改时间进行修改操作,管理员可以完成此项工作,而普通用户只能管理主机的文件。

参数说明
-a改变档案的读取时间记录
-m改变档案的修改时间记录
-r使用参考档的时间记录,与 --file 的效果一样
-c不创建新文件
-d设定时间与日期,可以使用各种不同的格式
-t设定档案的时间记录,格式与 date 命令相同

启动实验,连接OpenVPN后,登录master服务器,验证Linux的touch命令。

[root@master ~]# ls -l
total 4
-rw------- 1 root root 3068 Nov  2  2016 anaconda-ks.cfg
-rw-r--r-- 1 root root    0 Sep 27 17:04 rename.csv
-rw-r--r-- 1 root root    0 Sep 27 17:04 weather.csv
[root@master ~]# touch yunchuang.txt   ###创建一个名为“yunchuang”的新的空白txt文件
[root@master ~]# ls -l
total 4
-rw------- 1 root root 3068 Nov  2  2016 anaconda-ks.cfg
-rw-r--r-- 1 root root    0 Sep 27 17:04 rename.csv
-rw-r--r-- 1 root root    0 Sep 27 17:04 weather.csv
-rw-r--r-- 1 root root    0 Sep 28 09:25 yunchuang.txt
[root@master ~]# touch yunchuang.txt      ###修改yunchuang.txt文件的时间属性
[root@master ~]# ls -l
total 4
-rw------- 1 root root 3068 Nov  2  2016 anaconda-ks.cfg
-rw-r--r-- 1 root root    0 Sep 27 17:04 rename.csv
-rw-r--r-- 1 root root    0 Sep 27 17:04 weather.csv
-rw-r--r-- 1 root root    0 Sep 28 09:28 yunchuang.txt

在这里插入图片描述

2、验证cat命令

cat意思为concatenate,用于查看文件内容,cat命令适用于查看内容较少的、纯文本的文件。

参数说明
-n显示行数(空行也编号)
-s显示行数(多个空行算一个编号)
-b显示行数(空行不编号)
-E每行结束处显示$符号
-T将TAB字符显示为 ^I符号
–help显示帮助信息
–version显示版本信息

在master服务器上键入如下命令,输出文件anaconda-ks.cfg的内容。

[root@master ~]# cat  anaconda-ks.cfg

在这里插入图片描述

3、验证more命令

more命令用于分页显示文本文件内容,如果文本文件中的内容较多较长,使用cat命令读取后则很难看清,这时使用more命令进行分页查看就更加合适了,可以把文本内容一页一页的显示在终端界面上,用户每按一次回车即向下一行,每按一次空格即向下一页,直至看完为止。

参数说明
-num指定每屏显示的行数
-f计算实际的行数,而非自动换行的行数
-p先清除屏幕再显示文本文件的剩余内容
-c与-p相似,不滚屏,先显示内容再清除旧内容
-s多个空行压缩成一行显示
-u禁止下划线

验证cat命令时,由于anaconda-ks.cfg文件内容过多,屏幕自动刷到了文件底端,导致前面的文件无法正常展示,因此,键入如下命令来验证more和cat的区别。

[root@master ~]# more  anaconda-ks.cfg

在这里插入图片描述

六、实验心得

  1. 命令记忆:通过实际操作,我深刻体会到记忆Linux命令的重要性。虽然一开始需要频繁查看命令手册,但多次使用后,很多常用命令已经能够熟练掌握。
  2. 命令组合:Linux命令的强大之处在于可以组合使用。例如,使用find命令找到文件后,可以使用xargs命令与其他命令结合,实现更复杂的操作。
  3. 文件权限:在操作过程中,我注意到Linux对文件权限的严格控制。通过ls -l命令可以查看文件的权限信息,这对于系统安全和文件保护至关重要。
  4. 错误处理:在实验中,我遇到了不少错误,如命令拼写错误、权限不足等。通过查阅文档和求助社区,我学会了如何正确处理和解决这些错误。
  5. 实践出真知:理论学习固然重要,但实际操作更能加深理解。通过本次实验,我对Linux的基本命令和文件操作有了更深入的认识,也提高了自己的动手能力。

总结
  本次Linux基础实验让我对常用基本命令和文件操作有了更深入的了解。通过实际操作,我不仅掌握了这些命令的使用方法,还学会了如何组合使用命令来处理更复杂的任务。未来,我将继续深入学习Linux系统,提高自己的技术水平。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2211330.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32 SPI通信 F407外设控制器 W25Q64

SPI介绍 SPI:串行外部设备接口 --- 通信接口 特点:高速同步串行全双工 --- 40MHz 场景:存储器 OLED 无线通信 传感器 硬件连线: …

docker安装elasticsearch(es)+kibana

目录 docker安装elasticsearch 一.准备工作 1.打开docker目录 2.创建elasticsearch目录 3.打开elasticsearch目录 4.拉取elasticsearch镜像 5.检查镜像 二.挂载目录 1.创建数据挂载目录 2.创建配置挂载目录 3.创建插件挂载目录 4.权限授权 三.编辑配置 1.打开con…

优先算法1--双指针

“一念既出,万山无阻。”加油陌生人! 目录 1.双指针--移动零 2.双指针-复写零 ok,首先在学习之前,为了方便大家后面的学习,我们这里需要补充一个知识点,我这里所谓的指针,不是之前学习的带有…

RISC-V笔记——语法依赖

1. 前言 Memory consistency model定义了使用Shared memory(共享内存)执行多线程(Multithread)程序所允许的行为规范。RISC-V使用的内存模型是RVWMO(RISC-V Weak Memory Ordering),该模型旨在为架构师提供更高的灵活性,以构建高性能可拓展的设计&#x…

51单片机的土壤湿度检测控制系统【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块土壤湿度传感器继电器按键、蜂鸣器、LED等模块构成。适用于智能浇花浇水系统、花卉灌溉系统等相似项目。 可实现功能: 1、LCD1602实时显示土壤湿度 2、土壤湿度传感器(滑动变阻器模拟)采集…

鸿蒙--商品列表

这里主要利用的是 List 组件 相关概念 Scroll:可滚动的容器组件,当子组件的布局尺寸超过父组件的视口时,内容可以滚动。List:列表包

gitlab保护分支设置

版本:gitlab10.2.2 一旦设置master分支被保护,除了管理员之外的任何用户都无法直接向master提交代码,只要提交代码就会报错 # git push -u origin master Total 0 (delta 0), reused 0 (delta 0) remote: GitLab: You are not allowed to pu…

前端优化,解决页面加载慢

问题:vue项目使用vite打包后,部署在nginx服务器上,页面上访问时很慢,发现有个js文件很大导致加载很慢 先说结论: 方式时间未优化前21s开启压缩(6级)6s去掉大依赖(flowable&#xf…

【CTF-SHOW】 web入门 web11-域名隐藏信息 【详-域名】

这道题的主要思路是通过DNS查询(或利用题目中所给的网址直接查询)指定域名解析以获得txt记录 1.什么是域名? 域名(Domain Name) 是互联网上用来标识网站或网络服务的名字,它是一个人类易于记忆和使用的地…

InfluxDB快速掌握

文章目录 1、InfluxDB简介2、InfluxDB数据结构3、InfluxDB存储架构4、InfluxDB基本操作1_数据库操作2_数据表操作3_数据保存策略4_数据查询操作 5、存储引擎6、总结 1、InfluxDB简介 时序数据库是近几年一个特殊的概念,与传统的Mysql关系型数据库相比,它…

算法:560.和为k的子数组

题目 链接:leetcode链接 思路分析&#xff08;前缀和&#xff09; 注意&#xff1a;我们前面讲过滑动窗口可以处理子数组、子串等问题&#xff0c; 但是在这道题目里面注意数据范围 -1000 < nums[i] < 1000 nums[i]可正可负&#xff0c;区间的和没有单调性&#xff0c;使…

Python案例 |地图绘制及分级着色

1、分级着色地图 分级着色地图常用于可视化地理数据&#xff0c;比如人口密度、经济数据、气候变化等。其原理是使用颜色或阴影的渐变来表示不同区域(如国家、省份、城市等)中的数据差异。例如&#xff0c;地图上的每个区域根据其代表的数值被着色&#xff0c;通常数值越大&am…

React Leaflet + React Pixi:双倍的快乐,我全都要

一篇实用性的文章&#xff0c;记录一下最近在自娱自乐使用 Leaflet 和 PixiJS 的过程中整的一个有意思的活&#xff0c;帮助我们使用 React 声明式的语法在 Leaflet 的图层上使用 PixiJS 绘图。 如果你对这些库和它们的用途都已有所了解&#xff0c;只想直接看代码的话&#xf…

今日指数项目day8实战权限管理功能(下)

3.4 权限添加按钮 1&#xff09;原型效果 2&#xff09;接口说明 功能描述&#xff1a; 权限添加按钮 服务路径&#xff1a; /api/permission 服务方法&#xff1a;Post请求参数格式: {"type":"1", //菜单等级 0 顶级目录 1.目录 2 菜单 3 按钮"t…

牛筋面,一口就爱上的神仙美食

宝子们&#x1f44b;&#xff0c;今天我一定要给大家种草一款超级好吃的美食 —— 食家巷牛筋面&#x1f60b;。&#x1f380;牛筋面真的是一种神奇的存在✨。它的口感 Q 弹有嚼劲&#xff0c;就像在你的嘴巴里跳舞一样&#x1f483;。每一根面条都裹满了浓郁的酱汁&#xff0c…

原生mybatis框架引入mybatisplus,调用接口时找不到原生Mapper自带的默认方法

1.yaml配置文件和Mapper注解基本上可以不用关注&#xff0c;因为mybatis能用就证明这俩多半是没有问题的 2.再看看是不是映射出了问题&#xff0c;像Namespace的空间包名和Mapper没有对上之类的 这个框架的问题是出在配置mybatis的config文件当中&#xff0c;原本的config文件用…

Unity 从零开始搭建一套简单易用的UGUI小框架 扩展与优化篇(完结)

一个通用的UGUI小框架就算是写完了&#xff0c;下面是一步步的思考与优化过程 Unity 从零开始搭建一套简单易用的UGUI小框架 基础分析篇-CSDN博客 Unity 从零开始搭建一套简单易用的UGUI小框架 功能撰写与优化篇-CSDN博客 从使用者的角度来整理一下可能会发出的疑问 0. Panel…

【微服务】springboot远程docker进行debug调试使用详解

目录 一、前言 二、线上问题常用解决方案 2.1 微服务线上运行中常见的问题 2.2 微服务线上问题解决方案 2.3 远程debug概述 2.3.1 远程debug原理 2.3.2 远程debug优势 三、实验环境准备 3.1 搭建springboot工程 3.1.1 工程结构 3.1.2 引入基础依赖 3.1.3 添加配置文…

YOLO11改进 | 注意力机制| 对小目标友好的BiFormer【CVPR2023】

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 本文介绍了一种新颖的动态稀疏注意力机制…

C++,STL 029(24.10.13)

内容 一道练习题。 &#xff08;涉及string&#xff0c;vector&#xff0c;deque&#xff0c;sort&#xff09; 题目&#xff08;大致&#xff09; 有五名选手ABCDE&#xff0c;10个评委分别对每一个选手打分&#xff0c;去除最高分和最低分&#xff0c;取平均分。 思路&…