shell学习总结

一.什么是shell

a) 只要能够操作应用程序的接口

二.为什么要学些shell

a) 命令行的shell:大家都是一样的 (一法通,则万法通)

b) 命令行的速度比较快

c) Linux的任督二脉,是学习linux的基础

三.为什么我们系统合法的shell要写入etc/shells这个文件

a) 这是因为系统某些服务在运行过程中,会去检查用户能够使用的shells,而这些shell的查询就是借助/etc/shell这个文件

四.为什么使用bash这个shell呢?

a) 命令记忆功能 记录的地方位于 ~/.bash_history

b) 命令补全功能 按tab 键(万能键)

c) 命令别名设置功能 可以减少输入

d) 作业控制,前后台控制

e) 程序脚本

f) 支持通配符

五.Bash命令的种类

a) 内置命令

b) 外部命令

c) 别名

如何查看一个命令是不是内置命令呢,可以用type命令查看

六.Shell变量的功能

a) 变量的显示和设置

i. 变量的显示 :echo

ii. 变量设置的规则

1. 等号两边都不能有空格

2. 变量只能是字母和数字,但是开头字符不能是数字

3. 变量中如果有空格可以使用“”或‘’包含

a) 单引号里面的特殊字符仅为一般字符

b) 双引号中的特殊字符保持原有的属性

4. 可以使用\将特殊字符变为一般字符

5. 一串命中中``中命令将先被执行

b) 取消变量的方法 :unset

c) 常用的环境变量

i. HOEME:代表用户的主文件夹

ii. SHELL: 目前环境使用了shell哪个程序

Iii. HISTORY 历史命令

Iv PATH 执行文件查找的路径

V LANG 语系数据

Vi PS1 提示符的设置

1.\u 目前用户的帐号

2.\t 显示时间

3.\# 显示第几条命令

4.\$ 提示符

5.\w 完整工作名

Vii $ 表示当前shell的线程号

Vii ? 上条命令执行完后的回传值

d) 变量键盘读取:read

七.变量内容的删除,替代和替换

a) 删除

b) 替换

c) 替代

八.命令的别名和历史命令

a) 别名:alias unalias

b) 历史命令 history

i. 命令记录的文件位于 ~./bash_history

九.Bash shell的操作环境

a) 命令执行的顺序

i. 以相对路径或绝对路劲执行

ii. 有alias 找到命令执行

iii. 有bash内置的命令执行

iv. 通过查找$PATH这个变量的顺序找到的第一个命令来执行

b) Bash的登录与欢迎信息

i. 登录信息 /etc/issue

ii. 欢迎信息 /etc/motd

c) Bash的环境的配置

i. Login

1. 整体配置 /etc/profile

a) 会调用的文件:/etc/inputrc /etc/profild.d/ /etc/sysconfig/i18n

2. 个人配置 ~./bash_profile

ii. Non-login

1. 只会读取./bashrc 中的内容

d) 其他的配置文件

i. /etc/man.config 规定了使用man的时候 man page的路径到哪里寻找

ii. ~./.bash_logout 当注销bash后系统在帮我做完什么操作后才离开

十.管道命令

a) 管道命令的特点:

i. 只会处理标准输出,不理会标注错误输出

ii. 能够接受前一个命令的数据成为standard input 继续处理才行

b) 常用的管道命令

十一.问题集锦

a) command>filename 2>&1的含义:将STDERR输出到STDOUT中,再将STDOUT输出到指定文件中。其实就是:stderr->stdout->filename.可以测试下:LS >err 2>&1这里就不会生成1这个文件,打开err2可以看到bash:LS:command not found

posted @ 2013-03-20 21:58  lsx_007  阅读(153)  评论(0编辑  收藏  举报