第一章 Linux 基础

1、Linux 目录结构

  • linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录 “​​/​​”,然后在此目录下再创建其他的目录。
  • 深刻理解 linux 树状文件目录是非常重要的。
  • 记住一句很经典的话:在 Linux 世界里,一切皆文件。

第一章 Linux 基础_服务器

具体目录结构(重点)

  1. /bin 【常用】(/usr/bin、/uer/local/bin)

是Binary的缩写,这个目录存放着最常使用的命令

  1. /sbin (/usr/sbin、/usr/local/sbin)

s就是Super user的意思,这里存放的是系统管理员使用的系统管理程序

  1. /home 【常用】

存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的

  1. /root 【常用】

该目录为系统管理员,也称作超级权限者的用户主目录

  1. /lib

系统开机所需要的最基本的动态链接共享库,起作用类似于 Windows 里的DLL文件。几乎所有的应用程序都需要用到这些共享库

  1. /lost+found

这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件

  1. etc 【常用】

所有的系统管理所需要的配置文件和子目录,比如安装mysql数据库,my.conf

  1. /usr 【常用】

这是一个非常重要的目录,用户的很多应用程序都放在这个目录下,类似于 windows 下的 program files 目录。

  1. /boot 【常用】

存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

  1. /proc【不能动】

这个目录是一个虚拟的目录,他是系统内存的映射,访问这个目录来获取系统信息

  1. /srv【不能动】

service缩写,该目录存放一些服务启动后需要提取的数据

  1. /sys【不能动】

这是linux2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs

  1. /tmp

这个目录是用来存放一些临时文件的

  1. /dev

类似于windows的设备管理器,把所有的硬件用文件的形式存储

  1. /media【常用】

linux系统会自动识别一些设备,例如U盘,光驱等等,当识别后,linux会把识别的设备挂载到这个目录下

  1. /mnt 【常用】

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载到/mnt/上,然后进入该目录就可以查看里面的内容了。

  1. /opt

这是给主机额外安装软件所存放的目录。例如:ORACLE数据库安装软件就可以放到该目录下。默认为空

  1. /usr/local【常用】

这是给主机额外安装软件所安装的目录。一般通过编译源码的方式安装的程序都存放在该目录下

  1. /var 【常用】

这个目录中存放着在不断扩充的东西 ,习惯将经常修改的文件放在该目录下。包括各种日志文件

  1. /selinux 【security-enhanced linux】

SELinux是一种安全子系统,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置

2、Vi 和 Vim 编辑器

第一章 Linux 基础_用户名_02

Linux 系统会内置 vi 文本编辑器

Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补全、编译错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。(vim就是vi的增强版)

vi和vim常用的三种模式

  1. 正常模式

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

  1. 插入模式

按下 i,I,o,O,a,A,r,R 等任何一个字母之后才会进入编辑模式,一般来说按 ​​i​​ 即可

  1. 命令行模式

在这个模式中,可以提供相关指令,完成读取、存盘、替换、离开vim、显示行号等动作则是在此模式中完成的!

vi 和 vim 各个模式的切换图

第一章 Linux 基础_windows_03

常用快捷键:

第一章 Linux 基础_运维开发_04

快捷键图:

第一章 Linux 基础_用户名_05

3、Linux 开机、重启和用户登录注销

基本介绍

shutdown -h now     立刻进行关机
shutdown -h 1 "hello,1分钟后会关机"
shutdown -r now 现在重新启动计算机
halt 关机
reboot 重新启动
sync 把内存的数据同步到磁盘
  1. 不管是重启系统还是关闭系统,首先要运行 ​​sync​​ 命令,把内存中的数据写到磁盘中
  2. 目前的 shutdown/reboot/halt 等命令均已在关机前进行了sync

用户登录和注销

基本介绍

  1. 登陆时尽量少用 root 账号登录,因为他是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登陆后再用“su - 用户名”命令来切换成系统管理员身份。
  2. 在提示符下输入 logout 即可注销用户

使用细节

  1. logout 注销指令在图形运行级别无效,在 shell 界面有效

4、用户管理

基本介绍

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

添加用户

基本语法:

useradd 用户名

实列(root权限下):

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

细节说明:

  • 当用户创建成功后,会自动的创建和用户同名的家目录
  • 也可以通过 ​​useradd -d 指定目录 新的用户名​​ 来给新创建的用户指定家目录

第一章 Linux 基础_用户名_06

新建用户 king 的home目录下的文件夹名称是 test

指定/修改密码

基本语法:

passwd 用户名

实例:

第一章 Linux 基础_windows_07

  • 显示当前所在的目录:​​pwd​

删除用户

基本语法:

userdel   用户名
userdel -r 用户名

实例

  1. 删除用户,但是要保留家目录
  2. 删除用户以及用户主目录 ,​​userdel -r 用户名​

第一章 Linux 基础_运维开发_08

细节说明

一般情况下,删除用户后建议保留用户的家目录

查询用户信息指令

基本语法:

id 用户名

实例:

第一章 Linux 基础_服务器_09

当用户不存在时,返回无此用户

切换用户

在操作 Linux 时,如果当前用户的权限不够,可以通过​​su - 指令​​,切换到更高权限的用户,如root

基本语法:

su - 切换用户名

实例:

第一章 Linux 基础_linux_10

细节说明:

  1. 从权限高的用户切换到权限低的用户时,不需要输入密码,反之需要
  2. 当需要返回到原来用户时,可以使用 ​​exit/logout​​ 指令

查看当前用户/登录用户

基本语法:

whoami / who am i

实例:

第一章 Linux 基础_linux_11

查看的是登录的用户!

用户组

介绍

类似于角色,系统可以对有共性/权限的多个用户进行统一的管理

第一章 Linux 基础_linux_12

新增组

指令:​​groupadd 组名​

删除组

指令(基本语法):​​groupdel 组名​

注意:如果添加用户时没有指定组,则会默认创建和这个用户同名的组,同时把用户放到该组里

第一章 Linux 基础_linux_13

增加用户时直接加上组

指令:useradd -g 用户组 用户名

第一章 Linux 基础_运维开发_14

修改用户的组

usermod -g 组名 用户名

第一章 Linux 基础_用户名_15

用户和组相关文件

/etc/passwd 文件

用户(user)的配置文件,记录用户的各种信息

每行的含义:

用户名:口令:用户标识号(uid):组标识号(gid):注释性描述:主目录(用户所在家目录):登录Shell

第一章 Linux 基础_用户名_16

/etc/shadow 文件

口令配置文件

每行的含义:

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

第一章 Linux 基础_服务器_17

/etc/group 文件

组(group)的配置文件,记录Linux包含的组的信息

每行含义:

组名:口令:组标识号(gid):组内用户列表

第一章 Linux 基础_用户名_18