Linux 的 Shell
一个:Shell 概念
shell 这个词是不奇怪,意思是 “壳” 这是间OS 用户和芯层之间的相互作用,在linux系统。用户可以通过命令终端。使用shell 命令向下传达他们的愿望。
督促kernel 调动硬件实现自己的目的!
鸟哥私房菜中的图片:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanNjZXNl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
通俗的理解就是一个文本命令集合。能够更加直观有效的操控Kernel来实现我们的目的。当中shell script更是很多项目实践中经常使用的脚本语言!
二:Shell 管理
shell的种类有非常多。对linux系统而言会有一个管理。那些种类的shell才是合法。可以被识别运行。定义在/etc/shells中:
jscese@jscese-H61M-S2P:~$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
能够看到我的ubuntu 13.04有效的shell类型就这四种。
当中sh代表 Bourne SHell。如今的增强版本号为Bourne Again SHell 也就是bash。
眼下linux预设的shell 类型!
对于当前用户使用的究竟是哪一种类型的shell,可在/etc/passwd中查看到:
jscese:x:1000:1000:jscese,,,:/home/jscese:/bin/bash
三:Bash 功能
1.history——保存上次注销系统前的命令,保存在~/.bash_history文件里
2.Tab 补全,提示
3.alias。unalias——命令的封装和移除,alias ll =‘ls -al’ 代表用ll 来取代 ls -al ,用简单的字符来代表复杂的指令,方便使用! unalias ll 移除 ll 这个命令。
4.echo——输出变量 echo $PATH , ADDPATH=$PATH:ADD unset ADDPATH , $ -PID, ?-回传值
5.对变量的删除代替通过 ${PATH 表达式 } 规则例如以下(鸟哥的归总): ${PATH ##/*/} 删除掉变量PATH 中从头開始的 在两个斜杠之间最长的内容
6.设定变量,规则例如以下:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanNjZXNl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
7./dev/null——垃圾桶黑洞装置
8.逻辑指令。多个逻辑一起时。回传值向右有传递性:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanNjZXNl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
9.管线命令 (pipe)
cut 切某一部分,grep 获取符合要求的一行 。sort 进行排序 。uniq 反复的仅仅显示一个 。 wc 显示文件多少行.字 ,tee 双向重导 既输出又能够保存
字符转换命令: tr, col, join, paste, expand
版权声明:本文博客原创文章,博客,未经同意,不得转载。
Linux 的 Shell的更多相关文章
- 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器
本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...
- linux中shell变量$#,$@,$0,$1,$2的含义解释
linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...
- 使用C#给Linux写Shell脚本(下篇)
在上篇的<使用C#给Linux写Shell脚本>结尾中,我们留下了一个关于C#如何调用BashShell的问题.在文章发布之后,我留意到有读者留言推荐使用“Pash”(一款类PowerSh ...
- linux中用shell获取昨天、明天或多天前的日期
linux中用shell获取昨天.明天或多天前的日期 时间 -- :: BlogJava-专家区 原文 http://www.blogjava.net/xzclog/archive/2015/12/0 ...
- linux中用shell获取时间,日期
linux中用shell获取昨天.明天或多天前的日期:在Linux中对man date -d 参数说的比较模糊,以下举例进一步说明:# -d, --date=STRING display time d ...
- Linux 的shell 字符串截取很有用。有八种方法。
一 Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.linuxidc.com/123.htm 1 # 号截取,删除左边字符,保留右边字符. echo ${va ...
- Linux Bash Shell 快速入门
BASH 的基本语法 最简单的例子 —— Hello World! 关于输入.输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) BASH 中的基本流程控制语法 函数的使用 2.1 ...
- linux,shell输入反斜杠显示'W'。
linux,shell输入反斜杠显示'W'. solution: 字体必须为"Courier New".
- 06 Linux下Shell介绍
一.概述 每个人在成功登陆Linux后,系统会出现不同的提示符号,例如$,~,#等,然后你就可以开始输入需要的命令.若命令正确,系统就会依据命令的要求来执行,直到注销系统为止,在登陆到注销期间,输入的 ...
- linux BASH shell设置字体与背景颜色
linux BASH shell下设置字体及背景颜色的方法. BASH shell下设置字体及背景颜色 echo -e "\e[31mtest\e[41m" \e[30m 将字 ...
随机推荐
- malloc一次性最大能申请多大内存空间
受用户态内存地址空间的限制.64 位系统下分配几个 T 不成问题. 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:zz matrix链接:http://www.zhihu. ...
- UVA 11235 Frequent values(RMQ)
Frequent values TimeLimit:3000Ms , ... , an in non-decreasing order. In addition to that, you are gi ...
- Visual Studio Code中配置GO开发环境
在Visual Studio Code中配置GO开发环境 一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的 ...
- Xamarin:制作并发布apk
原文:Xamarin:制作并发布apk 终于到了激动人心的时刻:要向真机发布apk了.流程如下: 1 制作release版的android应用安装包apk文件: 1.1 用VS2012中文版制作:记得 ...
- DSL简介(转)
DSL编程:有人将DSL编程称之为声明式(Declarative)编程.DSL是在模型之上建立的一种更加灵活的对 模型化的理解和使用方式.语义模型是DSL的核心.内部DSL:用通用语言的语法表示DSL ...
- postgresql数据库配置csv格式的日志输出
postgresql数据库配置csv格风格日志输出 以下介绍postgresql数据库中关于csv格式日志(pg中一种比較具体的日志输出方式)的设置方法. 1.进入$PGDATA文件夹(pg的安装文件 ...
- android一些面试题目
1.ListView怎么提高滑动效率 2.说下你做过项目的包的构架,(联网,解析,activity,database) 重点 3.载入大量图片怎么做(包含小图和查看大图) 怎么降低一次跟server的 ...
- Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决
昨晚在编译源码,make一段时间之后报错如下: # A fatal error has been detected by the Java Runtime Environment: # # SIGSE ...
- c语言结构体使用方法
结构(struct) 结构是由基本数据类型构成的.并用一个标识符来命名的各种变量的组合. 结构中能够使用不同的数据类型. 1. 结构说明和结构变量定义 在Turbo ...
- iframe属性參数
iframe属性參数 当点击一个子页面的链接时, 怎样将还有一个子页面嵌入到当前iframe中 仅仅要给这个iframe命名就能够了. <iframe width=420 height=330 ...