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

    Linux命令和参数

    语法格式

    命令 空格 参数 空格 【文件或路径】需要处理的内容
    rm -rf /tmp/*
    ls -la /home
    • 一般情况下,【参数】是可选的,一些情况下【文件或路径】也是可选的
    • 参数 > 同一个命令,跟上不同的参数执行不同的功能
    • 执行linux命令,添加参数的目的是让命令更加贴切实际工作的需要!
    • linux命令,参数之间,普遍应该用一个或多个空格分割!

    常用命令:

    1. mkdir:make directory > mk dir > mkdir

      • -p: 递归创建文件

      • mkdir -p a/b c/d
        mkdir -p a/b/c/d
        
      • { }: 在批量添加目录

      • mkdir -p {a,b,c,d}
        mkdir -p test/{a,b,c}
        
    2. ls:

      • -l: 以列表形式显示文件(能够显示文件的时间记录)
      • -a: 显示所有隐藏的文件(Linux以 . 开头的文件或者文件夹都是隐藏的)
    3. rm:删除

      • -i:需要删除确认(默认值)

      • -r:递归删除

      • -f:强制删除

      • -rf:强制删除文件夹和文件,并且无任何提示(删库跑路!!!)

      • rmdir:删除空的文件夹

    4. cd:查看目录

      • ' . ': 当前目录
      • ' .. ': 上一级工作目录
      • ' - ': 代表上一次的工作目录
      • ' ~ ': 代表当前用户家目录
    5. pwd: 打印当前工作目录

    6. touch:修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

      • -t:设定档案的时间记录,格式与 date 指令相同
      • -d:设定时间与日期,可以使用各种不同的格式
    7. echo: 在终端输出字符串或变量提取后的值

      • $: 打印变量的值(echo $PATH: 打印环境变量值)

      • '>': 重定向符,清空原文件所有内容,然后把文字覆盖到文件末尾

      • '>>': 重定向追加符,把文字追加到文件的结尾

        echo "重定向写入文件" > jimo.txt
        echo "追加重定向写入文件" >> jiumo.txt
        
    8. cat:查看文本(适合短文本)

      • -n: 显示行号
    9. more: 查看文本(适合长文本)

      • #  "百分比"形式
        按下空格space是翻页
        按下b键是上一页
        回车键向下读取内容
        
    10. less: 查看文本(适合长文本)

      • less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
        
    11. stat:显示文件或文件系统的状态

      • # 显示文件权限
        stat -c %a 1.txt
        644
        stat -c %A 1.txt
        -rw-r--r--
        
        # 格式化输出参数:
          %a    八进制权限
          %A   用可读性较好的方式输出权限
        
    12. man: 命令手册(如: man ls)

    13. mv:移动、改名

      • # 移动
        mv /home/jiumo.txt /usr/
        # 文件/文件夹改名
        mv jiumo.txt wbw.txt
        
    14. cp: 拷贝(cp 旧文件 新文件)

      • -r:递归
      • -p:复制文件,同时保持文件属性不变,可以用stat
      • -a:相当于-pdr
    15. find: 查找文件[ 在哪里(目录) 什么类型(文件类型) 叫什么名字(文件名) ]

      • -type:定义文件类型(f: 文件, d: 目录)

      • -name:按照文件名查找文件

      • # find / -type -name
        find /home -type f -name "*.txt"
        
    16. ps

      • -ef: 查询所有进程
    17. grep: 文本搜索工具,使用正则表达式搜索文本,并把匹配的行打印出来

      • -v: 排除

      • -i:或略大小写

      • -n:输出行号

      • grep "123" jiumo.txt 
        grep -v "123456" jiumo.txt 
        # 找出/etc/passwd下root用户所在行,以及行号,显示颜色
        cat /etc/passwd |grep '^root' --color=auto -n
        ==> 1:root:x:0:0:root:/root:/bin/bash
        
    18. head、tail:展示文件头(尾)部内容,可以指定行号(默认显示10行)

      • -5:指定行数

      • tail -f:实时监控的命令(持续刷新的过程)

      • # 显示文件10-30行
        head -30 /home/jiumo.txt | tail -21
        
    19. alias:查看系统别名

      • # 设置新的别名
        alias jiumo='cd'
        # 删除别名
        unalias jiumo
        
      • 为re设置别名
        
        ## 让系统显示 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
        
    20. which:于查找并显示给定命令的绝对路径

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

      • -r:递归复制整个目录

      • -v:详细方式输出

      • -q:不显示传输进度条

      • -c:允许压缩

      • # 传输自己的文件,给远程服务器
        scp 本地文件  远程用户名@远程ip:远程文件夹/
        scp 本地文件  远程用户名@远程ip:远程文件夹/远程文件名
        
        scp /tmp/wbw.py root@192.168.1.155:/home/
        scp /tmp/wbw.py root@192.168.1.155:/home/wbw.py
        
        scp -r  本地文件夹  远程用户名@远程ip:远程文件夹/
        scp -r /tmp/jiumo root@192.168.1.155:/home/jiumo
         
        # 传输远程服务器的文件,到自己的本地
        scp root@ip:/文件    /文件
        
        scp root@192.168.1.155:/home/jiumo.txt /tmp/jiumo.txt
        scp -r root@192.168.1.155:/home/jiumo /home/
        
    22. du:显示目录或文件的大小

      • -s:显示总计,无单位

      • -h:列表显示单个文件。以k,M,G为单位显示,可读性强

      • -sh:文件合计

    23. top:于动态地监视进程活动与系统负载等信息

      • img

      • # 统计信息区
        第一行 (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:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。
        
    24. chattr

      • +a:加锁,只能写入数据,无法删除。
      • -a:去锁
    25. data:查看时间

      • ntpdate -u ntp.aliyun.com:同步到阿里云
    26. wget:在终端下载网络文件

      • # 递归下载XXX所有资源,保存到www.xxx.com文件中
        wget -r -p http://www.xxx.com
        

  • 相关阅读:
    浅析Java中的final关键字
    浅谈JAVA集合框架
    While reading XXX pngcrush caught libpng error: N
    git/svn里面的merge和rebase区别
    kvc kvo 总结---180313
    iOS 拨打电话三种方式总结
    IOS中获取各种文件的目录路径的方法-备
    文件管理系统-备
    iOS界面调试工具 Reveal-备用
    十六进制string转换UIColor -备用
  • 原文地址:https://www.cnblogs.com/jiumo/p/10182084.html
Copyright © 2011-2022 走看看