The Linux Command Line 读书笔记 - 部分内容来自 http://billie66.github.io/TLCL/book/chap06.html


在这之前,我们已经知道了一系列神秘的命令,每个命令都有自己奇妙的 选项和参数。在这一章中,我们将试图去掉一些神秘性,甚至创建我们自己的命令


什么是命令

命令基本分为下面的四类:

  1. 是一个可执行程序,就像我们所看到的位于目录 /usr/bin 中的文件一样。 这一类程序可以是用诸如 CC++ 语言写成的程序编译的二进制文件, 也可以是由诸如 shell,perl,python,ruby 等等脚本语言写成的程序 。
  2. 是一个内建于 shell 自身的命令。bash 支持若干命令,内部叫做 shell 内部命令 (builtins)。例如,cd 命令,就是一个 shell 内部命令。
  3. 是一个 shell 函数。这些是小规模的 shell 脚本,它们混合到环境变量中。 在后续的章节里,我们将讨论配置环境变量以及书写 shell 函数。但是现在, 仅仅意识到它们的存在就可以了。
  4. 是一个命令别名。我们可以定义自己的命令,建立在其它命令之上。

是哪一种命令

这经常很有用,能确切地知道正在使用四类命令中的哪一类。Linux 提供了一个方法来弄明白命令类型。

命令如下:

type - 显示命令的类型

type 命令是 shell 内部命令,它会显示命令的类别,给出一个特定的命令名(做为参数)。


显示一个可执行程序的位置

这个命令只对 可执行程序 有效,不包括 内建命令命令别名,别名是真正的可执行程序的替代物。 当我们试着使用 shell 内建命令时,例如,cd 命令,我们或者得不到回应,或者是个错误信息:

这个可能看具体系统,在我的 Ubuntu 上,内建命令和命令别名有点也可以打印出来。


获取命令文档

上面提到命令可分为四类,根据命令的类别使用不同的方式获取到命令的命令文档。

  1. shell 内建命令的帮助文档 : help 命令名
  2. 可执行程序的帮助文档:命令 --helpman 命令名 (如果第一个得不到信息,则使用第二个)

其中文档的中的 [ ] 代表可选操作,| 代表互斥选项。man 命令查看的文档,可以使用 less 命令操作;

其中man 命令手册,是按照章节分的:

章节 内容
1 用户命令
2 程序接口内核系统调用
3 C 库函数程序接口
4 特殊文件,比如说设备结点和驱动程序
5 文件格式
6 游戏娱乐,如屏幕保护程序
7 其他方面
8 系统管理员命令

man 命令名 ,这里的命令名其实不严谨,应该是 搜索项 ,如果我们直接 man 搜索项 ,那么如果在 man 手册中不同的章节,有相同的内容,比如 passwd ,它就在第一章和第五章都有,分别代表命令 更改用户密码文件格式 密码文本 ;那么如果直接 man passwd 则优先匹配第一个匹配到的,就是第一章的 更改用户密码,因此,想要看具体哪一个章节的,可以指定下:man 5 passwd

其中如果知道某个搜索项的一些字符,可以搜索下,具体的命令名以及所在目录:man -k 命令名(可以是不完整名字,会进行模糊搜索)



第一项列出匹配到的完整名字,第二项列出具体所在的目录;

如果不想模糊匹配,想精确匹配,使用 :whatis 命令名

还有 info命令,不想写了;


用别名(alias)创建你自己的命令

首先讲个小技巧,在一行可以写多个命令,中间使用 ; 分开,命令会被依次执行。

我们可以把这三个在一行的命令,起个别名,变为一个新的命令,这样就只需要输入一个新的命令了。命令如下: alias name='string'

删除别名 unalias name

查看系统中所有别名 alias

我们在 shell 中建立的别名,生命周期仅在当前的 shell 会话期间,shell 关闭以后,别名命令就不复存在,以后会学 将 别名命令,写到文件中,登录系统,这些文件就会建立系统环境,把命令添加进去。

(四)linux 学习 --使用命令的更多相关文章

  1. Linux学习常用命令大全

    Linux知识大全 转载须说明出处,整理不易 一.常用的linux命令 1.2 ls 命令说明 1.3 ls 通配符的使用 2.切换目录cd命令 3.创建和删除文件操作 4.移动和拷贝文件 4.3.m ...

  2. linux 学习 常用命令

     以下命令是本人的CentOS6.5系统 一.linux个目录的作用 #linux个目录的作用 /bin 所有用户都可使用的命令 /sbin 超级用户(root)可以使用的命令 /boot 系统目录建 ...

  3. linux学习笔记命令篇1---命令ls

    前言:  linux中接触最多的就是命令和文件. 命令 命令是有其格式的, 一般格式是command [option] parameter1 parameter2 [paramete3 ...]: 注 ...

  4. linux学习笔记<命令介绍>

    主要介绍日常工作中一些常用的命令,内容均整理自慕课网 命令提示符 [root@hgs ~]# 其中: root : 当前登录用户 hgs : 主机名 ~ : 当前所在目录(家目录),对于root用户, ...

  5. Linux学习 -- 常用命令

    目录处理命令 ls mkdir rmdir pwd cd cp mv rm 文件处理命令 touch cat tac more less head tail 连接命令 ln 软连接 ln -s 类似于 ...

  6. Linux学习—yum命令(转载)

    yum简介 yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器. 基於RPM包管理,能够从指定的服务器自动 ...

  7. Linux学习 - 网络命令

    一.write 1 功能 给指定在线用户发信息,以Ctrl + D保存结束 2 语法 write  <用户名>  [信息] 二.wall(write all) 1 功能 给所有在线用户发送 ...

  8. Linux学习 - 帮助命令

    一.获取帮助信息man(manual) 1 功能 获得命令或配置文件的帮助信息 2 语法 man  [1.5]  [命令或配置文件] 1 命令的帮助 (可用 whatis 代替) 5 配置文件的帮助 ...

  9. Linux学习--alias命令

    alias用于设置命令的别名,具体相应命令如下: 1.alias显示当前设置的别名 2.设置命令别名:  alias  命令名=‘别名命令’ 3.显示指定的别名设置:alias name 4.取消相应 ...

随机推荐

  1. LightOJ - 1333 - Grid Coloring

    链接: https://vjudge.net/problem/LightOJ-1333 题意: You have to color an M x N two dimensional grid. You ...

  2. jeecg uedit 自定义图片上传路径

    jeecg uedit 图片上传配置自定义物理路径,简单描述:我们知道 jeecg 中使用的 uedit 默认图片上传路径为 "当前项目\plug-in\ueditor\jsp\upload ...

  3. 使用terraform 生成自签名证书

    terraform 是一个很不错的基础设施工具,我们可以用来做关于基础设施部署的事情,可以实现基础设施即代码 以下演示一个简单的自签名证书的生成(使用tls provider) main.tf 文件 ...

  4. PostGraphile 4.4 发布,支持real time 查询

    在4.4 之前,real time 是通过插件完成处理的,4.4 直接内置了,还是很方便的功能,总算 和其他类似graphql 平台看齐了,使用上还是挺方便的. 参考资料 https://www.gr ...

  5. 洛谷 P2850 [USACO06DEC]虫洞Wormholes 题解

    P2850 [USACO06DEC]虫洞Wormholes 题目描述 While exploring his many farms, Farmer John has discovered a numb ...

  6. 数据分析师(Data Analyst),数据工程师(Data Engineer),数据科学家(Data Scientist)的区别

    数据分析师(Data Analyst):负责从数据中提取出有用的信息,以帮助公司形成业务决策.工作内容包括:对数据进行提取,清洗,分析(用描述统计量,趋势分析,多维度分析,假设检验等统计常用方法对数据 ...

  7. C博客作业--我的第一篇博客作业

    1你对网络专业或计算机专业了解是怎样的 由于从小就与电脑打交道,对于各类软件的生产非常感兴趣,所以在高三开学查询有什么专业的时候,就打算报与计算机有关的专业.我对计算机专业感到非常神奇,毕竟只是看似简 ...

  8. Comparison of SIFT Encoded and Deep Learning Features for the Classification and Detection of Esca Disease in Bordeaux Vineyards(分类MobileNet,目标检测 RetinaNet)

    识别葡萄的一种虫害,比较了传统SIFT和深度学习分类,最后还做了目标检测 分类用的 MobileNet,目标检测 RetinaNet MobileNet 是将传统深度可分离卷积分成了两步,深度卷积和逐 ...

  9. mysql5.7设置默认的字符集

    修改/etc/my.cnf文件 一.在[mysqld]下添加: default-storage-engine=INNODB character-set-server=utf8 collation-se ...

  10. sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock

    原因:历史软件(包)更新(安装)未完成就退出了系统 解决办法:杀死该进程 sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock ...