zoukankan      html  css  js  c++  java
  • linux入门级知识回顾

    ifdown eth0    #关闭网卡eth0
    ifup eth0    #启动网卡eth0
    ifconfig    #查看网络配置
    
    :wq   保持并退出 
    :q    退出 
    :q!   强制退出不保存 
    :wq!  强制退出并保存 
    
    echo hello oldboylinux >>/data/oldboy.txt  
    >>    追加重定向 把内容放在文件的最后一行 
    
    ##方法3-想向这个文件中放入多行 
    cat >>/data/oldboy.txt<<EOF 
    I 
    am  
    studying  
    linux  
    EOF 
    
    EOF === end of file
    
    ##漏斗家族  重定向符号  
     
    #>   1>    标准输出重定向  先把文件的内容清空   把内容放在文件的最后一
    行 
    #>>  1>>   追加重定向      把内容放在文件的最后一行 
     
    1 标准输出 执行正确的内容才会通过漏斗  
     
    #2>        标准错误重定向  
    #2>>       错误追加重定向 
    
    getenforce 查看selinux状态 
    grep '=disabled' /etc/selinux/config  #查看config中的 =disabled
    
    /etc/init.d/iptables status #查看防火墙配置
    /etc/init.d/iptables stop #关闭运行中的防火墙(建议关闭两次)
    
    chkconfig |grep ipt    # chkconfig表示查看启动项 grep 是过滤的关键字 ipt是过滤的关键词
    chkconfig iptables on #关闭某个程序开机自启
    
    乱码原因:1、是linux系统的问题
        2、远程连接工具的问题,比如xshell的问题
    echo $LANG #查看linux系统的字符集
    export LANG=zh_CN.UTF-8 #临时改字符集
    cat /etc/sysconfig/i18n #编辑这里永久改字符集
    source /etc/sysconfig/i18n    #让刚刚改的配置生效
    
    df -h # 查看磁盘状态
    
    挂载小结:
    linux中 一切皆文件
    linux(设备/磁盘分区)不挂载无法使用
    挂载相当于给磁盘分区/设备开了一个入口 通过入口进入到光盘/磁盘的分区中
    入口==挂载点==目录
    
    yum install tomcat #安装软件
    
    相关目录的了解,详情看截图,红色为必须了解的
    
    cat /etc/sysconfig/network-scripts/ifcfg-eth0 #查看网卡信息  
    DEVICE=eth0                         #网卡名
    HWADDR=00:0c:29:e7:59:14             #mac地址
    TYPE=Ethernet                        #互联网
    UUID=51d0a025-779b-447f-9a48-f3935caa8d89 #唯一标示
    ONBOOT=yes                            #重启的时候是否否开启网卡 (6.7之后才有的设置?)
    NM_CONTROLLED=yes                    #能否被network软件进行管理
    BOOTPROTO=none                        #网卡获取ip地址的方式
        #none/static #ip值是固定的
        #dchp        自动获取ip地址
    USERCTL=no                            #是否允许普通用户管理(开 关 重启等管理动作)网卡
    PEERDNS=yes                            #网卡的dns配置优先级高于dns的配置
    IPV6INIT=no
    IPADDR=10.0.0.200                    # ip地址 ip address
    NETMASK=255.255.255.0                #子网掩码
    GATEWAY=10.0.0.2                    #网关
    DNS1=223.5.5.5
    DNS2=223.6.6.6
    
    
    DNS 域名解析服务/系统 ,作用:把使用的域名转换为ip地址 
    resolve host
    解析    域名
    DNS 有问题的表现为:ping www.baidu.com 这种域名ping不通,但是ping得通ip地址
    解决:在网卡的配置最后加 
    DNS1=223.5.5.5
    DNS2=223.6.6.6
    ifdown eth0 && ifup eth0 # 重启某一个网卡
    /etc/init.d/network restart # 重启所有的网卡
    
    cat /etc/resolv.conf #DNS的默认配置,一般配置网卡的DNS就OK
    View Code

    --new190612
    一切从根开始,一切从目录开始
    linux快捷键
    1、ctrl + c             取消当前操作
    2、ctrl + l(小写字母L)    清屏
    3、ctrl + d             退出当前用户/登出
    4、etc + .(点)            使用上一个命令的最后一个东西(一般是个路径之类的)
    
    
    vi/vim 快捷键
    删除光标所在位置的内容到行尾 D
    
    移动光标:
    移动到文件的第一行            gg
    移动到文件的最后一行        G
    
    编辑:
    在当前行的下一行插入一个空行并进入到编辑模式    o(小写字母O)
    
    
    
    hostname # 查看主机名
    hostname simon003    #主机名改成simon003 ,临时改,重启后失效
    cat /etc/sysconfig/network    #永久改,重启后生效
    
    ll -a #查看所有文件(包括隐藏文件)
    
    df  #查看磁盘空间情况
    df -h #以人类可读的方式展示
    
    cat /etc/fstab #跟自动挂载有关
        结果集的第一列表示设备/分区
        结果集的第二列表示入口/目录
    
    
    cat /etc/rc.local    #开启的时候自动运行的文件,需要开机自启的软件/命令/服务都放在这个文件中
    #还有个方式是 chkconfig管理 开机自启动项目
    
    cat /etc/inittab #开机的时候运行级别的配置文件
    0        关机状态,不要把运行级别设置为0
    1        单用户模式,root用户密码忘记了
    2        多用户模式,但是没有NFS
    3        完全的多用户模式,命令模式,文本模式
    4        未使用
    5        x11,桌面模式,图形化界面模式(前提是安装了这些文件)
    6        重启模式,不要把运行级别设置为6
    
    runlevel #查看当前的运行级别
    init 5 #临时把运行级别改成5
    #永久修改在  /etc/inittab 这个文件的最后一行,一般不会改
    
    
    /etc/init.d #服务管理的命令
    
    # 国法(全国各地生效)
    cat /etc/profile  系统环境变量 别名
    cat /etc/bashrc      别名
    #家规(地方政策,当前用户生效)
    ~/.bashrc
    ~/.bash_profile
    
    .(点)开头的文件表示默认隐藏的文件
    
    ~表示当前用户的家目录
    root用户   ~ ===== /root
    simon       ~ ===== /home/simon
    
    /usr/local #编译安装的软件默认的位置
    
    linux安装软件的方法
    1、yum    (自动解决安装依赖的软件) 点外卖-缺少的外卖一切给解决
        软件包管理工具
        yum install tree -y (碰到询问默认都是yes)
    2、rpm    (缺少的锅之类的得自己解决) 速冻水饺-半成品
    3、编译
        买菜切菜------炒菜-----上菜
        ./configure---make------make install
    
    rpm -qa |grep tree #查看安装的所有软件,名字中带 tree的
    
    
    /var/log/messages #查看系统默认日志信息
    /var/log/secure #系统用户的登录信息(谁 什么时候,从哪里登录的 是否成功)
    grep "Accepted" /var/log/secure  #根据关键字捞日志中的信息
    
    free #查看系统内容
    free -h #人类可读
    lscpu    #查看系统cpu的状态
    w        #查看系统的负载程度,越繁忙越接近系统的核数
    cat /proc/loadavg # 左边的三个数,最近一分钟,最近五分钟,最近十五分钟    的平均负载
    View Code

     linux启动过程

    --new190612
    环境变量
    1、大写
    2、在系统大部分地方都可以使用,含义相同。
    
    LANG字符集    PS1(命令行的样子)
    PATH 放的是命令的路径/位置
    echo $PATH #查看当前路径的值,一般不会改,/etc/profile中永久改
    
    
    rpm rpm包管理工具
    rpm -qa | grep tree #查看某个软件是否安装
    rpm -ql tree #查看这个软件包里有啥,查看陌生软件的用法,结构之类的
    
    find 查找文件
        -maxdepth 最大的深度
        -type 找什么类型的
            f file 文件 
            d directory 目录
        -name 什么名字
        ! 取反
    
    tree 以树形显示目录结构
        -L 最多显示基层目录
        -d 只显示目录    
    
    ls list     列表    显示目录里面的内容
        -l 显示详细信息
        -F 给不同的类型文件加上不同的尾巴 目录/
        
    touch 摸 创建文件    更新文件的时间戳
    
    ###第 1 题 如何过滤出已知当前目录下 oldboy 中的所有一级目录(提示:不包含
    oldboy目录下面目录的子目录及隐藏目录,即只能是第一级目录)? 
    
    
    几种方法(在oldboy这个目录下执行):
    tree -Ld 1
    find  -maxdepth 1 -type d
    find  -maxdepth 1 -type d ! -name "."  # !取反,不含.(点)文件
    ls -l # 查看
    ls -l |grep "^d"  #d开头的就是文件夹(目录)
    View Code
    --new190615
    
    cd - ==== 进入上一次所在的目录
    cd . ==== 进入当前目录
    cd ..==== 进入当前目录的上一层目录
    cd ~ ==== 进入当前用户的家目录
    (root用户) ~ ==== /root用户
    (普通用户) ~ ====/home/
    cd   ==== cd ~
    
    
    ls    list    列表 显示目录里的内容
    ls -l         显示详细信息
    ls -F        给不同类型的文件加上不同的尾巴 目录/
    ls -r        倒序
    ls -t        按照文件的修改时间进行排序
    ls -lrt        按照文件的修改时间进行倒序排序
    
    
    tail    取文件的最后几行 默认是最后10行
    tail -f 显示文件的实时更新
    tailf    同上
    
    查看文件时显示文件的行号
    1.cat -n simon.txt
    2.vim simon.txt
        :set nu 显示行号number
        :set nonum 不显示行号number
    3.grep -n "." simon.txt # .点表示任意一个 正则 ("stu"表示找stu开始的)
    
    
    grep 
        -v 排除
        -A 显示grep过滤出的内容及接下来的几行
        -n 给grep出的行加上行号
    egrep === grep -E 高级正则
    
    chkconfig 管理开机自动运行的软件
    chkconfig iptables on
    chkconfig iptables off
    chkconfig --level 5 iptables on 设置某个运行级别
    
    tar zcvf /tmp/etc.tar.gz /etc/
    z --通过gzip 工具进行压缩
    c --表示create 创建压缩包
    v --表示verbose 显示执行过程
    f --表示file 接上压缩包的名字
    
    tar ztf /tmp/etc.tar.gz #查看压缩包的内容
    t --表示list 显示压缩包的内容
    
    解压:解压前必须先进入到要解压到的目录(linux默认解压到当前目录)
    简写:
    tar zcf 创建
    tar tf 查看
    tar xf 解压
    
    
    wc -l /etc/services #查看文件有多少行
    ps -ef 显示系统有多少在运行的进程
    ps -ef | grep "sshd" #同样可以通过grep的方式进行关键字查找
    
    
    单引号:所见即所得
    双引号:里面的特殊字符会被解析
    
    inode与block小结:
    1、格式化创建文件系统
    2、在同一个文件系统(分区),两个文件的inode相同,则互为硬链接
    3、创建一个非空文件要占用一个inode和至少一个block
    4、如何查看inode和block的使用情况 df -i df -h 
        df -i #查看总共多少个inode
    
    磁盘空间不足排查:
    df -h
    du -sh /*|grep G # 找大文件
    
    
    文件类型
    f file 普通文件
    d directory 目录
    l softlink 软链接(快捷方式)
    
    linux下的扩展名是用来看的,不影响实际使用
    .sh 脚本文件
    .conf 配置文件
    
    
    UID user id 用户的id号码==身份证号码
    GID group id 用户组的号码==户口本的号码
                        UID
    1.皇帝 root            0
    2.傀儡 虚拟用户     1-499    系统中每个进程都要有一个对应的用户,无法使用的。
    3.平民百姓 普通用户 500+
    
    如何保护皇帝
    1.禁止root远程登录
    2.修改ssh默认的端口号22
    3.定期分配/var/log/secure 记录着用户的登录信息
    
    与用户有关的文件
    /etc/passwd        存放的是用户的信息
    /etc/shadow        用户密码的信息
    /etc/group        用户组的信息
    
    root:x:0:0:root:/root:/bin/bash
    simon:x:500:500::/home/simon:/bin/bash
    第一列:用户名
    第二列:(以前)存放密码的地方
    第三列:UID
    第四列:GID
    第五列:用户的说明信息,默认为空
    第六列:用户的家目录
    第七列:用户使用的shell,用户使用的命令解释器
    /bin/bash ------- centos默认的命令解释器
    /sbin/nologin --- 用户无法登陆系统,相当于是傀儡用户
    
    
    linux基础权限:
    r    read 可以读取内容
    w    write 修改文件内容
    x    excute 可以运行文件(命令 脚本)
    -    什么权限都没有
    
    ls -l /etc/hosts
    -             rw-        r--        r--.
    文件类型    主人    家人    陌生人
                420        400        400
                6        4        4
                
    ls -l /bin/ls
    -rwxr-xr-x.
     421401401
     7    5  5
    
    
    
    软连接(windows下的快捷方式):
    创建:
    ln -s oldboy.txt oldboy.txt-soft #创建
    ls -l oldboy.txt* #查看
    特点:
    1、存放着源文件的位置
    2、源文件被删除时再查看会显示出红色
    3、节约时间
    
    硬链接
    相当于是超市的前后门,通过不同的大门进入超市
    在同一个分区中,两个文件的inode相同,则互为硬链接
    创建:
    ln oldboy.txt oldboy.txt-hard #创建
    ls -lhi oldboy.txt* #查看
    特点:
    1、相当于是超市的前后门,硬链接数量就是超市一共多少门
    2、删除硬链接或者源文件,文件还是可以使用的
    3、把硬链接和源文件都删除,则意味着文件被删除===硬链接数量为0
    
    
    文件删除原理:
    1.删除这个文件相关的硬链接 -rm   ---删除厕所所有的入口
    2.这个文件的进程调用数也为0 --- 没有人在使用厕所
    
    1.硬链接数量为0
    2.进程调用数为0
    
    某个文件没有被彻底删除,导致磁盘空间不足
    解决:重启对应的软件
    
    
    找出硬链接数量为0,进程调用数不为0的文件
    lsof |grep delete # 
    解决:重启对应的软件/服务
    
    
    
    磁盘空间不足排查:
    1.block满了--500G的空间存放505G的视频
    2.inode满了,有大量的小文件
    3.block 硬链接数量为0,进程调用数不为0,文件没有被彻底删除
    
    stat oldboy.txt # 查看文件的三个时间
    ctime    changetime 文件的属性发生改变 硬链接数量,文件大小,文件权限等
    mtime    modifytime 修改时间 文件内容的变化时间
    atime    accesstime 访问时间(看一遍就算,cat都算,后来变成,有内容改变才算)
    View Code

    通配符和正则

    -- 190619
    history | grep cat # 历史命令
    通配符:
    1* 所有 
    find /oldboy/ -type f -name '*old*' # 相当于sql的like中的%
    2、{} # c生成序列
    echo {0..100} # 连续生成1-100
    echo stu{01..100} # 连续生成1-100
    cp oldboy.txt{,.bak} # 备份
    
    #1]正则表达式是用行进行过滤的
    #2]禁止使用中文符合
    #3]给grep和egrep配置别名
    
    #配置别名
    cat >>/etc/profile<<EOF
    alias grep='grep --color=auto'
    alias egrep='grep --color=auto'
    EOF
    
    source /etc/profile #生效
    cat -A simon.txt # 把每行的结束以$展示出来
    正则表达式与通配符区别:
    通配符:用来匹配查找文件名            支持:大部分命令都支持
    正则:在文件内容中匹配查询内容        支持:linux三剑客
    
    
    正则:
        基础正则(basic regular expression)BRE  
        grep sed 
        ^ $ . * [] [^]
        
        扩展正则(extended regular expression)ERE
        | + {} () ?
        
    以下是准备的环境:
    I am oldboy teacher! 
    I teach linux.
    
    I like badminton ball ,billiard ball and chinese chess! 
    my blog is http://oldboy.blog.51cto.com
    our site is http://www.etiantian.org 
    my qq num is 49000448.
     
    not 4900000448.
    my god ,i am not oldbey,but OLDBOY! 
    
    
    
    start:    
    
    0.1] ^  以什么什么开头
    0.2] $    以什么什么结尾
    . 任意一个字符,不包括空行
    grep '.' simon.txt  #
    grep -o  '.' simon.txt # -o 正则的执行过程
    grep  '.$' simon.txt # 以点结尾的行  是转义符
    
    6]  * 前一个字符连续出现了0次或1次以上
    grep -o '0' simon.txt # 出现的是7行的0
    grep -o '0*' simon.txt # 把0连续起来
    
    两个问题:
    1.为何取出的是000 而不是00和0 0 0 0
    #因为正则在表示连续出现的时候表现出贪婪性 有多少吃多少 有多少匹配多少
    2.为何使用'0*' 会把整个文件的内容都显示出来
     因为出现0次或1次以上的都会显示
    
    7] .* (点*)  所有字符 所有符号  所有 
    grep '^m.*m$' simon.txt  # 以m开头,以m结尾 .*  中间是任意字符
    
    8] [] 中括号 [abc] 相当于是一个字符 找出包含a或b或c的行
    grep '[abc]' simon.txt # 找出含或a或b或c的行
    grep '[a-zA-Z0-9]' simon.txt  # 找出任意字母或者数字的
    grep '[^abc]' simon.txt # 排除,即不要a,不要b,不要c的
    
    扩展正则
    1+ 前一个字符连续出现了1次或多次
    grep -E '0+' simon.txt  # grep 不支持扩展正则,egrep 即 grep -E支持扩展
    1.可以把连续的东西用正则取出来
    2.一般与[]配合
    
    2| 或者 
    grep -E 'a|b|c' simon.txt
    grep '[abc]' simon.txt # 找出含或a或b或c的行
    
     |[] 本质区别:
    1[] 是基础正则 | 是扩展正则
    2[] 中括号表示的是单个字符的或者  | 单个多个都可以,兼容[] eg:grep -E 'linux|python' simon.txt  linux或者python的都ok
    
    3】 ()  1.括号中的内容是一个整体 2.后向引用(反向引用)(用的不多,意义初级不大,配合sed使用)
    grep -E 'oldb(o|ey)' simon.txt  # 找出oldboy 或者 oldbey 的行
    
    4】 {n,m} 前一个字符连续出现了至少n次,最多m次
    grep -E '0{2,5}' simon.txt  # 2~5次的
    grep -E 'l{2,}' simon.txt  # 出现最少2次的
    grep -E 'l{2}' simon.txt  # 出现正好2次的
    grep -E 'l{,2}' simon.txt # 出现最多2次的
    grep -E '[0-9]{8,}' simon.txt  # 出现连续8个数字的 
    grep -E '[0-9]{8,}' -o simon.txt # 出现连续8个数字的 ,只显示数字内容
    
    5】 ? 连续出现0次或1次
    
    vim simontemp.txt
    i
    gd
    god
    good
    goood
    gid
    gpd
    giid
    
    
    grep -E 'go?d' simontemp.txt  # 查找o出现了一次或0次的结果是gd和god
    grep -E 'go*d' simontemp.txt # 查找出现0次或1次+的
    
    
    支持基础正则        基础+扩展正则
    grep                egrep === grep -E
    sed                    sed -r
    awk                    awk
    
     撬棍(转义字符) 可使得基础命令也能使用扩展正则
    
    #帮助命令
    man grep
    man info 
    View Code
    1.取ip地址 
    ifconfig eth0| awk 'NR==2' #第二行
    
    ifconfig eth0|awk 'NR==2'|awk '{print $2}'|awk -F":" '{print $2}' # -F 指定分隔符为:
    ifconfig eth0 |awk 'NR==2{print $2}'|awk -F"[: ]+" '{print $2}' # 另一种方式 awk '找谁{干啥}'
    ifconfig eth0 | awk -F "[: ]+" 'NR==2{print $4}'  # 精简版
    ifconfig eth0 |awk 'NR==2'|awk -F"[: ]+" '{print $4}' 
    
    echo '####1@@@@@2' | awk -F "[@#]+" '{print $2}' 
    
    2.查看文件的权限 
    stat /etc/hosts | awk -F "[(/]" 'NR==4{print $2}' 
    stat -c%a /etc/hosts
    
    3.排除文件中的空行
    grep -v '^$' test.txt  # - v取反
    awk '!/^$/' test.txt   # awk的取反 !
    sed '/^$/d' test.txt   # d 删除delete
    
    4.取文件的前两行
    (默认内容已知)
    0.grep -E '[23]' s1.txt        #找出含有2或者3的行
    1.awk '/[23]/' s1.txt        #找出含有2或者3的行
    awk 'NR==3' s1.txt            # 找第三行的数据
    awk 'NR==2,NR==3' s1.txt    # 第二行到第三行的数据
    
    2.sed -n '1p' s1.txt        #第一行
    sed -n '2,4p' s1.txt        #2-4行
    sed -n '10,$p' s1.txt        #10行到最后一行,$是最后一行
    
    
    5.创建文件夹
    mkdir /simon
    ls -ld /simon/ #查看硬链接数是2
    ls -ld /simon/. #查看硬链接数是2    .点表示当前目录
    
    mkdir -p /simon/test #再创建一个子目录
    ls -ld /simon/ /simon/.  #此时,查看硬链接数是3
    ls -ld /simon/ /simon/. /simon/test/..  #这两个互为硬链接  ..表示上一级目录
    
    6、默认情况下eth0网卡配置文件的路径以及客户端DNS的路径
    cat /etc/sysconfig/network-scripts/ifcfg-eth0
    DSN的配置
    1.cat /etc/resolv.conf
    2.网卡配置文件
    3.网卡配置文件里面的DNS优先
    
    7、找当前目录下的所有文件,并把文件中的www.etiantian.org字符串替换成www.baidu.com
    假设当前目录是在 /simon
    find /simon -type f -name "*.txt"
    
    1.find /simon -type f -name "*.txt" |xargs sed 's#wwww.etiantian.org#www.baidu.com#g'
    2.预备知识
    which mkdir  # 查看命令所在的目录
    ls -l `which mkdir` #对 which mkdir 的运行的结果进行后续操作
    
    sed 's#www.etiantian.org#www.baidu.com#g' $(find /simon -type f -name "*.txt")  # $() 把运行的结果留下来 显示的结果留下来 === ``
    sed 's#www.etiantian.org#www.baidu.com#g' `find /simon -type f -name "*.txt"`  # $() 把运行的结果留下来 显示的结果留下来 === ``
    3.find /simon -type f -name ''*.txt -exec ls -l {} ;
    ????
    # 找到的所有结果都会放到{}中
    
    8、echo 'simon';echo 'simon2' 的结果在同一行输出
    linux中用;分割多个命令
    echo -n 'simon';echo 'simon2' # 表示取消输出每一行结尾的换行符号
    echo -e "a
    b"   # -e 支持转义字符
    echo -e "a
    b
    	c" # 	 一个tab键
    
    echo -e "a
    b
    	c" > echo.txt # 写入文件
    cat echo.txt  -A  # 把文件中的特殊字符显示出来 比如$表示结尾  ^I表示tab
    
    
    补充date相关
    /usr/sbin/ntpdate time.windows.com # 同步一下时间
    
    date + 格式
    date +%F === date +%Y-%m-%d
    date +%T === date +%H:%M:%S
    date +%w @周几
    date +%F %T  #年月日时分秒
    
    date -d '-1day' +%F  # 1天前
    date -d '-7day' +%F_%w #7天前,年月日_周几
    
    date -s '20170101' # 修改时间
    
    /usr/sbin/ntpdate time.windows.com # 同步一下时间 主要是ntpdate这个命令
    
    
    # 找命令的路径
    find / -type f -name 'sed'
    which sed # 显示命令的绝对路径
    whereis sed # 找出命令相关的 (帮助 man)
    locate # 基本不用 根据一个列表(数据库)查询系统中的文件
    
    
    cat /var/log/messages  # 系统默认的日志
    cat /var/log/secure # 用户的登录信息
    cat /etc/fstab # 开机的时候自动挂载的列表,开机的时候每个磁盘分区对应着什么入口的列表
    cat /etc/profile # 配置环境变量,别名
    cd /var/spool/cron/ # 定时任务的配置文件(存疑)
    cat /etc/hosts # 解析主机名 作用:主机名转到ip地址
        DNS解析:域名转到对应的ip地址
    
    
    # 查看现在linux连接数 
    w
    last # 谁在什么时间登录了系统,多久
    lastlog #所有用户最近一次的登录信息
    
    # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
    # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
    cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l # 查看物理CPU个数
    cat /proc/cpuinfo| grep "cpu cores"| uniq # 查看每个物理CPU中core的个数(即核数)
    cat /proc/cpuinfo| grep "processor"| wc -l # 查看逻辑CPU的个数
    cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c  #  查看CPU信息(型号)
    cat /proc/meminfo # 查看内 存信息
    系统的负载--系统繁忙程度
                越接近cpu的核心总数表示越繁忙
                
    #关机和重启的命令
    重启
    init 6
    reboot
    shutdown -r 1 # 一分钟后重启 ctrl+c 取消
    shutdown -r now ====== reboot
    
    关机
    init 0
    halt # 如果是物理机的话,需要手动关闭电源
    poweroff # 物理机的话,电源都会关闭
    # 以上三个,执行了就没办法取消
    shutdown -h 1
    shutdown -h now
    
    
    
    #快捷键功能
    ctrl + a 把光标移动到行首
    ctrl + e 把光标移动到行尾
    
    ctrl + c 取消当前的操作 
    ctrl + d logout命令 退出当前用户
             文本中使用的时候:删除光标的后一个字符(作用等于键盘上的delete键)
    
    ctrl + l  清屏(clear)
    ctrl + u  剪切光标所在位置到行首的内容
    ctrl + k  剪切光标所在位置到行尾的内容
    ctrl + y  粘贴(配合上面两个的剪切使用,linux系统级别的命令)
    
    ctrl + →  向右移动一个单词
    ctrl + ←  向左移动一个单词
    
    ctrl + r  # search 搜索历史命令,上下箭头换着找
    history | grep 'sed'
    
    
    vi/vim 初级快捷键
    移动光标:
    移动到文件的第一行            gg    :1    1G
    移动到文件的最后一行        G    :$
    快读到达文件的第100行        100gg    100G    :100
    
    移动光标到行首                0    ^
    移动光标到行尾                $
    光标:
        ↑k
    ←h        →l
        ↓j
        
    编辑:
    在当前和下一行插入一个空行并进入编辑模式            o(小写字母o)
    剪切光标所在位置到行尾的内容,然后进入编辑模式        C(大写字母C)
    删除当前行的内容到结尾                                dG
    撤销上一次的操作                                    u(小写字母)
    恢复上一次的操作(存疑)                                    ctrl + r 
    
    复制粘贴剪切:
    删除光标所在位置的内容到行尾 D
    
    复制当前行                                yy
    剪切(剪切完不粘贴就是删除了呗)当前行    dd
    粘贴                                    p
    
    搜索:
    /要找的内容那个        继续向下搜索n    继续向上搜索N
    View Code
  • 相关阅读:
    logback 打印mybatis sql mybatis 日志打印sql语句和返回结果
    SpringBoot使用logback输出日志并打印sql信息 --经典---
    Logback设置SQL参数打印
    springboot2.X整合mybatis
    异常解决:java.lang.IllegalStateException: Failed to introspect Class
    springboot 启动报错 java.lang.IllegalStateException: Failed to introspect annotated methods on class org
    数据库相关中间件介绍
    QWaitCondition 的正确使用方法(通过 mutex 把有严格时序要求的代码保护起来,同时把 wakeAll() 也用同一个 mutex 保护起来)
    对生产者和消费者问题的另一个解决办法是使用QWaitCondition(封装好了wakeOne,wakeAll,而且与QReadWriteLock对接,几乎是万能的办法)
    Linux定时器的使用(三种方法)
  • 原文地址:https://www.cnblogs.com/Simonsun002/p/11007061.html
Copyright © 2011-2022 走看看