linux

作者: 我叫罗大大 | 来源:发表于2019-10-14 23:09 被阅读0次

    查询Linux ip :ip addr

    命令篇

    文件处理

    1.查询目录的内容
     <#--查看所有-->
    ls -alh
    
    <#--展示列表-->
    ls [选项] [文件或目录]
    选项:
        -a  显示所有文件,包括隐藏文件
        -l  显示详细信息
        -h  人性化显示文件大小
    
    2.切换目录
    cd [目录]
        命令英文原意: change directory
    
    简化操作:
    cd ~   :切换到用户目录(家目录)
    cd     :切换到用户目录
    cd -   :切换到上一个访问目录
    cd ..  :切换到上一级目录
    cd .   :切换到当前目录
    
    3.当前所在的工作空间
    pwd
    命令英文原意:print working directory
    
    4.创建文件
    touch 文件名   :创建文件
    
    5.创建目录
    mkdir -p [目录名]
        -p 递归创建
        命令英文原意: make directories
    mkdir  目录名  :创建目录
    mkdir -p xx/yyy/zz  :创建多级目录
    
    6.删除<font color=red>空目录</font>
    rmdir [目录名]
    命令英文原意:remove empty directory
    
    rmdir 目录 :删除目录(目录为空时执行)
    
    7.删除文件或者目录
    rm -rf [文件或目录]
    命令英文原意:remove
    选项:
        -r      递归删除目录
        -f      强制
    rm -r 目录    :递归文件夹 带提示
    rm -f 文件    :删除文件
    rm -rf 文件/文件夹   :递归删除,无提示
    
    禁止: rm -rf /  删除所有文件
    
    8.复制文件或文件夹
    cp [选项] [原文件或目录] [目标目录]
    命令英文原意:copy
    选项:
        -r      复制目录
    cp 源文件 备份文件 :备份文件[复制文件]
    cp -r 源目录 目标目录  [复制目录]
    
    9.剪切和改名命令
    mv [原文件或目录] [目标目录]
    命令英文原意:move
    
    mv 文源文件件 目标文件目录 :剪切
    mv 源文件 不存在的文件   :重命名
    mv 源文件 文件夹/不存在的文件   :剪切重命名
    

    剪切并重命名

     mv a.txt /root/test_bak/bb.txt
    

    文件搜索

    1.环境变量
    PATH环境变量:定义的是系统搜索命令的路径
    相当于window下的path
    //之间有空格
    echo $PATH  : 查看环境变量
    
    2.文件搜索
    find [搜索范围] [搜索条件]
    示例:
    find / -name install.log
    #避免大范围搜索,会非常耗费系统资源
    #find是在系统当中搜索符合条件的文件名.如果需要匹配,使用通配符匹配,通配符是完全匹配
    find /root -name install.log   #按名字查询: 不区分大小写
    find /root -user root   #按照所有者搜索
    find /root -nouser  #查找没有所有者的文件
    

    https://www.xuebuyuan.com/683276.html

    假如匹配到多个就会报错,错误提示如下:

    Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exe
    

    find /root -name 'test*'

    加了单引号之后解决

    3.按文件的大小查询
    find  / -size 25k
    #查找文件大小是25KB的文件,注意k是小写的.
    
    -25k        小于25KB的文件
    25k     等于25KB的文件
    +25k        大于25KB的文件
    
    find / -size 25M
    #查找文件大小是25MB的文件,注意M是大写的.
    
    4.复合条件查询
    find /etc -size +20k -a -size -50k
    #查找/etc/目录下,大于20KB并且小于50KB的文件
    
    -a      and     逻辑与,两个条件都满足
    -o      or          逻辑或,两个条件满足一个即可
    
    find /etc -size +20k -a -size -50k -exec ls -lh {} \;
    #查找/etc/目录下,大于20KB并且小于50KB的文件,并显示详细信息
    #-exec {} \;这是固定格式
    
    5.字符串的搜索命令
    grep [选项] 字符串 文件名
    #在文件当中匹配符合条件的字符串
    选项:
        -i  忽略大小写
        -v  排除指定字符串
    
    
    cat anaconda-ks.cfg  查看内容
    
    grep timezone anaconda-ks.cfg 
    
    经典使用:
    ps -ef |grep java
    

    ps

    
    ps -ef 显示出的结果:
        1.UID       用户ID
        2.PID        进程ID
        3.PPID      父进程ID
        4.C           CPU占用率
        5.STIME     开始时间
        6.TTY         开始此进程的TTY----终端设备
        7.TIME       此进程运行的总时间
        8.CMD       命令名
    

    [图片上传失败...(image-f69f87-1571065750332)]

    TIP

    find命令:在系统中搜索符合条件的文件名.

    grep命令:在文件中搜索符合条件的字符串.

    帮助命令

    1.man命令[manual n.手册]
    man ls
    #查看ls的帮助
    man 命令名 :
    查看帮助命令f  b键翻页 q退出
    
    2. 命令 --help[简洁版]
    命令 --help
    #获取命令选项的帮助
    实例:
        ls --help
    命令 --help   :简洁版帮助
    
    但是不适用内部命令,如cd:
    help cd
    命令特殊时,使用
    help 命令  比如: help cd
    

    压缩命令

    1.zip压缩
    zip 压缩文件名 原文件
    #压缩文件
    
    zip -r 压缩文件名 原文件
    先安装zip 软件
    yum install zip  
    yum install -y zip  : 不带确认的安装 
    yum install -y unzip
    卸载: yum remove 
    zip 压缩文件名  原文件  :压缩文件
    zip a.zip a.txt
    zip -r 压缩文件名 原文件夹   :递归要是文件夹
    zip -r a.zip a.txt
    
    2.zip解压
    unzip 压缩文件
    #解压缩.zip文件
    unzip 压缩文件名 ;解压
    
    3.gz压缩
    gzip 原文件
    #压缩为.gz格式的压缩文件,原文件会消失
    gzip -c 原文件 > 压缩文件
    #压缩为.gz格式,原文件保留
    #-c的意思不是说需要保留文件,而是要把压缩的结果输出到控制台.
    #>的意思是把结果输出到什么地方去.
    gzip -r 目录
    #压缩目录下的所有子文件,但是不能压缩目录
    gzip  原文件: 压缩文件, 源文件会消失
    gzip  a.txt
    gzip -r 原文件夹:遍历文件夹,压缩文件夹中文件,目录不压缩
    gzip -r learn
    
    4.gz解压
    gzip -d 压缩文件
    #解压缩文件
    gunzip 压缩文件
    #解压缩文件
    gunzip -r 压缩文件目录;解压
    
    5.打包命令
    打包命令:
    tar -cvf 打包文件名 源文件
    选项:
        -c      打包
        -v      显示过程
        -f      指定打包后的文件名
    tar -cvf learn.tar learn
    解打包命令:
    tar -xvf 打包文件名
    选项:
        -x      解打包
    
    6..tar.gz格式压缩
    tar -zcvf 压缩包名.tar.gz 源文件
    选项:
        -z      压缩为.tar.gz格式
    
    tar -zcvf learn.tar.gz learn
    
    7.tar.gz格式解压
    tar -zxvf 压缩包名.tar.gz
    选项:
        -x      解压缩.tar.gz格式
    #加上-C表示解压到指定的目录
    tar -zxvf 压缩包名.tar.gz -C 指定目录
    
    tar -zxvf learn.tar.gz  -C  ./
    

    重启命令

    重启命令
    init 0  :关机
    init 6  :重启
    init 3  :切换字符界面
    inti 5  :切换可视化界面
    
    reboot :重启
    
    其他命令

    [图片上传失败...(image-afacfc-1571065750332)]

    cat:显示全部
    tail默认在屏幕上显示指定文件的末尾10行
    参数:
        -f  显示文件最新追加的内容。
        -行数   在屏幕上显示指定文件的末尾参数设置的行数
    

    Vi编辑器

    1.编辑器的三种模式
    模式之间的相互转换: 
    编辑-->输入
        i:在光标所在字符前开始插入
        a:在光标所在字符后开始插入
        o:在光标所在行的下面另起一新行插入
        s:删除光标所在的字符并开始插入
        ---------------------------------------
        I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入
        A:在光标所在你行的行尾开始插入
        O:在光标所在行的上面另起一行开始插入
        S:删除光标所在行并开始插入
    
    输入模式-->编辑模式
        ESC(键盘左上方的按键)
    编辑模式--->末行模式
    : 
    末行模式:-->编辑模式
        ESC(键盘左上方的按键)(一次或者多次)
    
    2.保存文件
    打开文件
    vi  /path/to/file
    关闭文件
    在末行模式下
    wq: 保存退出
    q!: 退出不保存
    
    3.编辑时移动光标
    逐字符移动: 
        h:左移动
        l:右移动
        j:向下移动
        k:向上移动
    行内跳转:
    0:跳转到行首
    $: 跳转到行尾
    行间跳转;(末行模式)
    num: 跳转到某一行(末行模式)
    G: 跳转行最后一行(编辑模式)
    gg: 跳转到第一行(编辑模式)
    
    4.翻屏操作
    在编辑模式下:
    ctrl+f 向下翻一页
    ctrl+b 向上翻一页
    
    5.删除操作
    dd:删除光标所在行 (编辑模式)
    3dd:从光标行开始删除3行(编辑模式)
    : 1,4d 删除第一行到第四行(末行模式)
    

    [图片上传失败...(image-d2d0a1-1571065750332)]

    6.复制行操作
    yy 复制光标所在行 (编辑模式)
    2yy 从光标行开始复制2行(编辑模式)
    p: 粘贴命令[paste]
    
    7.查找和替换
    文件的查找
    /parttern 从前往后查找
    ?parttern 从后往前查找
    n:  下一个匹配的字符串
    N: 上一个匹配的字符串
    文本的替换(末行模式)
    startNum,endNums/partter/string/gi
    g:全局替换
    i:忽略大小写
    %s/f/F/gi
    :.,$s/F/f/gi
    /关键字                 按n找下一个
    set number        设置行号    
    或者 
    set nu
    取消行号
    set nu!
    

    用户管理

    1.添加用户
    创建用户 :useradd [用户名]
    创建用户并分配一个组:useradd -G [组名] [用户名] 
    
    查看系统用户:cat /etc/passwd
    1   用户名
    2   用户的密码,用x替代
    3   用户的uid,一般情况下root为0,1-499默认为系统账号,有的更大些到1000,500-65535为用户的可登录账号,有的系统从1000开始。
    4   用户的gid,linux的用户都会有两个ID,一个是用户uid,一个是用户组id,在我们登录的时候,输入用户名和密码,其实会先到/etc/passwd查看是否有你输入的账号或者用户名,有的话将该账号与对应的UID和GID(在/etc/group中)读出来。然后读出主文件夹与shell的设置,然后再去检验密码是否正确,正确的话正常登录。
    5   用户的账号说明解释
    6   用户的家目录文件夹
    7   用户使用的shell,如果换成/sbin/nologin/就是默认没有登录环境的。
    
    2.查看系统用户组
    查看系统用户组:cat /etc/group
    
    3.usermod
    修改用户组属性
    usermod -G [组名] [用户名]
    
    4.删除用户
    userdel删除用户:
    -f:强制删除用户,即使用户已登录 
    -r:删除与用户相关的所有文件。
    
    5.修改用户的密码
    设置用户密码: passwd 用户名  
    
    查看密码:
     cat /etc/shadow
    
    WolfCode_2017
    注销: logout
    重新登录:
    

    文件权限

    1.chmod命令
    chmod [选项] 模式 文件名
        选项
            -R      递归
        模式
            [guoa] [+-=] [rwx]
            [mode=421]
    
    2.修改用户的权限
    修改权限的方式:
    chmod u+x 文件
    #给当前用户添加指定文件的x执行权限
    chmod g+w,o+w 文件
    #给该文件用户组合其他人添加指定文件的w写的权限
    chmod a=rwx 文件
    #给该文件的当前用户,当前组,其他人 添加rwx可读可写可执行的权限
    
    3.权限的数字表达式
    权限的数字表示
    r       4
    w       2
    x       1
        
    111--->7  rwx
    110--->6  rw-
    100--->4  r--
    
    示例:
    rwxr-xr-x
      7   5   5
    
    chmod 755 文件
    
    4.sudo权限
    root把本来只能超级用户执行的命令赋予普通用户执行.(可以理解为权限代理)
    
    sudo的操作对象是系统命令
    visudo
    #实际修改的是/etc/sudoers文件
    
    需求: 想让root 用户将 shutdown -h 10  定时关机命令赋予  dafei用户
    
    #用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
       root       ALL               =        (ALL)          ALL
    
    
    
    #%组名 被管理注解的地址=(可使用身份) 授权命令(绝对路径)
    %wheel ALL=(ALL) ALL
    
    
    sudo  shutdown -h 10
    

    系统服务管理

    1.进程查看
    用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。
    
    
    ps -ef 显示出的结果:
        1.UID       用户ID
        2.PID        进程ID
        3.PPID      父进程ID
        4.C           CPU占用率
        5.STIME     开始时间
        6.TTY         开始此进程的TTY----终端设备
        7.TIME       此进程运行的总时间
        8.CMD       命令名
    
    2.杀死进程
    kill 进程UID      
    

    防火墙的配置

    关闭防火墙
    systemctl disable firewalld
    systemctl stop firewalld
    
    centos7的防火墙程序服务名为:firewalld
    
    防火墙配置命令:firewall-cmd
    防火墙帮助:
    firewall-cmd --help
    
    查看防火墙状态:
    firewall-cmd --state
    
    查看所有打开的端口:
    firewall-cmd --zone=public --list-ports
    
    开启端口:
    firewall-cmd --zone=public --add-port=端口号/tcp --permanent(--permanent参数为永久生效,不加则重启后失效)
    
    更新防火墙规则:
    firewall-cmd --reload
    
    删除端口:
    firewall-cmd --zone=public --remove-port=端口号/tcp --permanent
    

    快速查找命令

    netstat -ano| grep 80
    

    静态IP的修改

    文件 /etc/sysconfig/network-scripts/ifcfg-eth0在/etc/sysconfig/network-script在这个目录下面,存放的是网络接口(网卡)的脚本文件(控制文件),ifcfg-eth0是默认的第一个网络接口,如果机器中有多网络接口,那么名字就将依此类推ifcfg-eth1,ifcfg-eth2,ifcfg-eth3......(这里面的文件是相当重要的,涉及到网络能否正常工作)。
    
    TYPE=Ethernet #网卡类型
    DEVICE=eth0 #网卡接口名称
    ONBOOT=yes #系统启动时是否自动加载
    BOOTPROTO=static #启用地址协议 --static:静态协议 --bootp协议 --dhcp协议
    IPADDR=192.168.1.11 #网卡IP地址
    NETMASK=255.255.255.0 #网卡网络地址
    GATEWAY=192.168.1.1 #网卡网关地址
    DNS1=8.8.8.8 #网卡DNS地址
    BROADCAST=192.168.1.255 #网卡广播地址 
    
    查看ip:
    ip addr
    

    重启网络

    [图片上传失败...(image-8d0521-1571065750332)]

    JDK 安装

    1:将jdk拉入linux路径: /usr/local/software
    
    2:将jdk解压到指定的路径
    cd  /usr/local/software
    tar -zxvf jdk-8u161-linux-x64.tar.gz  -C /usr/local
    
    3:给解压后的文件目录改过好操作的名字, 可以不改
     mv jdk1.8.0_161 jdk1.8
    
    4:备份配置环境变量文件
     注意,设置前先备份,养成习惯
    cp /etc/profile /etc/profile_bak
    
    5:修改配置环境变量文件
    vi  /etc/profile 
    
    在随便空白地方输入:
    export JAVA_HOME=/usr/local/jdk1.8    #设置java_home
    export PATH=$JAVA_HOME/bin:$PATH   #设置环境变量, 跟window区别,是  :  分隔的
    
    看清楚,大小写必须一致
    
    6:重写加载环境变量
    source /etc/profile
    
    7:测试
    java -version
    
    看到这个结果表示安装成功
    
    java version "1.8.0_161"
    Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
    

    部署项目篇

    1.rpm
    rpm 常用命令
    安装一个包 
    # rpm -ivh <包名>
    rpm -ivh  --nodeps  <包名>  : 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。 
    --force 即使覆盖属于其它包的文件也强迫安装 
    
    查询一个包是否被安装 
    # rpm -q <软件名>
    
    得到被安装的包的信息 
    # rpm -qi < 软件名> 
    
    列出该包中有哪些文件 
    # rpm -ql < 软件名> 
    
    列出服务器上的一个文件或目录属于哪一个RPM包 
    #rpm -qf <文件或目录名>
    
    列出所有被安装的rpm package 
    # rpm -qa 
    
    卸载一个包 
    # rpm -e <软件名>
    
    
    有安装包,知道依赖关系使用rpm
    
    2.yum
    1 配置一个自定义的仓库地址
        /etc/yum.repos.d
        local.repo
    2 安装命令
        yum install 
    3 查看软件包
        yum list |grep mysql
        yum list installed
    4 卸载软件包
        yum remove  
    
    没安装包, 不知道依赖关系,使用yum
    
    3.修改yum源

    从国内镜像下载

    yum install wget -y
    
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
    
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
    yum makecache
    
    #更新系统软件,不执行
    yum -y update
    

    修改为静态IP,安装MQ

    vi /etc/sysconfig/network-scripts/ifcfg-ens32
    
    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="static"
    DEFROUTE="yes"
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="ens32"
    UUID="ca125296-65cb-4308-8b83-8a56794fbf34"
    DEVICE="ens32"
    ONBOOT="yes"
    ZONE=public
    IPADDR=192.168.91.129
    NETMASK=255.255.255.0
    GATEWAY=192.168.91.2
    DNS1=8.8.8.8
    BROADCAST=192.168.91.255
    
    4.加文件执行权限
    chmod +x 文件名
    
    5.重启nginx
    ./nginx -s reload
    
    6.查看端口
    netstat -ano| grep 80
    

    相关文章

      网友评论

          本文标题:linux

          本文链接:https://www.haomeiwen.com/subject/zwadmctx.html