Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
- shell 的分类,不同的shell具备不同的功能,shell还决定了脚本中函数的语法,Linux中默认的shell是/bin/bash
1,window
cmd 命令提示符
2,linx
sh/bash/zsh
sh 的全称是 Bourne shell,由 AT&T 公司的 Steve Bourne开发,为了纪念他,就用他的名字命名了
bash 由 GNU 组织开发,保持了对 sh shell 的兼容性,是各种 Linux 发行版默认配置的 shell。
bash 兼容 sh 意味着,针对 sh 编写的 Shell 代码可以不加修改地在 bash 中运行。
尽管如此,bash 和 sh 还是有一些不同之处:
一方面,bash 扩展了一些命令和参数;
另一方面,bash 并不完全和 sh 兼容,它们有些行为并不一致,但在大多数企业运维的情况下区别不大,特殊场景可以使用 bash 代替 sh。
-
常用命令
-
head 默认显示文件前10行
-n 设置显示行数
-
-
tail 默认获取文件的最后10行
组合使用获取/etc/passwd文件的第4~7行
head -n 7 passwod | tail -4
-
cut 取出文本的指定列
默认以TAB分割
-d 指定分割符
-f 指定获取列号
uniq 去重 (去重必须排序sort)
选项
-d 打印有重复元素
-c 打印元素重复的个数
sort 对文本内容进行排序,默认以字符ASCII排序
选项
-n 以数值大小排序
-r 倒叙
-t 指定分割符,默认是空格
-knum 以某个字段排序wc 计算文本数量
选项
-l 打印行数
-w 单词数
-c 字节数
-L 最长行字节数