• 门道笔记 (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 日志文件

    少壮不努力,老大徒伤悲
  • 相关阅读:
    初学Java Web(2)——搭建Java Web开发环境 (转)
    我们为什么要配置CATALINA_HOME环境变量(转)
    【510】Attention-based Model
    【509】NLP实战系列(九)—— 结合 CNN 和 RNN 来处理长序列
    【510】NLP实战系列(八)—— 使用一维CNN处理 IMDB 情感分析
    【510】NLP实战系列(七)—— 进阶版(dropout/stacking/BiLSTM)
    【509】NLP实战系列(六)—— 通过 LSTM 来做分类
    apt-mark
    ROS程序开机自启动
    个人开发者可以申请微信支付了
  • 原文地址:https://www.cnblogs.com/zsjlovewm/p/10454828.html
Copyright © 2020-2023  润新知