Linux® Command Line and Shell Scripting Bible Third Edtion笔记之:第三章:基础Bash Shell命令

全书笔记目录https://www.cnblogs.com/taceywong/p/9383439.html


(由于我平常用的系统是Mac和Ubuntu,终端模拟器是iterm2/gnome terminal,使用的Shell是zsh(与bash兼容),显示可能会和书上略有不同)

在接触bash的时候都会接触到一个命令man,是manual(手册)的缩写。这个是bash手册命令,用于查看shell命令的相关信息。比如在输入man hostname,会像下面这样显示hostname的相关帮助描述:

Linux的Man页面约定有以下内容(并不是所有的man页面都完全拥有这些内容,也有些不符合标准):

  • Name:显示命名名称和简短的介绍
  • Synopsis:显示命令语法
  • Configurtion:提供配置信息
  • Description:描述命令
  • Options:描述命令选项
  • Exit Status:定义命令退出标志码
  • Return Value:描述命令返回值
  • Error:提供命令错误信息
  • Evironment:描述使用的环境变量
  • Files:定义命令使用的文件
  • Versions:描述命令版本信息
  • Conforming To:提供标准流
  • Note:描述额外的帮助材料
  • Bugs:提供反馈发现Bug的方式
  • Example:显示命令使用样例
  • Authors:显示命令开发者信息
  • Copyright:定义命令代码版权信息
  • See Also:引用相似可用命令

为了方便,man页面提供了section区,从1-9:

  • 1 可执行程序或者shell命令
  • 2 系统调用
  • 3 库调用
  • 4 特殊文件
  • 5 文件格式或约定
  • 6 游戏
  • 7 概览和约定
  • 8 超级用户或者系统管理员命令
  • 9 内核例程

可以使用man 7 hostname这样的形式进行查看。

man相似功能的是info命令

访问文件系统

路径

需要注意的是Linux路径形式:/Users/tacey/Documents,是以反斜杠/分割的。

Linux的不同目录可以挂载不同的硬盘,示例:

一般Linux目录名称及用途

+ / 根目录(虚拟目录的根),一般情况下,不会再根目录放置文件
+ /bin 二进制目录,存储GNU用户级工具集
+ /boot   启动加载目录,存储启动文件
+ /dev 设备目录,Linux创建设备结点的地方
+ /etc  系统配置文件目录
+ /home 家目录,Linux创建用户的目录
+ /lib   库目录,存储系统和应用的库文件
+ /media   媒体目录,一般用来挂载可移除设备
+ /mnt  挂载目录,另外一个用来挂载可移除设备的木
+ /opt   可选目录,经常用来存储第三方软件包
+ /proc   进程目录,存储当前硬件和进程的信息
+ /root root用户家目录
+ /sbin   系统二进制目录,存储GNU管理级工具集
+ /run  运行目录,系统操作运行时数据存储所在
+ /srv   服务目录,本地服务存储文件的地方
+ /sys 系统目录,存储系统硬件信息
+ /tmp   临时目录,临时工作文件,可以创建和销毁
+ /usr   用户二进制目录,GNU用户级工具和数据文件存储所在
+ /var   变量目录,存储频繁变更的文件,例如日志

更完整的描述可以查阅FHS

遍历目录

  • cd 目标目录(可相对,可绝对) 切换目录
    • cd ~回到家目录(~可省略)
    • cd / 切换到根目录
    • cd -返回先前目录
    • cd ..返回上级目录
  • pwd显示当前绝对路径

列出目录的文件

  • ls列出当前目录下可见文件及文件夹名
    • ls -F给目录加上反斜杠
    • ls -a列出所有文件包括隐藏文件
    • ls -R递归
    • ls -l 增加文件名更多的信息
      • 文件类型(d目录、-文件、l链接文件、c字符设备、b块设备)
      • 文件权限
      • 文件拥有者
      • 文件主要用户组
      • 文件byte大小
      • 文件最后被修改的时间
      • 文件或目录名
    • ls --time=atime文件访问时间
    • ls 通配符 对列出文件进行过滤

处理文件

  • touch 文件名创建文件
  • cp 源文件 目标文件名拷贝文件 +cp -i重名进行询问是否覆盖 +cp 通配符`符合通配符的进行复制
  • ln 源文件 目标文件创建硬链接(必须在相同物理设备上) +ln -s `创建软连接
  • mv 源文件名 新文件名重命名(Linux用剪切覆盖rename职能)
  • rm 文件删除文件
    • rm -i需要确认

管理目录

  • mkdir 文件夹名称
    • mkdir -p创建多级目录
  • rm -rf移除非空目录
  • tree 目录树结构显示目录

查看文件内容

  • file 文件名查看文件类型
  • cat 文件名查看文件全部内容
    • cat -n添加行号
    • cat -b添加行号,但是空行不添加
    • cat -T不显示制表符
  • more 文件名迭代读取
  • less 文件名
  • tail
    • tail -n
  • head
    • head -n

猜你喜欢

转载自www.cnblogs.com/taceywong/p/9384057.html
今日推荐