zoukankan      html  css  js  c++  java
  • Linux之linux基础命令2

    目录相关:

    创建目录: 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: mkdir -p a/b/c/d
    查看目录: ls 目录名

    文件属性:

    修改文件的修改时间: touch -t'时间戳' 文件名

    stat命令:

    显示文件或者文件系统的状态: stat [参数] 文件
    参数列表:
    -L, -- dereference  跟随链接
    -f,  -- file-system   显示文件系统状态而非文件状态
    -c, -- format=格式  使用指定输出格式代替默认值,没用一次换一次新行
         -- printf=格式    类似 --format,但是会解释反斜杠转义符,不使用换行作输出结尾。如果您仍希望使用换行,可以在格式中加入"
    "
      -t, --terse           使用简洁格式输出
          --help            显示此帮助信息并退出
          --version         显示版本信息并退出
    
    显示文件权限:stat -c %A 文件名

     vim

    和vi一样,都是文本编辑器,vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

    查看文件内容

    查看文件,显示行号: cat -n 文件名
    查看文件: cat 文件名
    在每一行结尾加上$符: cat -E 文件名
    追加文字到文件,输入EOF结束编辑: cat >>/tmp/corn.tet << EOF

    more命令

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

    echo命令

    echo命令用于在终端输出字符串或变量提取后的值,格式是“echo 【字符串|$变量】”
    把corn.txt里的内容替换成hello: echo "hello" > /tmp/corn.txt
    取出打印PATH的值: echo $PATH

    特殊符号

    >>        追加重定向,把文字追加到文件的结尾
    >          重定向符号,清空原来文件中的内容,然后把文字覆盖到文件中
    <          输入重定向
    <<        将输入结果输入重定向

    移动命令

    把文件移动到另一个目录下: mv 文件路径  显得目录路径
    文件/文件夹改名: mv  旧名字  新名字

    删除命令

    rm -i    需要删除确认
    rm -f    强制删除
    rm -r    递归删除目录和内容
    
    rm -rf    从删库到跑路(谨慎)

    查找命令

    find 在哪里(目录) 什么类型(文件类型) 叫什么名字(文件名)
    参数
    -name 按照文件名查找文件
    -type 查找某一类型的文件,诸如:
    b - 设备文件。
    d - 目录。
    c - 字符设备文件。
    p - 管道文件。
    l - 符号链接文件。
    f - 普通文件。
    s - socket文件

    管道命令

    检查python是否启动: ps -ef | grep "python"
    找到/tmp目录下的所有txt文件: ls /tmp | grep '.txt'
    检查nginx的端口是否存活: netstat -tunlp | grep nginx
    
    grep:
    语法:
    grep [参数] [--color=auto] [字符串] filename
    参数详解:
    -i : 忽略大小写
    -n : 输出行号
    -v : 反向选择
    
    grep "关键字" 文件路径
    排除要找的东西: grep -v "关键字" 文件路径

    head,tail命令

    head显示文件前几行,默认前10行
    tail显示文件后几行,默认后10行
    查看前2行: head -2 文件名
    查看后2行: tail -2 文件名
    持续刷新显示: tail -f 文件名
    显示文件10-30行: head -30 文件名 | tail -21

    sed

    sed
    
    sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。
    
    命令格式
    
    sed [options] 'command' file(s)
    sed [options] -f scriptfile file(s)
    选项
    
    -e<script>或--expression=<script>:以选项中的指定的script来处理输入的文本文件;
    -f<script文件>或--file=<script文件>:以选项中指定的script文件来处理输入的文本文件;
    -h或--help:显示帮助;
    -n或--quiet或——silent:仅显示script处理后的结果;
    -V或--version:显示版本信息。
    -i ∶插入, i 的后面可以接字串
    sed命令
    
    a 在当前行下面插入文本。
    i 在当前行上面插入文本。
    c 把选定的行改为新的文本。
    d 删除,删除选择的行。
    D 删除模板块的第一行。
    s 替换指定字符
    h 拷贝模板块的内容到内存中的缓冲区。
    H 追加模板块的内容到内存中的缓冲区。
    g 获得内存缓冲区的内容,并替代当前模板块中的文本。
    G 获得内存缓冲区的内容,并追加到当前模板块文本的后面。
    l 列表不能打印字符的清单。
    n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。
    N 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。
    p 打印模板块的行。
    P(大写) 打印模板块的第一行。
    q 退出Sed。
    b lable 分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。
    r file 从file中读行。
    t label if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。
    T label 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。
    w file 写并追加模板块到file末尾。  
    W file 写并追加模板块的第一行到file末尾。  
    ! 表示后面的命令对所有没有被选定的行发生作用。  
    = 打印当前行号码。  
    # 把注释扩展到下一个换行符以前。  
    sed替换标记
    
    g 表示行内全面替换。  
    p 表示打印行。  
    w 表示把行写入一个文件。  
    x 表示互换模板块中的文本和缓冲区中的文本。  
    y 表示把一个字符翻译为另外的字符(但是不用于正则表达式)
    1 子串匹配标记
    & 已匹配字符串标记
    sed元字符集
    
    ^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。
    $ 匹配行结束,如:/sed$/匹配所有以sed结尾的行。
    . 匹配一个非换行符的任意字符,如:/s.d/匹配s后接一个任意字符,最后是d。
    * 匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。
    [] 匹配一个指定范围内的字符,如/[ss]ed/匹配sed和Sed。  
    [^] 匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。
    (..) 匹配子串,保存匹配的字符,如s/(love)able/1rs,loveable被替换成lovers。
    & 保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**< 匹配单词的开始,如:/<love/匹配包含以love开头的单词的行。
    > 匹配单词的结束,如/love>/匹配包含以love结尾的单词的行。
    x{m} 重复字符x,m次,如:/0{5}/匹配包含5个0的行。
    x{m,} 重复字符x,至少m次,如:/0{5,}/匹配至少有5个0的行。
    x{m,n} 重复字符x,至少m次,不多于n次,如:/0{5,10}/匹配5~10个0的行。
    sed实际用例
    #替换oldboy.txt中所有的oldboy变为oldboy_python
    #此时结果输出到屏幕,不会写入到文件
    sed 's/oldboy/oldboy_python/' /tmp/oldboy.txt
    #使用选项-i,匹配每一行第一个oldboy替换为oldboy_python,并写入文件
    sed -i 's/oldboy/oldboy_python/' /tmp/oldboy.txt
    #使用替换标记g,同样可以替换所有的匹配
    sed -i 's/book/books/g' /tmp/oldboy.txt
    #删除文件第二行
    sed -i '2d' /tmp/oldboy.txt
    #删除空白行
    sed -i '/^$/d' /tmop/oldboy.txt
    #删除文件第二行,到末尾所有行
    sed '2,$d' /tmp/oldboy.txt
    #显示10-30行
    -p --print
    -n --取消默认输出
    sed -n '10,30p' /tmp/oldboy.txt
    sed

    别名alias命令:

    alias: 默认别名
    alias 命令名='新的名字'

    which命令:

    which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。
    which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
    也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

    scp

    scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。两台机器互发文件
    scp 【可选参数】 本地源文件 远程文件标记
    参数:
    -r :递归复制整个目录
    -v:详细方式输出
    -q:不显示传输进度条
    -C:允许压缩

    du命令

    Linux du命令用于显示目录或文件的大小。
    
    du会显示指定的目录或文件所占用的磁盘空间。
    
    du 【参数】【文件或目录】
    -s 显示总计
    -h 以k,M,G为单位显示,可读性强

    top命令

    top 命令用于动态地监视进程活动与系统负载等信息
    第一行 (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命令)
    
    8053444 total:物理内存总量
    7779224 used:已使用的内存总量
    274220 free:空闲的内存总量(free+used=total)
    359212 buffers:用作内核缓存的内存量
    第五行:swap信息
    8265724 total:交换分区总量
    33840 used:已使用的交换分区总量
    8231884 free:空闲交换区总量
    4358088 cached Mem:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。
    详细介绍

    chattr命令

    chattr +a test.py    加锁,即使是rm -rf 也删不掉,用来保护核心文件
    chattr -a test.py    解锁

    lsattr命令

    查看文件隐藏属性: lsattr 文件名

    wget命令

    wget命令用于在终端下载网络文件
    参数是 wget [参数] 下载地址
    
    wget -r -p http://www.luffycity.com#递归下载路飞所有资源,保存到www.luffycity.com文件中
  • 相关阅读:
    对CSS中的Position、Float属性的一些深入探讨
    npm修改全局包安装路径
    让你彻底地、永久地搞懂JavaScript的==
    看懂此文,不再困惑于javascript中的事件绑定、事件冒泡
    检测字符串是否含有html标签的检测
    使用js的Math.random函数生成n到m间的随机数字
    js禁用键盘回退网页功能,编辑区域的回退除外
    CSS浮动简明小结
    CSS两列布局
    system call test
  • 原文地址:https://www.cnblogs.com/zycorn/p/10038974.html
Copyright © 2011-2022 走看看