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

举报
Francek Chen 发表于 2024/11/11 19:15:32 2024/11/11
【摘要】 本文介绍Linux常用基本命令和文件操作。学会linux常用命令(cd,ls,pwd,mkdir,rm,cp,mv)的使用方法,学会linux文件操作命令(touch,cat,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]#

image.png

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 ~]#

image.png

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 ~]#

image.png

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]#

image.png

五、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

image.png

2、验证cat命令

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

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

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

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

image.png

3、验证more命令

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

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

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

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

image.png

六、实验心得

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

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。