bash编程学习-简单基础(1)
8月 22, 2008 – 7:40 上午用linux环境也有快一年多的历史了,对于shell只是用到时候查一下文档,并没有系统化。接下来想抽时间系统的学习一下。先从简单开始吧。
1.查看系统中所有的shell
cat /etc/shells
2.查看用户的默认shell
cat /etc/passwd
3.切换shell
直接输入shell名就可以。
例如:
mia:~> tcsh
[mia@post21 ~]$
4.当用户登录时机器自动运行的shell
4.1/etc/profile
4.2~/.bash_profile,~/.bash_login or~/.profile: 读取第一个存在的可读取的文件
4.3 ~/.bash_logout 登出的时候。
错误消息将会显示如果配置文件存在但是不能读取。一个文件不存在,Bash将搜索下一个。5,非登录应用一个非登陆shell就是不需要进行系统的认证。比如,通过一个图标打开一个终端,或者一个菜单项目,那样就是非登陆shell
读取的文件: ~/.bashrc
此文件通常指向 ~/.bash_profile:if [ -f ~/.bashrc]; then . ~/.bashrc; fi
7.远程调用 以 rshd 调用时读取的文件:~/.bashrc
8.默认情况下历史命令和历史扩展式开启的。历史在shell退出时都保存在 HISTFILE 指向的文件中。默认情况下,HISTFILE 指向 ~/.bash_history
9.wc统计文件的字数,与行数。
习题:(如果我做的不对,或者方法不佳请留言,还有一些没写答案,请高手支招)
1.bash 程序位于你系统的什么位置?
which bash
2.使用 –version 选项来找到你正在运行的版本。
bash –version
3.当使用图形用户界面进入系统然后打开终端窗口时哪个shell配置文件会被读取?
不知道是不是~/.bashrc
5.你能解释为什么 bash 当你输入 Ctrl+C 的时候没有退出?
请高手指点
6.显示目录堆栈内容
pushd 目录入栈popd 目录出栈
8.显示当前shell任务的hash命令。
请高手指点
9.当前有多少进程正在你的系统中运行?使用 ps 和 wc, ps 的第一行输出不是进程。
ps aux|wc -l
10.怎么显示系统的主机名称?只要名字,其他都不需要显示。
hostname
