Linux -初识 与基础指令1

博客主页:【夜泉_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语言初学者,如果你有任何疑问或建议,欢迎随时留言讨论!让我们一起学习,共同进步!

相关推荐
孙尚香蕉21 分钟前
Hadoop集群之间实现免密登录
linux·服务器
云中飞鸿43 分钟前
Ubuntu网络连接问题(笔记本更换wifi后,虚拟机连不上网络)
linux·运维·ubuntu
zyplanke1 小时前
修改sshd默认配置,提升安全
linux·安全·ssh
YaenLi1 小时前
MySQL 安装部署
linux·数据库·mysql
sz66cm2 小时前
Linux内核 -- RTC之`struct rtc_time` 字段解析
linux·运维
炭烤毛蛋2 小时前
Ubuntu 磁盘修复
linux·数据库·ubuntu
誓约酱2 小时前
git的基本使用
linux·运维·服务器·c++·git·后端
施墨3 小时前
RHCE实验-nfs及autofs
linux·服务器·centos
誓约酱3 小时前
Linux下字符设备驱动编写(RK3568)
linux·运维·服务器·c语言·c++·嵌入式硬件·物联网
一只搬砖的猹3 小时前
项目实战——使用python脚本完成指定OTA或者其他功能的自动化断电上电测试
linux·单片机·嵌入式硬件·python自动化·rtos·嵌入式软件·ota