前言:
这是我第一次接触 Linux,个人选择了 B 站的韩顺平老师的课程进行学习,韩老师的视频链接如下2021韩顺平 一周学会Linux。因此如果你也是新手学习 Linux 的话,可以借鉴我的博客,然后对照着韩老师的课程进行学习。由于是新手上路,所以有很多不足、不懂的地方。个人也计划在接下来的两周之内花时间过一遍 Linux,所以大家一起加油呀!
文章目录
- 1. Linux 目录结构
- 1.1 基本介绍
- 1.2 具体目录
- 1.2.1 bin
- 1.2.2 sbin
- 1.2.3 home
- 1.2.4 root
- 1.2.5 lib
- 1.2.6 lost+found
- 1.2.7 etc
- 1.2.8 usr
- /usr/local
- 1.2.9 boot
- 1.2.10 proc
- 1.2.11 srv
- 1.2.12 sys
- 1.2.13 tmp
- 1.2.14 dev
- 1.2.15 media
- 1.2.16 mnt
- 1.2.17 opt
- 1.2.18 var
- 1.2.19 selinux [sercurity-enhanced linux]
- 1.2.20 run
- 2. Xshell 和 Xftp
- 3. vi 和 vim
- 3.1 基本介绍
- 3.2 三种模式
- 3.3 快捷键
- 4. 关机和重启命令
- 5. 用户管理
- 5.1 登录和注销
- 5.2 添加用户
- 5.3 指定/修改密码
- 5.4 删除用户
- 5.5 查询用户信息
- 5.6 切换用户
- 5.7 查看当前用户/登录用户
- 5.8 用户组
- 5.9 用户和组相关文件
- 6. 本章总结
1. Linux 目录结构
1.1 基本介绍
Linux 的文件系统是采用层级式的树状目录结构,此结构的最上层是根目录 “ / “,然后在此目录下再创建其他的目录
1.2 具体目录
1.2.1 bin
是 Binary 的缩写,这个目录存放着最经常使用的命令
1.2.2 sbin
s 就是 Super User 的意思,这里存放的是系统管理员使用的系统管理程序
1.2.3 home
存放普通用户的主目录,在 Linux 中每个用户都有一个自己的目录,一般该目录是以用户的账号命名
1.2.4 root
该目录为系统管理员,也称作超级权限者的用户目录
1.2.5 lib
系统开机所需要最基本的动态连接共享库,其作用类似于 windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库
1.2.6 lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
注意:
你在图形界面没有看到这个文件,因为它被隐藏了,可以在通过命令去看
1.2.7 etc
所有的系统管理所需要的配置文件和子目录
比如安装了 MySQL 数据库,这个数据库的配置文件就会放在 etc 下面
1.2.8 usr
用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录
/usr/local
这是一个给主机额外安装软件(软件)所安装的目录。一般是通过编译源码方式安装的程序
1.2.9 boot
存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件
1.2.10 proc
这是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息(该目录不能动)
1.2.11 srv
service 的缩写,该目录存放一些服务启动之后所需要提取的数据(该目录不能动)
1.2.12 sys
这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs(该目录不能动)
1.2.13 tmp
用来存放一些临时文件的目录
1.2.14 dev
类似于 windows 的设备管理器,把所有的硬件用文件的形式存储
1.2.15 media
Linux 系统会自动识别一些设备,例如 U 盘、光驱等等,识别之后,Linux 会把识别的设备挂载到这个目录下
1.2.16 mnt
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载再 mnt 上,然后进入该目录就可以查看里面的内容了
1.2.17 opt
这是给主机额外安装软件(安装包)所存放的目录,默认为空
如安装 ORACLE 数据库,就可以放到该目录下
1.2.18 var
这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下,包括各种日常文件
1.2.19 selinux [sercurity-enhanced linux]
SELinux 是一种安全子系统,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置
可能我们的根目录下没有看到这个目录,因为它没有被启用,启用后就可以看到了
1.2.20 run
是系统运行时所需要的文件,重启后会重新生成对应的目录数据
2. Xshell 和 Xftp
Xhell
可以在 windows 界面下用来访问远程不同系统下的服务器,从而比较好的达到远程控制终端的目的
Xftp
是一个基于 windows 平台的功能强大的 SFTP、FTP 文件传输软件。使用了 Xftp 以后,windows 用户能安全地在 UNIX / Linux 和 Windows PC 之间传输文件
注意:
如果 Xftp 中显示是乱码,则通过属性,将语言选择为 Unicode utf-8,就可以了
3. vi 和 vim
3.1 基本介绍
Vi
Linux 系统会内置 vi 文本编辑器
Vim
具有程序编写能力,可以看作是 vi 的增强版,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用
3.2 三种模式
正常模式
以 vim 打开一个文档就直接进入正常模式。在这个模式中,可以使用【上下左右】按键来移动光标,可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【赋值、粘贴】来处理文件数据
注意: 正常模式不能输入内容
插入模式
按下 i、I、o、O、a、A、r、R 等任何一个字母之后才会进入编辑模式,一般来说俺 i 即可。点击 Esc 退出该模式进入一般模式
命令行模式
输入冒号 ” :“ 或者斜杠 “ / ”,切换命令行模式。在这个模式当中,可以提供你相关指令,完成读取。存盘、替换、离开 vim、显示行号等的动作
wq:保存退出
q:退出
q!:强制退出并且不保存
3.3 快捷键
拷贝当前行:
yy
,拷贝当前行向下的5行:5yy
,并粘贴(输入:p)【正常模式下】删除当前行:
dd
,删除当前行向下的5行:5dd
【正常模式下】在文档中查找某个单词:在命令行下通过:
/关键字,回车
,输入 n 查找下一个出现的位置(如果要查找别的直接斜杠关键字查找就行)【命令行下】设置文件的行号:
set nu
,取消文件的行号:set nonu
【命令行下】编辑 /etc/profile 文件,到该文档的最末行的快捷键 :
G
,和最首行:gg
【正常模式下】在一个文件中输入 “hello”,撤销掉它的快捷键是:
u
【正常模式下】编辑 /etc/profile 文件,输入:20,再输入:shift+g【正常模式下】
注意:
快捷键的指令还有很多,以上只是常用的快捷键,不需要死记硬背,熟能生巧,即用即差就行
4. 关机和重启命令
指令:
- 立即进行关机:
shutdown -h now
- 设置1分钟后关机:
shutdown -h 1
(shutdown
即也表示 一分钟后关机)- 立即重启:
shutdown -r now
- 关机:
halt
- 立即重启:
reboot
- 将内存的数据同步到磁盘:
sync
注意:
- 无论是重启还是关闭系统,首先要运行 sync 命令,将内存中的数据写到磁盘中
- 目前的 shutdown/reboot/halt 等命令均是已经在关机前自动进行了 sync (最好主动输入一遍)
5. 用户管理
5.1 登录和注销
- 登陆时少用 root 账号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用
su - 要切换的用户名
命令来切换成系统管理员身份 - 在提示符下输入
logout
可以注销用户
注意:
logout
注销指令在图形运行级别无效,在**运行级别3(非图形界面)**下有效- 通过普通用户进入 root 后,输入
logout
退回到 普通用户,再输入 logout退出系统
5.2 添加用户
Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号身份进入系统
指令:useradd 要创建的用户名
(要先到 /home/ 目录下再输入指令)
注意:
- 在创建之后,会自动创建跟用户同名的家目录,默认创建的目录在家目录 /home/ 下
- 也可以通过
useradd -d 指定目录 新的用户名
,将新创建的用户指定家目录
5.3 指定/修改密码
指令:passwd 用户名
5.4 删除用户
指令1:userdel 用户名
(删除用户,但保留家目录)
指令2:userdel -r 用户名
(删除用户以及家目录)
注意:
- 删除用户需要在 root 权限下
- 一般情况下建议保留家目录,因为里面保存了这个用户的一些资料
5.5 查询用户信息
指令:id 用户名
5.6 切换用户
指令:su - 要切到的用户名
注意:
- 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要
- 当需要返回到原来用户时,使用
exit
或者 logout指令
5.7 查看当前用户/登录用户
指令:whoami
或者 who am i
5.8 用户组
类似于角色,系统可以对有共性/权限的多个用户进行统一的管理
这是什么意思呢?我们可以看一张图
我们知道普通的用户不像 root 用户一样拥有所有权限,因此不同的普通用户可能拥有的权限不同,我们可以将拥有相同权限的分成一组,这样有利于对于用户进行统一的管理
新增组指令:groupadd 组名
删除组指令:groupdel 组名
修改用户组指令:usermod -g 用户组 用户名
注意:
当我们新建用户时没用指定用户放到哪个组,就会默认创建和用户名相同的组,并将该用户放进去(可以通过查询用户信息指令,查阅该用户的组)
因此我们如果要在增加用户时指定放在哪个组,可以通过指令:useradd -g 用户组 用户名
,但是使用该命令前要先创建用户组
5.9 用户和组相关文件
/etc/passwd
文件
用户(user)的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号(uid):组标识号(gid):注释性描述:主目录:登录 Shell
/etc/shadow
文件
口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group
文件
组(group)的配置文件,记录 Linux 包含的组的信息
每行的含义:组名:口令:组标识号:组内用户列表
6. 本章总结
今天这章首先介绍了 Linux 中的目录,与 windows 不同,熟悉 Linux 中的目录可以帮助你更快的操作这个系统。所以大家可以花时间去练习,加深这个目录的印象。后面再介绍了 Xshell 和 Xftp 这两个软件,操作其实也很简单,这个可以去原视频了解就可以。最后则讲了一些指令、基本操作,这个的话就是在理解的基础上反复练习了!不需要死记硬背哦!
由于这是第一次学习,我打算快速过一遍。韩老师课程中还有许多细节的知识我在博客中没有具体的介绍。等第一遍学习 Linux 完之后,我则会再次对 Linux 的知识进行一次系统地介绍的,希望不足的地方大家多多指正!