Skip to content

Shell 基础知识

基础命令

  • 基础
    • -选项、 空格 输入
    • 命令不指定参数时,回车后可进行连续输入,Ctrl+d 表示结束输入并执行
    • date 机器时间
    • echo aaa bbb 打印
    • 一行中多条命令 使用 ; 分隔
    • 在命令尾部加 & 表示将命令放入后台执行,终端无需等待。
    • ps 输出用户拥有的进程状态
      • PID 父进程 ID STIME 进程开始时间
  • 文件
    • ls -1 列举文件 -1 列展示
    • cat file.md 显示文件内容(文本)cat a b > c 将 a b 连接输出到 c
    • wc file.md 统计文件内容 => 行数 单词书 字符数
    • cp file.md file_1.md 复制文件
    • mv file.md file_1.md 移动文件、更改文件名
    • rm 删除文件
    • -r 选项表示文件夹,用空格指定多个目标参数
  • 目录
    • / 根目录
    • ./ 或 直接名字开头 -> 当前目录
    • ../ 上级目录
    • ?单个字符占位符
    • * [abc] [a-b] [!a-b] 与正则匹配类似
    • \ 转义特殊字符,或者把整个放到引号里(最好)
    • pwd 输出当前目录 print woking dir
    • cd 更改当前目录 不指定参数时 -> 带回主目录
    • mkdir 创建目录
    • ln aaa bbb aaa 文件链接到 bbb,相当于快捷方式
    • rmdir 删除空目录
    • > 输出重定向 前一个命令的输出写入到文件
    • 2> 将错误信息写入文件
    • >> 同上 表示追加内容
    • < 输入重定向 接着作为前一个命令的输入
    • 例子: who > users wc -l < users 输出数字就是当前登陆的用户
    • 使用 | 管道实现上面效果 who | wc -l ls | wc -l 这里 wc 相当于 过滤器

基础概念

  • UNIX 系统内核
    • 实用工具程序 shell,终端登录,shell 启动时出现命令提示符 $
    • 调用程序时,查找 PATH 中指定的所有目录,将程序复制到内存中执行(进程
    • shell 在执行程序前,会先解析命令行,比如上述规则。

常备工具

  • 正则
  • cut 从文件或命令输出中(每行)剪切字符
    • ls | cut -c1-3,5 从 ls 输出中切取位于 1-3 及 第 5 个字符
    • cut -d: -f1,6 file.md: 作为分隔,切取第 1、6 段。-d 默认是 \t 制表符
  • paste 将多个文件的对应行合并输出
    • paste -d: aaa bbb ccc 指定输出的分隔符(默认 \t)指定了多个字符时依次交替进行分隔
    • -s 选项将一个文件的所有行合并
  • sed command file 将 command 命令作用于 file 中的每一行
  • tr from-chars to-chars