• JAVA开发LINUX基本操作,看这一篇就够了!


    前言:Linux中一切皆文件。很多大项目都是部署到Linux上的,所以我们需要学习简单的Linux操作。其中root为Linux权限最大的用户。

    一、LINUX以及虚拟机的基本操作与配置

    1、进入图形界面

    如果进入虚拟机黑屏,管理员模式进入cmd–>执行 netsh winsock reset 重启计算机
    startx (内存分布大于628M会自动安装可视化界面)

    reboot重启linux。

    关机
    shutdown -h now     立马关机
    shutdown -h 30      30分钟后关机
    shutdown -h 20:30   晚上八点半关机
    一般关机之前需要执行sync进行同步数据
    
    • 1
    • 2
    • 3
    • 4
    • 5

    开机后会启动很多程序,在windows中称作服务service,在linux中就叫做守护进程(daemon)。

    2、从图形界面到命令行界面

    ctrl + alt +F2(F1到F6)都行

    虚拟机:Jack/igeek123
    LINUX:root/igeek123

    3、网关为IPADDR=192.168.187.101 自己设置的(ifconfig自己查看)

    reboot重启虚拟机
    service network restart重启网络

    vi network 开始编辑 i开始编辑 , ESC退出编辑,:q!不保存退出。 :wq!退出并保存 pwd查看当前路径
    1、cd /etc/sysconfig目录下编辑network,进行网关的添加(修改)
    2、cd /etc/sysconfig/network-scripts/ 路径下对ifcfg-eth0配置网络

    service network restart重启网络
    service iptables stop 关闭防火墙

    4、设置静态IP步骤

    设置虚拟机本地网关内容:

    我本地windows IP:192.168.219.1

    1、取消DHCP动态设置:

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    然后确认保存即可。

    2、配置虚拟机的相关配置内容:

    2.1首先是对network进行编辑:cd /etc/sysconfig/ --> **vi network ** 修改成图二即可

    在这里插入图片描述

    在这里插入图片描述

    2.2修改系统的网络配置文件,路径为:cd /etc/sysconfig/network-scripts/ --》 vi ifcfg-eth0

    在这里插入图片描述
    设置的内容有框框中的。

    在这里插入图片描述

    保存成功后,直接重启网路即可 service network restart

    进行测试联通性:linux——》ping www.baidu.com ping windows本机的ip

    ​ windows: ping linux的ip

    二、LINUX入门基本指令

    1、ls:查看文件夹下的文件; ls -a查看所有包括隐藏文件
    2、cd cd …/ 回到上一级 cd / cd ~
    3、pwd查看当前路径 Table补全
    4、mkdir 创建目录 mkdir --help查看帮助 mkdir -p aaa/bb/ccc 创建多级目录 rmdir删除目录(目录不能有内容)

    5、cat myfile.txt 查看文件内容 ; more myfile.txt; less myfile.txt 输入/java可以向下查找包含java字符串的; tail -10 myfile.txt; 查看文件最后10行 ;

    tail -f myfile.txt动态查看内容

    nl a.txt;输出内容包括行号。

    6、cp myfile.txt aaa/newname.txt 复制; mv myfile.txt ./bbb/newname.txt 剪切myfile.txt到bbb文件夹并重命名为 newname.txt
    rm a.txt;删除文件需要询问; rm -rf aaa.txt直接删除,不进行确认。危险。
    7、tar -cvf a.tar ./ 打包当前目录下的文件,解压后的名字为a.tar ,存放在当前目录下
    tar -zcvf b.tar.gz ./ 打包后压缩

    tar -zxvf b.tar.gz ./ 解压到当前目录下
    tar -zxvf b.tar.gz -C ./cc 解压到 cc目录下(带.gz的压缩包需要-zxvf; MySQL-5.6.22-1.el6.i686.rpm-bundle.tar直接 -xvf即可)

    8、find / -name file* 从根目录下查找file开头的文件
    grep Hello /usr/igeek/file.txt --color 查找file.txt文件夹下包含Hello的文字,按行展示并颜色加深

    9、vi a.txt -->i–>xxxxxx—>:q!不保存退出 :wq! 保存退出 :/8080 搜索

    10、ps -ef | grep java 搜索包含java的进程
    11、kill -9 端口号pid 强制杀死进程

    12、 | 管道 A|B A的输出作为B的输入
    13、权限修改:chmod u=rwx,g=rx,o=rx a.txt -->修改a.txt权限:当前用户可读可写可执行,组内其他用户可读可执行其他组用户可读可执行。
    -rw-r–r--. 1 root root 40 May 25 18:32 file.txt -》第一个:-表文件,d表文件夹;接下来三个一组:当前用户,同组其他用户,不同组用户

    r:read 读 4
    w:write 写 2
    x:excute执行 1
    *chmod u=rwx,g=rx,o=rx a.txt ==== chmod 755 a.txt*

    14、
    aaa、 yum install lrzsz 下载LINUX的lrzsz工具用于,本地机与linux交互传输文件。
    rz 上传
    sz a.txt 下载

    bbb、 alt+p打开sftp窗口,put上传 ,get下载

    三、JAVA项目部署软件安装

    1、安装jdk**
    1.1 首先java -version查看是否已经安装了jdk,如果已安装,版本不对需要卸载,重新安装。
    1.2 getconf LONG_BIT 查看linux操作系统的版本。
    1.3 然后解压,配置环境变量,最后重新启动 source /etc/profile即可

    JAVA_HOME=/usr/local/tools/jdk/jdk1.7.0_71
    CLASSPATH=.:$JAVA_HOME/lib.tools.jar
    PATH=$JAVA_HOME/bin:$PATH
    export JAVA_HOME CLASSPATH PATH
    
    • 1
    • 2
    • 3
    • 4

    最后如果 java -version 出问题,(-bash: /usr/local/src/jdk1.8.0_191/bin/java: /lib/ld-linux.so.2: bad ELF interprete)

    执行:sudo yum install glibc.i686 就可以解决了

    2、安装mysql
    1.1 找到安装包
    1.2 搜索是否已经有mysql了 : rpm -qa | grep mysql
    1.3 删除 rpm -e --nodeps mysql-libs-5.1.71-1.el6.i686
    1.4 解压 tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar
    1.5 安装服务端 rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm , 遇到的错误少依赖 先运行yum install -y perl-Module-Install.noarch 和 yum install libaio.so.1 /yum install libstdc++.i686
    1.6 安装成功后cat /root/.mysql_secret查看随机生成的密码: H4WczGo4FsQJ1mQT --》root
    1.7 下载客户端 rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm ---->yum install libncurses.so.5
    2.1 启动mysql服务器 service mysql start service iptables stop关防火墙 *********************************************************
    2.2 mysql -uroot -pYzoH6MbODHwoX484
    2.3 设置密码 set password=password(‘root’) ->show databases OK
    2.4 开启远程访问的权限,即可以在windows上的navicat上添加此linux上的mysql; grant all privileges on . to ‘root’ @’%’ identified by ‘root’;
    flush privileges;
    service iptables stop;关闭防火墙 即可

    3、安装tomcat
    直接解压即可tar -zxvf apache-tomcat-7.0.57.tar.gz
    到bin目录下,运行 sh startup.sh开启服务,在浏览器中输入http://192.168.198.128:8080/查看是否安装成功

    tail -f /usr/local/tools/tomcat/apache-tomcat-7.0.57/logs/catalina.out 可以动态查看tomcat的日志。

    4、redis安装
    1、安装c语言环境:yum install gcc-c++
    2、压缩 tar -zxvf redis-3.0.7.tar.gz
    3、编译 cd redis-3.0.7 然后用 make编译 ; 下载make PREFIX=/usr/local/tools/redis/ install
    4、cp redis.conf …/bin/ 把redis.conf 文件复制到bin目录下
    5、./redis-server redis.conf 启动redis服务器
    6、在新开一个会话 到bin目录下, ./redis-cli 客户端访问成功

    5、实战部署web项目到linux上:

    1、要把项目中的绝对路径都改成相对的。

    2、确保linux中的mysql数据库内容和本地相同。

    3、控制jdk版本:pom文件,maven的setting.xml文件

    4、启动后看Catalina.out打印的日志,看是否有报错,有报错一点一点处理。:lombok报错,jupiter报错,jdk版本报错。

    四、后续补充内容

    Linux的硬链接和软链接:

    1、硬链接B相当于原文件A 的一个备份,这样一个文件就拥有了两个路径,如果一个被删除,另一个还可以使用。

    2、软链接就类似于windows下的快捷方式,如果把原文件A删除了,这个软链接也会失效。

    先创建一个普通文件f1.txt

    ln f1.txt f2.txt默认创建的f2.txt就是硬链接

    ln -s f1.txt f3.txt创建的f3.txt就是软链接

    把f1.txt删除后,硬链接文件f2.txt正常显示,f3.txt失效

    LINUX用户的管理

    切换到root用户下:

    **添加账号:**useradd -m yinjun ----》 在home目录下就可以看到一个yinjun的文件夹

    -G xxx分配用户属组

    **本质:**linux下一切皆文件,这里的添加用户说白了就是往某个文件中写入了用户的信息! cat /etc/passwd目录下可以看到有关信息

    **删除账号:**userdel -r yinjun

    修改用户(权限等): usermod -d /home/2333 yinjun 修改后在配置文件passwd文件中可以看到

    切换用户:su yinjun

    在这里插入图片描述

    exit:推出当前权限用户,回到root用户

    hostname 查看主机名; hostname yinj 修改主机名为yinj,临时的。

    passwd yinjun 可以在root用户下修改指定用户的密码

    锁定账户

    比如某员工辞职了,需要冻结这个账号,一旦冻结无法恢复。

    passwd -l yinjun #锁定之后就无法登录了

    passwd -d yinjun #清空密码了,也就无法登录

    用户组管理:

    属主、属组

    每一个用户都有一个用户组,系统可以对一个用户组的所有用户进行集中管理(开发、测试、运维。。。)

    添加用户组:groupadd dev cat /etc/group进行配置查看

    可以用groupadd -g 520 dat 指定对应的id,如果不指定就是自增。gid不能重复,重复的话就会提示,无法创建.

    不写的话id递增。

    删除用户组:groupdel dev

    修改用户组:groupmod -g 666 -n newdev dev ;将原来的dev组id改为666,名字改为newdev

    磁盘管理

    df:(列出文件系统的整体磁盘使用量,相当于windows各个盘符使用情况) -h

    du:(检查当前目录磁盘空间使用量)
    在这里插入图片描述

    进程管理

    1、在linux中,每一个程序都是自己的一个进程,每个进程都有自己的id号

    2、每一个进程都有一个父进程

    3、进程的存在有两种方式:前台,后台。

    4、一般服务都是后台运行的,基本程序都是前台运行的。

    命令 ps查看当前系统正在运行的程序

    ps [-xxxxx]

    ​ -a:所有信息

    ​ -u:以用户的信息展示进程

    ​ -x:显示后台运行进程的参数

    ps: 查看进程
    | : 管道符用于过滤;  A|B   A的结果作为条件再次进行过滤
    grep: 查找文件中附合条件的字符串,
    
    eg:
    ps -ef | grep java   #查看java相关的进行(可以查看到父进程的目录)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    pstree

    ​ -p:显示父id

    ​ -u:显示用户组

    pstree -pu

    在这里插入图片描述

    结束进程 : kill -9 pid

    后台执行:nohup

    https://www.freesion.com/article/4710864305/

  • 相关阅读:
    iphone数据存储之-- Core Data的使用
    Object-c 中的数据类型
    Object-C 中各数据类型转换 NSData转NSString,Byte,UIImage
    iOS开发系列--Objective-C之KVC、KVO
    【C语言】-返回指针的函数与指向函数的指针
    【C语言】-指向一维数组元素的指针
    【C语言】-指针和字符串
    【C语言】-指针
    OC总结 【OC基础语法相关知识】
    swift与OC混编之调用函数
  • 原文地址:https://www.cnblogs.com/cinemaparadiso/p/16739470.html
Copyright © 2020-2023  润新知