码迷,mamicode.com
首页 > 系统相关 > 详细

8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重

时间:2018-01-11 01:00:51      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:test   com   head   环境变量   一个   comm   硬件   常用   str   

8.1 shell介绍

shell是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。
用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作。

8.2 命令历史

linux是会有记录的,预设可以记录1000条历史命令。这些命令保存在用户的家目录中的.bash_history文件中。有一点需要你知道的是,只有当用户正常退出当前shell时,在当前shell中运行的命令才会保存至.bash_history文件中。

1) !! 连续两个 ‘!’, 表示执行上一条指令;

[root@localhost ~]# pwd
/root
[root@localhost ~]# !!
pwd
/root
2) !n 这里的n是数字,表示执行命令历史中第n条指令,例如 !1002 表示执行命令历史中第1002个命令;

[root@localhost ~]# history |grep 1002
1002 pwd
1015 history |grep 1002
[root@localhost ~]# !1002
pwd
/root

history 命令如果未改动过环境变量,默认可以把最近1000条命令历史打印出来。

3) !字符串 (字符串大于等于1),例如 !pw 表示执行命令历史中最近一次以 ‘pw’ 为开头的指令。

[root@localhost ~]# !pw
pwd
/root

8.3 命令补全和别名

命令补全就是按tab键,它可以帮你补全一个指令,也可以帮你补全一个路径或者一个文件名。连续按两次tab键,系统则会把所有的指令或者文件名都列出来。

别名

前面也出现过alias的介绍,这个就是bash所特有的功能之一了。我们可以通过alias把一个常用的并且很长的指令别名一个简洁易记的指令。如果不想用了,还可以用unalias解除别名功能。直接敲alias会看到目前系统预设的alias.

alias语法很简单, alias [命令别名]=[‘具体的命令‘]
alias lgx=‘pwd‘
lgx
/root
unalias lgx
lgx
bash: lgx: command not found

8.4 通配符

在bash下,可以使用 * 来匹配零个或多个字符,而用 ? 匹配一个字符。

[root@localhost ~]# ls -d test*
test1.txt test2 test3 test.pl test.txt
[root@localhost ~]# ls -d test?
test2 test3

8.5 输入输出重定向

输入重定向用于改变命令的输入,输出重定向用于改变命令的输出。输出重定向更为常用,它经常用于将命令的结果输入到文件中,而不是屏幕上。输入重定向的命令是<,输出重定向的命令是>,另外还有错误重定向2>,以及追加重定向>>.
mkdir /tmp/10
cd /tmp/10
head /etc/passwd > 1.txt
echo "123" >> 1.txt
cat 1.txt

8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重

标签:test   com   head   环境变量   一个   comm   硬件   常用   str   

原文地址:http://blog.51cto.com/12058686/2059643

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!