前言
说明
OpenCloudOS 操作系统开源社区是由操作系统、软硬件厂商与个人共同倡议发起的操作系统社区项目,为用户提供自主可控、绿色节能、安全可靠、高性能的下一代云原生操作系统,目前社区理事单位已达31家,联接生态伙伴达500+家,OpenCloudOS操作系统将与众多生态伙伴一起打造面向未来开放中立的操作系统开源生态。
截止目前OpenCloudOS操作系统已支持X86_64、ARM64、RISC-V架构,完善适配LoongArch、飞腾、海光、兆芯、鲲鹏等芯片。同时提供支持全栈国密和机密计算,下载量和装机量已达千万节点,另有300余家企业产品与OpenCloudOS操作系统完成适配。
本节实验将介绍 Linux 系统常用命令,通过学习本节实验能够掌握 Linux 基本操作,为操作 OpenCloudOS 系统奠定基础。
Linux 命令可以在不同的 Linux 发行版中运行,本次实验环境的 Linux 发行版是 OpenCloudOS 8。
安装Linux操作系统
本次实验主要分为以下3个部分:
- 命令行以及命令的组成:学习 Linux 命令的逻辑,方便日后学习和拓展
- 如何了解一个陌生的命令:使用 man 手册和 --help
- 常用命令:包含文件的查看,拷贝,移动,新建,删除等命令
命令行以及命令的组成
命令行界面 CLI
命令行界面(Command-Line Interface,CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。
本次实验主要使用命令行界面,因此需要对常用命令进行学习,实现对系统的操控。
命令的组成
Linux命令通常由以下三部分组成:
命令体 [选项] [参数]
- 命令体:要运行命令的本身,可以理解为一个软件或程序。
- []:可选项,因此一个命令一定有命令体,但是不一定有选项和参数。
- 选项:有些命令是没有选项的,选项是控制命令运行状态和行为的。
- 参数:命令要操作的文件、路径、数据等,也是可选的,因为有些命令不需要操作这些内容。
在接下来的学习中我们会逐渐了解一个命令的组成。
如何了解一个陌生的命令
- man命令
- --help -h
man命令
使用 man 命令可以查看一个命令的帮助信息,包含命令的名称和命令功能的概括,命令的语法,命令的详细描述信息等,还有一些关于该命令的背景信息,例如命令的作者、版权等等。
例如,执行以下命令查看 ls 命令的帮助信息:
man ls
您可以通过方向键或者鼠标滚轮浏览帮助信息,按q
可以退出帮助信息:
--help
除了 man 命令以外,常见的命令都可以使用 --help 选项查看命令的帮助信息
-help 与 man 命令的区别在于,man 命令给出的帮助信息更全面,而 --help 选项会给出主要的帮助信息。
例如:
ls --help
mkdir
命令介绍
命令语法:mkdir [选项] 新文件夹
mkdir 命令可以创建一个文件夹
常用参数:
- -m: 对新建目录设置存取权限,也可以用 chmod 命令设置;
- -p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录。
使用 mkdir 创建文件夹
- 先输入 ls 查看当前目录下的文件
- 接着使用 mkdir 创建一个文件夹 test
- 再次使用 ls 可以看到当前目录已经有了 test 文件夹:
ls
mkdir test
ls
ps:当 opencloudos 后面跟着的是当前目录名, ~ 表示当前在根目录
直接使用 mkdir 命令只能创建父目录存在的文件夹,例如 test 文件夹存在,可以直接创建 test/data 文件夹:
mkdir test/data
但是当前目录下不存在 test2 目录,创建 test2/data 文件夹会失败:
mkdir test2/data
这时候就可以使用 -p 参数,将路径中不存在的目录自动创建
mkdir -p test2/data
分别查看当前目录和 test2 目录:
ls
ls test2
cd
命令介绍
命令语法:cd [目录名]
cd(changeDirectory)可以切换当前目录
使用 cd 切换目录
进入 /home 目录
cd /home
返回上次所在的目录,也就是根目录
cd -
进入 test 目录
cd test
返回上一级目录,也就是根目录
cd ..
touch
命令介绍
命令语法:touch [新文件名]
使用 touch 命令可以创建文件
使用 touch 创建文件
新建的 test 目录当前没有文件,我们在 test 目录下新建两个文件 a.txt 和 b.txt,可以列出多个文件名一次创建
首先进入 test 目录:
cd test
新建两个文件 a.txt 和 b.txt:
touch a.txt b.txt
ls 命令
命令介绍
命令语法:ls [选项] [目录]
ls 就是 list 的缩写,可以查看 linux 某个目录包含的文件信息,例如文件权限,文件大小,文件修改时间息等等,默认目录为当前目录
- ls -a 列出目录所有文件,包含以.开始的隐藏文件
- ls -t 以文件修改时间排序
- ls -S 以文件大小排序
- ls -h 以易读大小显示
- ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
使用 ls 显示文件信息
ls 目录默认为当前目录./,也可以指定为任意文件夹
ls -l
这个选项会显示长列表格式的文件内容:
从上面可以看到,每一行都有7列,分别是:
- 第一列共10位,第1位表示文档类型,d表示目录,-表示文件,l表示链接文件,d表示可随机存取的设备,如U盘等,c表示一次性读取设备,如鼠标、键盘等。后9位依次对应所有者、用户组和其他人对这个文件/目录的权限,权限顺序为:readable、writable、excutable。如:-r-xr-x---的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可执行,其他人没有任何权限。
- 第二列表示链接数,表示有多少个文件链接到inode号码。
- 第三列表示拥有者
- 第四列表示所属群组
- 第五列表示文档容量大小,单位为字节
- 第六列表示文档最后修改时间
- 第七列表示文档名称。以.开头的是隐藏文档
-h 参数可以以易读大小显示
ls -lh /root/oc-lab/rpms/
可以看到,文件大小会以 K、M、G 等单位显示,相比字节可读性更高
在 Linux 文件系统中,有一部分文件属于隐藏文件,隐藏文件的特点是文件名开头带 .
用 ls 命令或者 ls -l 是无法显示隐藏文件的,必须加上 -a 选项:
ls -a
请在 test 目录下使用 touch 创建一个隐藏文件 .ignore
并使用 ls -a
查看
cp
命令介绍
命令语法:cp [选项] [源目录] [目的目录]
使用 cp 命令可以将指定的文件拷贝到指定的目录
- -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
- -d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
- -f:覆盖已经存在的目标文件而不给出提示。
- -i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
- -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
- -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
- -l:不复制文件,只是生成链接文件。
使用 cp 拷贝文件
cp a.txt a_cp.txt
如果需要保持时间一致,可以使用 -p 选项,例如:
cp -p a.txt a_cp2.txt
这时候拷贝的文件和原文件的时间是一致的:
cp 命令可以同时拷贝多个文件,例如将 a.txt b.txt 拷贝到 test2 目录下:
cp a.txt b.txt ../test2
使用 ls 命令查看这个目录:
ls -l ../test2
可以看到,多个文件同时被拷贝进了目录:
cp 命令无法直接拷贝目录,我们返回根目录进行试验,例如:
cd /root
cp test test-cp
这时候命令行会提示拷贝目录失败:
如果需要拷贝目录,可以加上 -r 选项:
cp -r test test-cp
用 ls 命令查看:
ls
可以看到目录被拷贝过来了:
mv
命令介绍
命令语法:
- mv [options] source dest
- mv [options] source... directory
- mv(move file)命令顾名思义可以移动文件,也可以用来修改文件名(相当于移动文件到同一目录下)
使用 mv 修改文件名
首先 cd 进入 test 文件夹。当前 test 目录中有以下文件:
我们可以用 mv 对 文件进行进行重命名。例如:
mv b.txt b2.txt
这行命令会将当前目录的 b.txt 重命名为 b2.txt:
使用 mv 移动文件
mv 命令的另一个用法是移动文件。例如,将当前目录中的 b2.txt 移动到 root 目录:
mv b2.txt /root
查看当前目录:
ls
可以看到,当前目录已经没有 b2.txt 文件了:
再看看 root,b2.txt 文件现在在 root 根目录中:
ls /root
rm
命令介绍
命令语法:rm [选项] 文件…
删除一个目录中的一个或多个文件或目录,本次实验环境默认开启 -i 选项,所有删除均需输入 y/n 确认
- -i 删除前逐一询问确认。
- -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
- -r 将目录及以下之档案亦逐一删除。
使用 rm 删除文件
删除 test 目录下的 a_cp.txt a_cp2.txt 文件
rm a_cp.txt a_cp2.txt
使用 rm 删除文件夹
删除 data 目录及子目录:
cd /root && rm -r test2
cat
命令介绍
命令语法:cat [选项] 文件名
Linux 系统中有很多查看文件的命令。最简单的是 cat 命令
使用 cat 查看文件内容
这个命令会直接在命令行打印文件的全部内容,如果文件的内容太多,查看起来不方便,可以以滚屏的方式查看。
cat /etc/profile
还可以从键盘创建一个新文件:
cat > filename
键盘上按下快捷键 Ctrl+D ,就可以成功创建并保存内容了
tar
命令介绍
tar [参数] 文件或目录...
用来压缩和解压文件。tar 本身不具有压缩功能,只具有打包功能,有关压缩及解压是调用其它的功能来完成。
弄清两个概念:打包和压缩。
- 打包:将一大堆文件或目录变成一个总的文件;
- 压缩:将一个大的文件通过一些压缩算法变成一个小文件
- -c 建立新的压缩文件
- -f 指定压缩文件
- -x 从压缩包中抽取文件
- -t 显示压缩文件中的内容
- -z 支持gzip压缩
- -j 支持bzip2压缩
- -Z 支持compress解压文件
- -v 显示操作过程
- -C<目的目录>或--directory=<目的目录> 切换到指定的目录。
使用 tar 打包
将 test 文件夹全部打包成 tar 包,仅打包,不压缩
tar -cvf test.tar test
使用 tar 压缩
将 test 文件夹全部打包成 tar.gz 包,打包后,以 gzip 压缩
tar -zcvf test.tar.gz test
压缩结果如下,可以看到没有进行压缩的 test.tar 占用内存比 test.tar.gz 要大
使用 tar 查看压缩包内容
查看刚打包的文件内容
tar -tf test.tar.gz
这行命令查看了刚才打包的 tar 包:
使用 tar 解压缩
将 tar 包解压缩,创建一个临时目录 tmp ,方便我们查看解压缩结果
mkdir tmp
tar -xf test.tar.gz -C tmp
通过查看 tmp 目录观察解压结果
ls -al tmp
ls -al tmp/test
vi/vim
命令介绍
所有的 Unix Like 系统都会内建 vi 文书编辑器,vi 是老式的字处理器,不过功能已经很齐全了
但是目前我们使用比较多的是 vim 编辑器,vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富。
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
接下来我们通过创建一个 test.txt 文件学习 vim 的操作
vim test.txt
初次创建的test.txt文件如图所示:
命令模式
用户刚刚启动 vim,便进入了命令模式,此状态下敲击键盘动作会被 vim 识别为命令,而非输入字符。比如我们此时按下 i ,并不会输入一个字符, i 被当作了一个命令。
以下是常用的几个命令:
- i 切换到输入模式,以输入字符。
- x 删除当前光标所在处的字符。
- : 切换到底线命令模式,以在最底一行输入命令。
首先我们按下英文小写 i ,切换到输入模式,可以看到左下角显示 -- INSERT --,我们进入输入模式
输入模式
我们已经进入输入模式,和我们通常使用键盘进行文本编辑的操作类似,可以使用以下按键:
- 字符按键以及Shift组合:输入字符
- 回车键:换行
- 退格键:删除光标前一个字符
- 删除键:删除光标后一个字符
- 方向键:在文本中移动光标
- HOME/END:移动光标到行首/行尾
- Page Up/Page Down:上/下翻页
- Insert:切换光标为输入/替换模式,光标将变成竖线/下划线
- ESC:退出输入模式,切换到命令模式
底线命令模式
当我们完成输入之后,需要进入底线命令模式保存并退出。
首先按 ESC 键退出输入模式,可以看到左下角的-- INSERT --不再显示
按下英文冒号:就进入了底线命令模式,在底线命令模式中,基本的命令有:
- w 保存文件
- q 退出程序
如果我们需要保存并退出,就输入:wq
如果在没有做任何修改的时候退出,则输入:q
如果已经进行修改后希望不保存修改强制退出,则输入:q!
如果进入命令模式之后还想继续修改或查看文件,再次按下 ESC 键可随时退出底线命令模式
OpenCloudOS 相关链接
官网:
https://www.opencloudos.org/
镜像获取地址:
https://mirrors.opencloudos.tech/opencloudos/8/isos/
https://mirrors.tencent.com/opencloudos/8/isos/
评论 (0)