【大数据技术基础 | 实验二】Linux基础:常用基本命令和文件操作
一、实验目的
- 学会linux常用命令(cd,ls,pwd,mkdir,rm,cp,mv)的使用方法。
- 学会linux文件操作命令(touch,cat,more)的使用方法。
二、实验要求
- 掌握linux常用命令基本用法。
- 掌握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
六、实验心得
- 命令记忆:通过实际操作,我深刻体会到记忆Linux命令的重要性。虽然一开始需要频繁查看命令手册,但多次使用后,很多常用命令已经能够熟练掌握。
- 命令组合:Linux命令的强大之处在于可以组合使用。例如,使用
find
命令找到文件后,可以使用xargs
命令与其他命令结合,实现更复杂的操作。 - 文件权限:在操作过程中,我注意到Linux对文件权限的严格控制。通过
ls -l
命令可以查看文件的权限信息,这对于系统安全和文件保护至关重要。 - 错误处理:在实验中,我遇到了不少错误,如命令拼写错误、权限不足等。通过查阅文档和求助社区,我学会了如何正确处理和解决这些错误。
- 实践出真知:理论学习固然重要,但实际操作更能加深理解。通过本次实验,我对Linux的基本命令和文件操作有了更深入的认识,也提高了自己的动手能力。
总结
本次Linux基础实验让我对常用基本命令和文件操作有了更深入的了解。通过实际操作,我不仅掌握了这些命令的使用方法,还学会了如何组合使用命令来处理更复杂的任务。未来,我将继续深入学习Linux系统,提高自己的技术水平。
- 点赞
- 收藏
- 关注作者
评论(0)