zoukankan      html  css  js  c++  java
  • Linux常用命令

    vim 搜索方法
    1 :/字符串
    2. 查看下一个匹配,按下n(小写n)
    3. 跳转到上一个匹配,按下N(大写N)

    下载两个方式

    curl -o otp_src_21.0.tar.gz http://erlang.org/download/otp_src_21.0.tar.gz

    wget http://erlang.org/download/otp_src_21.0.tar.gz
    效果一样的

    启动插件不需要 重启服务


    linux /etc/hosts文件作用
    Linux 的/etc/hosts是配置ip地址和其对应主机名的文件,这里可以记录本机的或其他主机的ip及其对应主机名

    192.168.102.136 dbfan aeolus
    定义了主机的域名和别名

    实现双机互联
    当两台主机只是双机互连时,这时两台主机都需要设置自己的ip,同时在对方的hosts文件里加入自己的ip和主机名


    跨机器拷贝文件
    scp /var/lib/rabbitmq/.erlang.cookie root@B:/var/lib/rabbitmq

    跨及其复制文件夹的方法

    scp -P 22 -r root@148.70.4.44:/etc/yum.repos.d .

    添加默认yum扩展源
    sudo yum install https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

    查看所有源
    yum repolist all

    启用仓库
    yum-config-manager --enable

    生成源

    yum clean all
    yum makecache

    Could not resolve host: mirrors.cloud.aliyuncs.com


    修改 host方法

    vi /etc/hosts


    默认源名字
    阿里的被屏蔽了国外的不可使用 163和阿里

    CentOS-Base.repo

    使用163源的方法
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo


    添加仓库的方法
    sudo yum-config-manager --add-repo https://www.example.com/repository.repo

    使得 仓库可用


    出错说找不到163.源,使用
    yum-config-manager --save --setopt=base.skip_if_unavailable=true
    命令

    sudo yum-config-manager --enable epel

    安装 epel源 ,因为没有源所以安装也会失败
    rpm -vih http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm

    There are no enabled repos

    添加仓库的方法

    编辑文件Centos-Base.repo 然后复制,文件太旧了,也用不了

    [base]
    name=CentOS-$releasever - Base
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=
    $basearch&repo=os
    #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
    priority=1

    #released updates
    [updates]
    name=CentOS-$releasever - Updates
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=
    $basearch&repo=updates
    #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
    priority=1

    #packages used/produced in the build but not released
    [addons]
    name=CentOS-$releasever - Addons
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=
    $basearch&repo=addons
    #baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
    priority=1

    #additional packages that may be useful
    [extras]
    name=CentOS-$releasever - Extras
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=
    $basearch&repo=extras
    #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
    priority=1

    #additional packages that extend functionality of existing packages
    [centosplus]
    name=CentOS-$releasever - Plus
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=
    $basearch&repo=centosplus
    #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
    priority=2

    #contrib - packages by Centos Users
    [contrib]
    name=CentOS-$releasever - Contrib
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=
    $basearch&repo=contrib
    #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
    enabled=0
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
    priority=2


    安装rpm, 安装仍然失败,不兼容问题,需要更高版本的,为7,但系统是6的

    sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
    sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
    安装 epel
    sudo yum localinstall --nogpgcheck http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm


    安装 epel,但提示没有 仓库
    sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm


    查看 linux版本 cat /etc/issue
    Amazon Linux AMI release 2018.03


    Amazon EC2 instance


    查看内存大小

    cat /proc/meminfo | grep MemTotal

    采用yum时的 的仓库 如果是阿里云的

    [base]
    name=CentOS-$releasever
    enabled=1
    failovermethod=priority
    baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

    [updates]
    name=CentOS-$releasever
    enabled=1
    failovermethod=priority
    baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

    [extras]
    name=CentOS-$releasever
    enabled=1
    failovermethod=priority
    baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

    如果不是阿里云系统或者centos 7 系统就会失败,需要使用

    下面对外的

    [base]
    name=CentOS-7
    enabled=1
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/7/os/x86_64/
    gpgcheck=1
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

    [updates]
    name=CentOS-7
    enabled=1
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/7/updates/x86_64/
    gpgcheck=1
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

    [extras]
    name=CentOS-7
    enabled=1
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/7/extras/x86_64/
    gpgcheck=1
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

    碰到了很多稀奇古怪的问题

    wget http://www.erlang.org/download/otp_src_19.3.tar.gz


    tar -xzvf otp_src_19.3.tar.gz
    cd otp_src_19.3
    ./configure --prefix=/usr/local/erlang

    make && make install


    vi /etc/profile

    ER_LANG=/usr/local/erlang/bin
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$MAVEN_HOME/bin:$ER_LANG:


    source /etc/profile

    ErLang的安装 configure: error: No curses library functions found
    2014年08月26日 11:53:07
    阅读数:10397
    在Linux上安装ErLang环境时,如果出现 configure: error: No curses library functions found 提示 ,需要首先安装 ncurses-devel、


    查看yum版本
    yum info yum

    Nginx 学习笔记(2019-07-26 16:43)

    yum 公共仓库

    # CentOS-Base.repo
    #
    # The mirror system uses the connecting IP address of the client and the
    # update status of each mirror to pick mirrors that are updated to and
    # geographically close to the client. You should use this for CentOS updates
    # unless you are manually picking other mirrors.
    #
    # If the mirrorlist= does not work for you, as a fall back you can try the
    # remarked out baseurl= line instead.
    #
    #

    [base]
    name=CentOS-$releasever - Base
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
    #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    #released updates
    [updates]
    name=CentOS-$releasever - Updates
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
    #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    #additional packages that may be useful
    [extras]
    name=CentOS-$releasever - Extras
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
    #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    #additional packages that extend functionality of existing packages
    [centosplus]
    name=CentOS-$releasever - Plus
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
    #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    free -h 查看内存
    cat /proc/meminfo 查看内存
    ps aux --sort -rss 按照rss排序查看每个进程占用内存,

    组和用户和文件权限的管理详细内容

    拥有者(user),拥有组(group),其他人(other)

             由于Linux是一个多人多任务的系统,因此经常会出现同一台机器同时有多个人进行操作,为了考虑每个人的隐私权以及每个人喜好的工作环境,所以文件的权限归属就至关重要。

             为了保障系统的安全性和文件的隐私性,一个文件针对不同权限的账户有着不同的权限,如下图

      如图所示,文件权限是由一个字符串所表示,其所代表的含义为

      其中,文档类型有如下表示方法:  

        d - 目录,例如上表档名为『.gconf』的那一行;
        - - 文档,例如上表档名为『install.log』那一行;
        l  - 连结档(link file);
        b - 装置文件里面的可供储存的接口设备(可随机存取装置);
        c - 装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

      权限由rwx三个字幕表示,分别表示为可读、可写、可执行,如果没有该权限,则用“ - ”表示,对于目录来说,必须有x权限,否则无法读取目录内容

      如果文件名前面有“ . ”,则表示这个文档或目录是隐藏的

    用户和用户组

      /etc/group  存储当前系统中的用户组信息

      注意:  

        1.当该组内只有一个用户,并且用户名和组名相同时,在组列表中,包含用户一列可以为空

        2.系统中root分组的组编号一定为0

        3.组号1~499为系统预留的组编号,一般是预留给系统安装的软件或者服务的编号,越早安装的软件或者服务的组编号约早。用户手动创建的用户组编号从500开始

        4.组密码占位符,无一例外,全部用x表示

      /etc/gshadow  存储当前系统中用户组的密码信息

      注意:

        1.如果组密码处为“*” “!”或者为空时候,则该组没有密码

        2.如果组管理者为空,则表示该组内所有成员都可以管理该组

      /ect/passwd  存储当前系统中所有的用户信息

      注意:

        在linux中,超级管理员root的用户编号一定为0

      /ect/shadow  存储当前系统中所有用户的密码信息

      注意:

        密码是一个单向加密过的字符串

      创建用户:

    useradd xxx    //创建一个名为xxx的用户

      该命令执行后   

        1.会在/etc/passwd文件中添加xxx用户的信息

        2.会在/etc/group文件中添加一个名为xxx的用户组信息

    passwd xxx    //为xxx用户设置密码

     useradd可以使用的参数包含

    复制代码
    -d    设置该用户的home目录
        例如:useradd -d /home/helloworld hello    //新建hello用户,并且将其home目录设置为/home/helloworld
    
    -u    设置其userid
        例如:useradd -u 668 hello    //新建一个hello用户,将他的id设置为668
    
    -g    设置其主组
        例如:useradd -g root hello    //新建一个hello用户,并将其假如root组
    
    -m    生成home目录的文件夹
        例如:useradd -m hello    //新建一个hello用户,并且在默认位置申城一个hello文件夹(/home/hello),并且将/etc/skel下的文件复制到该目录下
    复制代码

      

      修改用户信息

      

    usermod 参数 用户名

      该命令可以使用的参数包括

    复制代码
    -l    //修改新用户名
        例如:usermod -l helloworld hello    将hello用户名改为helloworld,但其home目录不改变
    
    -u    //修改用户的userid
        例如:usermod -u 888 hello    将hello的userid改为888
    
    -d    //修改用户的home目录
    
    -g    //修改用户的主用户组
    
    -L    //锁定用户,使其不能登录
    
    -U    //解除锁定
    复制代码

      删除用户

    userdel 参数 用户名

      可使用参数

    -r 删除用户的同时将其home目录也删掉

      

      创建用户组  

    groupadd 组名

      修改用户组

    groupmod -n 新组名 旧组名    //修改组名
    
    groupmod -g 新组id    旧组id    修改组ID

      删除用户组

    groupdel 组名

    改变文档(目录)的所有者(所有组)

      改变文档所有者 - chown命令(change owner),可使用参数 -R使得其子目录也同时修改

      改编文档所有组 - chgrp命令 (change group),可使用参数 -R使得其子目录也同时修改

      也可以使用

    chown username:group 文件名 

      

      来同时修改文档或目录的拥有者和所在组

    修改文档的执行权限

      chmod命令

    chmod 参数 文件名

    可以使用如下方法直接设置文件的权限

    复制代码
    1.直接设置代表权限的数字
    chmod 777(对应权限的数字) 文件名
    2.给文件添加或减去某些权限
        chmod u+w 文件名    给user用户加上w权限
        chmod g-r 文件名    将group中的r权限去掉
        chmod a+x 文件名    给user、group、other全部加上x权限
    复制代码

    另外两个 查询组和当前用户对应组的权限的方法

    "在Linux下查看用户属于哪个组有很多种方法,下面介绍常用的方法:
    1.使用groups命令,后不加用户显示自己属于哪个组,如果后接用户名,则显示这个用户。

    [root@localhost ]# groups
    root
    [root@localhost ]# groups nginx
    nginx : nginx

    2.使用id命令,用法同groups命令

    [root@localhost 桌面]# id nginx
    uid=504(nginx) gid=504(nginx) groups=504(nginx)
    原文链接:https://blog.csdn.net/qq_29547371/article/details/74529975

  • 相关阅读:
    学习之路
    c
    为什么正确,还是有点bug?
    1212
    学习呀
    记录一下学习c语言的过程3.26日1
    字符串处理
    二维数组的转置
    一维数组转置
    Mybatis读取数据实战
  • 原文地址:https://www.cnblogs.com/genestart/p/11171604.html
Copyright © 2011-2022 走看看