认识shell
来源:互联网 发布:laravel mac 环境 编辑:程序博客网 时间:2024/06/05 01:16
0X00、什么是shell?
shell将我们输入的指令与内核(kernel)通信,是提供给用户的操作系统接口。广义的shell既包括命令行界面的也包括图形界面的。
0X01、有哪几种shell?
- bash(Bourne Again SHell,GNU,Linux默认的shell)
- csh(C SHell,Sun公司)
- ksh(Kornshell,AT&T Bell lab.)
- …
系统上合法的shell都要写入/etc/shells这个文件中。
[root@localhost sysconfig]# cat /etc/shells/bin/sh/bin/bash/sbin/nologin...
0X03、shell提供的的功能
1、通配符
例如:”*file”不能匹配到”xxx.file”,但是”\*.file”可以。1、通配符”*”
代表任意长度的字符,但是不能匹配到”.”。
例如:”?a”表示以”a”结尾的共两个字符的字符串。2、通配符”?”
代表任何一个字符。
例如:”*[abc]”或”\*[a-c]”表示所有以a、b或c结尾的字符串。”\*[!abc]”表示所有以a、b或c结尾的字符串。3、字符组通配符”[]”、”-“、”!”
“[]”指定一个字符范围,”[]”内为可用于匹配的字符。里面可直接给出字符,也可以由起始字符、”-“、终止字符组成。如果使用”!”,则表示不在这个范围内的其它字符。
2、输入输出重定向
Linux中标准输入是键盘,标准输出或标准错误输出是屏幕。1、标准输入输出
shell中不使用系统标准的输入输出,重新进行指定的情况。2、输入输出重定向
3、分类
- 输出重定向
- 概念:命令执行的结果不在标准输出上输出,而是保存到某一文件中。Bash用符号“>”实现输出重定向。
- 保存命令结果到文件中
[geek@localhost ~]$ ls -l >list
[geek@localhost ~]$ ls
模板 文档 桌面 视频 下载 list 公共 图片 音乐
[geek@localhost ~]$ cat list
总用量 800
-rw-r--r--. 1 root root 5080 7月 9 13:08 1.txt
-rw-r--r--. 1 root root 5080 7月 9 13:11 2.txt
... - 创建文本文件:配合cat命令,【Enter】换行,【Ctrl+D】结束输入。
[geek@localhost ~]$ cat >test
This is a test file.
[geek@localhost ~]$- 合并文本文件
[geek@localhost ~]$ cat >t1
This is t1.
[geek@localhost ~]$ cat >t2
This is t2.
[geek@localhost ~]$ cat t1 t2 >t
[geek@localhost ~]$ cat t
This is t1.
This is t2.
- 合并文本文件
- 附加输出重定向
- 附加数据到已有的文件中
[geek@localhost ~]$ cat t1
This is t1.
[geek@localhost ~]$ cat >>t1
I see.
[geek@localhost ~]$ cat t1
This is t1.
I see.
- 附加数据到已有的文件中
- 错误输出重定向
- “2>”:程序执行结果显示在屏幕上,而错误信息重定向到文件;
- “&>”:程序执行结果和错误信息都重定向到文件。
[geek@localhost ~]$ mv 2 /home 2>error
[geek@localhost ~]$ cat error
mv: 无法获取"2" 的文件状态(stat): 没有那个文件或目录
[geek@localhost ~]$
- 输入重定向(不常用)
[geek@localhost ~]$ cat t1
This is t1.
[geek@localhost ~]$ cat <t1
This is t1.
3、管道
管道将多个命令前后连接起来形成一个管道流。管道流中的每一个命令都作为一个单独的进程运行,前一个命令的输出作为后一个命令的输入,从左到右依次执行没个命令。
geek@localhost ~]$ ls -l | grep t*t1:This is t1.t2:This is t2.test:This is a test file.
4、历史记录
为避免用户的重复劳动,在用户主目录下会有一个名为.bash_history的文件,保存着曾经使用过的命令,默认最多保存1000个shell命令的历史记录。
- 查看历史记录—-history [数字]
[geek@localhost ~]$ history 1 ls -a 2 ls -l 3 pwd...
- 再次执行历史记录中的命令—-!序号 或 !!
[geek@localhost ~]$ !3pwd/home/geek[geek@localhost ~]$ !!pwd/home/geek
5、别名
别名:按照shell命令的标准格式缩写的命令行的缩写。
- 查看别名
[geek@localhost ~]$ alias alias egrep='egrep --color=auto'alias fgrep='fgrep --color=auto'alias grep='grep --color=auto'alias l.='ls -d .* --color=auto'alias ll='ls -l --color=auto'
- 设置别名
暂时的,到下次登录系统时失效----------[geek@localhost ~]$ alias la='ls -la'[geek@localhost ~]$ la总用量 72drwx------. 14 geek geek 4096 7月 16 22:09 .drwxr-xr-x. 6 root root 4096 7月 16 22:01 .....-rw-r--r--. 1 geek geek 231 6月 10 2014 .bashrc...写入.bashrc中,永久有效----------[geek@localhost ~]$ cat >>.bashrcalias la='ls -la'
6、自动补全
- 一次【Tab】:自动补全,前提是具有唯一性;
- 两次【Tab】:显示所有可能的命令或文件。
0 0
- 认识shell
- 认识shell
- 认识shell
- 认识shell
- shell笔记一:认识shell
- 认识 BASH Shell
- 认识 BASH Shell
- 认识 BASH Shell
- 认识 BASH Shell
- 认识bash shell
- shell基础认识
- shell基础认识
- 认识bash shell命令
- 认识 BASH 这个 Shell
- 认识Bash 这个Shell
- 认识bash 这个Shell
- 认识shell及其变量
- shell 基本认识
- 欢迎使用CSDN-markdown编辑器
- java面向对象的思想
- swing 将system.out输出的信息重定向到JTEXTAREA
- 进程状态
- LeetCode题解-Best Time to Buy and Sell Stock III
- 认识shell
- 每天一个linux命令(1):ls命令
- 一种新的Activity转换动画实现方式
- 四种支持向量机工具箱使用概念
- CSAPP LAB---MALLOC实验
- Java8对《编程导论(Java)》的影响
- ActionBar 设置图片、Home返回、Background图片
- 前序遍历和中序遍历树构造二叉树
- 设计模式(java)1——单例模式