第一章 Linux 基础
1、Linux 目录结构
- linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录 “
/
”,然后在此目录下再创建其他的目录。 - 深刻理解 linux 树状文件目录是非常重要的。
- 记住一句很经典的话:在 Linux 世界里,一切皆文件。
具体目录结构(重点)
- /bin 【常用】(/usr/bin、/uer/local/bin)
是Binary的缩写,这个目录存放着最常使用的命令
- /sbin (/usr/sbin、/usr/local/sbin)
s就是Super user的意思,这里存放的是系统管理员使用的系统管理程序
- /home 【常用】
存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
- /root 【常用】
该目录为系统管理员,也称作超级权限者的用户主目录
- /lib
系统开机所需要的最基本的动态链接共享库,起作用类似于 Windows 里的DLL文件。几乎所有的应用程序都需要用到这些共享库
- /lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
- etc 【常用】
所有的系统管理所需要的配置文件和子目录,比如安装mysql数据库,my.conf
- /usr 【常用】
这是一个非常重要的目录,用户的很多应用程序都放在这个目录下,类似于 windows 下的 program files 目录。
- /boot 【常用】
存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
- /proc【不能动】
这个目录是一个虚拟的目录,他是系统内存的映射,访问这个目录来获取系统信息
- /srv【不能动】
service缩写,该目录存放一些服务启动后需要提取的数据
- /sys【不能动】
这是linux2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs
- /tmp
这个目录是用来存放一些临时文件的
- /dev
类似于windows的设备管理器,把所有的硬件用文件的形式存储
- /media【常用】
linux系统会自动识别一些设备,例如U盘,光驱等等,当识别后,linux会把识别的设备挂载到这个目录下
- /mnt 【常用】
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载到/mnt/上,然后进入该目录就可以查看里面的内容了。
- /opt
这是给主机额外安装软件所存放的目录。例如:ORACLE数据库安装软件就可以放到该目录下。默认为空
- /usr/local【常用】
这是给主机额外安装软件所安装的目录。一般通过编译源码的方式安装的程序都存放在该目录下
- /var 【常用】
这个目录中存放着在不断扩充的东西 ,习惯将经常修改的文件放在该目录下。包括各种日志文件
- /selinux 【security-enhanced linux】
SELinux是一种安全子系统,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置
2、Vi 和 Vim 编辑器
Linux 系统会内置 vi 文本编辑器
Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补全、编译错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。(vim就是vi的增强版)
vi和vim常用的三种模式
- 正常模式
以vim打开一个文件就直接进入一般模式了(这是默认的模式)。在这个模式中,可以使用【上下左右】键来移动光标,你可以使用【删除字符】或【删除整行】来处理文件内容,也可以使用【复制、粘贴】来处理你的文件数据。
- 插入模式
按下 i,I,o,O,a,A,r,R 等任何一个字母之后才会进入编辑模式,一般来说按 i
即可
- 命令行模式
在这个模式中,可以提供相关指令,完成读取、存盘、替换、离开vim、显示行号等动作则是在此模式中完成的!
vi 和 vim 各个模式的切换图
常用快捷键:
快捷键图:
3、Linux 开机、重启和用户登录注销
基本介绍
- 不管是重启系统还是关闭系统,首先要运行
sync
命令,把内存中的数据写到磁盘中 - 目前的 shutdown/reboot/halt 等命令均已在关机前进行了sync
用户登录和注销
基本介绍
- 登陆时尽量少用 root 账号登录,因为他是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登陆后再用“su - 用户名”命令来切换成系统管理员身份。
- 在提示符下输入 logout 即可注销用户
使用细节
- logout 注销指令在图形运行级别无效,在 shell 界面有效
4、用户管理
基本介绍
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统
添加用户
基本语法:
实列(root权限下):
细节说明:
- 当用户创建成功后,会自动的创建和用户同名的家目录
- 也可以通过
useradd -d 指定目录 新的用户名
来给新创建的用户指定家目录
新建用户 king 的home目录下的文件夹名称是 test
指定/修改密码
基本语法:
实例:
- 显示当前所在的目录:
pwd
删除用户
基本语法:
实例
- 删除用户,但是要保留家目录
- 删除用户以及用户主目录 ,
userdel -r 用户名
细节说明
一般情况下,删除用户后建议保留用户的家目录
查询用户信息指令
基本语法:
实例:
当用户不存在时,返回无此用户
切换用户
在操作 Linux 时,如果当前用户的权限不够,可以通过su - 指令
,切换到更高权限的用户,如root
基本语法:
实例:
细节说明:
- 从权限高的用户切换到权限低的用户时,不需要输入密码,反之需要
- 当需要返回到原来用户时,可以使用
exit/logout
指令
查看当前用户/登录用户
基本语法:
实例:
查看的是登录的用户!
用户组
介绍
类似于角色,系统可以对有共性/权限的多个用户进行统一的管理
新增组
指令:groupadd 组名
删除组
指令(基本语法):groupdel 组名
注意:如果添加用户时没有指定组,则会默认创建和这个用户同名的组,同时把用户放到该组里
增加用户时直接加上组
修改用户的组
用户和组相关文件
/etc/passwd 文件
用户(user)的配置文件,记录用户的各种信息
每行的含义:
用户名:口令:用户标识号(uid):组标识号(gid):注释性描述:主目录(用户所在家目录):登录Shell
/etc/shadow 文件
口令配置文件
每行的含义:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group 文件
组(group)的配置文件,记录Linux包含的组的信息
每行含义:
组名:口令:组标识号(gid):组内用户列表