这本书买了好久了,除了刚到手的那几天翻看了一下以外,竟然到今天都没有看过。突然想要写一个shell脚本,发现什么也不会,是时候开始学习了,今天先把最简单的一章再看一遍顺便做一些笔记,明天继续后面的!

man命令用来访问存储在Linux系统上的手册页面。在想要查找的工具的名称前面输入man命令,就可以找到那个工具相应的手册条目。

如果你是新接触bash shell,可能一开始会觉得手册页并不太有用。但是,如果养成了阅读手册的习惯,尤其是阅读第一段或是DESCRIPTION部分的前两段,最终你会学到各种技术行话,手册页也会变得越来越有用。[有问题的时候先习惯去看手册!多看手册!熟悉手册!]

如果不记得命令怎么办?可以使用关键字搜索手册页。语法是:man -k 关键字。

在Linux PC上安装的第一块硬盘称为根驱动器。根驱动器包含了虚拟目录的核心,其他目录都是从那里开始构建的。

Linux会在根驱动器上创建一些特别的目录,我们称之为挂载点(mount point)。挂载点是虚拟目录用于分配额外存储设备的目录。

常见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 可变目录,用于存放经常变化的文件,比如日志文件

pwd命令可以用来显示出shell会话的当前目录,这个目录被称为当前工作目录

$ls -F 区分文件和目录,-F参数在目录名后面加了/,以方便用户在输出中分辨它们。

Linux经常采用隐藏文件来保存配置信息。在Linux上,隐藏文件通常是文件名以点号开始的文件。这些文件并没有在默认的ls命令输出中显示出来,因此我们称其为隐藏文件。

$ls -a 要把隐藏文件和普通文件及目录一起显示出来,就得用到-a参数。

$ls -R -R参数是ls命令可用的另一个参数,叫做递归选项。它列出了当前目录下包含的子目录中的文件。

$ls -l -l参数会产生列表格式的输出,包含了目录中每个文件的更多相关信息。

$ls -alF 组合使用多个参数,更容易记忆。

touch命令用于改变文件的修改时间,如果文件不存在,则创建文件。该命令常用于创建空文件。

cp source destination 复制文件。如果目标文件已经存在,cp命令可能不会提醒这一点。最好是加上-i选项,强制shell询问是否需要覆盖已有文件。

cp命令也可以将文件复制到现有目录中。目标目录名尾部最好加上/,表明这是目录而非文件。否则当目录不存在的时候,反而会创建以目录名为名的文件,连错误消息都不会显示!

cp命令的-R参数威力强大。可以用它在一条命令中递归地复制整个目录的内容。

符号链接是一个单独的文件,它指向存放在某个地方的另一个文件,使用$ln -s file sl_file来创建符号链接;而硬链接是原始文件的别名,使用$ln file hl_file来创建硬链接。

mv命令可以将文件和目录移动到另一个位置或重新命名。mv只影响文件名。

也可以使用mv命令移动整个目录及其内容。

rm命令用于删除文件。-i参数提示是不是真的删除该文件。bash shell中没有回收站或垃圾箱,文件一旦删除,就无法再找回。因此,在使用rm命令时,要养成总是加入-i参数的好习惯。

mkdir命令,创建目录。

$mkdir -p New_Dir/Sub_Dir/ 要想创建多级目录,需要加入-p参数。

rmdir命令,删除目录。默认情况下,rmdir命令只删除空目录。

在整个非空目录上使用rm命令。使用-r参数是的命令能够向下进入目录,删除其中的文件,然后再删除目录本身。

file命令,查看文件类型。如果是二进制可执行程序,file命令能够确定该程序编译时所面向的平台以及需要何种类型的库。

cat命令显示文本文件中所有数据。-n参数会给所有的行加上行号。

more命令会显示文本文件的内容,但会在显示每页数据之后停下来。

less命令,more命令的升级版。

tail命令查看文件最后几行的内容。加上-n参数指定所显示的行数。

$tail -f -f参数是一个突出特性。它允许你在其他进程使用该文件时查看文件的内容。tail命令会保持活跃状态,并不断显示添加到文件中的内容。这是实时监测系统日志的绝妙方式。

head命令显示文件开头那些行的内容。

《Linux命令行与shell脚本编程大全》- 读书笔记1 - 基本的bash shell 命令的更多相关文章

  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. 使用sed删除拼音的音调

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  2. Dijkstra and Floyd算法

    Dijkstra算法 算法思想:设G=(V,E)是一个带权有向图,把图中顶点集合V分成两组,第一组为已求出最短路径的顶点集合(用S表示,初始时S中只有一个源点,以后每求得一条最短路径 , 就将加入到集 ...

  3. <CEPH中国-深圳站-技术交流会演讲PPT> YY云平台Ceph Block应用实践 & 我写的书 《CEPH实战》

    YY云平台Ceph Block应用实践 http://s3.yyclouds.com/public/YY%E4%BA%91%E5%B9%B3%E5%8F%B0Ceph%E5%AE%9E%E8%B7%B ...

  4. JavaScript递归原理

    JavaScript递归是除了闭包以外,函数的又一特色呢.很多开发新手都很难理解递归的原理,我在此总结出自己对递归的理解. 所谓递归,可以这样理解,就是一个函数在自身的局部环境里通过自身函数名又调用, ...

  5. AutoMapper 使用心得

    在很久之前就已经有了解到AutoMapper 这一个组件了,但是却一直不明白这个东西要怎么使用,是用来干什么的.经过几经周折之后,看了资料大概5.6次吧,总算理解其中的用途和原理(请原谅我理解能力太差 ...

  6. jsencrypt参数前端加密c#解密

    写程序时一般是通过form表单或者ajax方式将参数提交到服务器进行验证,如何防止提交的请求不被抓包后串改,虽然无法说绝对安全却给非法提交提高了难度,本篇采用jsencypt在前端进行加密的并且用C# ...

  7. 基于DirectShow的MPEG-4视频传输系统的研究与实现

    1 引言     近年来,随着国民经济的发展,社会各个部门对于视频监视系统的需求越来越多.但目前的很多监视系统都跟具体的硬件相关,必须要具体的采集卡的支持才能实现.所以有必要开发一种具有通用性的视频监 ...

  8. AM335x(TQ335x)学习笔记——WM8960声卡驱动移植

    经过一段时间的调试,终于调好了TQ335x的声卡驱动.TQ335x采用的Codec是WM8960,本文来总结下WM8960驱动在AM335x平台上的移植方法.Linux声卡驱动架构有OSS和ALSA两 ...

  9. 【BZOJ1997】Planar(2-sat)

    [BZOJ1997]Planar(2-sat) 题面 BZOJ 题解 很久没做过\(2-sat\)了 今天一见,很果断的就来切 这题不难呀 但是有个玄学问题: 平面图的性质:边数\(m\)的最大值为\ ...

  10. hadoop第二课

    1.1为什么需要Hadoop  (1)数据分析者面临的问题 – 数据日趋庞大,读写都出现性能瓶颈: – 用户的应用和分析结果,对实时性和响应时间 要求越来越高: – 使用的模型越来越复杂,计算量指数级 ...