Linux书本笔记1

《Linux命令行与shell脚本编程大全》

第3-5章

3 基本的bash shell命令

3.3 bash手册

  • man 关键字 :进入手册页 q :退出手册页
  • man -k 关键字 :查找命令
  • info 关键字
  • 关键字 -help

3.4 浏览文件系统

3.4.1 Linux文件系统

  • / 划分目录 \ 标识转义字符
  • 常见Linux目录名称 见书P39 表3-3

3.4.2 遍历目录

  • cd :切换到用户主目录
  • cd 文件路径 :切换到目标路径
  • pwd :显示当前目录
  • ../ :上级目录

3.5 文件和目录列表

3.5.1 基本列表功能

  • ls :显示当前目录下的文件和目录
  • ls -a :同时显示隐藏文件(以.开头的文件)
  • ls -R :递归 列出当前目录下所有子目录中的文件(包括子目录的子目录)

3.5.2 显示长列表

  • ls -l :显示更多信息

3.5.3 过滤输出列表

  • ls 参数 文件名
  • 通配符
    • ?一个字符
    • *任意个字符
    • [ai] a或i
    • [a - i] a到i的任一字符
    • [!a] 除a以外的字符

3.6 处理文件

3.6.1 创建文件

  • touch 文件名 :创建空文件
  • touch已有文件:改变文件的修改时间
  • touch -a 文件名 :改变文件的访问时间
  • ls -l --time=atime 文件名:显示已修改的文件的访问时间

3.6.2 复制文件

  • cp 源对象 目标对象:复制一个新文件
  • cp -i 源对象 目标对象:强制询问是否覆盖已有文件
  • cp 源对象 目标目录/:复制到目标目录下
  • cp 源路径 . :复制到同一目录下
  • cp -R 源目录/ 目标 :复制整个目录中的内容
  • ls -d 目录:只输出目录本身信息,不列出其中的内容

3.6.4 链接文件

  • ln -s 原始文件 符号链接:得到一个指向原始文件的符号链接,两者是不同的文件
  • ls -i 路径:查看文件或目录的inode号(文件或目录的唯一标识)
  • ln 原始文件 硬链接:得到一个独立的虚拟文件,实际上是同一个文件
  • 同一个文件可以有多个链接
  • 不要创建软链接文件的软链接

3.6.5 重命名文件

  • mv a b : 将a重命名为b
  • mv a 目录/:将a移动到新的目录下
  • mv -i a b:提示是否覆盖同名文件
  • mv 路径/文件名 路径/文件名:移动的同时重命名
  • mv 目录 目录:移动整个目录及其内容

3.6.6 删除文件

rm -i 文件:询问是否确认删除
rm -f 文件:强制删除,不受提示符打扰

3.7 处理目录

3.7.1 创建目录

  • mkdir 目录名:创建新目录
  • mkdir -p 目录名:同时创建多级子目录

3.7.2 删除目录

  • rmdir 目录名:删除空目录
  • rmdir -ri:删除目录下文件,再删除目录
  • rmdir -rf:强制删除整个目录,没有警告信息

3.8 查看文件内容

3.8.1 查看文件类型

  • file 文件名:查看文件类型

3.8.2 查看整个文件

  • cat 现实文本文件的内容
    • -n 给所有的行加上行号
    • -b 只给有文本的行打上行号
    • -T 用^I替代制表符
  • more 按空格或回车逐行浏览,按q退出
  • less 按上下键或上下翻页键浏览,按q退出

3.8.3 查看部分文件

  • tail 文件名 :查看最后十行
  • tail -n x 文件名 :查看最后x行
  • tail -f 文件名 :实时监测文件末尾
  • head 文件名:查看开头10行
  • head -x 文件名:查看开头x行

4 更多的bash shell命令

4.1 监测程序

4.1.1 探查进程

  • ps 参数见P65-70

4.1.2 实时监测进程

  • top

4.1.3 结束进程

  • kill PID:尽可能结束
  • kill -s 信号名or信号值:强制终止
  • killall 信号名or信号值:支持通配符

4.2 监测磁盘空间

4.2.1 挂载存储媒体

  • mount:输出挂载列表
  • mount -t type device directory:手动挂载
  • umount [directory | device]:卸载

4.2.2 使用df命令

  • df :查看已挂载磁盘的使用情况
    • -h:以M、G单位显示

4.2.3 使用du命令

  • du:显示当前目录下所有文件、目录的磁盘使用情况

4.3 处理数据文件

4.3.1 排序数据

  • sort 文件名:排序
    • -n:按值排序
    • -M:按月排序
    • -t '...':按...分割字段
    • -k x:按第x个字段排序
    • -r:降序
    • 例: sort -t ':' -k 3 -nr file1

4.3.2 搜索数据

  • grep [option] pattern [file]
    • -v 反向搜索
    • -n 显示所在行号
    • -c 统计匹配行数
    • -e 匹配多个字符 例:grep -e a -e b file
  • 正则表达式
    • grep [ab] file:匹配a或b

4.3.3 压缩数据

  • gzip压缩 gzcat查看压缩文本的内容 gunzip解压

4.3.4 归档数据

  • tar function [options] objecti1 object2 ... 参数见P84
  • 例:
    • tar -cvf test.tar test/ test2/ 创建归档文件
    • tar -tf test.tar 列出内容
    • tar -xvf test.tar 提取内容
  • tar -zxvf filename.tgz 解压.tgz文件

5 理解shell

5.2.1 进程列表

  • ( ; ) 创建子shell执行命令
  • { command; } 不创建子shell执行命令
  • echo $BASH_SUBSHELL:返回子shell的层级
5.2.2.1 后台模式
  • 命令末尾加&
  • jobs:显示后台模式中所有用户的进程
5.2.2.3 协程
  • coproc 命令:在后台生成一个子shell,并在其中执行命令
  • coproc 进程名 { 命令; } : 创建协程时命名

5.3.1 外部命令

  • which 命令 :找到外部命令位置
  • type -a 命令 :查看命令的不同实现(内外都可以)

5.3.2 内建命令

  • history
    • !! :执行最后一条命令
    • bash命令的历史记录在退出后才写入
    • history -a :强制写入
    • history -n :强制重新读取.bash_history文件
    • !x :重用第x行命令
  • alias
    • -p 查看当前可用的别名
    • alias 别名='命令'

最后,向大家隆重推荐生信技能树的一系列干货!

  1. 生信技能树全球公益巡讲:https://mp.weixin.qq.com/s/E9ykuIbc-2Ja9HOY0bn_6g
  2. B站公益74小时生信工程师教学视频合辑https://mp.weixin.qq.com/s/IyFK7l_WBAiUgqQi8O7Hxw
  3. 招学徒https://mp.weixin.qq.com/s/KgbilzXnFjbKKunuw7NVfw

你可能感兴趣的:(Linux书本笔记1)