Linux Shell
来源:互联网 发布:黑马校对软件 编辑:程序博客网 时间:2024/06/05 09:07
7、Shell基础
7.1 Shell概述
shell壳的意思,
- 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序。计算机内核只能识别01二进制,但是我们敲击的都是ASCII字符命令,Linux不能直接执行,shell通过ASCII码表翻译字符为二进制命令。
- 还是一个功能想当强大的解释执行的脚本语言,在其中可以直接调用Linux系统命令。Shell的两种语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括csh和tcsh。Bash是Linux的标准,Unix主要使用C语法。
vim /etc/shells可以查看当前系统支持的shell。
若支持/bin/sh,可以输入sh命令,会发现提示符变了,命令也变了,当前shell是处于默认shell的子shell,输入exit可退回到父shell中。
一个操作界面中可以调用别的操作界面,类似windows中调用子的操作界面cmd。
7.2 脚本执行方式
echo [选项] [输出内容] //把指定内容输出到屏幕,若输出内容中有空格则需要加双引号
选项
- -e 支持反斜线控制的字符转换,\n代表换行,\r代表回车键,\t代表制表符,\a代表警告音
第一个脚本vim hello.sh
#!/bin/bash //这句话不是注释,而是表示下面是Linux的标准脚本#The first bashecho -e "hello bash"
脚本写完后不能直接运行,可以通过如下两种方式
- 赋予执行权限,再运行。chmod 755 hello.sh ./hello.sh
- 通过Bash调用执行脚本 bash hello.sh
7.3 Bash的基本功能
命令别名与快捷键
别名,人的小名,命令别名,是由于有些命令特别长,可以用别名来
alias //查看或者设置系统中生效的别名
alias ls=”ls –color=never” //设置别名
但是这种设置都是临时的,一旦重启就会丢失,要想永久启用,需要将其写入环境变量配置文件中vim ~/.bashrc,这个环境变量配置文件可以单独对每个用户配置
这个配置文件修改后,需要重新启动才能生效,如果需要立即生效,可以执行source 文件名
unalias ll //删除别名,这是临时删除,彻底删除需要在配置文件中删除
多个命令的生效顺序
- 第一顺位执行用绝对路径或相对路径执行的命令
- 第二顺位执行别名
- 第三顺位执行Bash的内部命令(Linux自带的命令)
- 第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令
常用快捷键
ctrl + c 强制终止
ctrl + l 清屏
ctrl + a 光标移动到命令行首
ctrl + e 光标移动到命令行尾
ctrl + u 从光标所在位置删除到行首
ctrl + z 把命令放入后台
ctrl + r 在历史命令中搜索
历史命令
history [选项] [历史命令保存文件]
选项:
- -c 清空历史命令
- -w 把缓存中的历史命令写入历史命令文件 ~/.bash_history,每个用户都有自己的
上下箭头调用以前的历史命令
!!重复执行上一条命令
!字符串,重复执行最后一条以该字符串开头的命令
输出重定向
1、标准输入输出
输入输出的设备很多,但只有上面三种是标准的,
Linux中一切皆文件,所以他们都有设备文件名,文件描述符是设备文件名的简称,可以在Shell中使用0表示表示键盘输入
2、输出重定向
不再输出到屏幕中,而是将其输出到文件中
注意,正确命令的>操作符两边可以有空格,错误命令两边不能有。
错误命令是指犯二的命令,如# cangls 2>>test.log
但是在平时使用中,我们不知道命令的输出是否正确,所以我们需要条命令不管是否正确,都输出
多命令顺序执行
Shell中的特殊符号
8、软件安装
Linux下源码的编译安装一般分为三个步骤:配置configure、编译make、安装make install
configure –prefix是用来指定安装目录,类似Windows中指定软件的安装目录,如果不指定prefix,则可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/bin,配置文件默认放在/usr/local/etc,其他资源文件默认放在/usr/local/share。如果你要卸载这个程序,需要在原来的make目录下使用make uninstall,要么就去上述目录中将相关的文件逐个手工删除。指定prefix后,该软件的所有文件都将被复制到这个目录,直接删除该目录就够了。所以说为了防止软件复制到多个目录下难以维护,最好指定该目录。
使用–prefix的另一个好处是卸载软件或移植软件很方便。卸载只需删除该目录,就可以把软件卸载干净。移植软件只需要拷贝整个目录到另外一台相同系统的机器即可。
echo 123 >> /tmp/a,可以将字符添加到原文件的尾部
- Linux Shell
- Linux Shell
- Linux Shell
- Linux Shell
- Linux Shell
- Linux Shell
- linux shell
- Linux Shell
- Linux Shell
- Linux Shell
- Linux Shell
- linux shell
- LINUX SHELL
- Linux Shell
- Linux Shell
- Linux shell
- linux shell
- Linux Shell
- Scala高阶函数
- pdir ==> 扩展dir的好用的库
- hive--Hive之数据倾斜的原因和解决方法
- shell脚本程序
- Thinkphp找不到model和不支持mysql(_MODULE_NOT_EXIST_和 _NOT_SUPPERT_ :mysql )
- Linux Shell
- Solr的增删改查注意事项
- 实现立体状物体的旋转展示
- [Android][M0][Call] 拨打电话
- 如何做好code Reviews
- hihoCoder 1037 : 数字三角形(记忆化)
- Android 用 DrawerLayout 和 NavigationView 实现侧滑菜单栏
- HTML入门笔记
- 完全二叉树的判断