五、linux基础-shell机制
5.1 shell机制
1、Linux命令程序员可以看懂,但是操作系统是不懂这句话的含义的。因为所有的命令必须重新被解释然后传递给Linux内核才可以执行。这一被解释的机制就是shell。
Linux命令先被shell解释成内核可以执行的代码,然后再由Linux内核进行运行。作为命令语言互动式的解释和执行用户输入的命令只是shell功能的一个方面,shell还可以用来进行程序设计,它提供了定义变量和参数的手段以及丰富的程序控制结构。使用shell编程类似于dos 中的批处理文件,称为shell script ,又叫shell程序或shell命令文件。
2、常用的shell有:
shell名称 开发者 命令名称
Bourne S.R Bourne /bin/sh 是我们中国常用的
C Bill Joy /bin/csh
Kom David /bin/ksh
在不同的shell里面,使用后的命令是不完全相同的,在sh里面用的命令,在csh里面不一定使用。
5.2 相关命令
1、如何查看自己装的Linux系统里面有哪些shell
[root@ODSDEVDB01 bin]# ls -l /bin/*sh
-rwxr-xr-x 1 root root 801512 Oct 21 2008 /bin/bash
lrwxrwxrwx 1 root root 4 Nov 22 2012 /bin/csh -> tcsh
lrwxrwxrwx 1 root root 21 Nov 22 2012 /bin/ksh -> /etc/alternatives/ksh
lrwxrwxrwx 1 root root 4 Nov 22 2012 /bin/sh -> bash
-rwxr-xr-x 1 root root 352904 Oct 5 2010 /bin/tcsh
-rwxr-xr-x 1 root root 596272 Sep 21 2010 /bin/zsh
2、查看当前操做系统使用的是那种shell
env | more 该命令可以显示当前操作系统的环境变量
SHELL=/bin/bash
3、shell的修改
chsh -s 输入新的shell 如:/bin/csh
4、shell补全功能
是指用户输入命令时,并不需要输入完整的命令,而系统自动回找出最符合的名称,这种功能可以节省经常输入命令的时间。直接输入“mk”,再按两下“tab”键,出现两头两个字母为“mk”命令。cat p 再按两下“tab”键,会出现开头字母为“p”的所有文件或目录。
示例1:输入“mk”,再按两下“tab”键
[root@ODSDEVDB01 zjbdir]# mk
mkafmmap mkdict mkdumprd mkfontdir mkfs.ext2 mkfs.msdos mkinitrd mknod mksock mkudffs
mk-amd-map mkdir mke2fs mkfontscale mkfs.ext3 mkfs.vfat mkisofs mkpasswd mksquashfs mkxauth
mkbootdisk mkdirhier mke4fs mkfs mkfs.ext4 mkhtmlindex mklost+found mkrfc2734 mkswap mkzftree
mk_cmds mkdosfs mkfifo mkfs.cramfs mkfs.ext4dev mkhybrid mkmanifest mksmbpasswd.sh mktemp mkzonedb
示例2:输入cd p,再按两下”tab”键,会出现开头字母为p的所有文件或目录
cd plearning
五、linux基础-shell机制的更多相关文章
- (转)Linux基础------Shell数值计算的几种方法
Linux基础------Shell数值计算的几种方法 原文:http://blog.csdn.net/fu_wayne/article/details/21620639 在Linux下总会遇到数值计 ...
- 五.Linux基础
Linux是运行在pc机上类似unix风格的操作系统,由众多程序员开发.开放源代码! 由于开放源代码,所以现在的Linux比windows漏洞更少! linux操作系统由内核及应用程序组成,有很多发行 ...
- linux 基础 shell脚本命令
#########shell脚本命令#### 1.diff diff file file1 ####比较两个文件的不同 -c ####显示周围的行 -u ####按照一格式统一输出生成补丁 -r ## ...
- Linux基础-shell脚本知识整理和脚本编写----------变量、运算符、流程控制、函数、计划任务(发送邮件)
I:知识整理:变量.运算符.流程控制.函数.计划任务 变量 系统变量:set:显示所有变量 env:环境变量 常用系统变量: path pwd lang home his ...
- Linux基础-Shell脚本
任务一目标:自动部署.初始配置.并启动nginx反向代理服务 把任务拆分来看-自动部署部分,就是先下载安装Nginx 首先建立一个很NB霸气的目录还有一个同样NB霸气的.sh文件 /NBshell/M ...
- Python 基础之linux基础相关
一: python3.6.x在Ubuntu16.04下安装过程 #(1)保证网络正常连接 sudo add-apt-repository ppa:jonathonf/python-3.6 (如果超时 ...
- .Neter玩转Linux系列之四:Linux下shell介绍以及TCP、IP基础
基础篇 .Neter玩转Linux系列之一:初识Linux .Neter玩转Linux系列之二:Linux下的文件目录及文件目录的权限 .Neter玩转Linux系列之三:Linux下的分区讲解 .N ...
- 20155301 滕树晨linux基础——linux进程间通信(IPC)机制总结
20155301 滕树晨linux基础--linux进程间通信(IPC)机制总结 共享内存 共享内存是在多个进程之间共享内存区域的一种进程间的通信方式,由IPC为进程创建的一个特殊地址范围,它将出现在 ...
- linux基础之Shell Script入门介绍
本文介绍下,学习shell script编程的入门知识,通过几个入门实例,带领大家走进shell script的神圣殿堂,呵呵,有需要的朋友参考下. 本文转自:http://www.jbxue.com ...
随机推荐
- Spring JdbcTemplate类常用的方法
execute(String sql) 可执行任何sql语句,但返回值是void,所以一般用于数据库的新建.修改.删除和数据表记录的增删改. int update(String sql) int ...
- socketserver 模块简介
一.socketserver模块简介 socketserver模块简化了网络编程,模块下有五个服务类:BaseServer.TCPServer.UDPServer.UnixStreamServer.U ...
- ubuntu14.04安装好Hadoo之后接着安装hbase和介绍常用命令
1.解压 tar -zxvf hbase-1.0.0-bin.tar.gzsudo mv hbase-1.0.0 /opt/hbasecd /optsudo chmod -R 775 hbase 2. ...
- 在tomcat上部署项目
1.部署项目的第一种方法(项目直接放入 webapps 目录中) 2.部署项目的第二种方法(修改 conf/server.xml 文件 ) 3.部署项目的第三种方法(apache-tomcat-7.0 ...
- 【C语言】无参函数调用实例
#include<stdio.h> void hello() { printf("年轻人,加油!"); } int main() { hello(); ; }
- python匿名函数与三元运算
匿名函数 匿名函数就是不需要显示式的指定函数名 首先看一行代码: def calc(x,y): return x*y print(calc(2,3)) # 换成匿名函数 calc = lambda ...
- Django中 from django.utils import timezone 和import datetime的区别
在现实环境中,存在多个时区,用户之间很有可能存在于不同的时区,并且许多国家都拥有自己的一套夏令时系统,所以如果网站面向的是多个时区用户,只以当前时间为标准开发,便会在时间上产生错误. 为解决这个此类问 ...
- VMware升级到15版本虚拟机黑屏的解决方法
1.启动VMware15虚拟机,在菜单栏找到:虚拟机→管理→更改硬件兼容性 2.打开该项,弹出更改硬件兼容性向导对话框,点 下一步,接下来把硬件兼容性改为Workstation 12.x 3.根据提 ...
- Python - 关于属性访问的优先级,属性访问顺序,python attributel lookup,类和实例访问属性的顺序
object.__getattribute__(self, name) 类中的数据描述符 object.__dict__.get(name) 自身属性字典 object.__class__.__dic ...
- acm数论之旅---扩展欧几里得算法
度娘百科说: 首先, ax+by = gcd(a, b) 这个公式肯定有解 (( •̀∀•́ )她说根据数论中的相关定理可以证明,反正我信了) 所以 ax+by = gcd(a, b) * k 也肯定 ...