福富网大课程笔记 - JAVA初级阶段 - 03轻松玩转Linux

  1. Linux是基于Unix的开源的操作系统,我们常说的Linux是基于Linux内核,包含gcc、vim、apache、emacs、sendmail等工具和软件的操作系统。
    应用:服务器操作系统、嵌入式操作系统。
    Fedora是Redhat用来测试最新软件或工具的测试系统,CentOS是Redhat的社区版本,适用于服务器。

  2. Shell
    Shell是用户与内核进行交互操作的接口,分为命令行式和图形式两大类。
    命令 [-选项, ...] 参数1, 参数2, ...
    ls:查看目录下内容
    -l:以列表方式显示
    -h、–help:查看帮助
    man:获取使用手册

  3. Linux文件系统

    目录结构:
    /:根目录
    /root:root用户的家目录,包含root用户启动时用到的配置。
    /home:其他用户的家目录,用于存放用户自己的文件和应用。
    /etc:存放各种系统和应用的配置文件,如用户账号、防火墙设置等。
    /dev:硬件设备对应的文件。
    /lib:各种函数库和核心模块。
    /sbin:开机过程中所需的开机、修复、还原系统所需要的指令,只有root用户可以执行。
    /usr:类似“C:\Windows\”和“C:\Program Files\”,可以在这里安装应用。
    /bin:包含所有用户都可以执行的系统指令。

    路径表示方法:
    绝对路径表示法:/usr/share
    相对路径表示法:…/bin/date,./man
    对于家目录的表示方法:表示当前用户的家目录,account代表用户account的家目录。

    操作命令:
    pwd:当前工作目录的完整路径。
    cd:改变当前工作目录。(cd -:回到前一个工作目录)
    ls:列出文件和目录的信息。(-a列出全部文件;-l按长数据格式列出文件属性;-r:递归列出子目录内容)
    cp:复制文件或目录。(cp file /tmp/file1:将file复制到/tmp目录下并重命名为file1;cp -r /etc /tmp:将整个/etc目录复制到/tmp目录下)
    rm:删除文件或目录。(-f:强制删除;-r:删除文件夹)
    mv:移动文件或目录、重命名。
    mkdir:创建目录。(-p:若父目录不存在,自动创建父目录)
    rmdir:删除空目录。(-p:若删除后父目录为空,一起删除父目录)

    可以多个选项同时使用,如ls -alR;可以使用通配符:如ls a*列出以a开头的文件。

  4. 查找文件

    find:在指定目录下查找具有某些特征的文件,包括文件权限、所属用户或组、大小、类型、时间等。
    find 路径 选项
    -name:按文件名查找。
    -perm:按文件权限查找;
    -user:按文件所属用户查找;
    -group:按文件所属组查找。
    -type:查找某一类型的文件。(b:块设备文件,d:目录,c:字符设备文件,p:管道文件,l:符号链接文件,f:普通文件)
    -newer:比较两个文件的更改时间。(find . -newer s ! -newer e:查找更改时间在s和e之间的文件。)
    -size:根据文件大小查找文件。(find . -size +10:查找大小大于10个数据块的文件;find . -size 100c:大小正好为100字节的文件)
    -mtime、-atime、-ctime [-/+]n:按照文件的更改时间、访问时间、属性被修改的时间查找文件。(n:n天前当天的文件,-n:n天以内;+n:早于n天前的文件)

    find 路径 选项 -exec command {} \; 对找到的文件执行command参数所给出的shell命令。-exec替换为-ok,则每次执行前要求确认。(find /tmp -type f -mtime +7 -exec rm -f {} \:强制删除/tmp目录下更改时间在7天以前的普通文件。)

    grep:使用正则表达式搜索文本,并打印匹配的行。
    grep [选项] 正则表达式 [文件](多个文件名用空格隔开)
    -c:只输出匹配行的计数。
    -i:不区分大小写。
    -h:不显示文件名。
    -l:只显示文件名。
    -n:显示匹配行及行号。
    -s:不显示错误信息
    -v:反选
    grep '059[123]' file:查找0591、0592、0593;
    grep '^data' file:匹配行首的data字符;
    grep 'data$' file:匹配行尾的data字符;
    grep '[A-Z]...D' file:匹配大写字母开头、d结尾、长度为5的字符;
    grep '[0-9]\{9\}' file:匹配长度为9的数字(有转义字符)
    grep 'a\{5,8\}'file:匹配长度为5到8的aaaaaa。
    字符串用双引号,正则表达式用单引号。

  5. 用户和用户组
    root用户:可以操作系统中的任何文件和命令,拥有最高权限。
    系统用户:不能用于登陆,但对系统运行有重要作用。
    普通用户:可用于登陆,但权限受到限制。
    一个用户可以加入多个组,但必须有一个基本组。
    /etc/passwd文件:所有用户的信息。(用:分隔开,包括用户名,密码占位符,用户id,用户组id,注释信息,用户家目录,用户默认shell)

    whoami:查看当前用户名。
    id:查看用户和组的id。(uid:用户id,gid:组id;root为0,系统用户为1-499,普通用户为500以上)
    groups:查询当前用户所属的全部组。
    useradd ffcs2 -u 700 -g users:创建新用户,uid为700,基本组为users。
    passwd ffcs2:给新用户创建密码。
    usermod -G root ffcs2:把用户加入root组。

  6. 权限
    ls -l查看文件权限。

    第一个字段的10个字符:
    第1个字符为文件类型(-为常规文件;d为目录;l为符号链接;c为字符专门设备文件;b为块专门设备文件;p为管道文件;s为套接字)
    后面9个字符3个位一组:文件所属用户的权限,文件所属组的权限,其它用户的权限。(r为读,w为写,x为执行)

    目录的权限:rwx对应允许列出包含的文件和目录、允许创建和删除文件、允许进入该目录。

    chmod:修改权限
    chmod [选项] [对象] [操作] [权限] 文件
    [对象]:u为所属用户,g为所属组,o为其他用户,a为ugo三种全部。
    [操作]:+增加权限,-去除权限,=设置权限。
    [权限]:r、w、x。
    chmod [选项] 八进制模式 文件
    chmod 750 file表示对file文件设置权限rwx r-x —(111 101 000即750)。

  7. 进程
    交互进程:需要与用户交互。如ftp程序进程。
    批处理进程:不与用户交互,启动后执行一个任务就结束了。如find命令。
    守护进程:一直在后台运行,不受终端控制的一种特殊进程。如httpd服务程序。

    ps命令查看进程:
    -l:长格式输出。
    -u:按用户名顺序显示进程。
    -f:用树形格式显示进程。
    -a:显示所有用户的所有进程。
    -e:显示每个进程所使用的环境变量。
    -x:显示所有进程,不以终端机来区分。
    -r只列出现行终端机正在执行中的进程。
    -w:避免详细参数被截断。
    ps aux:查看所有进程及进程的CPU和内存使用情况。
    ps auxf:更容易判断出父子进程关系。
    ps -ef:查看所有进程及进程的PPID。
    ps -ef | grep httpd:显示httpd程序对应的进程。

    终止进程:

    kill [信号代码] pid
    -15:正常退出进程
    -9:强制终止进程(-15无效再用-9)

    kill pid等同于kill -15 pid
    只有root用户才能kill其他用户的进程。

    服务:
    systemctl status:查看服务状态。
    systemctl start:启动服务。
    systemctl stop:停止服务。

  8. 环境变量
    env:查看当前所有环境变量。
    env|grep 变量名echo $变量名:查看特定环境变量。
    export [变量名]=[变量设置值]:设置或显示环境变量。
    unset 变量名:清除环境变量。
    HOME:用户的家目录路径。
    LOGNAME:当前用户的用户名。
    PATH:进程命令或脚本查找的目录顺序。目录之间用:隔开。
    SHELL:获取当前环境使用的shell
    PS1:设置命令提示符(\u为当前用户名,\h为主机名,\w为当前目录)
    PS2:附属提示符,用于执行超过一行的命令。
    PWD:当前目录路径名。

  9. 安装软件
    RPM软件管理器
    vsftpd-3.0.2-22.el7.x86_64.rpm
    vsftpd:软件名
    3.0.2-22:版本号
    el7:适用于RHEL7(Red Hat Enterprise Linux)的发行版
    x86_64:适用硬件

    uname -r查看当前系统版本。
    rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm:安装软件包(i为安装,v显示详细信息,h显示进度条)。
    rpm -q vsftpd:查询软件是否安装。
    rpm -e vsftpd:卸载软件。
    rpm -qa:查询所有安装软件。
    rpm -Uvh ***.rpm:升级软件包。
    rpm -K ***.rpm:验证rpm软件包。
    rp, -V ***.rpm:验证已安装的软件。

    如果rpm软件安装包需要的依赖没有安装,则安装无法进行。

    YUM在线安装软件

    自动下载rpm包安装包,自动处理依赖关系。
    软件仓库的配置文件在/etc/vum.repos.d/*.repo

    配置完软件仓库后,执行yum clean all清除缓存,
    yum repolist all显示所有仓库,可以看仓库是否启用成功。
    yum install php安装php软件及其依赖。
    yum list php显示php已经安装。
    yum update php:升级软件。
    yum remove php:删除软件。

  10. 远程管理工具
    TELNET:明文传输。
    SSH:对数据进行加密。

    SSH远程管理:
    服务器安装SSHD服务并启动,ps -ef | grep sshd查看进程,systemctl status sshd查看服务状态。
    登陆命令:ssh root@192.168.7.168 -p 22,SSH默认为22端口,可以用-p参数指定端口。

    远程文件传输命令:
    scp [选项] 源文件 目标地址
    scp test.txt root@192.168.7.168:/root/:传输文件到远程服务器。
    scp root@192.168.7.168:/root/remote.txt ./:将远程文件复制到本地当前目录下。
    -r:递归复制目录
    -P:指定端口
    -C:进行压缩传输

    XShell
    Windows使用XShell访问远程主机。

  11. 快速搭建Tomcat服务
    下载好jdk和tomcat软件包,使用XShell上传到Linux服务器,或直接使用wget下载安装包。

    安装jdk:
    安装:rpm ivh jdk-8u181-linux-x64.rpm,确认安装:rpm -q jdk1.8,确认安装路径:rpm -ql jdk1.8 | more
    配置环境变量:vi /etc/profile进入编辑,shift+G移动到文件末尾,按i进入插入编辑模式,加入

    export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin
    

    按esc退出编辑模式,输入:wq保存退出。
    执行source /etc/profile使配置生效。
    执行java -version测试jdk注意版本号是否正确。

    安装tomcat:
    新建文件夹:mkdir -p /usr/tomcatcd /usr/tomcat
    将tomcat软件包复制过来:cp /root/apache-tomcat-9.0.12.tar,gz ./
    解压并解包:tar -zxvf apache-tomcat-9.0.12.tar.gz
    执行./apache-tomcat-9.0.12/bin/startup.sh启动tomcat。

    设置开机启动:
    执行vi /etc/rc.d/rc.local,在文件最后输入o新增一行并进入插入编辑模式,增加以下内容:

    /usr/tomcat/apache-tomcat-9.0.12/bin/startup.sh
    

    按esc退出编辑,输入:wq保存退出。
    增加执行权限:chmod +x /etc/rc.d/rc.local

    配置防火墙:
    设置防火墙:firewall-cmd --add-port=8080/tcp --zone=public --permanent
    刷新使配置生效:firewall-cmd --reload
    查看所有规则:firewall-cmd --list-all确定8080端口可以访问。

  12. 安装mysql

    安装yum仓库:
    下载:wget https://dev.mysql.com/get/mysql180-community-release-el7-1.noarch.rpm
    安装:rpm -ivh mysql180-community-release-el7-1.noarch.rpm
    ls /etc/yum.repos.d/查看生成的两个repo文件。

    安装mysql:
    yum install -y mysql-community-server

    启动数据库服务:
    systemctl start mysqld

    设置开机自动启动:
    systemctl enable mysqld

    设置数据库密码:
    获取安装时的临时密码:grep 'temporary password' /var/log/mysqld.log
    设置root的密码:执行mysqladmin -u root -p password,输入临时密码,再输入新密码。
    登陆数据库验证一下:mysql -u root -p

    设置允许远程连接:

    use mysql;
    update user set host='%' where user='root';  --任何客户端及其都能以root用户登录到mysql服务器
    flush privileges;  --刷新权限
    alter user 'root' @'%' identified with mysql_native_password by 'ffcs@123456';  --为root用户重新设置密码
    

    配置防火墙:
    mysql默认端口3306
    设置防火墙:firewall-cmd --add-port=3306/tcp --zone=public --permanent
    刷新使配置生效:firewall-cmd --reload

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值