Linux学习笔记B站狂神说一.前言二.入门概述Linux简介Linux应用领域LAMP(LinuxApacheMySQLPHP)&LNMP(LinuxNginxMySQLPHP
Linux学习笔记B站狂神说 一.前言
二.入门概述
Linux简介
Linux应用领域
LAMP(Linux + Apache + MySQL + PHP) & LNMP (Linux + Nginx + MySQL +PHP)
三.安装服务器 1.VM 虚拟机+ CentOS (本地服务器)
2.购买阿里云服务器 + Xshell + XFTP
四.走进Linux系统 Linux中没有错误就代表成功
开机登录
最后总结一下,不管是重启系统还是关闭系统,首先要运行sync(同步–保存数据)命令,把内存中的数据写到磁盘中.
系统目录结构
1.一切皆文件
2.根目录/ , 所有的文件都挂载在这个节点下
登录系统后,在当前命令窗口下输入命令:
ls /
目录解释
五.常用基本命令 1.目录管理 绝对路径,相对路径
绝对路径路径全称: C:\ProgramData\360safe\xxx.xx
cd: 切换目录命令
./ : 当前目录
cd … : 返回上一级目录
ls(列出目录) 在Linux中 ls 可能是最常被使用的
-a : all ,查看全部的文件 , 包括隐藏文件
-l : 列出所有的文件, 包含文件的属性和权限, 没有隐藏文件, 所有的Linux命令参数都可以组合使用
cd (切换目录) cd 目录名 (绝对路径都是以/开头的 , 相对路径, 对于当前目录该如何寻找 …/…/)
cd ~ : 回到当前的用户目录
cd …/ : 回到上一级目录
pwd (显示当前用户所在的目录)
mkdir (创建一个文件夹) -p 文件夹/文件夹 : 递归创建文件夹
[ root@localhost codeyuaiiao] [ root@localhost /] [ root@localhost home] codeyuaiiao[ root@localhost home] [ root@localhost home] codeyuaiiao test1[ root@localhost home] [ root@localhost home] codeyuaiiao test1 test2[ root@localhost home] [ root@localhost test2] [ root@localhost test3] test4[ root@localhost test3] [ root@localhost test4] [ root@localhost test4] /home/test2/test3/test4
rmdir (删除目录) rmdir 仅能删除空的目录 , 如果下面存在文件 , 需要先删除文件,
-p 参数 : 递归删除多个目录.
cp(复制文件或者目录) cp 文件名称 新位置
同名文件会提示 是否覆盖 Y&N
rm(移除目录或者目录!) -f 忽略不存在的文件,不会出现警告,强制删除!
-r 递归删除目录!
-i 互动 , 删除询问是否删除!(再给你一次机会)
rm -rf //传说中的删除跑路
mv (移动文件或者目录)(重命名文件) -f 强制
-u 只替换 已经更新过的文件
mv test.txt yuaiiao mv test.txt text2.txt
2.基本属性 看懂文件属性
在Linux中第一个字符代表这个文件是目录,文件或链接文件等等:
当为[d ]则是目录;
当为[- ]则是文件;
当为[I ]则表示为链接文档(link file);
若是[b]则表示为装置文件里面的可供存储的接口设备(可随机存取装置);
若是[c]则表示为装置文件里面的串行端口设备,例如键盘鼠标(一次性读取装置);
修改文件属性命令 属主 属组
1.chgrp (更改文件属组) chgrp [ -R] 属组名 文件名
-R : 递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R参数,那么该目录下的所有文件的属组都会更改.
2.chown(更改文件属主,也可以同时更改文件属组) chown [ -R] 属主名 文件名chown [ -R] 属主名:属组名 文件名
3.chmod(更改文件9个属性) chmod [ -R] xyz 文件或目录 r 可读-4 w可写-2 x可执行-1rwx----7( 所有权限) r-x----5( 不可写) rw- -- 6 ( 不可执行) -wx--3( 不可读)
3.文件内容查看 Linux 系统中使用以下命令来查看文件的内容
1.cat(由第一行开始显示文件内容) 2.tac 从最后一行开始显示,可以看出tac是cat的到写
- ]
3.nl (显示的时候,顺道输出行号) 看代码的时候希望现实行号!
-
4.more(一页一页的显示文件内容) ,带余下内容的(空格代表翻页,enter代表向下看一行,:f显示所在行号)
5.less(与more类似,他可以往前翻页) 与more类似 , 但是比more更好的是,他可以往前翻页(空格翻页,上下键代表反动页面! 退出q命令,查找字符串/要查找的字符向下查询,向上查询使用? n继续向下查找,N继续向上查找)
6.head 只看头几行(-n 代表查看几行) 7.tail 只看尾巴几行(-n 代表查看几行) 你可以使用man[命令] 来查看各个命令的使用文档,如: man cp.
4.拓展:硬链接&软连接 Linux的链接分为 : 硬链接&软链接
硬链接 : A—>B, 假设B是A的硬链接, 那么他俩执行了同一个文件! , 他们俩的内容是相同的,相当于B是A的备份,如果A源文件没有了,B备份文件还是存在且内容相同.用户可以通过这种机制建立硬链接到一些重要文件上,防止误删!
软链接 : 相当于 windows下的快捷方式,删除源文件,快捷方式也访问不了.
ln 命令 : 创建连接 (不加参数创建硬链接 , 加-s 参数创建软链接) touch命令 :创建文件 echo 命令 :输入字符串 touch f1 ln f1 f2 ln -s f1 f3
5.Vim编辑器 )]
完整演示过程
新建或者编辑文件vim 文件名
,按i进入编辑模式,编写内容,编写完成后退出编辑模式,esc,退出之后进入底线命令模式 :wq保存退出
编辑模式按键:
第一部分: 一般模式 可用的光标移动,复制粘贴,搜索替换
移动光标
搜索替换
删除,复制与粘贴
第二部分: 编辑模式
第三部分:指令行模式 存储,离开命令
以上标红要熟练
6.账号管理 useradd 命令 (添加用户) useradd -选项 用户名
-m : 自动创建这个用户的主目录/home/codeyuaiiao
理解一下本质: Linux中一切皆文件,这里的添加用户说白了就是往某一个文件中写入用户的信息了 ; /etc/passwd
userdel 命令 (删除用户) userdel -r codeyuaiiao 删除用户的时候将他的目录页一并删掉
usermod 命令 (修改用户) 修改用户 usermod 对应修改的内容
修改完毕之后查看配置文件
su (切换用户)
passwd (用户密码设置) 我们一般通过root创建用户的时候! 要配置密码
Linux 上输入密码是不会显示的,你正常输入的就可以了,并不是系统的问题
在公司中,你们一般拿不到公司的服务器的root权限,都是一些分配的账号
如果是超级用户修改用户密码:
passwd username( codeyuaiiao) new password: re password:
如果是普通用户:
passwd ( current) UNIX password: new password: re password:
锁定账户 passwd -l 用户名 : 锁定
passwd -d 用户名 : 密码删除 也是锁定
7.用户组管理 属主,属组
每一个用户都有一个用户组,系统可一对一个用户组中的所有用户进行集中管理,(开发,测试,运维,root).
不同Linux系统对用户组的规定有所不同,如Linux下的用户属于与他同名的用户组,这个用户组在创建用户时同时创建了.
用户组的管理涉及用户组的添加, 删除和修改.==组的添加,删除和修改实际上就是对/etc/group文件的更新.
groupadd (创建一个用户组)
创建完用户组后可以得到一个组的id,这个id是可以指定的! -g 520
,如果不指定就是自增1
groupdel (删除用户组)
groupmod (修改用户组的权限信息和名字)
用户切换用户组 $ newgrp root
拓展:文件的查看(了解)
/etc/passwd
用户名:口令( 登录密码,我们不可见) :用户标识号:组标识号:注释性描述:主目录:登录Shell
这个文件中的每一行都代表这一个用户,我们可以从这里看出这个用户的主目录在那里,可以看到属于哪一个组!
登录口令: 把真正的加密后的用户口令字存放到/etc/shadow文件中,保证我们密码的安全性!
用户组的所有信息都存放在/etc/group文件中
8.磁盘管理 df (列出文件系统整体的磁盘使用量) du (检查磁盘空间使用量) df
du
Mac或者想使用Linux挂载我们的一些本地磁盘或者文件
挂载: mount
卸载 : umount -f [挂载位置] 强制卸载
9.进程管理 Linux中一切皆文件
(文件 : 读写执行(查看,创建,删除,移动,复制,编辑),权限(用户,用户组).系统(磁盘,进程))
对于我们开发人来说,其实Linux更多偏向于使用即可!
基本概念 在Linux中,每一个程序都是有自己的一个进程的,没一个进程都有一个id号. 每一个进程,都会有一个父进程 进程可以有两种存在方式:前台 ,后台运行. 一般的服务都是后台运行的,基本的程序都是前台运行的. 命令 ps : 查看当前系统中正在执行的各种进程的信息!
ps -xx :
-a :显示当前终端运行的所有的进程信息 -u: 以用户的信息显示进程 -x : 显示后台运行进程的参数; ps -aux| grep mysql
对于我们来说,这里只需记住一个命令即可 ps -xx|grep 进程名字 ,过滤进程信息;
ps -ef : 可以查看到父进程的信息
ps -ef| grep mysql
查看父进程我们一般可以通过目录树机构来查看
进程树:
pstree -pu
kill -9 进程id(结束进程) kill -9 进程id
java代码死循环可以选择结束进程(杀进程)其他一般用不到
10.环境安装 1.JDK安装 我们开发java程序必须要的环境!
下载jdk rpm.去oralce官网下载 安装java环境
3.环境变量
配置环境变量: /etc/profile
在文件的最后面增加java的配置和window安装环境一样
vim /etc/profile
vim /etc/profile 进入配置文件
末尾添加
export JAVA_HOME = /usr/java/jdk1.8.0_221-amd64export PATH = $JAVA_HOME /bin:$PATH export CLASSPATH = .:$JAVA_HOME /lib/dt.jar:$JAVA_HOME /lib/tools.jar
保存退出即可
刷新配置 source /etc/profile
发布一个项目
Firewalls-cmd --zone= public --add-port= 9000 /tcp -permanent systemctl restart firewalld.service firewall-cmd --list-ports
2.Tomcat安装 ssm war 就需要放到tomcat中运行!
1.下载tomcat.官网下载 apache-tomcat-9.0.39.tar.gz
2.解压这个文件
tar -zxvf apache-tomcat-9.0.39.tar.gz
3.启动tomcat测试 ./xxx.sh
脚本即可运行
进入Tomcat文件bin文件
如果防火墙8080端口开了并且阿里云安全组也开放了,这个时候就可以直接访问远程了!
systemctl status firewalldservice firewalld startservice firewalld restartservice firewalld stop firewall-cmd --list-all firewall-cmd --list-ports 开端口命令 : firewall-cmd --zone= public --add-port= 8080 /tcp --permanent 重启防火墙 : systemctl restart firewalld.service命令含义 --zone --add -port-80/tcp --permanent
3.Docker(yun安装) yum install -y yum源
4.宝塔面板(懒人安装) 11.扩展VM使用 快照相当于游戏存档 可以随时保存配置方式玩坏
但是必须在Linux关闭之后
完结撒花✿✿ヽ(°▽°)ノ✿ 看到最后的帮忙点个赞 👍🙏 谢谢,这个对我真的很重要!