-
/root
-
该目录为系统管理员,也称作超级权限者的用户主目录
-
/lib
-
系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库
-
/lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件 -
/etc
所有的系统管理所需要的配置文件和子目录。比如安装 mysql数据库,mysql的配置文件会存放在此 -
/usr
这是一个很重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录 -
/boot
存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件 -
/media
Linux系统会自动识别一些设备,例如U盘,光驱等,当识别后,Linux会把识别的设备挂载到这个目录下 -
/mnt
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在 /mnt/ 上,然后进入该目录就可以查看内容了。例如我们之前的共享文件夹 D:/myshare -
/usr/local
这是另一个给主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序
-
/proc
这个目录是一个虚拟目录,它是系统内存的映射,访问这个目录来获取系统信息 -
/srv
service的缩写,该目录存放一些服务启动之后需要提取的数据 -
/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内置命令的帮助信息
help cd 等
3.4.1、pwd指令
基本语法:
pwd
功能描述:显示当前工作目录的绝对路径
3.4.2、ls指令
基本语法:
ls [选项] [目录或是文件]
常用选项:
-
ls -a
:显示当前目录所有的文件和目录,包括隐藏的 -
ls -l
:以列表的方式显示信息
3.4.3、cd指令
基本语法:cd [参数]
(功能描述:切换到指定目录)
-
cd ~
或者cd :
回到自己的家目录 -
cd ..
回到当前目录的上一级目录
3.4.4、mkdir指令
mkdir指令用于创建目录
基本语法:mkdir [选项] 要创建的目录
常用选项:-p
创建多级目录
- 例如我们创建一个目录:
/home/dog
- 例如我们创建多级目录:
/home/animal/tiger
3.4.5、rmdir指令
rmdir指令删除空目录
基本语法:rmdir [选项] 要删除的空目录
使用细节:rmdir 删除的是空目录,如果目录下有内容时无法删除。如果需要删除非空目录,需要使用 rm -rf 要删除的目录
(这个操作请超级谨慎)
- 删除目录 /home/dog
3.4.6、touch指令
touch指令创建空文件
基本语法:touch 文件名称
3.4.7、cp指令
cp指令拷贝文件到指定目录
基本语法:cp [选项] source dest
-
source 代表你要拷贝的是哪个文件
-
dest 代表把文件拷贝到哪个地方去
常用选项:-r
递归复制整个文件夹(其实就是Windows系统的复制文件夹)
- 将 /home/hello.txt 拷贝到 /home/bbb 目录下
强制覆盖不提示:
\cp [选项] source dest
3.4.8、rm指令
rm指令移除文件或目录
基本语法:rm [选项] 要删除的文件或目录
常用选项:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
基本语法:cp [选项] source dest
-
source 代表你要拷贝的是哪个文件
-
dest 代表把文件拷贝到哪个地方去
常用选项:-r
递归复制整个文件夹(其实就是Windows系统的复制文件夹)
- 将 /home/hello.txt 拷贝到 /home/bbb 目录下
强制覆盖不提示:
\cp [选项] source dest
3.4.8、rm指令
rm指令移除文件或目录
基本语法:rm [选项] 要删除的文件或目录
常用选项:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-RF9gw08e-1712814251670)]
[外链图片转存中…(img-MfnvYfMv-1712814251670)]
[外链图片转存中…(img-zQAur6fg-1712814251671)]
[外链图片转存中…(img-cSsW0ST6-1712814251671)]
[外链图片转存中…(img-UIaGBozQ-1712814251671)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
[外链图片转存中…(img-xK5tazdC-1712814251672)]