首页 > 系统相关 >【大数据技术基础 | 实验二】Linux基础:常用基本命令和文件操作

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

时间:2024-10-13 13:21:09浏览次数:9  
标签:10 常用 rw -- 基础 master ls Linux root

在这里插入图片描述

文章目录


一、实验目的

  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系统,提高自己的技术水平。

标签:10,常用,rw,--,基础,master,ls,Linux,root
From: https://blog.csdn.net/Morse_Chen/article/details/142887606

相关文章

  • 实验2 c语言分支与循环基础应用编程-1
    实验任务1task1.c1#include<stdio.h>2#include<stdlib.h>3#include<time.h>45#defineN56#defineN13977#defineN24768#defineN321910intmain(){11intcnt;12intrandom_major,random_no;1314s......
  • 使用 OCaml 进行基础图像识别
    OCaml是一门强类型的函数式编程语言,以其高效的编译器和灵活的表达能力著称。虽然OCaml不像Python等语言在图像处理和识别领域被广泛应用,但它的模块化特性和强大的标准库使其能够完成相关任务。本文将介绍如何在OCaml中实现基础图像处理和识别。OCaml的优势OCaml拥有静......
  • 2024-2025-1 20241421 《计算机基础与程序设计》第三周学习总结
    这个作业属于哪个课程2024-2025-1-计算机基础与程序设计)这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP/homework/13276))这个作业的目标1、数字分类与计数法位置计数法,2、进制转......
  • Linux 查看后台任务
    在Linux中,`jobs`和`bg`命令通常用于管理shell会话中的后台任务。下面是对这两个命令的详细解释: ###`jobs`命令 `jobs`命令用来列出当前终端会话中所有的作业(jobs)。这些作业包括前台运行的任务和后台运行的任务。当你在一个shell会话中执行一个命令,并且想让它......
  • 实验2 c语言分支与循环基础应用编程1
    task1:问题1随机数求余后结果为1,生成0397到0476中的随机数问题2随机数求余后结果为0,生成0001到0021中的随机数问题3随机生成5个不同的学号task2: 实验3: task4:1#include<stdio.h>2intmain()3{4doublex,sum,max,min;5sum=0;6......
  • 使用 Lua 进行基础图像识别
    Lua是一门轻量级的嵌入式编程语言,常用于游戏开发、嵌入式系统和快速原型设计。虽然Lua并不像Python那样有大量用于图像处理的库,但借助扩展库和C语言接口,Lua也能用于实现基础的图像识别任务。本文将介绍如何使用Lua实现图像识别中的基本步骤,包括图像加载、灰度转换和简......
  • 2024-2025-1 学号:20241303 《计算机基础与程序设计》第三周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如[2024-2025-1计算机基础与程序设计第三周作业]这个作业的目标<写上具体方面>加入云班课,参考本周学习资源;自学教材;计算机科学概论(第七版)第2章,第3......
  • 使用 Racket 进行基础图像识别
    Racket是一门多范式编程语言,基于Lisp的方言,具有强大的元编程能力。尽管Racket主要应用于教育和研究领域,但其丰富的图形和数学库也使得它可以用于图像处理和简单的图像识别任务。本文将介绍如何使用Racket来进行基础图像处理和识别。Racket的优势Racket的语法简洁灵活,非......
  • 2024-2025-1学期 20241427 《计算机基础与程序设计》第3周学习总结
    |这个作业属于哪个课程|<班级的链接>(如2024-2025-1-计算机基础与程序设计)||这个作业要求在哪里|<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)||这个作业的目标|学会数字分类与计数法,以及进制转化,数字化和门的应用||作业正文||教材学习内容总结《计算机科......
  • Sql基础
    sql基础1.数据库常用的数据类型image:存储byte[],存储什么都可以只要是byte[]字符串类型:charncharvarcharnvarchartextntextvarchar(max)nvarchar(max)数值类型intfloatdecimal带n与不带n的区别char(2)表示可以存储两个字节不带n的数据类型,存储中文等......