我们在学习指令的过程中,会穿插着学习Linux系统本身的理论知识,二者都非常重要。
目录
[一 xshell 8登录方法](#一 xshell 8登录方法)
[二 is指令](#二 is指令)
[1 定义](#1 定义)
[2 如何理解文件](#2 如何理解文件)
[3 为什么要有路径](#3 为什么要有路径)
[4 #l s -l](#l s -l)
[5 #ls -a](#ls -a)
[三 pwd指令](#三 pwd指令)
[1 定义](#1 定义)
[2 windows和linux的路径分隔符](#2 windows和linux的路径分隔符)
[3 pwd使用](#3 pwd使用)
[四 cd指令](#四 cd指令)
[1 定义](#1 定义)
[2 cd](#2 cd)
[3 cd..编辑](#3 cd..编辑)
[4 cd.](#4 cd.)
[5 Linux目录结构](#5 Linux目录结构)
[6 路径的作用](#6 路径的作用)
[7 . 的作用](#7 . 的作用)
[编辑8 绝对路径和相对路径](#编辑8 绝对路径和相对路径)
[9 cd的两种特殊用法](#9 cd的两种特殊用法)
[(1)cd -](#(1)cd -)
[(2) cd ~](#(2) cd ~)
[五 whoami指令](#五 whoami指令)
[1 定义](#1 定义)
[2 使用](#2 使用)
[六 touch指令](#六 touch指令)
[七 stat命令(补充)](#七 stat命令(补充))
[八 Linux的文件类型](#八 Linux的文件类型)
[九 MV指令](#九 MV指令)
[十 mkdir指令](#十 mkdir指令)
[1 定义](#1 定义)
[2 使用](#2 使用)
[十一 tree指令](#十一 tree指令)
[十二 rm指令](#十二 rm指令)
[1 删除普通文件](#1 删除普通文件)
[2 删除目录(以d开头)](#2 删除目录(以d开头))
[3 普通用户和超级用户区别](#3 普通用户和超级用户区别)
[4 rm -i 文件](#4 rm -i 文件)
[5 易错事项](#5 易错事项)
[十三 rmdir](#十三 rmdir)
一 xshell 8登录方法
方法一
当我们打开xshell时,界面是这样的,我们直接输入root@公网IP 就可以进入

进入之后会出现一个弹窗

输入密码之后:

出现这样的界面就是连接成功。
如果没有出现输入密码的弹窗,也可以在黑屏直接输入:ssh+空格+root@公网IP
方法二

点击左上角的图标 新建

在名称处取你想要的名字,在主机(H)处输入公网IP,之后双击就可以进入了
方法三
快捷键:Alt + Enter
xshell基本操作
二 is指令
1 定义
is就相当于list ------罗列:罗列当前路径下所有文件详情
2 如何理解文件
我们在windows下新建了一个空文件,占不占磁盘空间?
答案是:占

空文件里面的文件内容是0KB,但是文件 != 文件内容
文件的属性分为:文件名 新建时间 文件类型 文件大小 等等
文件的属性信息,也叫做元信息,是数据,也需要保存
系统保存文件属性的时候,也需要占用磁盘空间
文件=文件的内容+文件的属性
学习文件的本质:就是对内容或属性做操作(Eg:内容为fopen,属性为修改读写位置)
3 为什么要有路径
路径具有唯一性,当访问文件的时候,路径可以通过唯一性找到文件
默认所处的路径,叫做当前路径
4 #l s -l
ls:罗列当前路径下的所有文件详情(只有文件名)
ls-l :显示更多的属性(-l指选项:使用指定命令的扩展内容)
5 #ls -a
当我们用touch创建一个新文件时,如果以**.** 开头的文件,称为隐藏文件(在linux下),ls默认不显示隐藏文件
windows也有隐藏文件的功能,需要在文件的属性设置
#ls -a(a表示all) :显示隐藏文件
选项可以组合使用:例如可以用#ls -la表示隐藏文件的文件属性
三 pwd指令
1 定义
查看当前在哪个路径之下
2 windows和linux的路径分隔符
(1)windows:路径分隔符为:\
例如:c:\用户 \ zyq \data
(2)linux : 路径分隔符为:/
例如:

3 pwd使用

四 cd指令
1 定义
cd:进入或者修改当前路径。
cd:路径切换------change directory(更改路径) ------自由进行路径切换。
cd .. :回退到上级路径,并显示当前路径(回退之后的上一级路径)
cd . :显示当前路径(一直cd .的话就一直不变)
2 cd
(1)进入当前路径
(2 )
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下
3 cd..
我们在显示隐藏文件的时候,发现每一个目录下都会有一个名为**..**的隐藏文件 那这个文件是干什么用的呢?
..是用于表示上级路径
cd..就可以回退到上级路径
bash
# 返回上级⽬录
[whb@bite-alicloud ~]$ pwd
/home/whb
[whb@bite-alicloud ~]$ cd ..
[whb@bite-alicloud home]$ pwd
/home
4 cd.
显示当前路径
bash
[test@localhost Documents]$ pwd
/home/test/Documents
[test@localhost Documents]$ cd .
[test@localhost Documents]$ pwd
/home/test/Documents
5 Linux目录结构
注意:Linux的目录就相当于Windows的文件夹,此后都直接称为目录,不在赘述
我们在使用cd.. 的时候发现,如果一直回退,最后就会停留在 / 处不再回退
那么此时这个 / 就是Linux根目录(根目录也是目录)

在对应一个路径时:最左边第一个 / 是根目录,其他/都是路径分隔符
Linux管理文件,使用的是树形结构管理文件的!
Linux系统中,磁盘上的文件和目录被组成⼀棵目录树,每个节点都是目录或文件
例如:

树形结构的节点分为两类:
1 叶子节点 : 普通文件 && 空目录
2 路上节点 : 一定是一个目录(一定有左孩子或右孩子)
假如此时:在上图的bin目录下,有一个文件叫做:hello.txt
那么此时由根目录到这个文件的路径是唯一的
为什么是唯一的?
在定位文件的时候,就必然会有路径,而路径具有唯一性,且只有一个父节点(意味着父节点也具有唯一性),此时不管是由根目录到文件,还是文件到根目录的路径都是唯一的
那么此时,/user/bin/hello.txt就称为绝对路径(从根目录开始的路径)
相应的,Windows中的路径也具有唯一性,统计文件的时候也使用树形结构
问大家一个问题,在大家的电脑中,有几块磁盘?
答案是:只有一块
像C D E这些盘,叫做磁盘分盘,也可以理解为系统自动给我们设定的一个大的文件夹。
6 路径的作用

7 . 的作用
8 绝对路径和相对路径
(1)最佳实践
相对路径:通常进行命令行操作
绝对路径:通常在配置文件中使用(相对于根目录而言,是一种特殊的相对路径)
相对路径就是以当前位置为参照点,来找到对应的文件。而绝对路径以一个固定的参照点,从根目录开始,来找到对应的文件
相对路径有多个,每一个相对路径都具有唯一性
(2)回退到上一路径 && 回退到另一个目录下的文件

如果需要从named找到文件good.txt,可以 ../local/good/txt(回退到上一路径),也可以/user/local/good.txt
9 cd的两种特殊用法
(1)cd -
切换到上一次所在的目录
可以理解为:撤销一次cd

(2) cd ~
定义:当前所处的家目录
- 普通用户和超级用户
root : 超级用户
whb : 普通用户
2)家目录(Linux)
操作系统的用户,在登录系统之后,默认所处的路径

3)Windows下的家目录
Windows也具有家目录
五 whoami指令
1 定义
用于显示当前登录用户的用户名 。
2 使用
bash
[user1@localhost ~]$ whoami
user1
指定用户在指定路径下
六 touch指令
功能:创建一个不存在的文件

touch创建的文件称为普通文件
touch还有其他的功能,我们后面再讲
七 stat命令(补充)
stat
用于查看文件或目录详细元数据信息的命令,其功能远超 ls -l
,能展示文件的权限、大小、inode 信息、时间戳等核心属性

在stat扩展的数据中,我们发现出现了三种时间,这三种时间称为ACM时间
|---------------|----------------------|
| 时间类型 | 核心含义 |
| 访问时间 Access | 记录文件被读取的最后时间 |
| 修改时间 Modify | 记录文件内容被修改的最后时间 |
| 状态修改时间 Change | 记录文件元数据(非内容)被修改的最后时间 |
具体使用我们后面再讲
八 Linux的文件类型
1 Linux区分文件类型,不关心文件后缀(并不代表不可以用)
2 通过文件的属性

d开头: 叫做目录
-开头: 普通文件------包括可执行程序,文本文件,动静静态库等等
九 MV指令
mv就是move,作用就是"改名"(给文件改名)
如果把test.c改成test.txt会怎么样? 再运行就会跑不出来; 改回去就又好了。
mv test.c test.txt,为什么编译不过?
因为gcc关心后缀(gcc时编译器)
编译不是Linux自己实现,而是gcc实现,Linux不关心后缀,但是gcc关心

那么把名字改回来就行
十 mkdir指令
1 定义
创建一个目录
2 使用
1)创建一个新的目录

2)创建一串路径
创建一串路径时,不能直接创建,需要在mkdir后加上 -p

十一 tree指令
tree .(当前路径,以树形结构呈现)
tree /(从根目录开始呈现)
tree a(查看a下的路径,并且以树形结构呈现)

但是tree命令不是linux自带的命令,所以我们需要下载

在相应的系统,输入后面的,就下载了tree
十二 rm指令
1 删除普通文件

2 删除目录(以d开头)
目录里不为空,还有子目录。目录本质上就是树形结构,所以目录本身就是一个子树
树形结构(递归构建生成)------递归删除
对应指令:rm -r 目录
这个就是递归这个单词的首字母。

但是也可以强制删除,不判断。
那么使用rm - rf 目录
3 普通用户和超级用户区别
在删除时,rm对待普通用户和超级用户存在差别:
超级用户:会询问是否删除
普通用户:直接删除,不管你删除的文件/目录是否重要
4 rm -i 文件
在删除文件或目录前进行交互式确认,即每次删除操作都会都会提示用户确认是否真的要删除
可以认为普通用户不带 -i ,超级用户自带 -i
5 易错事项
1)根目录也是目录,不能删除根目录,会把操作系统搞挂-----rm -rf /
2)绝对路径删除目录:rm -rf /.../xxx.xxx 此处千万要注意不要在f后面敲到空格!!!!
十三 rmdir
1 功能
删除空目录(只能删除空目录)
2 实现
