- ✍、目录脑图
- 1、Linux目录结构
- 1.1、具体目录结构
* [1.2、Linux远程登录](about:blank#12Linux_69)
* * [1.2.1、下载Xshell](about:blank#121Xshell_79)
* [1.2.2、安装Xshell](about:blank#122Xshell_97)
* [1.2.3、使用Xshell](about:blank#123Xshell_106)
* [1.2.4、下载Xftp](about:blank#124Xftp_159)
* [1.2.5、安装Xftp](about:blank#125Xftp_168)
* [1.2.6、使用Xftp](about:blank#126Xftp_172)
- 2、Linux命令
- 2.1、vi和vim
* [2.2、vi和vim三种模式](about:blank#22vivim_222)
* * [2.2.1、案例](about:blank#221_235)
* [2.3、vim快捷键](about:blank#23vim_273)
* * [2.3.1、拷贝](about:blank#231_280)
* [2.3.2、删除](about:blank#232_303)
* [2.3.3、查找](about:blank#233_329)
* [2.3.4、设置行号](about:blank#234_347)
* [2.3.5、定位](about:blank#235_365)
* [2.3.6、撤销](about:blank#236_411)
* [2.4、关机重启](about:blank#24_432)
* [2.5、登录注销](about:blank#25_454)
* [2.6、用户管理](about:blank#26_476)
* * [2.6.1、添加用户](about:blank#261_480)
* [2.6.2、指定/修改密码](about:blank#262_523)
* [2.6.3、删除用户](about:blank#263_538)
* [2.6.4、查询用户](about:blank#264_555)
* [2.6.5、切换用户](about:blank#265_565)
* [2.6.6、查看当前登录用户](about:blank#266_582)
* [2.6.7、用户组](about:blank#267_596)
* * [1、新增组](about:blank#1_600)
* [2、删除组](about:blank#2_604)
* [3、增加用户时直接加上组](about:blank#3_608)
* [4、修改用户的组](about:blank#4_614)
* [5、用户和组相关文件](about:blank#5_620)
- 3、实用指令
- 3.1、运行级别
* [3.2、找回root密码(CentOS7.6)](about:blank#32rootCentOS76_668)
* [3.3、帮助指令](about:blank#33_715)
* * [3.3.1、man获得帮助信息](about:blank#331man_717)
* [3.3.2、help指令](about:blank#332help_733)
* [3.4、文件目录类](about:blank#34_751)
* * [3.4.1、pwd指令](about:blank#341pwd_753)
* [3.4.2、ls指令](about:blank#342ls_765)
* [3.4.3、cd指令](about:blank#343cd_780)
* [3.4.4、mkdir指令](about:blank#344mkdir_789)
* [3.4.5、rmdir指令](about:blank#345rmdir_809)
* [3.4.6、touch指令](about:blank#346touch_824)
* [3.4.7、cp指令](about:blank#347cp_835)
* [3.4.8、rm指令](about:blank#348rm_857)
* [3.4.9、mv指令](about:blank#349mv_886)
* [3.4.10、cat指令](about:blank#3410cat_915)
* [3.4.11、more指令](about:blank#3411more_955)
* [3.4.12、less指令](about:blank#3412less_975)
* [3.4.13、echo指令](about:blank#3413echo_1005)
* [3.4.14、head指令](about:blank#3414head_1032)
* [3.4.15、tail指令](about:blank#3415tail_1051)
* [3.4.16、>指令和>>指令](about:blank#3416_1085)
* [3.4.17、ln指令](about:blank#3417ln_1113)
* [3.4.18、history指令](about:blank#3418history_1151)
* [3.5、时间日期类](about:blank#35_1187)
* * [3.5.1、设置当前日期](about:blank#351_1189)
* [3.5.2、设置日期](about:blank#352_1225)
* [3.5.3、cal指令](about:blank#353cal_1239)
* [3.6、搜索查找类](about:blank#36_1263)
* * [3.6.1、find指令](about:blank#361find_1265)
* [3.6.2、locate指令](about:blank#362locate_1305)
* [3.6.3、grep指令和管道符号 |](about:blank#363grep__1331)
* [3.7、压缩和解压类](about:blank#37_1358)
* * [3.7.1、gzip / gunzip 指令](about:blank#371gzip__gunzip__1360)
* [3.7.2、zip/unzip指令](about:blank#372zipunzip_1390)
* [3.7.3、tar指令](about:blank#373tar_1420)
=============================================================================
-
Linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录
/,然后在此目录下再创建其他的目录 -
在Linux世界里,一切皆文件

[常用的如下]
-
/bin(/usr/bin、/usr/local/bin) -
是Binary的缩写,这个目录存放着最经常使用的命令
-
/sbin(/usr/sbin、/usr/local/sbin) -
Super User 的意思,这里存放的是系统管理员使用的系统管理程序
-
/home -
存放普通用户的主目录,在Linux中没个用户都有一个自己的目录,一般该目录名是以用户的账号命名
-
/root -
该目录为系统管理员,也称作超级权限者的用户主目录
-
/lib -
系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库
-
/lost+found这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件 -
/etc所有的系统管理所需要的配置文件和子目录。比如安装 mysql数据库,mysql的配置文件会存放在此 -
/usr这是一个很重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录 -
/boot存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件 -
/mediaLinux系统会自动识别一些设备,例如U盘,光驱等,当识别后,Linux会把识别的设备挂载到这个目录下 -
/mnt系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在 /mnt/ 上,然后进入该目录就可以查看内容了。例如我们之前的共享文件夹 D:/myshare -
/usr/local这是另一个给主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序
-
/proc这个目录是一个虚拟目录,它是系统内存的映射,访问这个目录来获取系统信息 -
/srvservice的缩写,该目录存放一些服务启动之后需要提取的数据 -
/sys这是Linux2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs -
/tmp这个目录是用来存放临时文件的 -
/dev类似于windows的设备管理器,把所有的硬件用文件的形式存储 -
/opt这是给主机额外安装软件所存放的目录。如安装oracle数据库就可以放到该目录下,默认为空 -
/var这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件 -
/selinux[security-enhanced linux]SELinux 是一种安全子系统,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置
说明:公司开发时候,具体的应用场景是这样的:
-
Linux服务器是开发小组共享
-
正式上线的项目是运行在公网
-
因此程序员需要远程登录到Linux进行项目管理或者开发
远程登录客户端有 Xshell6,Xftp6,我们学习使用Xshell和Xftp6
1.2.1、下载Xshell
填写名字和邮箱,选择下载Xshell、Xftp、或者两个都下载

- 打开我们的邮箱

1.2.2、安装Xshell
- Xshell的安装比较简单,基本无脑下一步即可,这里就不进行记录了

1.2.3、使用Xshell
- 我们在 Linux 系统中打开终端,输入
ifconfig,拿到Linux系统的 ip

- 在 Windows 系统中打开 CMD,我们输入
ping 192.168.160.128,测试主机和Linux虚拟机是否网络连通

- 如果成功,基本我们使用Xshell远程连接Linux是没有问题的,如果ping失败,使用Xshell远程连接Linux也必然失败。

- 新建会话,注意主机那里必须要填我们上方 Linux 系统的 ip,协议为SSH

- 双击右侧我们的会话

- 点击接受并保存,登录我们的root账户和密码

- 登录成功,我们可以
ls查看列表

- 当然我们也可以调节终端字体大小

1.2.4、下载Xftp
Xftp是一个基于windows平台的功能强大的SFTP、FTP文件传输软件。使用了Xftp之后,windows用户能安全的在 UNIX/Linux 和 Windows PC 之间进行文件传输。

1.2.5、安装Xftp
安装与Xshell相同,一直下一步即可。
1.2.6、使用Xftp
- 新建会话

- 连接

- 输入root用户名和密码,进入后如果出现了中文乱码如下图

- 点击设置,选择当前会话,选项,编码改为UTF-8


- 如下,就不会出现中文乱码了

===========================================================================
Linux系统会内置vi文本编辑器
Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便变成的功能特别丰富。
- 正常模式
- 以vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用[上下左右]按键来移动光标,你可以使用[删除字符]和[删除整行]来处理档案内容,也可以使用[复制、粘贴]来处理文件数据。
- 插入模式
- 按下 i、I、o、O、a、A、r、R等任何一个字母之后才会进入编辑模式,一般来说按 i 即可
- 命令行模式
-
在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显示行号等的动作则是在此模式中达成的。
-
先按ESC,再输入冒号
:进入此模式
2.2.1、案例
我们在XShell中使用Vim开发一个 Hello.java 程序并保存。
- 使用XShell 连接上我们的Linux系统,输入如下命令回车
vim Hello.java 使用vim工具创建Hello.java文件

- 进入到正常模式

- 输入小写 i,进入插入模式

- 书写代码,写完代码按
ESC,然后输入:,再输入wq,wq代表写入并退出

ls查看列表


vi和vim快捷键
2.3.1、拷贝
- 拷贝当前行
yy,粘贴p

- 输入
5yy,表示拷贝当前行向下的 5 行

- 效果如下

2.3.2、删除
- 删除当前行
dd


- 删除当前行向下的 5行:
5yy
2.3.3、查找
- 在文件中查找某个单词 [
命令行下/关键字,回车查找,输入 n 就是查找下一个]

- 输入
/hello,回车,表示在文件中查找hello这个单词

2.3.4、设置行号
-
设置文件的行号 [命令行下
:set nu] -
取消文件的行号 [命令行下
:set nonu]


2.3.5、定位
编辑 /etc/profile 文件,在一般模式下使用快捷键到该文档的最末行[G]和最首行[gg]
- 进入 etc 下面的 profile 文件

- 进入文件即是一般模式,此时输入
G,即可定位至文件末行

- 输入
gg进入文件首行

- 将光标移动到 20 行,在一般模式下输入
20,再输入shift+g

2.3.6、撤销
- 在一个文件中输入
QXL,撤销这个动作。在一般模式下输入u

- 先按
ESC由插入模式回到一般模式,然后按u撤销刚才的输入


| shutdown -h now | 立即进行关机 |
| — | — |
| shutdown -h 1 | “hello,1分钟后会关机” |
| shutdown -r now | 现在重启计算机 |
| halt | 关机 |
| reboott | 重启 |
| sync | 把内存的数据同步到磁盘 |
注意:
-
不管是重启还是关机,首先要运行
sync命令,把内存中的数据写到磁盘中 -
目前的 shutdown/reboot/halt 等命令已经在关机前进行了 sync,但是还是建议手动运行
sync

- 登录时候尽量少用root账号登录,因为它是系统管理员,最大的权限,避免操作失误,可以利用普通用户登录,登录后再使用
su - 用户名命令来切换成系统管理员身份

- 在提示符下输入
logout即可注销用户

使用细节:
- logout 注销指令在图形级别下无效(也就是在Linux右键打开终端的窗口中输入无效)
Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
2.6.1、添加用户
基本语法:
useradd 用户名
- 我们使用 root 用户进入 home 文件夹,查看当前的用户列表

- 添加一个用户 milan,默认该用户的家目录在
/home/milan

细节说明:
当创建用户成功后,会自动的创建和用户同名的家目录。
也可以通过 useradd -d 指定目录 指定用户名,给新创建的用户指定家目录。

2.6.2、指定/修改密码
基本用法:
passwd 用户名
- 给 milan 指定密码

2.6.3、删除用户
基本语法:
userdel 用户名
-
删除用户milan,但是要保留家目录
userdel milan -
删除用户以及用户主目录
userdel -r milan(这个操作一定要谨慎)
2.6.4、查询用户
基本语法:
id 用户名
请查询root信息: id root
2.6.5、切换用户
基本语法:
su - 用户名
切换到milan用户:su - milan
说明:
-
从权限高的用户切换到权限低的用户,不需要输入密码,反之需要
-
当需要返回到原来用户时,使用
exit/logout指令
2.6.6、查看当前登录用户
基本语法:
whoami/who am I
2.6.7、用户组
类似于角色,系统可以对有共性的多个用户进行统一的管理
1、新增组
指令:groupadd 组名
2、删除组
指令:groupdel 组名
3、增加用户时直接加上组
指令:useradd -g 用户组 用户名
4、修改用户的组
基本语法:usermod -g 用户组 用户名
5、用户和组相关文件
-
/etc/passwd文件:用户(user)的配置文件,记录用户的各种信息 -
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

-
/etc/shadow文件:口令的配置文件 -
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
-
/etc/group文件:组的配置文件,记录Linux包含的组的信息 -
每行含义:组名:口令:组标识号:组内用户列表
========================================================================
运行级别:
| 运行级别 | 说明 |
| — | — |
| 0 | 关机 |
| 1 | 单用户 |
| 2 | 多用户状态没有网络服务 |
| 3 | 多用户状态有网络服务 |
| 4 | 系统未使用保留给用户 |
| 5 | 图形界面 |
| 6 | 系统重启 |
常用的运行级别是3和5,也可以指定默认运行级别。
命令:
init[0123456]
通过 init 来切换不同的运行级别,比如由5图形界面切换到3无图形界面

面试题:如何找回root密码
- 首先,启动系统,进入开机界面,在界面中按
e进入编辑界面。

- 进入编辑界面,使用键盘上下键把光标向下移动,找到以 “Linux16” 开头内容所在的行数,在行的最后面输入:
init=/bin/sh

- 输入完成后,直接按快捷键
Ctrl+X进入单用户模式

- 接着在光标闪烁的位置输入:
mount -o remount,rw /(注意各个单词间有空格),完成后回车,如下图

- 在新的一行最后面输入
passwd,完成后回车。输入密码,再次确认密码即可(密码长度最好8位以上,但不是必须的),密码修改成功后,会显示 passwd… 的样式,说明密码修改成功[我这里设置为1234567890]

-
接着,在光标闪烁的位置(最后一行中)输入:
touch /.autorelabel(touch与 / 后面有一个空格),完成后按回车键 -
继续在光标闪烁的位置中,输入:
exec /sbin/init(exec与 / 后面有一个空格 ),完成后回车。等待系统自动修改密码(这个过程时间有点长,耐心等待),完成后系统会自动重启,新的密码就生效了。 -
这样进入系统,我们就又可以将密码改为自己熟悉的密码

3.3.1、man获得帮助信息
-
man 获得帮助信息
-
基本语法:
man[帮助或配置文件](功能描述:获得帮助信息) -
例如查看
ls命令的帮助信息:man ls

在Linux下我们的隐藏文件是以
.开头的

3.3.2、help指令
基本语法:
help 命令
功能描述:获得shell内置命令的帮助信息
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。





既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)


最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow

第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
[外链图片转存中…(img-iK5zZjA5-1712814282414)]

最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow

第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-XzA8MKq6-1712814282415)]

5441

被折叠的 条评论
为什么被折叠?



