博客主页:【夜泉_ly】
本文专栏:【Linux】
欢迎点赞👍收藏⭐关注❤️
文章目录
- [📚 前言](#📚 前言)
- [🖥️ 初识](#🖥️ 初识)
-
- [🔐 登录 root用户](#🔐 登录 root用户)
- [👥 两种用户](#👥 两种用户)
- [➕ 添加用户](#➕ 添加用户)
- [🧑💻 登录 普通用户](#🧑💻 登录 普通用户)
- [⚙️ 常见用户操作](#⚙️ 常见用户操作)
- [📝 基础指令1](#📝 基础指令1)
-
- [1️⃣ pwd](#1️⃣ pwd)
- [2️⃣ ls](#2️⃣ ls)
- [3️⃣ touch/mkdir](#3️⃣ touch/mkdir)
- [4️⃣ cd](#4️⃣ cd)
- [5️⃣ rm](#5️⃣ rm)
📚 前言
终于开始学Linux了,我先买了个华为云的云服务器,装的Ubuntu:
又下载了Xshell。
然后就可以开始正式的学习了!
🖥️ 初识
🔐 登录 root用户
-
打开 Xshell
-
输入
ssh
+ 空格 +root@
+ 公网IP
-
第一次登录会跳出下面这段,点击 接受并保存
-
然后输密码,点击确定
-
只要提示
Welcome...
,说明登录成功
👥 两种用户
在Linux中,只有两种用户:
- 第一种是超级用户,也叫 root 用户,这种用户拥有系统最高权限,可以执行任何操作
- 第二种是普通用户,这种用户。。就是很普通,权限有限,常用于日常操作和开发
我们学的时候用哪种呢?
用普通用户
如上图,如果你是 root 用户,你又执行了著名的 删库跑路 命令,那完了,你可以重装系统了。
(顺带一提,我在购买服务器后,不到十分钟就重装了系统,因为我一登陆就 rm -rf /*
了🤣)
而普通用户权限有限,所以相对比较安全。
接下来看看怎么添加用户,需注意,root用户只有一个,因此这里添加的全是普通用户:
➕ 添加用户
添加用户:
-
adduser
+ 空格 + 用户名
-
按
Enter
后,会让我们输入密码:
-
输入密码时,并不会显示我们输的是什么。
不过别担心,它会要求再输入一次进行确认:
- 如果输错了也会有提示:
- 此时选择y会重复上面的步骤:
- 如果输错了也会有提示:
-
输好密码,会提示设置用户信息,我就先全
Enter
了:
-
输好信息,会要求确认信息是否正确:
-
输
Y
确认,然后会返回到一开始的位置:
如果尝试添加重名用户,会添加失败:
🧑💻 登录 普通用户
此时,用户添加成功,我们再来看看怎么访问。
-
首先,还是打开Xshell:
-
之前是输入
ssh root@公网IP
现在是输入
ssh 用户名@公网IP
:
-
按
Enter
后,会提示输入密码,此时输入刚刚设置的密码就行,
最后点击确认:
出现
Welcome...
说明登录成功。
⚙️ 常见用户操作
更改用户密码
passwd
+ 空格 + 用户名
删除用户
userdel
+ 空格 + 用户名
删除成功不会有提示,
删除失败会有提示。
📝 基础指令1
在浅浅了解了。。好像也没了解什么。。。
就如前文演示的一样,Linux主要是以纯命令行的形式操作的,
虽然Linux也有图形化界面,但是和windows有命令行一样,不常用。
因此我们想要掌握Linux操作,就需要学习Linux的指令。
我们先回到开头:
1️⃣ pwd
来到一个陌生的环境,我们得先清楚我们在哪儿:
pwd
pwd
指令可以告诉我们目前所在的位置:
这个/root就是当前所在的目录,这个可以和windows的进行一个对应,就是下图红色箭头指的那个:
2️⃣ ls
现在我们知道了在哪儿,还得知道这里有啥吧:
ls []
ls指令可以告诉我们这里有什么:
em。。只有个snap。
对应windows,差不多就是红框里的东西:
不过别急,Linux有的指令后面是可以加选项 的,这个选项可以让指令更加灵活。
比如这里,加个 -a
,就可以列出所有文件,包括 .
开头的隐藏文件
*
ls -a
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/31f05483bfb54aa2abde0f352c6693b3.png)
这个隐藏文件window也有:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/5dc9122675b84be6a650bade89dd442a.png)
而加个 -l
,则可以显示更详细的信息:
*
ls -l
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/785204cfe34f47029d3d4e4cfc5aab2b.png)
对应windows:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/05bdce08f0064a79bf2c30fe86e03a03.png)
选项也可以混合使用
*
ls -la
或者:
ls -al
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f9d96d6735234cda81dfdd87ada993de.png)
3️⃣ touch/mkdir
在windows中,添加新的文件和目录只需要点击右键,然后新建。
而Linux中,需要使用指令来完成操作:
touch [] 文件名
mkdir [] 目录名
可以用刚刚学的ls -l看看是否添加成功:
也可以使用 tree
打印:
不过可能提示未安装,这时根据提示安装就行:
然后会跳出一堆东西,这里省略,直接看看 tree
有什么用:
打印当前目录的树形结构,挺好玩的。
而目录也可以递归创建,大概就像这样:
*
mkdir -p 目录名/目录名/目录名
看看效果:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/514d14dd64c04453bfcf677fcc0d7eba.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/4191ef5af54d47b8b5b71d1f12bd24b4.png)
如果目录存在,沿着目录创建
如果不存在,创建新的
总之就是弄出一条你想要的路径
4️⃣ cd
现在可以创建目录了,那怎么进去呢,windows下双击就行,这里同样还是指令:
cd [] 路径
选项是什么呢?
别急,先看看我们的现在的路径有什么:
我们再去 dir1 目录,这个直接cd加目录名就行:
*
cd 目录名
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/7695fb7d92224b01ae86467f187abf27.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/38e912b3071c47878f8c40dc79b478e3.png)
看看路径:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/91ed5b7fdc914f489ba5f10617a97683.png)
再看看这里有啥:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/7994ab5390a7498b84805e611cbbb9bf.png)
可以看见,每个目录下都有两个奇怪的东西,一个是 `.`,还有一个是 `..` 。因为这是Linux每个目录下都会有的两个隐藏文件。
简单讲:`.` 表示当前目录。 `..` 表示当前目录的上级目录。
ls -d
`ls` 的 选项 `d` ,用来显示当前目录自身
搭配l,显示详细信息:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d0d478bd6abd405baa45d776d5990f05.png)
cd ..
而 cd `..`可以返回上级目录:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/a84ed8f2631240fabaaa80321c38d48b.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/36c75f61adb14cb4a57139d7a7b3f703.png)
类似于在windows下的这个:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2909c3d15a2c4b74b3bc965f8baae037.png)
一直`cd ..`,会来到Linux文件系统的根目录 `/`
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/58ca0f26990b45cdbc9d703ac8a6de2b.png)
* 根目录管了很多东西,可以简单看看:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0c57a580735d4587a43e6284360a199e.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d7e4da7c62564cc68a8508290d9cfcf5.png)
cd 后可以加绝对路径(就是贼长的那种),规定从根目录 `/` 开始
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/7268cd2a7c4741aebff6adf656810c53.png)
但一般会用相对路径,这种是以当前所处路径作为起始参考位置,来进行特定文件的定位。
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1b8e7a9fac9844849939745cb77c5336.png)
这里还有两个比较有意思的选项: `~` `-`
cd ~
`~` 可以进入用户家目录,root用户是 /root
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e356aa65eff44fb2906a28fa5c945599.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/3d10ee7e110d4a2aa077d021b6c046c8.png)
普通用户是 /home/用户名
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f9062ad532934cf0b355254eb3c57639.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/339712bcead449aabd339df3edc81867.png)
cd -
`-`可以让我们回到上一次所处的目录
比如我们从一个很深的位置`~`到了/root,再一个 `-` 就能回去
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/9909ceaa1f2841199f94eaec2915fcae.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0eb43ad887bd4d61a1266883be8c772b.png)
5️⃣ rm
现在我们已经知道了如何创建文件,但万一我们建错了呢?
因此来看看怎么删除吧
先回到 /root:
看看有什么:
试试删dir1,与创建目录的指令mkdir对应,删除目录可以用rmdir
rmdir 目录名
如果目录不空,会删除失败。
如果删的不是目录,也会删除失败。
因此,一般用的不是rmdir,用的是rm:
rm [] 文件名/目录名
试试删文件:
删除成功,不会有提示(有的系统可能会有提示),并且linux没有回收站,所以删了就是删了。
试试删目录:
不能直接删。
*
rm -r
可以添加选项 `-r` ,递归删除该目录中的所有东西。
rm -i
同时也可以搭配选项 `-i` ,提示删的是什么:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0ef8ef6485304e3c8ff82efda1262fbc.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/da628c8ab50040a0963d10b78be2398e.png)
试试删snap,虽然我到现在也不知道这是什么
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c608efff90ab4bc48e57b5e644a5cbd5.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d7128fefa7384680abe5b992fcbb859c.png)
`cd ..` 来到根目录,试试删root 和 home。。额。。好像也直接删了
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/35e98f37d01645c3aa17767270bd834e.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f0497fff81cf4f199650d60617d2e0fe.png)
登录了一下小号,发现家没了🤣:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/727e0f6406334d7cb3f40d9d92383035.png)
最后试试删除 `/`
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/8025ff6c7a7747398dc644ee73b71df7.png)
终于提示删除不成功了,此时,可以加个选项 `-f` ,不询问,直接删
rm -rf /
如果还不行,那就再加个 `*`,最终变为我们熟悉的 `rm -rf /*`
之后就是愉快的刷屏环节,再之后你会发现几乎刚刚学的所有指令都失效了:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/af7466814c524c9baa9c4456db3d0872.png)
如果有其他人也在用这台服务器,他们也会发现几乎所有指令都失效了:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/35ee1fafd5354008a9a6b508db2611c6.png)
并且,如果退出,你会发现你再也连不上了:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/fc4f0f29ab3b42f3a9f4e5ea68d08b23.png)
怎么办!?
此时,云服务器的好处体现出来了!
希望本篇文章对你有所帮助!并激发你进一步探索编程的兴趣!
本人仅是个C语言初学者,如果你有任何疑问或建议,欢迎随时留言讨论!让我们一起学习,共同进步!