新鲜出炉,Linux眼花缭乱的小寄巧

news2025/1/1 10:42:40

14天学习训练营导师课程: 互联网老辛《 符合学习规律的超详细linux实战快速入门》

努力是为了不平庸~
学习有些时候是枯燥的,但收获的快乐是加倍的,欢迎记录下你的那些努力时刻(学习知识点/题解/项目实操/遇到的bug/等等),在分享的同时加深对于知识点的理解,同时吸收他人的奇思妙想,一起见证技术er的成长~

目录

1.5 linux基本实操

1.6 linux用户管理

1.7 linux运行级别


1.5 linux基本实操

1.5.1 linux远程登录

在实际工作中,linux服务器是开发小组共享的,并不是存放在每个用户的本地电脑上,linux服务器一般会存在在一台独立的电脑上(独立的机房里)。所以我们需要远程的登录到linux进行相关的操作。

在这里我们介绍两个远程操作工具。一个是远程登录linux操作系统的工具,一个是进行远程文件传输 下载的工具。

第一个工具:远程连接 登录linux服务器的工具 Xshell7

  • 安装:

  1. 直接解压文件得到问了目录Xshell。

  2. 进入Xshell目录:点击!绿化.bat,桌面会自动化生成Xshell程序。

 

  1. 打开Xshell-帮助-关于Xshell,查看破解情况。

如果出现以上信息说明破解成功。

  • 通过Xshell7远程连接linux

  1. 首先我们需要获取远程连接linux操作系统的ip地址。 

[root@xq100 ~]# ip addr

 

我们可以本地windows系统下面ping一下ip,看能否ping成功:

Microsoft Windows [版本 10.0.17763.1577]
(c) 2018 Microsoft Corporation。保留所有权利。
​
C:\Users\kriss>ping 192.168.10.137
​
正在 Ping 192.168.10.137 具有 32 字节的数据:
来自 192.168.10.137 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.10.137 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.10.137 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.10.137 的回复: 字节=32 时间<1ms TTL=64
​
192.168.10.137 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 0ms,平均 = 0ms
​
C:\Users\kriss>

我们发现,可以ping成功。

  1. 建立连接

打开Xshell,点击文件-->新建:

点击确定,再输入登录用户名和密码即可即可。

第二个工具:进行文件远程传输和下载的工具 FileZilla

  • 下载FileZilla

  • 安装

傻瓜式安装,直接点击下一步即可。

  • 使用FileZilla连接linux操作系统

 

注意:

主机的连接地址必须是sftp协议。也就是必须输入: sftp://192.168.10.137

用户名和密码是连接linux操作系统的用户名和密码。

端口号可以不写,默认就是22。

  • 上传文件

上传文件:在windows操作系统(左边)选择指定文件,右键-->上传 即可。

下载文件:在linux操作系统(右边)选择指定文件,右键-->下载 即可。

1.5.2 linux vi/vim编辑器

所有的 Linux 系统都会内置 vi 文本编辑器。Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

1.5.2.1 vi/vim的三种模式

  • 正常模式: 以vim打开一个档案就是直接进入了一般默认(这是正常的模式),在这个模式中,可以通过上下左右来移动光标,你也可以使用【删除字符】【删除整行】来编辑档案中的内容,也可以使用【复制】【贴上】来处理你的文件数据。

  • 插入模式: 按下i,l,o,O,a等任意一个字母之后才会进入编辑模式,一般情况按下i即可。

  • 命令行模式: 在这个模式当中,可以提供你相关指令,完成读取,存盘,替换vim,显示行号等操作是在此模式下完成的。

1.5.2.2 使用vim工具

现在我们完成一个简单的需求,使用vim编辑器,编辑一个Hello.java文件。我们就在Xshell中完成。

[root@xq100 ~]# vim Hello.java

我们输入 vim Hello.java命令,然后回车,此时进入到正常模式。

此时我们直接在里面写内容是没有反应的,因为正常模式下,不能进行内容的编辑,我们需要容正常模式切换到插入模式。如何切换?

我们一般按下i键即可。此时,屏幕左下角会显示成INSERT字样:

 

这个时候我们可以在插入模式下面进行内容的编辑:

 

接下来我们需要保存文件,我们需要切换到命令行模式:

 

 

首先按ESC键,然后输入:wq 然后回车 就是保存并退出。

6.使用快捷键回到文件内容的最起始处和最末尾处

切换到正常模式。

G : 回到文件的末尾处(光标回到文件的末尾处)

gg:回到文件的最开始处(光标回到文件的最开始处)

7.快速的定位到某个位置

切换到正常模式。

5 shift + g (快速到定位到第5行)。

8.在文件中输入内容,执行撤销操作

切换到正常模式。按快捷键u

  • 要搜索当前行中字符串“World”的首次出现,并将其替换为“shijie”

:s/World/shijie/

  • 要替换当前行中搜索到的所有内容,可以添加g标志:

:s/World/shijie/g

  • 想搜索和替换整个文件中的匹配内容,使用百分比字符%作为范围。此字符指示从文件第一行到最后一行的范围

:%s/World/shijie/g

1.5.3 linux关机重启

  • shutdown

    shutdown -h now 表示立即关机

    shutdown -h 1:表示一分钟后关机

    shutdown -r now :立即重启

  • halt

    就是直接使用,效果等同于关机

  • sync

    把内存的数据同步到磁盘

  • reboot

    就是重启系统

注意细节:

  1. 不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写入到磁盘中。

  2. 目前的shutdown、reboot、halt命令在关机前都进行了sync。

1.5.4 用户登录和注销

  • 切换用户 su root 切换到root用户

  • exit 退出 注销

注意:在切换用户的时候,如果从低级别的用户切换到高级别的用户,需要输入密码的(wen --> root)。如果从高级别的用户切换到低级别的用户(root --> wen),那么是不需要输入密码的。

1.6 linux用户管理

linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

1.6.1 添加用户

在root用户下,我们可以创建很多其它的用户,并且这些用户都会生成对应的目录,这些目录位于/home/用户名的目录下面。如果我们使用自己创建的用户登录,默认的情况下,用户所在的目录就是/home/用户目录所在的位置。

如何创建用户? useradd [选项] 用户名

[root@xq100 ~]# useradd kobe   #创建用户名为kobe的用户
[root@xq100 ~]# cd /home # 切换到home目录
[root@xq100 home]# ll  # 查看home目录所在的文件夹
total 0
drwx------. 3 kobe kobe  78 Aug 27 17:49 kobe
drwx------. 5 xq   xq   147 Aug 27 16:02 xq

细节:

  • 当用户创建成功后,会自动的创建和用户同名的目录。这个目录位于/home下面。

  • 也可以通过 useradd -d来指定目录新的用户名,给新的用户名指定目录

[root@xq100 home]# useradd -d /home/test king # 创建一个用户名为king的用户 用户目录位于/home/test
[root@xq100 home]# cd /home
[root@xq100 home]# ll
total 0
drwx------. 3 kobe kobe  78 Aug 27 17:49 kobe
drwx------. 3 king king  78 Aug 27 17:52 test
drwx------. 5 xq   xq   147 Aug 27 16:02 xq

1.6.2 给用户添加密码

创建密码的命令: passwd 用户名

[root@xq100 home]# passwd kobe # 给kobe这个用户设置密码
Changing password for user kobe.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

我们执行logout指令,然后使用kobe进行登录,发现可以成功登录。

1.6.3 删除用户

删除用户有两种情况,一种是删除用户,保存用户对应的目录。还有一种是删除用户,连用户对应的目录也删除掉。

  • 删除用户,保存用户对应的目录

userdel 用户名

注意,我们切换到root用户下面,执行用户的删除操作。

[root@xq100 home]# userdel kobe
[root@xq100 ~]# cd /home
[root@xq100 home]# ll
total 0
drwx------. 5 1001 1001 147 Aug 27 18:03 kobe  # 我们发现用户所属的目录还在
drwx------. 3 king king  78 Aug 27 17:52 test
drwx------. 5 xq   xq   147 Aug 27 16:02 xq
  • 删除用户,对应的用户目录也删除掉

userdel -r 用户名

[root@xq100 home]# useradd lisi  #创建用户lisi
[root@xq100 home]# ll
total 0
drwx------. 5 lisi lisi 147 Aug 27 18:03 kobe
drwx------. 3 lisi lisi  78 Aug 27 18:09 lisi
drwx------. 5 xq   xq   147 Aug 27 16:02 xq
[root@xq100 home]# userdel -r lisi  # 删除用户的同时也删除lisi对应的目录
[root@xq100 home]# ll
total 0
drwx------. 5 1001 1001 147 Aug 27 18:03 kobe
drwx------. 5 xq   xq   147 Aug 27 16:02 xq

1.6.4 查询用户信息

  • 查询用户的详细信息

id 用户名

[root@xq100 home]# id root
uid=0(root) gid=0(root) groups=0(root)
[root@xq100 home]# id kobe
uid=1001(kobe) gid=1001(kobe) groups=1001(kobe)

uid: 用户id gid:用户组id groups:组名

  • 查看当前的用户的信息

who am i / whoami

[root@xq100 home]# who am i
root     pts/1        2022-08-27 18:06 (192.168.10.1)
  • 切换用户

su 用户名

注意:从高级别的用户切换到低级别的用户不需要输入密码。比如从root切换到kobe用户。

从低级别的用户输入到高级别的用户,需要输入密码。必须从kobe用户切换到root用户。

[root@xq100 home]# su kobe  #从root切换到kobe 不需要输入密码
[kobe@xq100 home]$ whoami
kobe
[kobe@xq100 home]$ su root   #从kobe切换到root 需要输入密码
Password: 
[root@xq100 home]#

1.6.5 用户组

用户组类似于角色,系统可以对有共性(权限)的多个用户进行统一管理。我们可以通过下面一幅图来理解组的概念。

  • 创建、删除用户组

groupadd 组名

[root@xq100 ~]# groupadd gaibang  #创建一个组

groupdel 组名

[root@xq100 ~]# groupdel gaibang  #删除一个组
  • 增加用户的时候,直接指定组名称

之前我们创建用户的时候,没有指定组,其实系统会自动给用户分配一个组,这个组的名称和用户名称是一样的。

  

现在我们创建用户的时候直接指定组名称。

基本语法: useradd -g 用户组 用户名

[root@xq100 ~]# useradd -g gaibang guojing #创建用户指定组名称
[root@xq100 ~]# id guojing
uid=1002(guojing) gid=1002(gaibang) groups=1002(gaibang)
  • 修改用户所在组

比如我们之前有一个用户guojing,所在组为gaibang。现在我们想将guojing这个用户放在taohuadao这个组里面去(前提是这个组必须存在)。

基本语法: usermod -g 用户组 用户名

[root@xq100 ~]# groupadd taohuadao   #创建组 名称为taohuadao
[root@xq100 ~]# usermod -g taohuadao guojing  #将用户guojing移动到taohuadao这个组里面去
[root@xq100 ~]# id guojing
uid=1002(guojing) gid=1003(taohuadao) groups=1003(taohuadao)
  • 用户和组相关的文件

(1)/etc/passwd文件

用户的配置文件,记录用户的各种信息。

每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell

使用cat命令浏览这个文件: cat /etc/passwd

xq:x:1000:1000:xq:/home/xq:/bin/bash
kobe:x:1001:1001::/home/kobe:/bin/bash
guojing:x:1002:1003::/home/guojing:/bin/bash

(2)/etc/shadow文件

口令的配置文件,用户登录的时候需要口令(密码)。口令的验证都是通过这个shadow文件去验证的。

每行的含义:登录名:加密口令:最后一次修改的时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

xq:$6$O2FlTZ6TIC6rD2dZ$xQb7mhEuE10P4lodcj5OaGhU5FqrdO7FifH2VjSvwPouqzGLrtTdZLtG8L3l2AvnFQi47x0uRLYMt6LMGWHfc0::0:99999:7:::
kobe:$6$Ij/jhx8A$CYTNMbK0N0DQOIh6A6qQ0Ucnst6GcNTHeS1X4pca3MwXI1ntM0NWsA0/HfUZTrgZKzUPC5m0ZBhpiLG9ZZlrw.:19231:0:99999:7:::
guojing:!!:19231:0:99999:7:::

我们发现guojing这个用户没有加密口令,所以没有显示。我们给guojing这个用户设置密码就可以看到加密口令了。

guojing:$6$.AdhAmZA$gbKCNrwqHBZAot8DxqxrtA7a0uCtc07iKnQltVWdLAk20wLg/58eHF5Ude81Zoo8P.onVZbS0wh/acETjipEv1:19231:0:99999:7:::

(3)/etc/group文件

组的配置信息,记录linux包含的组的信息

每行含义:组名:口令:组标识号:组内用户列表

1.7 linux运行级别

  • linux操作系统运行的7种级别

关于linux的运行级别,一共有7种,我们给大家分别介绍一下:

0:关机

1:单用户(找回用户丢失的密码,可以使用单用户模式)

2:多用户状态但没有网络服务(一般很少用)

3:多用户状态但有网络服务(没有图形化界面,但是有网络,这种用的最多)

4:系统未使用,保留给用户(很少用)

5:图形界面

6:系统重启

常用的运行级别是3和5,我们也可以指定系统默认的运行级别。

切换运行级别的口令: init[0 1 2 3 4 5 6]

我们在linux操作系统(带有图形化界面的操作系统)输入init 3。此时linux操作系统就会以纯命令行模式启动

  • 如何修改linux操作系统默认的运行级别

在centos7中,有一个文件/etc/inittab文件中,描述了运行级别的相关信息

现在我们就来演示linux操作系统的运行级别:

[root@xq100 ~]# systemctl get-default  #获取linux操作系统默认的运行级别
graphical.target   # 图形化的运行级别
[root@xq100 ~]# systemctl set-default multi-user.target  # 设置linux操作系统默认的运行级别为纯命令行级别
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
[root@xq100 ~]# reboot

建议:同学们在初学的时候,还是使用带有图形化界面的运行级别。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/25499.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL_数据库的约束

文章目录 1. NULL约束 2. UNIQUE(唯一约束) 3. DEFAULT(默认值约束) 4. PRIMARY KEY(主键约束) 5. FOREIGN KEY(外键约束) 数据库的约束就是关系型数据库给我们提供的一种"校验数据"合法性的机制 1. NULL约束 创建表时,可以指定某列不为空 create table stud…

MindFusion Scheduler for JavaScript 2.0 Crack

用纯 JAVASCRIPT 编写的交互式调度库--MindFusion Scheduler for JavaScript MindFusion 为所有需要呈现交互式时间表、活动日程或约会日历的应用程序提供了完整的解决方案。完全响应、高度可定制且易于集成的 JavaScript 调度库&#xff0c;您可以根据需要快速编程。 本土化 本…

Centos7 linux 中 防火墙操作命令及SSH远程连接

文章目录查看防火墙状态开启防火墙关闭防火墙查看对外开放的端口状态对外开发端口SSH 工具远程连接VMware 虚拟机查看防火墙状态 systemctl status firewalld开启防火墙 systemctl start firewalld若遇到无法开启 先用&#xff1a;systemctl unmask firewalld.service 然后&a…

Java继承——抽象类与接口的比较以及内部类、匿名类、异常类......

文章目录壹、抽象类与接口的比较贰、内部类叁、匿名类&#xff08;匿名内部类&#xff09;肆、异常类&#xff08;Exception&#xff09;壹、抽象类与接口的比较 1、抽象类与接口都可以有抽象方法&#xff1b; 2、接口中只可以有常量&#xff0c;不可以有变量&#xff1b;而抽…

Mac | 使用 Wineskin 在 Mac 上运行 exe 程序

​1 Wineskin 简介 Wineskin is a user-friendly tool used to make ports of Microsoft Windows software to macOS. 很多实用工具只有 Windows 版本&#xff0c;而 Mac 机器本身不支持运行 exe 程序&#xff0c;除了安装双系统、虚拟机等方法外&#xff0c;Wineskin 可以将…

使用HTML+CSS实现一个静态页面——面包蛋糕 (9页)

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

xlsx库实现纯前端导入导出Excel

前言 最近做了前端导入、导出 Excel 的需求&#xff0c;用到了js-xlsx这个库&#xff0c;该库文档提供的用例很少&#xff0c;并不是很友好。本文总结一下我是如何实现需求的。 需求 提供一个 Excel 文件&#xff0c;将里面的内容转成 JSON 导入数据提供一个 JSON 文件&…

3D-2D:PnP

直接线性变换 Perspective-n-Point 是求解3D到2D点对运动的方法。它描述了已知n个3D空间点及其投影位置时&#xff0c;如何估计相机的位姿。 2D-2D的对极几何方法需要8个或8个以上的点对(以八点法为例)&#xff0c;且存在初始化、纯旋转和尺度的问题。然而&#xff0c;如果两张…

【数据挖掘】数据预处理

Outline ChapterOverview1.为什么要对数据预处理2.数据描述性总结3.数据清洗4.数据变换5.数据整合6.数据归约7.离散化与概念层级8.总结Chapter 1. 为什么要预处理 我们从现实生活中获得的原始数据&#xff0c;或多或少会因为各种原因不能直接使用。例如&#xff1a; 不完整 …

K8S Pod Sidecar 应用场景之一-加入 NGINX Sidecar 做反代和 web 服务器

Kubernetes Pod Sidecar 简介 Sidecar 是一个独立的容器&#xff0c;与 Kubernetes pod 中的应用容器一起运行&#xff0c;是一种辅助性的应用。 Sidecar 的常见辅助性功能有这么几种&#xff1a; 服务网格 (service mesh) 代理监控 Exporter&#xff08;如 redis exporter)C…

【附源码】计算机毕业设计JAVA学校食堂订餐管理

【附源码】计算机毕业设计JAVA学校食堂订餐管理 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JAVA my…

Java#20(包和final)

目录 一.包 1.包的作用? 2.包名书写的规则? 3.什么是全类名? 4.什么时候需要导包? 什么时候不需要导包? 二.final 三.常量 实际开发中&#xff0c;常量一般作为系统的配置信息&#xff0c;方便维护&#xff0c;提高可读性 四.权限修饰符 五.静态代码块 一.包 1…

简述使用vue使用webpack脚手架创建项目并升级至webpack4

第一步、输入命令 vue init webpack demo2 &#xff08;demo2表示项目名称&#xff09;&#xff0c;回车后等待项目完成创建&#xff1b; 第二步、打开package.json&#xff0c;升级以下依赖&#xff08;建议升级一项依赖后运行一下项目&#xff09; webpack系列webpack 3.6.…

Vue实现下载及文件重命名

效果如下&#xff1a; 实现步骤&#xff1a; html&#xff1a; <el-table-column prop"name" label"操作" align"center" header-align"center" width"165"><template slot-scope"scope"><el-but…

MindSpore和Python中nn.Unfold的区别

在往MindSpore迁移项目中遇到了这个转换&#xff0c;以至于不得不去仔细研究一下。 Unfold是卷积操作中的一部分&#xff0c;我们来看一下描述。 Unfold()函数是从一个batch图片中&#xff0c;提取出滑动的局部区域块&#xff0c;也就是卷积操作中的提取kernel filter对应的滑…

图片如何加水印?教你几招轻松加

相信很多喜欢出门游玩的小伙伴&#xff0c;会习惯将旅途中遇到的风景、趣事将其拍照记录下来&#xff0c;然后将图片分享到社交账号上去&#xff0c;但是互联网上什么人都有&#xff0c;总会有不怀好意的人&#xff0c;会在网上拿别人辛苦拍摄的照片&#xff0c;据为己有去发布…

开放式运动耳机哪款好,盘点几款目前最好的开放式耳机分享

如果是在户外运动的时候喜欢戴耳机&#xff0c;那么必然是要选择骨传导耳机&#xff0c;开放式耳道的设计在跑步的过程中&#xff0c;可以很快察觉到来往行人车辆&#xff0c;在安全方面能够极大缩小隐患的发声&#xff0c;无需入耳的佩戴设计能够以最大程度的释放我们的耳道长…

[翻译] 使用FXGL创建一个简单游戏 Pong (FXGL 11)

在本文中&#xff0c;我们将复刻经典的Pong游戏。要完成本教程&#xff0c;你首先需要获取FXGL要么通过Maven / Gradle&#xff0c;要么作为uber-jar。确保你使用FXGL 11 (例如11.3)。 本教程大部分是独立的&#xff0c;但是完成以前的基本教程将对一般理解非常有帮助。完整的…

刷题日记【第十三篇】-笔试必刷题【数根+星际密码+跳台阶扩展问题+快到碗里来】

刷题日记【第十三篇】-笔试必刷题【数根星际密码跳台阶扩展问题快到碗里来】 1.方法区在JVM中也是一个非常重要的区域&#xff0c;它与堆一样&#xff0c;是被【线程共享】的区域。 下面有关JVM内存&#xff0c;说法错误的是&#xff1f;(c) A.程序计数器是一个比较小的内存区…

GO语言之Goroutine和channel

1&#xff0c;goroutine-看一个需求 需求&#xff1a;要求统计1-90000000000的数字中&#xff0c;哪些是素数哦&#xff1f; 分析思路&#xff1a; 1&#xff09;传统的方法&#xff0c;就是使用一个循环&#xff0c;循环的判断各个数是不是素数。 2&#xff09;使用并发或…