Linux基础学习

基于Centos7环境下学习Linux
消息队列kafka、缓存Redis、搜索引擎ES、集群分布式没有服务器就用虚拟机

学习方式
1、认识Linux
一切皆文件:文件的读写权限
2、基本的命令(文件操作、目录管理、文件属性、vim编辑、账号管理、磁盘管理 )
3、软件的安装和部署(Java、tomcat、docker)
Linux-Redis-Docker

为什么学Linux?
大势所趋、大型项目部署在Linux服务器、工作

Linux简介
Linux内核最初只是由芬兰人林纳斯·托瓦斯在赫尔辛基大学上学时处于个人爱好而编写的
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX(可移植操作系统接口)和Unix的多用户、多任务、支持多线程和多CPU的操作系统

Linux能运行主要的UNIX工具软件、应用程序和网络协议,它支持32位和64位硬件,Linux硬件继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统

用户的登录方式有三种:命令行、SSH、图形界面登录
root是超级管理员

关机:shutdown

目录管理:绝对路径、相对路径
cd:切换目录
ls:列出目录
-a参数:all,查看全部的文件,包括隐藏文件
-l参数:列出所有的文件,包含文件的属性和权限,没有隐藏的文件
所有的linux命令可以组合使用
pwd:当前目录
mkdir:创建目录
clear:清屏
rm -rf:删除 -f忽略不存的文件 -r递归删除目录 -i互动询问是否删除
rm -rf /删除所有根目录的文件
cp:复制文件或者目录
tab自动补全
mv移动文件或者目录 -f 强制 -u只替换已经更新

147读 258写 369执行

chgrp:更改文件属组
chown:更改文件属主
chmod:更改权限

文件内容查看
cat:由第一行开始显示文件内容
tac:从最后一行开始显示,可以看出tac是cat的倒着写
nl:显示行号
more:一页一页的显示文件内容
less与more类似,但是比more更好的是,他可以往前翻页
head:只看前几行
tail:只看后几行

Linux链接的概念
硬链接
A…B 假设B是A的硬链接,他们两个指向同一个文件,允许一个文件拥有多个路径,用户可以通过这种机制建立硬链接到一些重要文件上防止误删
软链接
类似Windows下的快捷方式,删除的源文件,快捷方式也访问不了
创建连接 ln 命令:ln f1 f2
touch:创建文件
echo 输入字符串:echo “I love ldl” >>f1

vim编辑器(查看内容、编辑内容、保存内容)

账号管理
添加删除修改用户
用户口令的管理
用户组的管理
属主、属组

useradd 命令 添加用户
-m:自动创建这个用户的主目录/home/ldl
-G:给用户分配组

删除用户 userdel
userdel -r ldl

修改用户 usermod
usermod -d /home/lidonglian ldl
修改完毕之后查看配置文件即可

切换用户 su

用户组管理
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集群管理(开发、测试、运维、root),不同linux系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户同时创建
用户组的管理涉及用户的添加、修改和删除、删除和修改
实际上就是对/etc/group文件的更新

创建一个用户组 groupadd lidonglian818
创建完用户组后可以得到一个组的id,这个id是可以指定的 -g 520,若不指定就是自增1
删除用户组 groupdel lidonglian818

修改用户组 groupmod 用户名 新用户名
su切换

磁盘管理
df(列出文件系统整体的磁盘使用量)du(检查磁盘空间使用量)
df -h
du -a du -sm /*

Mac或者想使用Linux挂载我们的一些本地磁盘或者文件
挂载:mount
卸载:umount -f 强制卸载

进程管理
什么是进程?
1、在Linux中,每一个程序都是有自己的一个进程,每一个进程都有一个id号
2、每一个进程都会有一个父进程
3、进程可以有两种存在方式:前台、后台
4、一般的服务都是后台运行,基本的进程都是前台运行的

命令
ps 查看当前系统中正在执行的各种进程的信息
ps -xx:
-a(显示当前终端运行的所有进程信息)
-u(以用户的信息显示进程)
-x(显示后台运行程序的参数)
ps -aux:查看所有的进程
| 代表管道符
grep 查找文件中符合条件的字符串
ps -ef:可以查看父进程的信息
ps -ef|grep mysql 查看父进程我们一般可以通过目录树结构来查看

pstree -pu
-p:显示父id
-u:显示用户组

结束进程:杀掉进程,等价于Windows结束任务
kill -9 进程的id
平常写的Java代码死循环了可以结束进程

安装部署JDK
检测是否已经安装java环境:java -version
卸载:rpm -qa | grep jdk #检测JDK版本信息
rpm -e --nodeps jdk
卸载完毕后即可安装jdk
rpm -ivh rpm包
配置环境变量:etc/profile

export JAVA_HOME=/usr/project/jdk1.8.0_171 
export CLASSPATH=.:$JAVA_HOME/lib$JAVA_HOME/jre/lib:$CLASSPATH
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

生效配置文件:source /etc/profile
验证jdk:java -version

关闭禁用防火墙
关闭:systemctl stop firewall
禁用:systemctl disable firewall
重启:systemctl restart firewall

发布项目:java -jar jar项目

安装Tomcat
tar -zxvf apache-tomcat

开启端口:firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙:systemctl restart firewalld.service

命令含义
–zone #作用域
–add-port=80/tcp #添加端口
–permanent #永久生效,没有此参数重启失效
域名解析后,如果端口号是80-http或者 443-https可以直接访问
如果是9000 8080,就需要通过Apache或者Nginx做一下反向代理即可,配置文件即可

Docker(yum安装)
官网安装参考手册:https://docs.docker.com/install/linux/docker-ce/centos/
1、检测Centos7:cat /etc/redhat-release
2、安装我们的准备环境
yum -y install gcc
yum -y install gcc-c++
3、卸载旧版本
yum -y remove docker docker-common docker-selinux docker-engine
4、安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置stable镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6、更新yum软件包索引
yum makecache fast
7、安装Docker CE
yum -y install docker-ce docker-ce-cli containerd.io
8、启动docker
systemctl start docker
9、测试
docker version
docker run hello-world
docker images

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值