认识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、通配符

1、通配符”*”

代表任意长度的字符,但是不能匹配到”.”。

例如:”*file”不能匹配到”xxx.file”,但是”\*.file”可以。

2、通配符”?”

代表任何一个字符。

例如:”?a”表示以”a”结尾的共两个字符的字符串。

3、字符组通配符”[]”、”-“、”!”

“[]”指定一个字符范围,”[]”内为可用于匹配的字符。里面可直接给出字符,也可以由起始字符、”-“、终止字符组成。如果使用”!”,则表示不在这个范围内的其它字符。

例如:”*[abc]”或”\*[a-c]”表示所有以a、b或c结尾的字符串。”\*[!abc]”表示所有以a、b或c结尾的字符串。

2、输入输出重定向

1、标准输入输出

Linux中标准输入是键盘,标准输出或标准错误输出是屏幕。

2、输入输出重定向

shell中不使用系统标准的输入输出,重新进行指定的情况。

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 716 22:09 .drwxr-xr-x.  6 root root 4096 716 22:01 .....-rw-r--r--.  1 geek geek  231 610 2014 .bashrc...写入.bashrc中,永久有效----------[geek@localhost ~]$ cat >>.bashrcalias la='ls -la' 

6、自动补全

  • 一次【Tab】:自动补全,前提是具有唯一性;
  • 两次【Tab】:显示所有可能的命令或文件。
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 魅族手机太慢怎么办 魅蓝5信号不好怎么办 魅蓝数据网速慢怎么办 魅族联通网速慢怎么办 魅族手机wifi信号弱怎么办 魅蓝e2信号差怎么办 魅蓝e2gps信号弱怎么办 魅族网络信号差怎么办 魅族手机gps信号弱怎么办 魅族手机突然没有信号怎么办 魅族手机流量信号不好怎么办 魅族手机wifi信号差怎么办 魅族5s信号不好怎么办 魅族mx5的双击不亮屏怎么办 魅族mx5返回键失灵怎么办 电信苹果3g网速慢怎么办 魅蓝6开不了机怎么办 手机应用被锁了怎么办 魅族电池不耐用怎么办 魅族mx6现在很卡怎么办 魅族e2手机屏幕背景黑色怎么办 魅族x6手机锁了怎么办 360n5返回键失灵怎么办 360n5返回键不好用怎么办 魅族手机锁屏怎么办 魅族手机锁住了怎么办 手机己锁定怎么办魅族 魅蓝u10触屏没反应怎么办 魅蓝e2手机锁定怎么办 苹果手机声音键坏了怎么办 一加6的屏幕问题怎么办 魅蓝note6卡顿怎么办 苹果4s内屏坏了怎么办 魅族mx6一直重启怎么办 魅族充电慢了怎么办啊 笔记本玩游戏掉帧怎么办 psv玩游戏掉帧怎么办 ipad玩游戏掉帧怎么办 手机玩游戏严重掉帧怎么办 苹果7p掉电快怎么办 努比亚z11手机总是开关机怎么办