• Linux基础, 基础命令, 基于公钥的免密登录


    安装Linux虚拟机时, 点选web web server, 再勾选development tools, 解决很多命令还需要用yum安装的问题

    reboot命令用于重启机器
    poweroff用于关闭系统

    Linux查看ip方式:

    方式1:ip addr / ip a
    方式2: ifconfig

    NAT模式

    电脑宿主机的ip在局域网内是唯一的,选择了NAT模式创建虚拟机,虚拟机就是一个新的局域网

    桥接模式

    用此模式,就是局域网中一台独立的主机,它可以访问该类网段任意一台机器,

    端口一共有65535

    ftp:23
    dns:53
    http:80
    https:443
    ssh:22

    第一次连接Linux

    1.下载Xshell
    2.命令:ssh ip  (默认22端口)

    基于公钥的免密登录

    1.在客户端主机生成“秘钥对”
    
    ssh-keygen   
    
    2.第二步:吧客户端主机中生成的公钥文件传送至远程主机:
    
    ssh-copy-id root@26.5.55.55
    
    3.对服务器端进行设置,使其只能允许秘钥登录,拒绝口令登录,然后重启sshd服务
    
    vim /etc/ssh/sshd_config
    PasswordAuthentication no
    
    systemctl restart sshd
    
    4.在客户端即可免密登录服务器了
    ssh root@26.5.55.55

    Linux文件夹作用

    /bin:
    bin是Binary的缩写, 这个目录存放着最经常使用的命令。
    
    /boot:
    这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
    
    /dev :
    dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
    
    /etc:
    这个目录用来存放所有的系统管理所需要的配置文件和子目录。
    
    /home:
    用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
    
    /lib:
    这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
    
    /lost+found:
    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
    
    /media:
    linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
    
    /mnt:
    系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
    
    /opt:
     这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
    
    /proc:
    这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
    
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
    /root:
    该目录为系统管理员,也称作超级权限者的用户主目录。
    
    /sbin:
    s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
    
    /selinux:
     这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
    
    /srv:
     该目录存放一些服务启动之后需要提取的数据。
    
    /sys:
     这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
    
    sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
     
    
    该文件系统是内核设备树的一个直观反映。
    
    当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
    
    /tmp:
    这个目录是用来存放一些临时文件的。
    
    /usr:
     这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
    
    /usr/bin:
    系统用户使用的应用程序。
    
    /usr/sbin:
    超级用户使用的比较高级的管理程序和系统守护程序。
    
    /usr/src:
    内核源代码默认的放置目录。
    
    /var:
    这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
    View Code

    Linux命令

    http://linux.51yip.com/

    pwd:(显示当前目录)
    rmdir:(删除一个空目录)
    tab键    用于自动补全命令/文件名/目录名
    clear , ctrl + l  清理终端显示
    
    

    ls命令

    命令: ls -la /
    查看命令解释:man ls  (Linux下的帮助指令)
    ls -la /  以竖状格式化显示列出/目录所有内容

    cd命令

    cd : (change directory,更改目录)
    cd /var/log (绝对路径)
    cd ../var/log(相对路径)
    cd ~
    cd -

    mkdir

    #递归创建a/b   c/d
    mkdir -p a/b c/d
    
    #递归创建test/a,b,c,d四个目录
    mkdir -p test/{a,b,c,d}
    
    #递归创建文件夹a/b/c/d/e
    mkdir -p a/b/c/d/e

    vi, vim命令

    :wq!保存退出
    ZZ 保存退出
    :q 不保存退出
    :q! 不保存强制退出

    cat命令

    cat -n xxx.py #查看文件,显示行号
    cat xxx.py
    #追加文字到文件
    cat >>/tmp/qwe.txt << EOF
    qwe
    asd
    zxc
    EOF

    more命令

    more /etc/passwd
    按下空格space是翻页
    按下b键是上一页
    回车键向下读取内容

    echo命令

    echo命令用于在终端输出字符串或变量提取后的值,格式是“echo 【字符串|$变量】”

    echo "qwe" > /tmp/qwe.txt 
    echo $PATH #取出打印PATH的值

    特殊符号

    输入/输出 重定向符号
    1.>>    追加重定向,把文字追加到文件的结尾
    2.>     重定向符号,清空原文件所有内容,然后把文字覆盖到文件末尾
    3.<     输入重定向
    4.<<    将输入结果输入重定向
    echo "python" > /tmp/qwe.txt
    echo "asdf" >> /tmp/qwe.txt
    cat >>/tmp/qwe.txt << EOF
    ------------------------------------
    我想把命令执行的结果信息,写入到文件中
    ip addr > /tmp/network.txt   #标准输出重定向 把命令执行结果信息,放入到文件中
    
    通配符  
    ls -l /etc/us*

    cp命令

    #移动xxx.py到/tmp目录下
    cp xxx.py /tmp/
    #移动xxx.py顺便改名为qwe.py
    cp xxx.py /tmp/qwe.py
    
    Linux下面很多命令,一般没有办法直接处理文件夹,因此需要加上(参数) 
    cp -r 递归,复制目录以及目录的子孙后代
    #递归复制test文件夹,为test2
    cp -r test test2
    
    操作文件前,先备份
    cp main.py main.py.bak

    mv命令

    mv /home/qwe/asd  /tmp/zxc
    
    文件/文件夹改名
    mv x.log xx.log

    rm命令

    参数  -i  需要删除确认
       -f  强制删除
         -r  递归删除目录和内容

    find命令

    参数
    -name 按照文件名查找文件
    -type 查找某一类型的文件,诸如:
    b - 块设备文件。
    d - 目录。
    c - 字符设备文件。
    p - 管道文件。
    l - 符号链接文件。
    f - 普通文件。
    s - socket文件
    
    #找出/tmp所有以 .txt 结尾的文件
    find /tmp/ -type f -name "*.txt"
    
    #找到/etc下所有名字以host开头的文件
    find /etc -name 'host*'
    
    #找到/opt上一个名为settings.py
    find /opt -name 'settings.py'

    | 命令 

    Linux提供的管道符“|”讲两条命令隔开,管道符左边命令的输出会作为管道符右边命令的输入。
    常见用法:
    #检查python程序是否启动
    ps -ef|grep "python"
    
    #找到/tmp目录下所有txt文件
    ls /tmp|grep '.txt'
    
    #检查nginx的端口是否存活
    netstat -tunlp |grep nginx

    grep命令 

    语法:
    grep [参数] [--color=auto] [字符串] filename
    参数详解:
    -i : 忽略大小写
    -n : 输出行号
    -v : 反向选择
    --color = auto : 给关键词部分添加颜色
    
    grep "我要找什么" /tmp/qwe.txt
    #排除 -v,排除我要找的东西
    grep -v "我要找什么 /tmp/qwe.txt
    找出/etc/passwd下root用户所在行,以及行号,显示颜色
    cat /etc/passwd |grep '^root' --color=auto -n
    找出
    /etc/passwd所有不允许登录的用户 grep /sbin/nologin /etc/passwd
    找到
    /etc/passwd的所有与mysql有关行,行号 cat /etc/passwd |grep 'mysql' -n

    head, tail 命令

    head显示文件前几行,默认前10行
    tail显示文件后几行,默认后10行
    #查看前两行
    head -2 /tmp/qwe.txt
    #查看后两行
    tail -2 /tmp/qwe.txt
    #持续刷新显示
    tail -f xx.log
    
    #显示文件10-30行
    head -30 /tmp/qwe.txt |tail -21

    alias命令

    默认别名
    alias cp='cp -i'
    alias egrep='egrep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias grep='grep --color=auto'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    alias mv='mv -i'
    alias rm='rm -i'
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
    
    #让系统显示 do not use rm
    echo do not use rm
    #设置rm别名
    alias rm='echo do not use rm'
    #设置别名永久生效,写入到/etc/profile(针对登录用户的合同,设置环境变量)
    vim /etc/profile #编辑文件
    G  快速到达最后一行
    o  当前行下一行,创建一个新行,进入编辑模式
    source /etc/profile #读取文件(合同生效)
    ---------------
    #取消别名
    unalias rm

    which命令 

    which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
    which python #python命令在哪

    scp命令 

    用xftp更好, 防止断掉

    参数
    -r :递归复制整个目录
    -v:详细方式输出
    -q:不显示传输进度条
    -C:允许压缩
    
    #传输本地文件到远程地址
    scp 本地文件  远程用户名@远程ip:远程文件夹/
    scp 本地文件  远程用户名@远程ip:远程文件夹/远程文件名
    
    scp /tmp/qwe.py root@192.168.1.155:/home/
    scp /tmp/qwe.py root@192.168.1.155:/home/qe.py
    
    scp -r  本地文件夹  远程用户名@远程ip:远程文件夹/
    scp -r /tmp/qwe  root@192.168.1.155:/home/qwe
    
    #复制远程文件到本地
    scp root@192.168.1.155:/home/qwe.txt /tmp/qwe.txt
    scp -r root@192.168.1.155:/home/qwe/home/

    du命令 

    显示指定的目录或文件所占用的磁盘空间。

    用法
    du 【参数】【文件或目录】
    -s 显示总计
    -h 以k,M,G为单位显示,可读性强
    
    #显示/home的总大小
    du -sh /home
    
    #什么都不跟,代表显示当前目录所有文件大小
    du   

    top命令

    M按照内存使用排序 P按照cpu使用排序
    
    第一行 (uptime)
    系统时间 主机运行时间 用户连接数(who) 系统1,5,15分钟的平均负载
    第二行:进程信息
    进程总数 正在运行的进程数 睡眠的进程数 停止的进程数 僵尸进程数
    第三行:cpu信息
    1.5 us:用户空间所占CPU百分比
    0.9 sy:内核空间占用CPU百分比
    0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比
    97.5 id:空闲CPU百分比
    0.2 wa:等待输入输出的CPU时间百分比
    0.0 hi:硬件CPU中断占用百分比
    0.0 si:软中断占用百分比
    0.0 st:虚拟机占用百分比
    
    第四行:内存信息(与第五行的信息类似与free命令)
    total:物理内存总量
    used:已使用的内存总量
    free:空闲的内存总量(free+used=total)
    buffers:用作内核缓存的内存量
    
    第五行:swap信息
    total:交换分区总量
    used:已使用的交换分区总量
    free:空闲交换区总量
    cached Mem:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。

     

  • 相关阅读:
    【吐血整理】SVN命令行,Subversion的正确使用姿势,让版本控制更简单~
    【踩坑速记】MIUI系统BUG,调用系统相机拍照可能会带给你的一系列坑,将拍照适配方案进行到底!
    【福利大放送】不止是Android,Github超高影响力开源大放送,学习开发必备教科书
    【开发必备】今天我们来谈谈Android NDK动态链接库(so文件)的一些见解
    【使用教程】论Windows下必备的抓包工具Fiddler2如何安装证书(查看Https)
    【年终总结】我的2016,阅读本文大约需要一整年
    【知识必备】一文让你搞懂design设计的CoordinatorLayout和AppbarLayout联动,让Design设计更简单~
    【踩坑速记】开源日历控件,顺便全面解析开源库打包发布到Bintray/Jcenter全过程(新),让开源更简单~
    【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~
    Hive 8、Hive2 beeline 和 Hive jdbc
  • 原文地址:https://www.cnblogs.com/NachoLau/p/10442383.html
Copyright © 2020-2023  润新知