终端

  • tty(teletypewriters):控制台,早期计算机通过电传打字机作为输入设备
  • Console:控制台终端,即显示器
  • Ctrl+Alt+T:图形界面终端
  • Ctrl+Alt+F2:tty2
  • Ctrl+Alt+F1:回到图形界面
  • #:root用户(Ctrl+D 或 exit 退出)
  • $:普通用户(通过 sudu su 切换到root)

操作

  • whoami:用户名
  • hostname:电脑名
  • date:日期
  • ls(list):列出当前目录下的文件和目录
    • -a(all):全部文件,包括隐藏文件
    • -l:列出详细信息
    • -lh(human-readable):适于阅读的
    • -t:按文件最近一次修改时间排序
    • 不同颜色意义(Ubuntu)
      • 蓝色 --> 目录
      • 绿色 --> 可执行文件
      • 红色 --> 压缩文件
      • 浅蓝色 --> 链接文件
      • 灰色 --> 其他文件
  • Tab:补全命令
  • Ctrl + R:查找用过的命令
  • history:列出之前用过的命令(!编号:调用命令)
  • Ctrl + L:用于清理终端的内容
  • Ctrl + D:给终端传递EOF(End Of File 文件结束符)
  • Shift + PgUp:向上滚屏
  • Shift + PgDn:向下滚屏
  • Ctrl + A:光标跳到一行命令开头(Home)
  • Ctrl + E:光标跳到一行命令的结尾(End)
  • Ctrl + U:删除所有光标左侧的命令字符
  • Ctrl + K:删除所有光标右侧的命令字符
  • Ctrl + W:删除光标左侧的一个单词
  • Ctrl + Y:粘贴删除掉的字符

文件

  • 普通文件:文本、声音、程序等
  • 特殊文件:设备、目录等
  • /:根目录
  • ~:家目录(具体位置与用户有关)
  • 目录命名时用小写英文字母
  • 根目录的直属子目录:
    • bin:二进制文件(可执行程序)
    • boot:启动相关文件
    • dev:设备
    • etc:系统配置文件
    • home:私人目录,每个用户在home下都有一个私人目录
    • lib:库,被程序调用的库文件
    • media:媒体
    • mnt(mount):挂载点
    • opt(optional application software package):可选的应用软件包
    • root:超级用户root的家目录(其他用户位于home下)
    • sbin(system binary):系统二进制文件,系统级的重要可执行程序
    • srv(service):服务
    • tmp(tempory):临时的,普通用户存放临时文件的地方
    • usr(Unix Software Resource Unix):操作系统软件资源,程序安装处
    • var(variable):log文件等
  • pwd(Print Working Directory):打印当前工作目录
  • which:显示一个命令对应可执行程序的位置
  • 命令其实就是一个随时可以被调用的程序
  • .(一个点):当前目录
  • ..(两个点):上一级目录
  • cd(change directory):切换目录(直接cd会返回家目录)
  • du(disk usage):磁盘使用
    • -h:适合阅读的
    • -a:显示文件和目录的大小
    • -s(summarize):只显示总大小

  • cat(concatenate):把文件连接界起来打印到标准输出

    • -n:添加行号
  • less:分页显示文件内容
    • 空格:前进一页
    • 回车:前进一行
    • d:前进半页
    • b:后退一页
    • y:后退一行
    • u:后退半页
    • q:退出
  • head:显示文件头
  • tail:显示文件尾
  • touch:创建一个空白文件
  • mkdir(make directory):创建一个目录
    • -p:递归创建目录
  • cp(copy):拷贝文件
    • -r:递归拷贝目录中所有内容
  • mv(move):移动文件或目录,重命名
  • rm(remove):删除
    • -i:确认是否删除
    • -f:强制删除
    • -r:递归删除
  • ln:创建链接
    • ln file1 file2

      • 创建 file2 作为 file1的硬连接
      • file2指向file1的文件内容(inode)
      • 2代表拥有相同inode号的文件数
      • 删除一个对另一个没影响
    • ln -s file1 file2
      • 创建 file2 作为 file1的软连接(快捷方式)
      • file2指向file1的文件名
      • file1和file2的inode号不一样
      • 删除file1后file2就不可用了

  • locate:快速查找

    • 返回文件路径
    • 查找文件数据库,而不是硬盘
    • 文件数据库每天更新一次
    • sudo update:强制更新
  • find:深入查找
    • find “何处” “何物” “做什么”
    • 何处:指定哪个目录查找
    • 何物:找什么(必须)
    • 做什么:找到后的后续处理
    • 遍历实际硬盘
    • -name:指定文件名
    • -size:指定大小
    • -atime:指定时间
    • -type d:只查找目录
    • -type f:只查找文件
    • -printf:打印
    • -delete:删除
    • -exec:对找到的文件进行操作
  • grep:筛选数据

    • Globally search a Regular Expression and Print
    • 全局搜索一个正则表达式并打印
    • 在文件中查找关键字并显示其所在的行
    • -i:忽略大小写
    • -n:显示行号
    • -v:显示文本不在的行
    • -r:在所有子目录和子文件中查找
    • -E:使用正则表达式
  • sort:文件排序
    • -o:将排序后内容写入新文件
    • -r:反排序
    • -R:随机排序
    • -n:对数字排序
  • wc:文件统计
    • word count
    • 行数,单词数,字节数
    • -l:统计行数
    • -w:统计单词数
    • -c:统计字节数
    • -m:统计字符数
  • uniq:删除文件重复内容
    • -c:统计重复行数
    • -d:只显示重复行的值
  • cut:剪切文件部分内容
    • -c:根据字符数剪切
  • 重定向
    • >:将命令的输出结果重定向到指定文件中(覆写)

      • cut -d , -f 1 notes.csv > students.txt
    • >>:将命令的输出结果重定向到指定文件的末尾
    • 2>:将标准错误输出重定向到指定文件中(覆写)
      • cat not_exist_file.csv > results.txt 2> errors.log
      • 将标准输出重定向到 results.txt 文件中
      • 将标准错误输出重定向到 errors.log 文件中
      • 假如 not_exist_file.csv 这个文件确实存在,将其内容写入 results.txt 文件中
      • 假如 not_exist_file.csv 这个文件不存在,将错误信息写入 errors.log 文件中
    • 2>>:将标准错误输出重定向到指定文件的末尾
    • 2>&1:合并输出
      • cat not_exist_file.csv > results.txt 2>&1
      • 将所有输出(标准输出和标准错误输出)都重定向到 results.txt 文件中
      • cat not_exist_file.csv >> results.txt 2>&1
      • 追加错误信息到 results.txt 文件中
    • <:从文件读取
      • cat < notes.csv
      • 效果和 cat notes.csv 一样
    • <<:将键盘的输入重定向为某个命令的输入
      • sort -n << END
      • 从键盘输入字符并排序,END结束
      • sort -n << END > numbers_sorted.txt 2>&1
      • 将排序结果连同错误信息都输出到numbers_sorted.txt

  • 管道

    • 命令1的输出变成命令2的输入
    • cut -d , -f 1 notes.csv | sort > sorted_names.txt
      • 剪切文件部分内容并排序输出到另一个文件
    • du | sort -nr | head
      • 查看当前目录下按参数排序的前十个子目录
    • sudo grep log -Ir /var/log | cut -d : -f 1 | sort | uniq
      • sudo grep log -Ir /var/log :遍历 /var/log 这个目录及其子目录,列出所有包含 log 关键字的行
      • cut -d : -f 1 :从输出结果中只剪切出文件名那一列(由冒号分隔)
      • sort :将文件名的列以首字母的字典顺序进行排序
      • uniq :去掉重复的文件名

参考

Linux命令大全

https://man.linuxde.net/

[Linux] Linux命令行与Shell脚本编程大全 Part.1的更多相关文章

  1. Linux命令行与shell脚本编程大全.第3版(文字版) 超清文字-非扫描版 [免积分、免登录]

    此处免费下载,无需账号,无需登录,无需积分.收集自互联网,侵权通知删除. 点击下载:Linux命令行与shell脚本编程大全.第3版 (大小:约22M)

  2. 《Linux命令行与shell脚本编程大全 第3版》创建实用的脚本---11

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  3. 《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---47

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  4. 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---57

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  5. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---57

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  6. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---56

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  7. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---55

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  8. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---54

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  9. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---53

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  10. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---52

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

随机推荐

  1. 高可用负载均衡 haproxy+keepalived

    服务器 20.0.0.206    10.0.0.206 bs-hk-hk01 高可用负载均衡节点 2c2g 20.0.0.207    10.0.0.207 bs-hk-hk02 高可用负载均衡节点 ...

  2. DSP代码搬运至RAM运行

    程序运行过程中,有些函数或程序段和数据等经常调用,正常情况下在FLASH中运行处理消耗时间和资源较大,通常将其移植至RAM中运行,可提高运行效率. 如: 1 #pragma CODE_SECTION( ...

  3. MySQL常用配置参数说明

    1.sync_binlog sync_binlog=0,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘,而让Filesystem自行决定什么时候来 ...

  4. java面试-JVM常用的基本配置参数有哪些?

    1.-Xms 初始大小内存,默认为物理内存 1/64,等价于 -XX:InitialHeapSize 2.-Xmx 最大分配内存,默认为物理内存的 1/4,等价于 -XX:MaxHeapSize 3. ...

  5. keepalived安装及组合nginx配置负载实现高可用

    目录 1. Keepalived安装配置 1.1 官网下载tar包 1.2 上传到指定目录安装 1.3 配置文件 1.4 配置nginx检测脚本文件 1.5 keepalived 启动/重启/停止/查 ...

  6. 使用CSS3中Canvas 实现两张图片合成一张图片【常用于合成二维码图片】

    CSS3 Canvas 实现两张图片合成一张图片 需求 需求:在项目中遇到将一张固定图片和一张二维码图片合成一张新图片,并且用户能够将图片保存下载到本地. 思路:使用 CSS3 中的 Canvas 将 ...

  7. Java后端进阶-网络编程(Netty责任链Pipeline)

    设计模式-责任链模式 一个责任链模拟demo package com.study.hc.net.netty.demo; // -----链表形式调用------netty就是类似的这种形式 publi ...

  8. Effective Java 笔记

    1. 静态工厂 静态工厂的第 5 个优点是,在编写包含该方法的类时,返回的对象的类不需要存在.他的意思是面向接口编程??就是说我们只需知道接口,具体实现类是否存在没有关系?? 只提供静态工厂方法的主要 ...

  9. CloudIDE:为开发者写代码开启“加速”模式

    摘要:华为云CloudIDE,以软件基础技术结合新时代业务场景,给开发者提供更高效.优质的开发体验,帮助开发者实现业务创新新动力,以硬核技术重塑云原生开发生产力. 本文分享自华为云社区<华为云C ...

  10. IDEA 2021版新建Maven、TomCat工程

    目录 2021版IDEA中Maven.TomCat配置 1.基于Webapp创建一个Maven项目 1.1 新建项目模板 1.2 指定名称 1.3 指定信息 1.4 指定Maven地址 1.5 构建成 ...