文章目录
1、入门概述
1.1 Linux简介
Linux 内核初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的,于1991年10月5日首次发布。
Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX(可移植操作系统接口) 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统,是一个性能稳定的多用户网络操作系统。
Linux最初是作为支持英特尔x86架构的个人计算机的一个自由操作系统,现可运行在服务器和其他大型平台之上, 如大型计算机和超级计算机。Linux也广泛应用在嵌入式系统上,如手机(Mobile Phone)、平板电脑 (Tablet)、路由器(Router)、电视(TV)和电子游戏机等。
1.2 Linux发行版
Linux 的发行版是一些厂商将Linux系统内核与应用软件和文档包装起来,并提供一些安装界面和系统设定管理工具的 一个软件包的集合,例如RedHat Linux,Ubuntu, CentOS(企业社区版)等。 说简单点就是将 Linux 内核与应用软件做一个打包。
2、目录结构
在Linux中一切皆文件,所以了解Linux系统的目录结构是很有必要的
树状目录结构:
系统中移动到根目录(/),查看当前目录列表:
bin 存放二进制可执行文件(ls,cat,mkdir等)
boot 存放用于系统引导时使用的各种文件
dev 用于存放设备文件
etc 这个目录用来存放所有的系统管理所需要的配置文件和子目录
home 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账 号命名的
lib 存放根文件系统中的程序运行所需要的共享库及内核模块
mnt 系统管理员安装临时文件系统的安装点
opt 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的
root 该目录为系统管理员,也称作超级权限者的用户主目录
tmp:这个目录是用来存放一些临时文件的。用完即丢的文件,可以放在这个目录下,安装包
usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows 下的program files目录
/usr/bin 系统用户使用的应用程序
/usr/sbin 超级用户使用的比较高级的管理程序和系统守护程序
/usr/src 内核源代码默认的放置目录
注意:Linux系统的文件系统是以斜杠“/”开始,不是windows中的盘符概念。
3、常用基本命令
3.1 目录管理
cd 路径切换
绝对目录:从根目录起的文件路径,在window中相对于从盘符查找的路径
相对目录:从当前文件位置到需要查找文件间的路径
./ : 当前目录
cd… : 返回上一级目录
cd 目录名(绝对路径都是以 / 开头,相对路径,对于当前目录该如何寻找 …/…/)
从根目录切换到opt目录:
ls(列出目录)
-a参数:all ,查看全部的文件,包括隐藏文件
-l 参数 列出所有的文件,包含文件的属性和权限,没有隐藏文件
ll命令也是此含义
pwd 显示当前用户所在的目录
mkdir 创建一个目录
rmdir 删除目录
rmdir 仅能删除空的目录,如果下面存在文件,需要先删除文件,递归删除多个目录 -p 参数即可
cp 复制文件或目录
语法:cp 原来的位置 新的位置
rm 移除文件或目录(rmdir只是移除文件夹)
参数:
-f 忽略不存在的文件,不会出现警告,强制删除
-r 递归删除目录!
-i 互动,删除询问是否删除
rm -rf / : 传说中的删库跑路(师傅领进门,判刑看个人)
mv 移动文件或者目录
-f 强制
-u 只替换已经更新过的文件
如果都是在本目录中操作相对于重命名操作
3.2 基本属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在Linux中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组,
如:
实例中,boot文件的第一个属性用"d"表示。"d"在Linux中代表该文件是一个目录文件。 在Linux中第一个字符代表这个文件是目录、文件或链接文件等等:
当为[ d ]则是目录
当为[ - ]则是文件;
若是[ l ]则表示为链接文档 ( link file );
若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。
其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。
要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
每个文件的属性由左边第一部分的10个字符来确定(如下图):
修改权限的方式
a、字符设置法
chmod [who][+ | - | =] 文件名
who (u 用户user ,g用户组group,o其他用户,a所有用户默认)
操作符号:
+添加某个权限
-取消某个权限
=赋予权限 chmod u+x,g+w,o+w test.log //r 读,w 写 x 执行
b、数字设定法
0无权限,1表可执行=x,2表写入权限=w,4表可读权限=r
解读:
-rwxr–r--. 1 root root 10 Oct 16 02:55 yhp.log
当前的数字权限:
用户权限=rwx=4+2+1=7
所属组权限=r–=4+0+0=4
其他用户权限=r–=4+0+0=4
组合:744
修改权限:
都加入写入权限:+2
给用户组加入写入权限:+2
给其他用户加入可执行权限:+1
chmod 765 yhp.log
3.3 文件内容查看
Linux系统中使用以下命令来查看文件的内容:
cat 由第一行开始显示文件内容,用来读文章,或者读取配置文件啊,都使用cat名
tac 从后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl 显示的时候,顺道输出行号! 看代码的时候,希望显示行号! 常用
more 一页一页的显示文件内容,带余下内容的(空格代表翻页,enter 代表向下看一行, :f 行 号)
less 与 more 类似,但是比 more 更好的是,他可以往前翻页 (空格下翻页,pageDown, pageUp键代表翻动页面!退出 q 命令,查找字符串 /要查询的字符向下查询,向上查询使用?要查询的字符串,n 继续搜寻下一个,N
上寻找!)
head 只看头几行 通过 -n 参数来控制显示几行
tail 只看尾巴几行 -n 参数 要查看几行
3.4 Vim编辑器
什么是Vim编辑器
vim 通过一些插件可以实现和IDE一样的功能!
Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程 序员中被广泛使用。尤其是Linux中,必须要会使用Vim(查看内容,编辑内容,保存内容!)
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。
vim 则可以说是程序开发者的一项很好用的工具。
三种使用模式
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode) 输入模式(Insert mode) 和 底线命令模式(Last line mode)
命令模式:
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字 符,i被当作了一个命令。
以下是常用的几个命令:
-
i 切换到输入模式,以输入字符。
-
x 删除当前光标所在处的字符。
-
: 切换到底线命令模式,以在底一行输入命令。
如果是编辑模式,需要先退出编辑模式!ESC
输入模式:
在命令模式下按下 i 就进入了输入模式。
在输入模式中,可以使用以下按键:
- 字符按键以及Shift组合,输入字符
- ENTER,回车键,换行
- BACK SPACE,退格键,删除光标前一个字符
- DEL,删除键,删除光标后一个字符 方向键,在文本中移动光标
- HOME/END,移动光标到行首/行尾
- Page Up/Page Down,上/下翻页
- Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
- ESC,退出输入模式,切换到命令模式
底线命令模式:
在命令模式下按下:(英文冒号)就进入了底线命令模式。光标就移动到了底下,就可以在这里输入一 些底线命令了!
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):wq
- q 退出程序
- w 保存文件
- q!强制退出程序
- wq!强制保存并退出程序
3.5 磁盘管理
df(列出文件系统整体的磁盘使用量)
-h 参数表示按照M或者G为单位显示
du(检查磁盘空间使用量)
检查根目录下每个目录所占用的容量:
3.6 进程管理
基本概念
1、在Linux中,每一个程序都是有自己的一个进程,每一个进程都有一个id号!
2、每一个进程呢,都会有一个父进程!
3、进程可以有两种存在方式:前台!后台运行!
4、一般的话服务都是后台运行的,基本的程序都是前台运行的!
命令
a、ps 查看当前系统中正在执行的各种进程的信息!
ps -xx :
- -a 显示当前终端运行的所有的进程信息(当前的进程一个)
- -u 以用户的信息显示进程
- -x 显示后台运行进程的参数
查看所有mysql相关的进程:
ps -aux | grep mysql
| 在linux这个叫做管道符
a|b 表示将a的结果全部赋予b
grep 表示根据条件字符串筛选符合的文件
b、kill 结束进程
语法:kill -9 进程id
杀掉进程,等价于window结束任务
3.7 防火墙操作
# 查看firewall服务状态
systemctl status firewalld
# 开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
# 查看防火墙规则
firewall-cmd --list-all # 查看全部信息
firewall-cmd --list-ports # 只看端口信息
# 开启端口
开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙:systemctl restart firewalld.service
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
3.8 打包与拆包
tar - cxzjvf <打包后的文件> <欲打包的目录>
- c :创建的一个归档文件
- x :拆包
- z :以gzip 格式压缩 j :以bzip2格式压缩
- v :显示打包或者拆包的文件信息
- f : 后面紧接一个 归档文件
- 打包及压缩:tar -czvf yhp.tar.gz ./yhp/
- 拆包及解压缩: tar -xzvf yhp.tar.gz
unzip解压:(windows中软件等)
unzip rocketmq.zip -d rocketmq (-d到指定目录可选)
3.9 查看正在使用的端口
netstat -ntlp