Linux基本使用
2021-04-16 17:34:31 31 举报
AI智能生成
Linux是一种开源的操作系统,具有高度的安全性和稳定性。它广泛应用于服务器、个人电脑和嵌入式系统等领域。Linux的基本使用包括文件管理、命令行操作和软件安装等。在文件管理方面,用户可以使用图形界面或命令行工具来创建、复制、移动和删除文件和目录。在命令行操作中,用户可以通过输入特定的命令来完成各种任务,如查看系统信息、运行程序和管理网络连接等。此外,Linux还支持多种软件包管理器,用户可以通过它们轻松地安装、更新和卸载软件。总之,Linux是一个功能强大且灵活的操作系统,为用户提供了广泛的选择和便利的操作体验。
作者其他创作
大纲/内容
Linux基本使用
前提
我想给大家展示最贴近开发环境的Linux使用,所以此思维导图内容都是基于阿里云服务器的
下载安装xshell和xftp,学生认证是免费的,其实就是输入了一个姓名和邮箱,估计压根就没有做学生判断🤣
Linux知识点
Linux目录
根目录下可以看见的目录(有图)
bin
bin是binary的缩写,存放的是常用命令和程序
sbin
存放管理员使用的系统管理命令和程序
sys
该目录存放的是Linux的内核信息
boot
存放的是Linux启动的一些内核文件,包括连接文件和镜像文件
lib
是library的缩写,存放的是系统最基本的动态连接共享库(比如库++)
lib64
etc
etc是etcetera(等等)的缩写,存放所有系统管理所需要的配置文件和子目录
dev
存放Linux的外部设备,Linux中访问设备和访问文件是一样的
mnt
为了让用户临时挂载别的系统文件的,把光驱挂载到该目录,进入后就可以查看内容了
media
这里存放一些Linux自动识别的一些设备,如U盘,光驱,识别后,就被挂载到该目录
run
临时文件系统,存储系统开机以来的信息,关机重启后该目录应该被请空
tmp
temporary(临时的)的缩写,用来存放一些临时文件
lost+found
该目录下一般都是空的,它会存放一些非法关机相关的文件
root
系统管理员目录
home
用户的主目录,每个用户都有一个目录,存放在该home目录下
usr
unix shared resources(共享资源)的缩写,用户的应用程序都存放在这里
var
variable(变量)的缩写,这个目录存放的是会被不断修改的文件,比如日志文件
proc
process(进程)的缩写,它是一个虚拟文件目录,它是系统内存的映射,这个目录的内容不在硬盘上而是在内存中
opt
option的缩写,这里是额外安装软件的目录,如MySQL,Redis等等
srv
存放一些程序启动后需要提取的数据
蓝色代表目录 红色代表压缩包 绿色代表可执行文件、程序 浅蓝色代表链接文件,ln命令创建的文件 白色代表一般文件,比如文本文件,配置文件,源码等
指令集合
系统需要的
外部文件管理
临时文件
账号相关
运行过程需要用的
扩展用的
Vim编辑器
三种模式
命令模式
/
输入模式
i 进入
esc 退出
底线命令模式
:w 保存文件
:q 退出
:nu 显示行号
用户管理
添加用户(一并生成用户目录)
useradd -m xxx
修改用户目录
usermod -d /home/xxx
给xxx用户修改密码
passwd xxx
输入密码(⭐Linux中输入密码时不会显示的!!)
切换用户
su xxx
把用户xxx给锁住,不让登录
passwd -l xxx
删除用户(一并删除用户目录)
userdel -r xxx
用户组管理
添加用户组(不指定id就是自增1)
groupadd xxx
指定id创建用户组
groupadd -g 1001 xxx
修改用户组id
groupmod -g 1003 xxx
修改xxx用户组名称为yyy
groupmod -n yyy xxx
删除用户组
groupdel xxx
磁盘管理
查看当前磁盘使用情况
df
df -h
这个会进行单位换算
查看当前目录的文件大小
du
总有小视频把遍历目录当成大佬操作,现在咱也可以了😂直接根目录下du
有的U盘在mac可能无法使用,我们就挂载在mnt目录上查看
挂载:mount /dev/xxx /mnt/xxx<br>
卸载:umount -f [挂载名称]
进程管理
查看当前系统正在执行的进程信息
先ps -aux查询出所有进程信息,再过滤出mysql程序的进程
ps -aux|grep mysql
ps :查看进程信息
-a :查看所有进程
-u :以用户的信息显示进程
-x :显示后台运行进程的参数
| :管道符---把前面的结果做为参数传递给后面
grep
分组
mysql
相关程序
查看某进程父进程信息
ps -ef|grep mysql
但是个人认为进程树更好用
pstree -pu
-p :显示父id
-u : 显示用户组
杀死进程
kill -9 进程id
常用的命令
常用命令
进入目录
cd xxx
进入上级目录
cd ..
查看当前目录文件
ls
查看当前所在目录
pwd
回到当前用户目录
cd ~
创建文件夹
mkdir xxx
创建有层次的文件夹
错误示范
mkdir t1/t2/t3
正确操作
mkdir -p t1/t2/t3
删除一个空的文件夹
rmdir xxx
删除一个有层级的目录
rmdir -p t1/t2/t3
创建文件
touch xxx
复制目录或者文件
cp 文件名字 目标地址目录
既可以删除目录又可以删除文件
rm xxx
来个删库跑路?😝
rm -rf /*
移动文件或者目录
mv 文件/目录名 目标地址目录
重命名文件夹
mv 文件夹原名 文件夹新名字
扩展命令
chgrp更改属组,不常用,有人不推荐用
⭐更改文件权限
我们常用数字方式
write 4
read 2
excute 1
组合方式
可读可写可执行,最高权限
777
可读可写不可执行
666
不可写,可读可执行
555
只能读
444
只能写、执行
333
只能写
222
只可执行
111
没有权限
000
命令
chmod 文件 777
看不懂的话,看图呀
cat xxx
正序查看
tac xxx
倒叙查看
nl xxx
顺序查看输出行号
/string
在查看文件的时候输入就是查找功能
一些参数(可以组合使用)
-a 所有(包括隐藏的)
-l 显示详细信息
-p 递归操作
-f 强制
-r 递归删除目录
-i 互动(就询问你一下)
环境安装
三种安装方式
rpm
解压缩
yum(在线安装)
jdk安装(rpm方式)
首先检测当前服务器是否已经安装了jdk
java -version
下载rpm包
链接:https://pan.baidu.com/s/1rL4tf24mftB42kvQqBVesw 提取码:4u7l
通过xftp把下载好的rpm包传进我们的服务器
直接拖进去
然后输入命令安装
rpm -ivh rpm包
输入java -version检测是否安装成功
出现版本号就表示安装成功了
卸载也要学会
先查出来对应程序名字
rpm -qa|grep jdk
再卸载对应的程序
rpm -e --nodeps 上面查出来的程序名
接着我们来配置环境变量
打开配置文件
vim /etc/profile
进入编辑模式,在文件最后添加代码
JAVA_HOME=/usr/java/jdk1.8.0_281-amd64CLASSPATH=%JAVA_HOME%/lib;%JAVA_HOME%/jre/libPATH=$JAVA_HOME/bin;$JAVA_HOME/jre/binexport PATH CLASSPATH JAVA_HOME
黄色字体是java具体安装类路径
最后一句是导出配置
赶紧测试一下项目放上是否正常使用
idea打包一个springboot项目
jar包位置在项目目录的target目录下
本地测试一下打好的jar包有没有问题
发现确实本地可以运行,上传到服务器上(/home/用户目录)
运行jar包,测试是否可用
目前应该是失败的,哈哈哈,这是因为端口未开放
解决防火墙拦截端口问题(看一级目录的最后一个)
再运行jar包
成了
tomcat安装(解压缩方式)
官网下载tar.gz(使用镜像,很快)我的百度云也有,自己选择使用哪个链接:https://pan.baidu.com/s/1f-MRCBE2u7CW1XbsWbowZg 提取码:ab7n
放到/home/用户目录下
解压:tar -zxvf apache-tomcat-9.0.45.tar.gz
多了这个蓝色的文件就对了
启动tomcat测试(进入蓝色目录的bin目录)
.sh文件的启动需要在前面加./
./startup.sh
docker安装(yum方式)
跟着官网文档来:https://docs.docker.com/engine/install/centos/
1、卸载之前的docker
yum remove docker \\ docker-client \\ docker-client-latest \\ docker-common \\ docker-latest \\ docker-latest-logrotate \\ docker-logrotate \\ docker-engine
2、安装一些环境
yum install -y yum-utils
3、配置镜像(这个我们用国内的,会比较快)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、更新yum的索引包
yum makecache fast
5、安装docker
yum install docker-ce docker-ce-cli containerd.io
6、启动docker
systemctl start docker
7、跑个docker的helloworld
docker run hello-world
防火墙拦截端口问题
查看当前防火墙状态
systemtcl status firewalld
防火墙还没开
打开防火墙
systemctl start firewalld
没提示就对了,就说明已经打开了
已经打开了
关闭防火墙和重启防火墙,因为开放端口需要重启防火墙
关闭
systemctl stop firewalld
重启
systemctl restart firewalld
查看当前开放端口
firewall-cmd --list-ports
啊这?一个也没开吗???
那先开放当前项目访问需要的端口吧
firewall-cmd --zone=public --add-port=9000/tcp --permanent
--zone=public 作用域为public
--add-port=9000/tcp
开启9000端口,通信协议为tcp
--premanent
永久开启,不加这个参数,防火墙重启后端口失效
重启防火墙
示例
⭐阿里云安全组策略还需要开启该端口,不然外界还是访问不到
1、进入安全组策略管理
2、开放常用端口已经我们需要的9000端口
firewall、firewalld和firewall-cmd区别(刚学的我被弄傻了)
firewall
这是防火墙的名字
firewalld
这是firewall Daemon的缩写,这是守护线程,不会因为用户的CTRL+C被中断
相等效的还有apache的httpd程序,SSH的sshd程序等等
firewall-cmd
这是防火墙给用户留的用户接口
小结:常用端口操作
开放端口
firewall-cmd --permanent --add-port=xxxx/tcp
移除端口
firewall-cmd --permanent --remove-port=xxxx/tcp
查看防火墙状态
systemctl status firewalld
firewall-cmd --reload
开启防火墙
关闭防火墙
实操
# 查看当前开放端口[root@xiaoye /]# firewall-cmd --list-ports9000/tcp 22/tcp 3306/tcp 6379/tcp 80/tcp 8080/tcp 443/tcp# 开放8088端口[root@xiaoye /]# firewall-cmd --permanent --add-port=8088/tcpsuccess# 查看当前开放端口,因为设置端口后需要重启防火墙,所以8088端口暂时还未开放[root@xiaoye /]# firewall-cmd --list-ports9000/tcp 22/tcp 3306/tcp 6379/tcp 80/tcp 8080/tcp 443/tcp# 重启防火墙(方式一,无提示)[root@xiaoye /]# systemctl restart firewalld# 查看当前开放端口,现在可以看到8088端口了[root@xiaoye /]# firewall-cmd --list-ports9000/tcp 22/tcp 3306/tcp 6379/tcp 80/tcp 8080/tcp 443/tcp 8088/tcp# 移除8088端口[root@xiaoye /]# firewall-cmd --permanent --remove-port=8088/tcpsuccess# 查看当前开放端口,因为设置端口后需要重启防火墙,所以8088端口暂时还在[root@xiaoye /]# firewall-cmd --list-ports9000/tcp 22/tcp 3306/tcp 6379/tcp 80/tcp 8080/tcp 443/tcp 8088/tcp# 重启防火墙(方式二,有提示)[root@xiaoye /]# firewall-cmd --reloadsuccess# 查看当前开放端口,发现8088端口已经不在了[root@xiaoye /]# firewall-cmd --list-ports9000/tcp 22/tcp 3306/tcp 6379/tcp 80/tcp 8080/tcp 443/tcp⭐我们开放端口后一定要去阿里云的控制台配置安全组策略,不然外界还是访问不到(入网规则)
0 条评论
下一页