• (四)linux 学习 --使用命令


    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 关闭以后,别名命令就不复存在,以后会学 将 别名命令,写到文件中,登录系统,这些文件就会建立系统环境,把命令添加进去。

  • 相关阅读:
    python中使用cookies免登陆
    python中列表与元组的区别与转换
    python模块之mock
    python模块之Faker
    python模块之requests
    adb简单命令使用
    Mac下安装appium+python+Android sdk 环境完整流程
    git+pycharm结合使用
    github内的一些操作
    mac下git连接远程仓库gitee
  • 原文地址:https://www.cnblogs.com/young-youth/p/11665561.html
Copyright © 2020-2023  润新知