门道笔记 (5) Linux系统 (2)

压缩/解压缩


win:rar、zip
rar解不开,不支持
zip
unzip 包名 (重点) 解压
zip -r 包名 文件/文件夹

linux:tar gz (tar仅仅是打包,不会改变文件大小,gz是压缩)
tar
压缩:
tar cvf 包名 文件/文件夹
解压缩:
tar xvf 包名
查看包的内容:
tar -tf 包名
追加文件/文件夹到压缩包:
tar -rf 包名 文件/文件夹
删除压缩包内的内容:
tar --delete -f 包名 文件/文件夹
上面的逻辑仅仅是打包,打包的后缀格式是 xxx.tar。我们有可能会使用gz命名去压缩这个tar
前提:你已经是tar包
gzip xxxx.tar------>xxxx.tar.gz
如果你要解压缩这个xxxx.tar.gz为xxxx.tar
gunzip xxxx.tar.gz------>xxxxx.tar

当然,你也可以一次性压缩:把文件和文件夹像windows一样边打包边压缩
压缩:
tar zcvf 包名 文件/文件夹

解压缩:
tar zxvf 包名

tar

工作中,一般你最常见的就这些,你练习时优先级高一点
开发会给你一个zip包,他是从windows上压缩的,给你后你要放在linux上进行解压缩才能看到里面的内容
unzip 包名


你上班后,只要是linux下,我们一般都既打包又压缩(和windows一致),同时,如果你是从官网或开源站下载各种linux的软件
或源码包,他一定是.tar.gz格式的
压缩:
tar zcvf 包名 文件/文件夹

解压缩:
tar zxvf 包名

开发给了你包,你部署后发现不对,以前的功能都是对的,这个包部署后发现功能不对,于是你想查看他包里面给的东西对不对,如
打包文件中的日期等对不对时,会使用
查看包的内容:
tar -tf 包名

开发给了你东西,你发现不对,找他要了新内容,他只会给你文件,不会重新打包,于是你要自己追加这个文件到包中,重新解压等
追加文件/文件夹到压缩包:
tar -rf 包名 文件/文件夹

赋权:
工作后,你离职了,文件所属关系等维护是靠管理员,
所以你不用关心如何建用户,如果建组、如何修改文件所属用户,如何修改文件所属用户组

我们唯一关心的是,当我上班后,想操作某个文件/文件夹,我要非常明确我是否有权限去操作
如果没有,但你当前用户可以做权限时,就要修改权限后操作

所以,赋权是你必须学会的:chmod


--*********************************
1、通过数字直接修改(最常见的)
chmod xxx 文件 xxx(777 600 644 111)
2、如果是文件夹,要带-R参数,表示一次性对文件夹以及文件夹下的所有文件/文件夹一次性全部赋权
chmod -R xxx 文件夹


--***********
你上班后,你的同事或你在网上看各种教程等,你会发现他们的文档中会体现如下一些写法,如果是你
自己玩,其实掌握前面2个就足够了,因为下面的都可以被上面的替代,但是别人写的东西你要能看懂
如果你也掌握如下写法,恭喜你!!

r w x + - g o u 随意组合
1、chmod +x hello.java (三个都+x)
2、chmod u+x hello.java
3、chmod g+u hello.java

在linux上搭建java的web项目
jdk+tomcat+mysql+项目

你工作后,电脑上没有任何东西,只有你从网上下载或从同事哪里拿到的jdk的rpm包
而你的操作系统是windows

目的:把windows上的rpm包得安装在linux上
1、要实现把windows的文件传给linux(因为要传给linux后才能通过命令去安装)
既然要传,需要工具吧!! 门道我们用小黄
2、你传上去就没事了吗?? 你还要安装,既然要安装,就需要敲命令来装
既然要敲命令,就需要远程工具连上去敲 putty、小白

安装ssh后,调整“小白”的颜色和字体
左上角---小齿轮----global setting---font&color(fontgroud为绿(草绿,红色下面))

linux不像windows提供了exe(可执行文件),
linux有3种安装方式
1、yum install php
2、rpm包
3、源码

1、jdk
1、我从哪里拿包?
在门道,我直接提供了
上班后,找公司的同事要或网上下
2、我看到了包,但我怎么从windows上上传给linux?
很多软件都可以,在门道,我们用ssh,公司同事或其他人也可以用winscp或直接scp命令
3、先安装ssh
4、通过“小黄”上传相关的jdk的rpm包给/tmp
5、通过rpm -ivh jdk.....rpm 进行安装
5.1 通过 ll /user/java 验证是否看到新安装的jdk


2、tomcat
1、上传tomcat的.tar.gz包到/tmp目录
2、解压 tar zxvf apache-xxxxx.tar.gz
3、重命名为tomcat mv apache-..... tomcat
4、复制到/usr/java cp -r tomcat/ /usr/java
5、进入/usr/java/tomcat/bin,启动开始脚本 ./startup.sh
6、关闭防火墙 service iptables stop
7、稍微等几秒,在windows中打开浏览器,输入地址 http://linux的ip:8080/
如果你看到了tomcat猫,就恭喜你!!!

在linux上搭建java的web项目
jdk+tomcat+mysql+项目

你工作后,电脑上没有任何东西,只有你从网上下载或从同事哪里拿到的jdk的rpm包
而你的操作系统是windows

目的:把windows上的rpm包得安装在linux上
1、要实现把windows的文件传给linux(因为要传给linux后才能通过命令去安装)
既然要传,需要工具吧!! 门道我们用小黄
2、你传上去就没事了吗?? 你还要安装,既然要安装,就需要敲命令来装
既然要敲命令,就需要远程工具连上去敲 putty、小白

安装ssh后,调整“小白”的颜色和字体
左上角---小齿轮----global setting---font&color(fontgroud为绿(草绿,红色下面))

linux不像windows提供了exe(可执行文件),
linux有3种安装方式
1、yum install php
2、rpm包
3、源码

1、jdk
1、我从哪里拿包?
在门道,我直接提供了
上班后,找公司的同事要或网上下
2、我看到了包,但我怎么从windows上上传给linux?
很多软件都可以,在门道,我们用ssh,公司同事或其他人也可以用winscp或直接scp命令
3、先安装ssh
4、通过“小黄”上传相关的jdk的rpm包给/tmp
5、通过rpm -ivh jdk.....rpm 进行安装
5.1 通过 ll /user/java 验证是否看到新安装的jdk


2、tomcat
1、上传tomcat的.tar.gz包到/tmp目录
2、解压 tar zxvf apache-xxxxx.tar.gz
3、重命名为tomcat mv apache-..... tomcat
4、复制到/usr/java cp -r tomcat/ /usr/java
5、进入/usr/java/tomcat/bin,启动开始脚本 ./startup.sh
6、关闭防火墙 service iptables stop
7、稍微等几秒,在windows中打开浏览器,输入地址 http://linux的ip:8080/
如果你看到了tomcat猫,就恭喜你!!!

mysql:
先安装客户端,再安装服务器端
1、把对应的包从centos中拉下来传给linux服务器
perl-DBI-xxx、perl-DBD-MySQL-xxx、mysql-5.xxxxx、mysql-server-xxxxx(4个)
2、根据顺序依次安装
mysql-5.1-----DBI----DBD---server (否则会出现包依赖的错误导致无法安装)
3、启动服务
service mysqld start
4、进入mysql
mysql
当你看到mysql>就说明你已经安装成功!

--*********************************
开启mysql的远程服务(因为我们要在windows上去访问linux中的mysql)
1、进入mysql mysql---mysql>
2、use mysql;
3、update user set host='%' where user='root' and host='localhost';
4、FLUSH PRIVILEGES;

通过navicat远程连接linux中的mysql
name:随便输
ip:linux的ip
端口:3306
用户名:root
密码:(空)
一定要点击“测试连接”,当看到连接成功后才点确定,如果连接失败,请不断的排查前面的步骤,尤其可以写条sql
select host,user,password from user; 看看是否修改成功

部署项目:
1、新建一个数据库
名字:任意(song)
编码:utf-8
排序:通用(第一项)
2、导入scoot.sql 这个文件
1、打开数据库后,右键,运行sql,选择sql文件,确定
3、把mt.war仍到/usr/java/tomcat/webapps下
4、通过查找命令,找到数据库配置文件
find /usr/java/tomcat/webapps/mt -name '*.proper*'
你能发现有一个叫databases.propertities的文件和路径
5、vi 编辑这个data的路径
6、修改配置文件信息
数据库名:你第一步设定的名(song)
用户名:root
密码:(空)
7、重新启动tomcat
cd /usr/java/tomcat/bin-----> ./shutdown.sh--->稍微等几秒
./startup.sh 也稍微多等一会(还在满满启动和部署项目)
8、打开浏览器(不要是ie,建议选择chrome或firefox),输入: http://linux的ip:8080/mt (先测试不访问mt,能看到哪个tomcat猫后再访问mt)
9、你可以随意操作,并查看对应的库是否生效了

系统管理:
cpu、内存的相关信息
more /proc/cpuinfo
more /proc/meminfo

硬盘占有量
df -h
如果你发现硬盘占有量过大,你会想办法去清理
du -sh *

内存占有量
free -m (-g)

实际工作中,如客户没有特殊要求,我们认为
cpu不超过85%为正常
内存不超过90%为正常
硬盘不超过75%为正常
运维要写一些脚本来自动监控服务器指标(shell+perl) 巡检系统

场景:你有东西不会,找你同事帮忙,你同事来到你电脑,啪啪啪的敲了一堆命令,然后告诉你,兄弟,好了!!
你会哭的,你做了什么啊???
history [-10] 10代表最后10个命令

ip查看:
windows:ipconfig
linux:ifconfig


开关服务:
serviice 服务名(iptables) 状态(stop)
我怎么知道服务名,我想设定某个服务为开机自启动
setup---system service----如果前面带*,表示开机自启动
设定好后,需要重启才能生效
reboot
关机:
shutdown -h now

开关机你不用学,因为你工作后用不到,除了权限问题外,主要是因为服务器不会或特别少去关机或重启


如下是超级重点:

进程100%的听懂和使用
工作后,我们发现很卡,就去查进程
工作后,启动了某个服务,但是又访问不到,于是查进程,看看这个服务有没有启动起来
工作后,重启服务器后,发现以前能正常访问的东西现在不能访问了,就应该怀疑是不是服务没启动,于是就要查这个服务,通过启动服务后观察进程是否开启,如已开启,就尝试再次访问服务
......

查进程:
ps 第二列pid特别重要
ps -ef 很多开发,测试都用这个参数
ps aux 运维喜欢用

工作中,下面这个用得更多
ps -ef | grep 名
|:管道 (ps -ef查出来是一堆数据,用管道插入这个一堆数据中)
grep:过滤字符串
查看实时进程:top(相当于window的任务管理器) 只能用ctrl+c强制退出

杀进程:
kill/killall
kill -9 进程号(第二列) -9 强制
killall 进程名(问开发进程名)
工作中,几乎全部是kill,保险起见

我们工作中,一般写一个脚本,who一下,5分钟执行一次,把不属于who中的ip或用户的进程全部杀死

动态日志:tail -f 日志文件

少壮不努力,老大徒伤悲
原文地址:https://www.cnblogs.com/zsjlovewm/p/10454828.html