Linux笔记3

什么是命令

命令可以是下面四种形式之一:

  • 是一个可执行程序,就像我们所看到的位于目录/usr/bin 中的文件一样。 属于这一类的程序,可以编译成二进制文件,诸如用 C 和 C++语言写成的程序, 也可以是由脚本语言写成的程序,比如说 shell,perl,python,ruby...
  • 是一个内建于 shell 自身的命令。bash 支持若干命令,内部叫做 shell 内部命令 (builtins)。如,cd 命令
  • 是一个 shell 函数。这些是小规模的 shell 脚本,它们混合到环境变量中。
  • 是一个命令别名。我们可以定义自己的命令,建立在其它命令之上。

Linux命令行

type 显示命令类型

[root@senlong playground]# type type
type is a shell builtin
[root@senlong playground]# type ls
ls is aliased to 'ls --color=auto'
[root@senlong playground]# type cp
cp is aliased to 'cp -i'

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

[me@linuxbox ~]$ which ls
/bin/ls

这个命令只对可执行程序有效,不包括内部命令和命令别名

man 显示程序帮助文档

man program

帮助文档的结构

章节

内容

1

用户命令

2

程序接口内核系统调用

3

C 库函数程序接口

4

特殊文件,比如说设备结点和驱动程序

5

文件格式

6

游戏娱乐,如屏幕保护程序

7

其他方面

8

系统管理员命令

alias 设置别名

[me@linuxbox ~]$ cd /usr; ls; cd -
bin  games    kerberos  lib64    local  share  tmp
...
[me@linuxbox ~]$

在一行上联合了三个命令:

首先更改目录到/usr,然后列出目录内容,最后回到原始目录(用命令”cd ~”),结束在开始的地方。

现在,通过 alia 命令 把这一串命令转变为一个命令。

我们要做的第一件事就是为我们的新命令构想一个名字。

比方说”test”。在使用”test”之前,先用type命令查看其是否已经在命令中:

[me@linuxbox ~]$ type test
test is a shell builtin

test”名字已经被使用了。试一下”foo”:

[me@linuxbox ~]$ type foo
bash: type: foo: not found

”foo”还没被占用。创建命令别名:

[me@linuxbox ~]$ alias foo='cd /usr; ls; cd -'

注意命令结构:

alias name='string'

在命令”alias”之后,输入“name”,紧接着(没有空格)是一个等号,等号之后是 一串用引号引起的字符串,字符串的内容要赋值给 name。我们定义了别名之后, 这个命令别名可以使用在任何地方:

[me@linuxbox ~]$ foo
bin   games   kerberos  lib64    local   share  tmp
...
[me@linuxbox ~]$

我们也可以使用 type 命令来查看我们的别名:

[me@linuxbox ~]$ type foo
foo is aliased to \`cd /usr; ls ; cd -\'

删除别名,使用 unalias 命令,像这样:

[me@linuxbox ~]$ unalias foo
[me@linuxbox ~]$ type foo
bash: type: foo: not found

查看系统中的所有别名:

[me@linuxbox ~]$ alias
alias l.='ls -d .* --color=tty'
...

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小狼的世界

Fedora 10 下rsync的配置和使用

rsync是一个提供快速增量文件传输的开源工具。其基于GNU General Public License 发布,目前主要有 Wayne Davison (ht...

8220
来自专栏ionic3+

【开发指南】(六)Ionic3从目录结构理解开发

对比目前其它流行的js框架,个人觉得其分工明确、清晰好理解,我觉得就算一开始头脑一遍空白的新手,对他讲解过一次后都能有个大致印象。

10310
来自专栏我和PYTHON有个约会

爬虫 0030~ requests利刃出鞘

requests第三方封装的模块,通过简化请求和响应数据的处理,简化繁琐的开发步骤和处理逻辑、统一不同请求的编码风格以及高效的数据处理特性等而风靡于爬虫市场。

10010
来自专栏乐百川的学习频道

Golang学习笔记 包和项目构成

工作目录 先来说说Golang的工作目录,安装好Golang后,需要做的一件事情就是设置工作目录,所有的项目、工具、第三方包会存放到工作目录中。默认情况下工作目...

19690
来自专栏移动应用测试

adbui 使用说明

adbui 所有的功能都是通过 adb 命令,adbui 的特色是可以通过 xpath,ocr 获取 ui 元素。

359160
来自专栏iKcamp

走进Node.js 之 HTTP实现分析

作者:正龙(沪江Web前端开发工程师) 本文为原创文章,转载请注明作者及出处 上文“走进Node.js启动过程”中我们算是成功入门了。既然Node.js的强...

40060
来自专栏互扯程序

程序猿必备调试工具postman

现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享。

16120
来自专栏游戏杂谈

关于chrome插件编写的小结

其中manifest文件最为重要,它定义/指明插件应用的相关信息(权限、版本、功能说明等),点此查看Manifest的详情>>

48030
来自专栏北京马哥教育

如何判断目标站点是否为Django开发

老文一篇,几个月以前发在【代码审计】小密圈里的文章,当时是写一个系列(Django安全漫谈),抽出其中的一部分,分享一下。 在黑盒测试的情况下,如何判断一个站是...

33680
来自专栏前端正义联盟

gitflow 开发流程学习(第一部分)

37270

扫码关注云+社区

领取腾讯云代金券