Linux命令行与shell脚本编程大全(第三版)读书笔记
第 1 章 初识Linux shell
什么是Linux
- Linux结构:四部分
- Linux内核四种基本功能
- GNU工具
- 桌面环境
Linux发行版
第 2 章 走进shell
第 3 章 基本的bash shell命令
bash手册
你不可能记住所有命令!
- man + 命令:查看bash手册
- 大多数命令可以接受-help或–help选项
浏览文件系统
- Linux文件系统
- 遍历目录:
- 显示当前工作目录: pwd
- 跳回主目录: cd
- 绝对路径与相对路径:
单点符(.):表示当前目录
双点符(..):表示当前目录的父目录
文件和目录列表
ls命令:
- 区分文件和目录: -F (目录后加/,可执行文件加*)
- 显示隐藏文件: -a
- 递归选项: -R
- 显示长列表: -l
- 按易读方式显示文件大小: -h
每一行都包含了关于文件的信息:
- 文件类型
- 文件的权限
- 文件的硬连接总数
- 文件属主的用户名
- 文件属组的组名
- 文件的大小(字节为单位)
- 文件的上次修改时间
- 文件名或目录名
常用组合:ls -alF
- 过滤输出列表:
- 代表一个字符:?
- 代表零个或多个字符:*
- 包含字符内容:[] [!]
- 只列出目录本身的信息,不列出其中的内容:-d
- 查看文件或目录的inode编号:-i
处理文件
- 创建空文件: touch 同时改变文件的修改时间
- 只改变访问时间: touch -a
- 查看文件访问时间: ls -l –time=atime
- 复制文件: cp source destination (加上i选项,强制shell询问是否需要覆盖已有文件)
!注意:目标名尾部加上一个/表明是目录,避免当作文件处理尤其是该文件不存在时会出现意想不到的错误
- 递归复制整个目录中的内容: -R
- 支持通配符
- 使用制表符自动补全
- 链接文件:虚拟的副本。链接是目录中指向文件真是位置的占位符。有两种不同类型的文件链接:
- 符号链接:ln -s (是独立文件,与原文件大小不同)
- 硬连接: ln (虚拟文件,包含了原始文件的信息及位置,从根本上而言是同一个文件)
- 重命名文件或移动位置: mv [-i]
- 删除文件: rm -i
- 删除很多文件不提示(慎用): rm -f
处理目录
- 创建目录: mkdir
- 同时创建多个目录和子目录: mkdir -p
- 删除目录(只能删除空目录): rmdir
- 在整个非空目录上使用(进入目录并挨个提示删除):rm -ri
- 没有警告,全部删除(慎用): rm -rf
- 了解目录结构: tree
查看文件内容
- 查看文件类型:file
- 显示文本文件:cat
- 加上行号: -n
- 只给有文本的行加行号: -b
- 不让制表符出现: -T
- 一页一页显示文本文件: more
- more升级版(实现上下键翻页): less
- 查看末尾(默认末尾10行):tail
- 修改显示行数:-n +数字
- 实时监测: -f
- 查看开头(同上):head