一、Linux重点要记得知识点
1.1 目录
- /dev:存放设备文件(块设备和字符设备)
- /:根目录(Windows只有一个盘符C的情况下相当于C盘)
- /root:系统管理员的目录,相当于Windows系统中的system
- /bin:存放标准Linux的工具
- /etc:存放系统配置方面的文件
- /home:这里存放个人数据,相当于Windows系统中的users文件夹
- /tmp:存放临时文件
可能不太全,但是目前会使用到的一些目录都在这里
1.2 绝对路径与相对路径
Linux中判断标准为是否以/(根目录)开头,Windows则是是否以盘符开头。
1.3 Linux常见的文件类型
注:普通文件类型包括纯文本类型,二进制文件,数据格式文件
文件类型以及其对应字符表示:
- :普通文件
d :目录文件
c :字符设备文件
b :块设备文件
s :套接字文件
p :管道文件
l :符号链接文件
1.4 文件访问者的分类
- root用户:对系统拥有完全控制权,可以完成所有操作。#表示
- 普通用户:通常只能访问自己的文件和一些系统资源。$表示
对于文件或目录,Linux有:
u(文件所有者)、g(文件所有者的所属组)、o(其他用户)、a(所有用户)
1.5 Linux 三种权限位
权限位包括读(r)、写(w)和执行(x),保持固定的rwx位置,若没有权限则使用(-)。
要注意的是:r代表4、w代表2、x代表1、-代表0。(也就是所谓的八进制,但这里不涉及进位,就可以简单的把它理解为十进制的加法)例如,rwx = 4+2+1=7;r-x=4+0+1=5。以此类推,🤔就像 百位+十位+个位 的样子。而且他们一定是每三个为一组的。
如:第三行信息可以看成 aa(最后一列)这个文件是文本文件(-)所有者是root(第三列),文件所属的组是root(第四列),具有一个链接数(第二列),所有者的权限为rwx,所有者所属的组权限为--x,其他用户的权限为--x,有40字节(第五列)最后修改时间为Oct 15 15:03。
1.6 用户和用户组
这就相当于Windows里的组和用户,方便操作和管理。
1.7 ~的含义
在root用户时,表示的是/
在普通用户时,表示的是/test/用户名
1.8 用户和用户组密码
用户密码存放在/etc/shadow
用户组密码存放在/etc/gshadow
用户配置文件存放在/etc/passwd
用户组存放在/etc/group
二、Linux 命令
注意:Linux中参数以及命令之间是可以组合一起使用的,要达到什么效果需要自己不断摸索和完善
2.1 ls命令
用来显示文件和子目录,其参数含义为:
- -a 显示所有文件(含隐藏文件)
- -l 以列表的形式展现
- -h 以KB,MB等显示文件大小,方便读取
注意:lh一般同时使用
2.2 file命令
用来查看文件类型,参数使用率不高
2.3 cd命令
用于切换路径
和通配符>组合使用可以创建文件
2.4 rm命令
用于删除目录,参数如下:
- -r:递归
- -f:删除不询问
实际工作中不建议使用-rf
2.5 mv命令
用于改文件名
2.6 cp命令
复制文件或目录,参数如下:
- -r:递归,用于复制目录
2.7 pwd命令
查询当前路径
2.8 touch 命令
用于创建文件,可同时创建多个
2.9 echo命令
输出写入的字符或脚本,参数如下:
- -e:表示对于转义字符按对应的方式进行处理
对于一些常用转义字符(如果有补充可以自行添加)
\t 水平制表符,就是写代码的时候的tab键
\n 换行符
\xhh 十六进制ASCii码表输出字符,例如\x61[应该大概感觉用的可能性不大]
注意:>表示覆盖或写入;>>表示追加或写入
2.10 mkdir命令
用于创建目录,其参数如下:
- -p:用于创建目录树
- -n:显示行号
2.11 cat命令
合并或显示文件内容
注意:与cd相似,可以通过cat>创建文件
2.12 more命令
分页显示文件内容。一般与|一起使用,实现分页效果,参数如下:
- -数字:每页显示多少行
2.13 less命令
一般用于查找,同样的可以与|一起使用,参数如下:
- -i:搜索时忽略大小写
回车后,会高亮显示
2.14 tail命令
用来显示结尾期望数量的文字块。(太抽象了,感觉可以当成,对于一个循环程序,用于将最后一行追加到之前的文本后,举个例子)
注意:
jobs查看后台任务状态
fg 数字:调取任务到前台
bg 数字:将暂停的任务在后台运行
2.15 grep命令
用来搜索匹配的字符,其参数如下:
- -c:计算符合匹配的字符串的行数
- -f:从文件A中找出与文件B相同的字符
- -n:在现实包含匹配字符串的行之前,标示处该行的行号
2.16 find命令
命令用于查找符合条件的文件和目录,其参数如下:
- -exec:用于在找到的文件上执行指定的命令
- -type [文件类型]:只寻找符合指定的文件类型的文件,要注意的是在这里 f 表示普通文件
- -name:指定字符串作为寻找文件或目录的范本样式
- -iname:忽略大小写
- -perm:符合权限
- ! -perm:不符合权限
2.17 bzip2命令
将文件压缩成 bz2 格式,其参数如下:
- -z:进行强行压缩
- -d:解压
- -k:压缩后保持原文件
2.18 gzip命令
gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处 “.gz” 扩展名。其参数如下:
- -d:解开压缩文件
- -f:强行压缩文件
- -N:保存原来的文件名称及时间戳记
- -r:递归,将指定目录下的所有文件及子目录一并处理
2.19 tar命令
用来打包备份,其参数如下:
- -C[大写C]:指定tar命令的工作目录
- -c:建立新的目标包
- -f:指定包的文件名(必须含有)
- -x:解压
- -j:再创建文件后使用bzip2算法进行压缩解压
- -z:用gzip压缩进行压缩或解压
2.20 service命令
使用 service 指令,查看,关闭,启动,其参数如下:
- stop 暂停
- start 启动
- restart 重启
- status 查看
- reload 重新加载
格式:service 服务 参数
如:service firewalld stop
2.21 systemctl 命令
使用 systemctl 指令,查看,关闭,启动,其参数如下
start:立刻启动后面接的 'unit'
stop:立刻关闭后面接的 'unit'
restart:立刻关闭后启动后面接的 'unit',亦即执行 stop 再 start 的意思
reload:不关闭 'unit' 的情况下,重新载入配置文件,让设置生效
enable:设置下次开机时,后面接的 'unit' 会被启动
disable:设置下次开机时,后面接的 'unit' 不会被启动
mask:注销 'unit',注销后你就无法启动这个 'unit' 了。
unmask:取消对 'unit' 的注销。
格式:systemctl 参数 服务
如:systemctl stop firewalld
2.22 cut 命令
在文件中负责剪切数据用的。其参数如下:
- -d:分隔符,按照指定分隔符分割列。与 -f 一起使用
- -f:依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思(列号,提取第几列)
2.23 ifconfig 命令
查看当前Linux的IP信息。
- ifconfig 网卡 down :关闭某网卡
- ifconfig 网卡 up:开启某网卡
- ifup 网卡:开启某网卡
- idown 网卡:关闭某网卡
注意:不能混合使用,为一一对应关系
2.24 nslookup 命令
域名解析
2.25 ping 命令
测试连通性
2.26 chmod 命令
修改权限
语法:chmod 权限 文件
2.27 其他
2.27.1 w命令
显示系统当前登录的用户信息
2.27.2 who 命令
用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者ID、使用的终端机、从哪边连上来的、上线时间
2.27.3 whoami 命令
查看当前是哪个用户
2.28 ps 命令
用于查看进程,其参数如下:
- -aux :以更详细的内容展示
- -ef:以全格式进行展示
2.29 top 命令
实时监控进程
# top 命令的交互选项:P按键 #根据CPU使用率从大到小排序M按键 #根据内存使用率从大到小排序N按键 #根据PIN从大到小排序T按键 #根据进程使用CPU累计运算的时间排序q按键 #退出top
2.30 lsof 命令
列出系统中所有打开的文件及其相关联的进程信息,其参数如下
- -i :指定路由,协议或端口
- -p:指定PID
2.31 kill -9
杀死进程
2.32 pkill -9
批量杀死某进程,其参数如下
- -t:提出指定设备
2.33 netstat 命令
用于显示网络连接、路由表、接口统计信息等,其参数如下:
- -tunlp:查看所有TCP和UDP端口的使用情况
三、Linux的通配符
* :通配符,代表任意字符(0到多个)
?:通配符,代表一个字符
# :注释
\ :转义符号,将特殊字符或通配符还原成一般符号
| :分割两个管线命令的界定
; :连续性命令的界定
~ :用户的根目录
$ :变量前需要加的变量值
! :逻辑运算中的“非”
/ :路径分割符号
> :输出导向,为“取代”
>>:输出导向,“累加”
' :不具有变量置换功能
" :具有变量置换功能
` :quote符号,两个 ` 中间为可以先执行的指令
() :中间为子shell的起始与结束
[] :中间为字符组合
{} :中间为命令区块组合
& :表示程序要在后台运行
&& :当该符号前一个指令执行成功时,执行后一个指令
| :管道符,表示上一条命令的输出,作为下一条命令参数进行传递
|| :表示前一条命令执行成功时,后一条命令不再执行;如果前面一条命令执行失败,后面的命令再执行
四、Linux系统下的常用快捷键
Ctrl+C:终止当前任务
Ctrl+D:输入结束
Ctrl+U:在提示符下,将整行命令删除
Ctrl+Z:暂停当前任务
五、用户管理
useradd 用户名 #创建用户
passwd 用户名 #修改密码
userdel -rf 用户名 #强制删除用户并删除用户有关文件
六、用户组管理
groupadd 用户组 #创建用户组
groupdell 用户组 #删除用户组
usermod -G 用户组 用户名 #将某个用户添加到用户组中
usermod -G " " 用户名 #保留用户名本组
#例如:usermod -G "" mz #保留mz组,其余所在组全删除
gpasswd -d 用户名 用户组 #将用户移除用户组
七、vim
命令模式 => 插入模式:i
命令模式 => 底行模式:shitf + ; 【 此处不用纠结:因为键盘输入:shift + ; = : 】
插入 / 底行模式 => 命令模式:Esc
命令模式:
光标移动:
- h 左移,j 下移,k 上移,l 右移。
- 0 移动到行首,$ 移动到行尾。
- gg 移动到文件开头,G 移动到文件结尾。
编辑操作:
- x 删除光标所在字符。
- dd 删除当前行,ndd 删除接下来的 n 行。
- yy 复制当前行,nyy 复制接下来的 n 行。
- p 粘贴到光标后,P 粘贴到光标前。
查找与替换:
- /word 向下查找 "word",按 n 查找下一个,按 N 查找上一个。
- :%s/old/new/gc 全局替换 "old" 为 "new",每次替换前询问确认。
保存与退出:
- :w 保存文件。
- :q! 强制退出不保存。
- :wq 保存并退出。
八、网络配置(配置静态路由)
目的:方便管理和监控,并且很可靠,满足充当服务器时的需求。
配置过程:所有的配置文件都被放在了/etc文件中,所以我们要在etc中寻找我们要更改的网络配置,其完整目录为/etc/sysconfig/network-scripts。进入该目录中,进行查看文件
选中我们的网卡,即ens33,进入vim编辑模式,进行更改,在更改前,记得要备份一份源文件,防止被改坏后无法复原。按照方块所示进行添加或者更改。