这篇笔记是看着视频做的,主要记录一下加深一下印象,以及以后忘记了之后可以通过翻看快速回忆
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以文件的形式管理硬件设备,管理目录结构如下图所示
还有一些我没提到的目录结构,并不代表它不重要,而是它与linux内核相关(proc等),需要成为高手才敢动它。
目前,我只要知道linux中每个文件中存放什么东西,脑子里有linux的目录树就足够了
Vi/Vim编辑器
- 正常模式:便于光标的移动,行的拷贝和删除
- 编辑模式:适合插入操作
- 命令模式:保存等
正常模式
-
实现光标的移动
移动到顶行 gg 移动到尾行 shift+g 移动到某一行 num + shift + g
-
拷贝
拷贝某一行 yy 拷贝某几行 num+yy 例如 5+yy 需要黏贴时按 p (paste)
-
删除
ta删除某一行 dd 删除某几行 num+dd
-
撤回,注意,正常模式下,按u就行,可以理解为undo
-
查询某个关键字
输入 /keyword 回车 查询下一个 n
命令模式
-
文件的操作
wq保存退出 q!直接退出
-
设置行号
//打开设置行号 :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文件操作指令
- cd 进入
- pwd 显示当前文件夹
- mkdir [-p :创建多级目录]
- rm 删除空文件夹,如果要直接删除有文件的文件夹则输入 rm -rf实现 r – recursion 递归 f – force 强制
- mv 移动
- cp 拷贝
- cat 查看文件内容 -n 表示显示行号 如果加上管道符 | more 表示分页显示
- more 查看 ctrl+B 上一页 crtl+F下一页
- less 查看大文件如日志文件
- > 输出重定向 : 会将原来的文件的内容覆盖
- >> 追加: 不会覆盖原来文件的内容,而是追加到文件的尾部
echo "" >> filename //往某个文件中追加内容
12.echo 输出内容到控制台
echo $PATH //输出环境变量
- head 和 tail 指令
head -n 5 /etc/profile
//实时监控日志文件的变化
tail -f data.txt
- ln 软连接
ln -s /root linkToRoot
- history查看历史指令
!200 执行编号为200的历史指令
常用的小tips:通过tab键可以补全文件夹的内容,不要憨憨的自己打了
时间日期类
- date
- cal
搜索查找指令
- 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 打包压缩 打包解压
Linux权限管理
日常开发中,肯定要注意用户限权的管理,万一实习生不小心把库删了咋办
用户管理和组管理
如何创建一个组
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
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定时任务
- 编写shell脚本
- 给shell脚本可执行权限
- 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 下载安装