☰
OS3.【Linux】基本指令入门(2)
2026/9/30 16:52:47 网站建设 项目流程

目录

1.root用户的家目录

2.非root用户的家目录

2.简单介绍一些基本指令

1.继续介绍cd

1.cd ~

2.cd -

2.mkdir

1.mkdir 目录

创建一串目录

传统方法

​编辑

补:查看树状结构的方法:tree指令

tree .

使用mkdir的-p选项来创建一串目录

3.touch

4.rmdir

5.rm

rm -r 目录

rm -rf 目录(Ubuntu下不会提示)

严重警告:千万不要试不要试rm -rf /*或者rm -r /* !!!!!!!!!!!!!!!!!!!!会删除服务器根目录下所有的文件!!!行为非常危险!!!

rm -i

6.man

man target

man显示某个命令没有找到对应的条目的解决方法

细节说明

man 手册编号 要查的内容

附:在线的man手册

7.echo

echo 字符串

echo 字符串 > 文件

8.cp

cp src dest

cp -r src dest

9.mv

mv src dest

mv src 路径/文件名

易错提示

3.通配符


不同用户的家目录不同

1.root用户的家目录

以root用户(超级用户)身份登录,家目录在/root

2.非root用户的家目录

以非root用户(普通用户)身份登录,家目录在/home/用户名

Ubuntu系统中,所有普通用户的账号会统一存放在/root目录下

2.简单介绍一些基本指令

承接OS2.【Linux】基本指令入门(1)文章,继续介绍指令

1.继续介绍cd

1.cd ~

作用:切换到用户的家目录

2.cd -

作用:切换到最近一次(即上一次)的路径

2.mkdir

作用:创建目录(即文件夹)(全称makedirectory)

1.mkdir 目录

例如mkdir newfolder:创建一个名为newfolder的目录

创建一串目录

例如在根目录下创建一串目录

.--

|--d1

|--d2

|--d3

传统方法

要来回使用mkdir和cd指令,比较麻烦

补:查看树状结构的方法:tree指令

tree指令需要安装

系统提示:

Ubuntu下的安装指令

sudo apt update sudo apt install tree

tree .

作用:从当前路径显示树状结构

使用mkdir的-p选项来创建一串目录

格式: mkdir –p 路径名称 (注:-p全称--parents)

作用:递归建立多个目录(此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立
好那些尚不存在的目录,即一次可以建立多个目录)

例如在/root目录下创建m1,m2,m3,m4,m5一串目录:首先切换到/root目录,之后mkdir -p m1/m2/m3/m4/m5

使用tree指令查看结果: tree m1

3.touch

作用:更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件

例如在/root下创建1.c文件

4.rmdir

作用:只能删空目录,不能删文件(rmdir与mkdir相对应,rmdir全称remove directory)

现有如下目录结构

对文件和目录使用rmdir指令:

5.rm

作用:删除文件或目录(rm全称remove)

例如删除/root下的1.c文件:rm 1.c

(有些系统例如CentOS在root账号下删除会有提示:是否删除?,若不想显示提示使用"rm -f文件"指令来强制删除(-f的全称为--force),不再询问)

但单独的rm指令不能删除非空目录

rm -r 目录

作用:递归删除目录

rm -rf 目录(Ubuntu下不会提示)

作用递归+强制删除(不询问)

严重警告:千万不要试不要试rm -rf /*或者rm -r /* !!!!!!!!!!!!!!!!!!!!会删除服务器根目录下几乎所有的文件!!!行为非常危险!!!

用rm删除的文件难以找回,可能会造成不可挽回的损失,由于rm指令比较危险,在一个工程中一般是建立一个delete文件夹,然后使用 mv 指令移走文件,定时对delete进行删除

这是我在我的主机上测试的视频:

rm -rf 根目录删除测试

后果: 系统几乎所有的文件都被删除了,以下是监控图

读者也可以看看这个讲rm -rf /*的视频:【官方双语】Linux上最危险的命令 #电子速谈

rm -i

作用:删除文件前提示

6.man

作用:过查看联机手册获取帮助

man target

例如:man mkdir 查看mkdir指令的帮助;例如man man查看man指令帮助

最底下提示:按h获取帮助,按q退出手册

如果仔细观察的话:会发现左右上角各有MKDIR(1),这里的1代表1号手册

执行man man指令会发现一共有9个手册

例如System calls为系统调用,Library calls为C库调用

man显示某个命令没有找到对应的条目的解决方法

如果man显示某个命令没有找到对应的条目,有两种情况:

1.man手册没有安装全,可以使用以下命令全部安装

sudo apt update sudo apt install manpages \ manpages-dev \ bash-builtins \ manpages-posix-dev \ sudo mandb

2.是内置命令,用help命令查询

例如help echo

注: 有关于内置命令的说明参见OS22.【Linux】环境变量文章

细节说明

例如:man printf,查到的是printf指令

Linux下的printf指令和C语言的printf函数都可以在手册中查到,但这两个printf没有任何关系

man 手册编号 要查的内容

所以如果想查C语言的printf函数,应该使用man3printf指令,表示查3号手册

手册查找的逻辑:如果不指定哪个手册,则从1号手册开始查找,若查不到,紧接着查2号手册,若查不到,紧接着查3号手册......一直到9号手册(按手册编号的顺序查找),如果9号都查不到,则返回查不到

附:在线的man手册

https://www.kernel.org/doc/man-pages/

pdf下载链接: https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/book/

7.echo

echo指令的全称全称是 echo to standard output,作用:将内容输出到标准输出

echo 字符串

默认输出流是屏幕,即原封不动将字符串显示到屏幕上(这里的输出流可以类比在C语言里讲过的概念)

echo 字符串 > 文件

">"为输出重定向符,将字符串写入文件中,输出流为文件流(这里的文件流可以类比在C语言里讲过的概念,可参见75.【C语言】文件操作(2)文章)

例如echo "Hello World!" > 1.txt,将"Hello World!"字符串写入1.txt中,将原本到显示器的字符串重新定向到写入文件中

写入前后1.txt的大小变化(0个字节变成13个字节)

8.cp

作用:复制(全称copy)

cp src dest

将src普通文件(目录不行)拷贝到dest中,如果是同一个目录下,文件名不能相同!

例如cp 1.txt 1_backup.txt 表示在当前路径下,1.txt复制一份,重命名为1_backup.txt

例如cp 1.txt../1_backup.txt 表示在当前路径下的1.txt复制一份,重命名为1_backup.txt,将1_backup.txt放到上级路径中

例如cp 1.txttest/1_backup.txt 表示在当前路径下的1.txt复制一份,重命名为1_backup.txt,将1_backup.txt放到test目录中

一开始test目录没有文件

切换到上级目录后复制1.txt

cp -r src dest

将src目录拷贝到dest中(目录是递归定义的,需要-r选项)

其他选项:-f或--force强行复制文件或目录,不论目的文件或目录是否已经存在;-i或--interactive覆盖文件之前先询问用户(有时候不会询问,看操作系统和是否为超级用户root)

例如:

9.mv

mv全称move,可以只剪切文件或者目录,只重命名文件或者目录或既重命名又剪切文件或者目录,具体看指令的内容

mv src dest

作用:改文件名或者目录(等价为mv src ./dest)

现在某目录下的文件是这样的:

现把test目录改名为test1目录(只重命名目录),可以使用mv test test1指令

把1.txt文件改名为2.txt文件(只重命名文件),可以使用mv 1.txt 2.txt指令

mv src 路径/文件名

作用:剪切(即移动)文件或者目录,可能还重命名了

现在某目录下的文件是这样的:

m1目录是空的

现要把test1移动到m1目录中(只剪切文件),可以使用mv test1 m1/指令,注意m1后的斜杠不能省略!表示移动到m1目录里面

那如果要将test移动到目录m1并重命名为test(既重命名又剪切文件),可以使用mv test1 m1/test指令令

易错提示

注意区分mv dir ../newdir和mv dir ../newdir/ ,如果dir是目录,前者是将dir移动到上层目录中命名为newdir,后者是将dir目录移动到上层目录中的newdir目录中(newdir后有无斜杠,意思不同)

3.通配符

主要有星号(*)和问号(?)

作用:*匹配任意名称的文件(即*可以代表任何字符串),而?仅代表单个字符

例如root下有以下文件

ls *:列出所有文件

ls *.txt:列出后缀名为txt的文件

ls *.?:列出后缀名只有一个字符的文件

ls test*.*:列出文件名前缀为test的文件

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询