美文网首页程序员
linux常用命令

linux常用命令

作者: 极微 | 来源:发表于2019-01-18 11:59 被阅读47次

    一、文件操作

    通配符:一般用于匹配文件名。比如:?(任意一个)、 *(任意多个字符)、[a,b,c](其中一个字符 )

    正则表达式:一般用于文件内容字符串匹配

    • 显示当前目录----pwd

    • 创建文件夹----mkdir web

      -p    嵌套创建
      mkdir -p web/controller
      
    • 创建文件----touch test.txt

    • 删除文件/文件夹 rm web

      -f    强制删除,不提示
      
      -r    递归删除
      
      rm -r ./* 删除当前目录所有文件和文件夹
      
    • 查看文件目录结构----ls

        -al    显示所有(包括.开头的隐藏文件和文件详情)
      
    • 文件夹/文件复制----cp file1 file2

        若复制整个文件夹,需要使用-r来递归复制
        假设复制源目录为dir1,目标目录为dir2。怎样才能将dir1下所有文件复制到dir2下呢?
        如果dir2目录不存在,则可以直接使用:cp -r dir1 dir2
        如果dir2目录已存在,则需要使用:cp -r dir1/* dir2,如果这时使用cp -r dir1 dir2,则会将dir1目录复制到dir2中,明显不符合要求。
      
    • 文件/文件夹移动/重命名----mv

        将a目录下的所有文件复制到root的b目录 mv a/* /root/b ,若携程mv a /root/b则将a目录复制到b目录下。
      
    • 查看文件-内容---cat,more,less(推荐)

        cat:查看整个文件
        more:space下一页,enter下一行,q退出
        less:space下一页,b上一页,enter下一行,y上一行,q退出
      
    • 文件搜索----find

        按名称查找:find 搜索目录 -name 条件    eg:find /home -name *.txt  以.txt结尾文件(-iname忽略大小写)
      
        按拥有者查找:find 搜索目录 -user 条件     
      
    • 文件内容字符串搜索----grep

        grep fx f*    显示当前目录下所有以f开头的文件中包含fx的行
      
            -i    不区分大小写
      
            -n    显示行号
      
        grep ^fax  test.txt    匹配在test.txt中以fax为行首的行
      
    • 统计----wc

            -l    统计行数
      
            -w    统计单词数
      
            -c    统计字数
      

    二、VI编辑器

    • 命令模式:vi/vim 进入命令模式

        ← ↑ → ↓    光标移动    
      
        pageDown    pageUp    翻页
      
        home    行首    end    行尾
      
        gg    跳转到第一行    G    跳转到末行    xG 跳转到x行 
      
        :set nu    显示行数    :set nonu不显示行数
      
        /str    向下查找    ?str    向上查找    n    定位到下一个匹配字符    N定位到上一个匹配字符
      
        del/x    删除光标处单个字符    d^    删除当前行开始至光标处的字节    d$删除光标开始至当前行尾的字节
      
        xdd    删除当前行开始的x行    dd    删除当前行
      
        yy    复制当前行    xyy    复制当前行开始的x行
      
        u    撤销前一个动作    Ctrl+r    取消撤销,重执行上一个动作
      
    • 插入模式:命令模式下 i/insert进入

    • 末行模式:命令模式下:进入,插入模式下Esc+:进入

        w    保存文件
      
        q    未修改时退出
      
        q!    不保存退出    wq    保存退出
      
        内容替换:
      
                :s /old/new   当前行的第一个old替换为new 
      
                :s /old/new/g    当前行所有old替换为new 
      
                :#,# s /old/new/g    #,#行间的所有old替换为new
      
                :% s /old/new/g    当前文件所有old替换为new
      
                :s /old/new/cold    替换为new时提示确认替换
      

    三、杂项

    • 输出分页显示----|less/more

      ps -ef|less
      
    • 查看进程----ps -ef|grep tomcat

        ps:显示进程 
      
            -e:显示所有进程 
      
            -f:全格式
      
        ps -ef的意思是以长格式显示所有进程;“|”是管道,意思是前面ps的输出做为后面
        的输入,即grep命令所检索的文本源;grep tomcat是在所有进程里查找与字tomcat有关的进程,并显示出来。 
      
    • 动态日志输出----tail -f -n 20 catlina.out

        tail:输出文件的尾部内容
      
            -f:动态跟踪
      
            -n:输出最后n行
      
    • 查看端口被哪个进程占用----netstat -atunp|grep 端口号

       netstat命令各个参数说明如下:
       -a:上述命令列出 tcp, udp 和 unix 协议下所有套接字的所有连接。
      
       -t : 指明显示TCP端口
      
       -u : 指明显示UDP端口
      
       -l:列出正在监听的套接字。任何网络服务的后台进程都会打开一个端口,用于监听接入的请求。这些正在监听的套接字也和连接的套接字一样,也能被 netstat 列出来。
      
       -p : 显示进程标识符和程序名称。
      
       -n : 默认情况下 netstat 会通过反向域名解析技术查找每个 IP 地址对应的主机名。这会降低查找速度。-n选项可以禁用此功能。
      
    • 结束进程----kill -9 PID

    相关文章

      网友评论

        本文标题:linux常用命令

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