Linux快速复习

  • Post author:
  • Post category:linux


这篇笔记是看着视频做的,主要记录一下加深一下印象,以及以后忘记了之后可以通过翻看快速回忆



Linux文件目录结构

说明几个比较重要的目录结构

  • bin:binary 一些常用的linux指令
  • sbin:超级用户的指令
  • home:普通用户
  • etc:所有管理文件 如mysql中的my.conf
  • opt:安装包放的目录
  • usr: 装软件的 usr/local:软件真正的安装目录例如:usr/local/mysql
  • boot: linux启动相关
  • dev:设备管理器
  • media:U盘
  • mnt:挂载盘

linux操作系统一切皆为文件,例如dev以文件的形式管理硬件设备,管理目录结构如下图所示

image-20220321092411903

还有一些我没提到的目录结构,并不代表它不重要,而是它与linux内核相关(proc等),需要成为高手才敢动它。

目前,我只要知道linux中每个文件中存放什么东西,脑子里有linux的目录树就足够了



Vi/Vim编辑器

  • 正常模式:便于光标的移动,行的拷贝和删除
  • 编辑模式:适合插入操作
  • 命令模式:保存等



正常模式

  1. 实现光标的移动

    移动到顶行 gg
    移动到尾行 shift+g
    移动到某一行 num + shift + g
    
  2. 拷贝

    拷贝某一行 yy
    拷贝某几行 num+yy 例如 5+yy
    需要黏贴时按 p (paste)
    
  3. 删除

    ta删除某一行 dd
    删除某几行 num+dd
    
  4. 撤回,注意,正常模式下,按u就行,可以理解为undo

  5. 查询某个关键字

    输入 /keyword 回车
    查询下一个 n
    



命令模式

  1. 文件的操作

    wq保存退出
    q!直接退出
    
  2. 设置行号

    //打开设置行号
    :set nu  
     //关闭设置行号
    :set nonu
    



Linux命令



Linux运行级别

init [0 1 2 3 4 5 6]
  • init 0 关机
  • init 1 单用户
  • init 2 多用户 无网络
  • init 3 多用户
  • init 4 状态保留
  • init 5 图形界面
  • init 6 重启



Linux文件操作指令

  1. cd 进入
  2. pwd 显示当前文件夹
  3. mkdir [-p :创建多级目录]
  4. rm 删除空文件夹,如果要直接删除有文件的文件夹则输入 rm -rf实现 r – recursion 递归 f – force 强制
  5. mv 移动
  6. cp 拷贝
  7. cat 查看文件内容 -n 表示显示行号 如果加上管道符 | more 表示分页显示
  8. more 查看 ctrl+B 上一页 crtl+F下一页
  9. less 查看大文件如日志文件
  10. > 输出重定向 : 会将原来的文件的内容覆盖
  11. >> 追加: 不会覆盖原来文件的内容,而是追加到文件的尾部
echo "" >> filename //往某个文件中追加内容 

12.echo 输出内容到控制台

echo $PATH //输出环境变量
  1. head 和 tail 指令
head -n 5 /etc/profile

//实时监控日志文件的变化
tail -f  data.txt
  1. ln 软连接
ln -s /root linkToRoot
  1. history查看历史指令
!200 执行编号为200的历史指令

常用的小tips:通过tab键可以补全文件夹的内容,不要憨憨的自己打了



时间日期类

  • date
  • cal



搜索查找指令

  1. find 指令
1.查找某个文件夹下的文件
find /home -name hello.txt
2.查找文件大于20M
find /home -size +20M
3.按通配符查找
find /home -name *.txt
2. locate 指令
通过实现更新数据库,定位文件所在位置
yum install mlocate
updatedb
locate hello.txt
有了locate指令,妈妈再也不用担心我找不到应用的配置文件了
3. grep [选项] 查找内容 源文件 经常配合管道符和其他命令一起使用
//查看hahaha文件里是否有log关键值并显示行数
cat /study/hahaha | grep -n log
//查看安装了mysql数据库的哪些包
rpm -qa | grep mysql
//查看docker有哪些版本
yum list | grep docoker 



压缩解压缩

  • zip和unzip -r表示递归压缩

  • gzip和gunzip

  • tar 打包压缩 打包解压

    image-20220322105657416



Linux权限管理

日常开发中,肯定要注意用户限权的管理,万一实习生不小心把库删了咋办

image-20220322204512562



用户管理和组管理

如何创建一个组

groupadd police

如何往组中添加用户

useradd -g police tom
passwd tom

如何修改文件所有者,但是组不会变

chown newowner apple.txt

如何修改文件所在组

chgrp newgroup orange.txt

修改用户所在组

usermod 



修改文件所有权

xftp下可以看到文件的权限信息,例如下面

-rw-r--r--. 1 root root 0 3月  22 20:31 apple.txt

image-20220322203347764

0bit表示文件的类型

1-3表示所有者的权限

4-6表示同组的用户的权限

7-9表示其他用户的权限

r表示可读 也可用数字4表示

w表示可写 也可用数字2表示

x表示可执行 也可用数字1表示

1)	chmod	u=rwx,g=rx,o=x	文件目录名
2)	chmod	o+w	文件目录名
3)	chmod	a-x	文件目录名
或者
chmod 777 文件目录名



Linux定时任务

  1. 编写shell脚本
  2. 给shell脚本可执行权限
  3. crontab -e
//查看当前用户所有定时任务
crontab -l
//删除当前用户的所有定时任务
crontab -r 

通过定时任务,我们可以实现mysql定时数据备份、日志备份等操作



Linux磁盘管理

查询系统整体磁盘使用情况

df -h

树状结构显示目录

tree

磁盘管理目前用到的指令不多,可能等工作才会有更多接触,我需要了解的是,linux是以文件的形式来管理磁盘的,通过mount挂载技术实现



Linux网络管理

//查看ip
ifconfig
//测试网络连接
ping

网络管理主要知道如何在虚拟机种配置静态ip地址就可以了



Linux进程管理

ps -aux
a 表示所有进程
u 表示显示用户
x 表示显示参数

通过配合管道符查看自己想要了解的进程

如何杀死进程

kill 48465 
killall gedit   //关掉所有编辑器
kill -9 456 //强行杀掉	



Linux服务管理

systemctl服务名 [start | stop | restart | reload | status]

展示原有linux服务
chkconfig --list
展示非原有的服务
systemctl list-unit-files

top 与 ps 命令很相似。它们都用来显示正在执行的进程。Top 与 ps 最大的不同之处,在于 top 在执行一段时间可以更新正在运行的的进程。

//依次输入
top
 u
 root
 //每隔10秒更新进程
 top -d 10
 
 //杀死某个进程
 top -k pid

服务网络监控

netstat -anp



RPM和YUM

查询已安装的 rpm 列表

rpm	–qa|grep xx

分页显示

rpm -qa | more [分页显示]

查询安装的软件信息

rpm -qi xxx

查询软件包中的文件

rpm -ql xxx

删除软件包

rpm -e RPM

安装

rpm -ivh	RPM 包全路径名称

Yum 是一个

Shell

前端软件包管理器。基于

RPM

包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。使用 yum 的前提是可以联网。

查询yum服务器有没有软件列表

yum list|grep xx 软件列表

安装

yum install xxx	下载安装



版权声明:本文为qq_41606730原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。