认识Linux
1.linux入门
通常情况服务器使用LAMP(linux+apache+mysql+php)或LNMP(linux+nginx+mysql+php)的组合
服务器都是用命令行
与Windows对比
windows | linux |
---|---|
界面统一 | 界面千差万别,可能互不兼容 |
驱动程序丰富,版本更新频繁 | 驱动由志愿者开发 |
使用简单、入门快 | 图形界面易学,文字界面稍难 |
系统构造复杂,知识技术淘汰快,深入学习较难 | 系统构造简单稳定,知识技术具有传承性,深入学习相对容易 |
软件需要付费 | 大部分软件可自由获取 |
2.环境搭建(安装CentOS)
阿里云服务器相当于一个远程电脑,而服务器一般不会关机
注意:
3.开始基于阿里云服务器的Linux学习
3.1环境准备
1)购买阿里云服务器
2)在阿里云服务器连接成功后,下载xshell(远程连接工具, port:22),下载xftp(文件上传,port:21)
xshell的使用
xshell6和xshell5的连接方式略有不同
xftp的使用
3.2走进linux
3.2.1
3.2.2系统目录结构
查看当前目录:ls
查看当根目录:ls /
目录为树状结构
各文件中存储的内容
/bin:使用的基本命令
/boot:核心文件,never touch it
/dev:外部设备,将其当作文件来管理,比如打印机、摄像头等
/mnt:挂载别的文件系统(如,本地文件目录)
/etc:配置文件
/home:用户目录——一个用户一个(用户名命名的),相当于windows的c盘下user目录
/lib:库,基本依赖,don’t touch
/opt:安装软件,即软件安装包
/root:管理员目录
/urs:用户的目录
/tmp:临时文件
/sbin:超级管理员的管理程序
/urs/local:类似于Windows下program files目录,安装后的软件存放在这里
/selinux:安全相关的内容
3.3.Linux常用命令
3.3.1目录管理
命令
切换目录:cd (绝对路径以/开头,相对路径以当前目录为基准)
返回上一级目录:cd …
返回上两级目录:cd …/…
列出目录:ls (白色字体标识为文件,蓝色表示为文件夹)
进入用户目录:cd ~
查看当前在那个目录下,即上一级目录:pwd
创建目录:mkdir
递归创建目录: mkdir -p java/bin/lib
删除目录:rmdir (只能删除空目录,有文件要先删除文件才可删除目录)
当删除不为空的文件夹时:rmdir -p java/bin/lib(不可以写成 rmdir -p java,如果java下除了bin还有其它内容也是删不掉的)
复制文件或者目录:cp (文件可见,则输入文件前几字母按tab键自动补全 对于重名会提示覆盖或者放弃:y/n)
移除文件:rm
移动文件或者目录:mv 移动者 目的地
重命名文件:mv 旧名 新名
清屏:clear (并不是真的把屏幕清空了,只是上移了,上拉滚动条还是能看见之前内容)
参数
-a:all 查看全部文件,包括隐藏文件
-l:列出所有文件,包含文件属性和权限,不包括隐藏文件
-f:忽略不存在的文件,不会出现警告,强制删除
-r:递归删除
-i:删除时询问是否删除
!!非常危险的命令:rm -rf 会删除系统中的所有文件,即删库跑路
-u:只替换更新过的文件
所有Linux命令可以组合使用,如图
基本属性
3.3.2文件内容查看
命令
从第一行显示文件内容:cat
从最后一行显示文件内容:tac(倒着显示)
看文件显示行号:nl
一页一页显示:more (空格翻页 回车下走一行)
一页一页显示,可以往前翻:less (pageUP上下键 q退出 /字符串来向下查找字符串 ?字符串来向上查字符串 n下一个,N上一个)
只看前几行:head (-n 20 前20行)
只看后几行:tail (-n 20 后20行)
查看命令文档:man 命令名
查看网络配置:ifconfig
linux链接
3.3.3Vim编辑器——文本编辑器,更是一种程序开发工具
三种模式
注意:只有在命令模式下如下图中的内容才是命令,在输入模式下它们只是字符
vim下的很多操作(细节内容:https://mp.weixin.qq.com/s/AndIwanhZ3Tlg0iQe8a4lQ)
3.3.4账号管理
一般情况下在公司我们不是root,需要向root申请一个账户
3.3.4.1root对用户的管理
添加用户:useradd -m 用户名 -G 组名(-m表示自动为这个用户创建主目录,-G指定用户组) !!创建好后相应的在/etc/passwd中能看到这个用户记录
删除用户:userdel -r 用户名(-r表示还要把相应目录删除)
修改用户:usermod eg 换目录——usermod -d 新目录 用户名
切换用户:su 用户名
改主机名:hostname 新名字 重新连接后才生效
查看主机名:hostname
设置用户密码:passwd 用户名(在root用户下,在一般用户下只需输入passwd即可)
锁定用户:1)passwd -l 用户名 —— 锁定之后就不能登录了 2)passwd -d 用户名 —— 没密码了,这样也不能登录
3.3.4.2用户组管理
对/etc/group的更新
创建用户组:groupadd 组名 (端口号自增一) groupadd -g 端口号 组名
删除用户组:groupdel 组名
修改用户组:groupmod -g 新端口号 -n 新组名 旧组名
/etc/shadow里是加密用户口令
3.3.5磁盘管理
列出文件系统整体磁盘使用情况:df (字节) df -h(兆M)
检查磁盘空间使用量:du
3.3.6进程管理
查看系统当前正在执行的进程信息:ps -参数
看进程的目录树结构:pstree -pu(p显示父id u显示用户组)
注意:|表示管道 比如A|B A的输出作为B的输入 grep查找文件中符合条件的字符串
4.软件安装
三种方式:rpm、解压缩、yum在线安装
4.1JDK(rpm)
检测当前系统是否存在Java环境,有的化先卸载(过滤命令:rpm -qa|grep jdk 卸载命令:rpm
-e -nodeps jdk的名字 nodeps表示强制)
安装jdk:rpm -ivh jdk名字
配置环境变量:进入/etc/profile配置环境变量 通过vim /etc/profile进行编辑
在文件最下面编辑如下内容
输入如下命令使配置文件生效
检查是否安装成功
其中JAVA_HOME的位置查找如下
(看防火墙开启的端口:firewall -cmd --list -port;加端口:firewall -cmd --add -port=1234/tcp --permanent;重启防火墙:systemctl restart firewalld.service)
!!执行java程序:java -jar 项目名.jar
4.2Tomcat安装(解压缩)
!!上传完项目直接购买自己的域名,然后备案即可
4.3Docker安装(yum)
yum -y install 包名
1)yum -y install gcc (gcc linux下的编译器)
2) yum -y install gcc-c++
3)安装软件包:yum install -y yum-utils device-mapper-persistent-data lvm2
4)设置stable镜像仓库:yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5)更新yum软件包索引: yum makecache fast
6)安装docker ce: yum -y install docker-ce docker-ce-cli containerd.io
7)启动:systemctl start docker
8)测试:(1)docker version (2)docker run hello-world (3)docker images