Linux基础
Linux安装
分区
分区名 | 作用 | 分区大小 |
---|---|---|
boot | 引导分区 | 1G |
swap | 交换分区,充当临时内存 | 与运行内存大小一致 |
root | 根目录 | 其余全部 |
boot:引导分区 1G
swap:交换分区 运行内存打下
root:其余全部
Linux基础知识
目录结构
Linux中,一切皆文件
目录 | 作用 | |
---|---|---|
1 | /bin 常用 (/usr/bin /usr/local/bin) | 存放最经常使用的命令 |
2 | /sbin (/usr/bin /usr/local/bin) | Super User,存放系统管理员使用的系统管理程序 |
3 | /home 常用 | 存放普通用户的主目录,每个用户一个目录 |
4 | /root 常用 | 系统管理员的用户主目录 |
5 | /lib | 系统开机所需要的最基本的动态连接共享库,相当于DLL文件 |
6 | /lost+found | 一般是空的,系统非法关机后,这里就存放一些文件 |
7 | /etc 常用 | 所有系统管理所需要的配置文件和子目录 my.conf |
8 | /usr 常用 非常重要 | 用户的很多应用程序和文件都存放在这个目录下 |
9 | /boot 常用 | 存放启动Linux需要的一些核心文件,包括一些连接文件和镜像文件 |
10 | /proc 不能动 | 是一个虚拟目录,是系统内存的映射,访问这个目录获取系统信息 |
11 | /srv 不能动 | service的缩写 存放服务启动后需要提取的数据 |
12 | /sys 不能动 | 这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。 |
13 | /tmp | 用来存放一些临时文件的 |
14 | /dev | 将所有的硬件以文件的形式存储 |
15 | /media 常用 | Linux会自动识别一些设备,例如U盘,光驱等,识别后,Linux会把识别的设备挂载到这个目录下 |
16 | /mnt | 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了 |
17 | /opt 常用 | opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。 |
18 | /usr/local 常用 | 这是给另个给主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序 |
19 | /var 常用 | 存放不断在扩充的东西,习惯将经常被修改的目录放在这里,包括日志文件 |
20 | /selinux | 安全子系统,控制程序只能访问特定文件,有三种工作模式 |
- 系统启动必须:/boot、/etc、/lib、/sys
- 指令集合:/bin、/sbin
- 外部文件管理:/dev、/media、/mnt
- 临时文件:/run、/tep、/lost+found
- 账户:/root、/home、/usr、/user/bin、/usr/sbin、/usr/src
- 运行过程中需要:/var、/proc
- 扩展:/opt、/srv
Vi和Vim的使用
三种模式
模式 | 作用 |
---|---|
正常模式 | 以Vim打开就进入了正常模式,在这个模式中,可以使用上下左右来移动光标,可以使用删除字符或删除整行来处理文档,也可以复制粘贴 |
插入模式 | 按下i、I、o、O、a、A、r、R等任意一个字母之后进入编辑模式,一般来说按i |
命令行模式 | 先输入ESC ,再输入: 进入命令行模式,可以提供相关指令,完成读取,存盘,替换,离开vim、显示行等操作 |
快捷键
- 拷贝当前行
yy
,拷贝当前行的向下5行5yy
,并粘贴p
- 删除当前行
dd
,删除当前向下的5行5dd
- 在文件中查找,命令行下按
/
,输入要查询的内容,按回车,按n
查找下一个 - 设置文件的行号,命令如下[
:set nu
和:set nonu
] - 到该文档的最末行
G
和最首行gg
- 输入内容后,撤销内容,
u
- 编辑文件,将光标移动到20行
shift+g
==G
关机&重启&登录注销
关机重启
- shutdown -h now` :立刻关机
shutdown -h 1
:1分钟后关机shutdown
:默认为shutdown -h 1
shutdown -r now
:现在重新启动计算机halt
:关机reboot
:重新启动sync
:把内存的数据同步到磁盘
登录注销
普通用户登录后使用su - 用户名
来切换管理员身份
使用logout
可注销用户 logout
在图形运行级别无效,即在shell中使用
用户管理
创建用户
命令useradd username
useradd <username> -d xxx
:指定目录创建用户
指定/修改密码
passwd <username>
删除用户
userdel <username>
:删除用户,保留home目录
userdel -r <username>
:删除用户以及对应的home目录
一般情况下,建议保留home目录
查询用户信息
id <username>
:查看用户信息
who am i
或者whoami
:查看正在登陆用户信息
用户组
添加组
groupadd <name>
删除组
groupdel <name>
增加用户直接上组
useradd -g <groupname> <username>
如果没有分配组时,即使用命令useradd <username>
时,会默认创建一个名为username的组。
修改用户组
usermod -g <groupname> <username>
用户组和相关的文件
/etc/passwd:用户的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户识别号:组标识号:注释性描述:主目录:登录Shell
/etc/shadow:口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group:组的配置文件,记录Linux包含组的信息
每行含义:组名:口令:组标识号:组内用户列表
Linux实用指令
运行级别
级别 | 说明 |
---|---|
0 | 关机 |
1 | 单用户[找回丢失密码] |
2 | 多用户状态没有网络服务 |
3 | 多用户状态有网络服务 |
4 | 系统未使用保留给用户 |
5 | 图形界面 |
6 | 重启 |
查看默认级别
systemctl get-default
设置默认级别
systemctl set-default TARGET.target
设置默认级别为命令行
systemctl set-default multi-user.target
设置默认级别为图形化界面
systemctl set-default graphical.targer
找回root密码
1:系统启动,按e
进入编辑界面
2:找到Linux16开头内容所在的行数,在行的最后输入:init=/bin/sh
3:按ctrl+x
进入单用户模式
4:输入mount -o remount,rw /
5:输入passwd
重复两次输入密码
6:输入touch /.autorelabel
7:输入exec /sbin/init
帮助指令
-
man:获取帮助信息
基本语法:man [命令或配置文件]
案例:查看ls命令的帮助信息
-
help:获得shell内置命令的帮助信息
搜索查找类
find指令
从指定的目录向下递归地遍历其各个子目录
find [搜索范围] [选项]
选项 | 功能 |
---|---|
-name<查询方式> | 按照指定文件名查找模式查找文件 |
-user<用户名> | 查找属于指定用户名的所有文件 |
-size<文件大小> | 按照文件大小查找文件 |
case
find /home -name hello.txt
:根据名称查找在home目录下的hello.txt文件
find /opt -user nobody
:查找opt目录下,用户名为nobody的文件
find / -size +200M
:查找整个系统大于200M的文件(+n:大于,-n小于,n等于),单位:K、M、G
locate指令
快速定位文件路径,利用数据库进行存储,无需遍历文件,查询速度较快,必须定时更新locate时刻
基本语法
locate [filename]
第一次运行,需要执行updatedb
用于创建locate数据库
配置文件位置:/etc/updatedb.conf
grep指令
grep指令和管道符号|
grep过滤查找,管道符’’|’’,表示将前一个命令的处理结果输出传递给后面的命令处理
基本语法
grep [选项] 查找内容 源文件
常用选项
-n:显示匹配行及行号
-i:忽略字母大小写
case:
在hello.txt文件中,查找“yes“所在行,并且显示行号
cat /home/hello.txt | grep -n "yes"
grep -n "yes" /home/hello.txt
压缩和解压
gzip/gunzip
gzip 用于压缩文件,gunzip用于解压文件,针对于单个文件
基本用法:
gzip 文件 (只能将文件压缩为*.gz文件)
gunzip 文件.gz (解压文件)
case:
1:压缩hello.txt文件:gzip /home/hello.txt
2:解压文件:gunzip hello.txt.gz