shell基础
1、学习shell的什么
- shell命令
- shell的命令集成
- shell程序的控制结构
- shell的配置文件
- shell用户环境
- shell命令解析机制
2、pstree命令
[root@DG3 /]# pstree init─┬─NetworkManager ├─abrt-dump-oops ├─abrtd ├─acpid ├─atd ├─auditd───{auditd} ├─automount───4*[{automount}] ├─avahi-daemon───avahi-daemon ├─certmonger ├─console-kit-dae───63*[{console-kit-da}] ├─crond ├─cupsd ├─dbus-daemon ├─dnsmasq ├─hald───hald-runner─┬─hald-addon-acpi │ └─hald-addon-inpu ├─irqbalance ├─ksmtuned───sleep ├─libvirtd───10*[{libvirtd}] ├─login───bash───su ├─master─┬─pickup │ └─qmgr ├─5*[mingetty] ├─modem-manager ├─rpc.idmapd ├─rpc.statd ├─rpcbind ├─rsyslogd───3*[{rsyslogd}] ├─sshd─┬─sshd─┬─bash───su───bash───sqlplus │ │ └─bash───su───bash │ └─sshd───bash───pstree ├─tnslsnr───2*[{tnslsnr}] ├─udevd───2*[udevd] ├─vmtoolsd ├─vmware-vmblock-───3*[{vmware-vmblock}] └─wpa_supplicant
3、查看bash的版本
[root@DG3 shell]# bash --version GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu) Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
4、查看系统有哪些别名
[root@DG3 shell]# alias alias cp='cp -i' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias vi='vim' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
5、查看命令的类型
[root@DG3 shell]# type pwd pwd is a shell builtin
[root@DG3 shell]# type clear clear is hashed (/usr/bin/clear)
6、删除别名
unalias命令用来删除别名。若要暂时关闭一个别名,可以在别名的名字前加上一个反斜杠。
\vi
7、shell的基本元素
- #!/bin/bash 第一行,必须有的,指出shell的类型
- # 注释
- 变量
- 流程控制
8、清楚文件内容脚本
#!/bin/bash #this is clear cat /dev/null>/var/log/messages echo "messages has been cleared up!"
9、程序编译和运行过程
- 一般步骤:
编辑文件->保存文件->将文件赋予可以执行的权限->运行及排错
- 常用到的命令:
vi,编辑、保存文件
ls -l 查看文件权限
chmod改变程序执行权限
直接键入文件名运行文件
10、shell程序设计
- 一般结构
- shell类型
- 函数
- 主过程
11、shell特性
- 别名
- 命令替换
- 后台处理
- 变量
- 管道
- 重定向
- 模式匹配
- 特殊字符
12、文件名替换
将元字符展开为文件名的过程又被称作文件名替换或globbing
元字符 | 含义 |
* | 匹配零个或多个字符 |
? | 匹配一个字符 |
[abc] | 匹配a、b、c这组字符中的一个 |
[!abc] | 匹配a、b、c这个字符以外的某个字符 |
{a,ile,ax} | 匹配一个活一组字符 |
[a-z] | 匹配在a至z这个范围内的某个字符 |
[!a~z] | 匹配不在a至z这个范围内的某个字符 |
\ | 转义或禁用后面那个元字符 |