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. 【洛谷P5050】 【模板】多项式多点求值

    code: #include <bits/stdc++.h> #define ll long long #define ull unsigned long long #define set ...

  2. 洛谷 P4779 【模板】单源最短路径(标准版) 题解

    P4779 [模板]单源最短路径(标准版) 题目背景 2018 年 7 月 19 日,某位同学在 NOI Day 1 T1 归程 一题里非常熟练地使用了一个广为人知的算法求最短路. 然后呢? 100 ...

  3. 安卓入门教程(十五)- Fragment,Service,WAMP下载

    Fragment概述 Fragment可以被嵌入到Activity中,一个Activity可以有多个Fragment. 创建Fragment public class MyFragment exten ...

  4. Linux环境下Nexus3.6安装

    1.  安装JDK   2. 下载nexus开源版本即可,Nexus OSS下载 流程 3.  解压文件,会的得到两个文件夹[nexus-3.6.0]和[sonatype-work] tar -zxv ...

  5. fluent将出口温度赋值给入口

    Fluent版本:Fluent18.2 首先我们启动Fluent 然后按照正常的流程进行模型缩放,材料的设置,边界条件的设置等等,然后初始化. 在完成了算例的初始化以后 (define (OutToI ...

  6. 【算法编程 C++ Python】二维数组查找

    题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 思路: 最简单:每一行都 ...

  7. compass和paoding分词器的基本使用

    1.实现搜索的技术: 数据库查询:like查询:lucene全文检索技术: 1)在数据量比较大,查询字段比较多的情况下,如果采用数据库like sql查询,性能比较差:采用lucene来查询,性能相对 ...

  8. 20189220 余超《Linux内核原理与分析》第三周作业

    操作系统如何工作的 第二章的基础知识 计算机的三大法宝:存储程序计算机,函数调用堆栈机制,中断. 堆栈:堆栈是C语言程序运行时必须使用的几率函数条用路径和参数存储的空间,具体作用分为:记录函数条用的框 ...

  9. 关于java nio的channel读写的一个困惑

    这里提的需求基本都是IM的,IM的解决方案是怎么样的? 网上的需求: 1. 某一用户发了一条信息, 需要服务器反回一个信息(这种最简单) 2. 某一用户发了一条信息,需要服务器广播给所有客户端 3. ...

  10. java 465端口发送邮件

    package com.fr.function; import java.io.IOException; import java.security.Security; import java.util ...