Chinaunix首页 | 论坛 | 博客
  • 博客访问: 143232
  • 博文数量: 123
  • 博客积分: 5770
  • 博客等级: 大校
  • 技术积分: 1240
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-12 16:31
个人简介

闲情逸致 http://EZ38.com

文章分类

全部博文(123)

文章存档

2014年(1)

2010年(122)

我的朋友
最近访客

分类: LINUX

2010-03-05 16:06:02

LINUX学习笔记之四(shell、脚本、变量)

Shell是操作系统与用户进行交互操作的界面

常用的shellBsh Csh Ksh Bash(默认加载的)

/etc/Shells 默认保存路径 使用cat /etc/Shells可以查看系统支持的shell

直接输入shell名字可以更改当前的shell

修改/etc/passwd 文件可以更改用户默认加载的shell

如:magic:x:500:500:root:/home/magic:/bin/bash

Bash的主要功能:

v      命令行编辑功能

v      命令和文件名补全功能

v      命令历史功能

v      命令别名功能

v      提供作业控制功能

v      具有将命令序列定义为功能键的功能

v      灵活的Shell脚本编程

Shell变量的分类

v      环境变量

v      预定义变量

v      位置变量

v      用户自定义变量(本地变量)

常用环境变量echo $USER      表示当前用户的登录名称,值与whoami命令的结果一致

            echo $UID        表示当前用户的用户名,该变量的值与”id-u”命令的结果一致

            echo $SHEL       表示当前用户的登录Shell,值与”passwd”文件中的Shell字段一致

            echo $HOME   表示当前用户的登录目录(宿主目录),值与”psaawd”文件中home字段一致

            echo $PWD    表示用户当前所在的目录,值与pwd命令的结果一致

            echo $PATH    表示当前用户的命令搜索路径,即用户不指定全路径名执行命令时,Shell

序将在哪些目录以及按照何种顺序进行命令的搜索

            echo $PS1 echo $PS2

环境变量配置文件   /etc/bashrc        系统中用户登陆是默认加载的变量

/etc/profile

/home/~/.bash_profile    用户个人环境变量 为隐藏文件位于属主目录下

/home/~/.bashrc

用户自定义变量自定义变量的设置

$ DAY=Sunday   自定义变量   自定义的变量一定要大写

$ echo $DAY     自定义变量的查看与引用

$ export DAY    自定义变量的输出

$ unset DAY     自定义变量的清除

使用Tab键可以补全 命令名 或文件名和文件夹名

使用上下方向键浏览已输入命令(历史命令)

$ history               历史命令的查看

属主目录/.bash_history   用户命令历史保存文件

$ history -c              命令历史的清除

$ alias              显示已定义的别名

$ alias lujing='pwd'    命令别名的定义 pwd 定义为lujing

$ alias lujing          取消lujing的别名定义

$ unalias -a           取消所有定义的别名

系统别名定义配置文件在 /etc/profile.d/ 目录的中

输入输出文件       文件编号       默认设备

标准输入                    0                键盘

标准输出                1              显示器

标准错误输出           2             显示器   

输入重定向

$ wc < test    test重定向到wc统计“字数 单词数 行数”

输出重定向

$ ls /etc/ > etcdir           将标准输出重定向到etcdir文件

$ ls /etc/sysconfig/ >> etcdir 将标准输出重定向追加到etcdir文件 >>代表追加

$ nocmd 2> errfile          将错误输出重定向到errfile文件

$ ls afile bfile &> errfile     将标准输出和错误输出重定向到errfile文件

管道 cat 123 | head -5     把第一个处理结果交给|以后的参数处理

shell脚本概念:类似与dos批处理、以文本方式保存、执行是不用编译、具有可执行(x)属性

/etc/init.d/   下存在这很多系统服务的脚本

vi hello.sh    建立并编辑脚本 hello

输入 echo himagic 保存 并用chmod 设置可执行权限

$ bash hello.sh           使用Shell命令程序执行脚本程序

$ . hello.sh              使用“.”命令执行脚本程序

$ ./hello.sh              直接执行具有执行属性的脚本程序 (必须具有可执行权限)

阅读(375) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~