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
      

原文地址:https://www.cnblogs.com/jiumo/p/10182084.html