1. 在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command和后来的cmd.exe.

2. bash (Bourne Again shell)是众多shell的一种, 但它是Linux 预设的shell. bash 是 GNU 计划中重要的工具软件之一,目前也是 Linux distributions 的标准 shell. 因此, 掌握bash这一个shell就能保证你在linux的世界里畅通无阻了, 当然, 想学习其它shell也会水到渠成, 毕竟它们都是大同小异的.
bash在linux下的路径为/bin/bash. 一般linux系统的/bin目录里都会有好几种shell, 除了预设的bash, 可能还会有sh, ksh, csh等等.

在bash下的操作, 尤其提几点:

1) .表示当前目录, 如: ./a.out, 表示执行当前目录下的a.out程序
2) ..表示上层目录, 如: cd .., 表示进入到当前目录的上一层
3) <Tab>可以用来对命令或者文件名进行补全.
比如当前目录下只有一个可执行程序main, 输出gdb再按<tab>, 则会自动补全gdb main.
比如当前目录有aaa, bbb两个目录, 要进入aaa目录只需要cd a再按<tab>键, 就会自动补全成cd aaa了.
如果有多个选项, 可以按两下<tab>, 则会列出所有待选项.
4) 运行可执行程序的话, 需要"路径+程序名", 除非在PATH环境变量里的路径
(比如你echo $PATH,看到的结果类似于:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games), 执行这些路径里的程序, 不用加路径, 因为默认会去这里搜索.

比如/home/xxx/abc/a.out, 即使你就在当前目录下, 也不能直接a.out, 需要加上路径, 输入./a.out或者/home/xxx/abc/a.out, 都可以执行a.out程序.
其实可以把'.'这个当前目录加入到PATH中, 就可以不加路径而执行当前所在目录下的可执行文件, 但是习惯上一般不会这样做.

3. man手册

几乎所有的命令, 函数等, 都可以在shell中man xxx来获取它的详细信息.

4. 一些常用的bash命令

ps: 只列举一些常见命令的简单用法, 简单够用为原则, 追求更多更全的命令, 请看专业书籍自行学习.

我还发布了一篇, 用来专门记录常用bash命令的.可参考http://blog.csdn.net/aa2650/article/details/11046265

pwd显示当前所在目录
cd改变目录,能处理绝对和相对路径
ls列出当前目录下的文件, 常用参数, -a, -l     
cp拷贝文件 
mv剪切/重命名 
rm删除文件, 常用参数, -rf (递归删除一个文件/目录, 哪怕目录非空)
clear清除屏幕 
history显示历史命令记录, 非常有用的一个命令. 历史命令存储在家目录的.bash_history隐藏文件里.
find搜索目录中文件, 常用参数-name. 如find -name aaa, 从当前目录开始递归查找叫aaa的文件.
chmod改变文件保护权限  
chown改变文件的属主和组

grep 在文件中搜索匹配的行并输出
ps罗列运行进程, 默认罗列当前shell运行的进程, 常用参数-ef | grep xxx, 列举所有进程并筛选出其中包含xxx字段的进程
kill中止一个进程

last显示过去多少个用户或终端登录到本机器  
ln在文件间建立连接
man显示具有一定格式的在线手册   
passwd设置用户的密码  
reboot重新启动系统  
tar创建和编辑Unix归档文件  
touch改变文件的时间参数  
wc统计一个文件中的字节数,单词数,行数  
who查看其他登录的用户  
which显示命令的全路径

ping命令—确定网络上机器是否可达或到达速率

top显示当前系统的CPU, 内存等资源占用情况

date显示当前系统时间.

找了一篇更全更详细的命令介绍, 可以参考此地址:  http://csy8217.blog.163.com/blog/static/9446787200852302757312/

Linux编程环境介绍(2) -- shell(Bash) 介绍的更多相关文章

  1. Linux编程环境介绍(3) -- linux下的c/c++程序开发

    目录: 1. 编辑器( Vi ) [vi 与 vim] vi(visual interface)是linux系统最重要的文本编辑器, 所有的 Unix-Like 系统都会内置vi文本编辑器.  vim ...

  2. Linux编程环境介绍(1) -- linux的历史

    1. linux是什么? "Hello everybody out there using minix——I'm doing a (free) operating system"  ...

  3. 【Linux】 环境变量与shell配置&执行

    ■ 变量与环境变量 shell环境通常存在很多变量,变量可以通过echo $VAR或${VAR}的方式查看.set命令可以查看当前环境中的所有变量(包括一般的自定义变量和环境变量) 变量的设置通过简单 ...

  4. 【263】Linux 添加环境变量 & 全局 shell 脚本

    Linux电脑添加环境变量 方法一:通过修改 profile 文件添加环境变量 1. 打开终端,输入[vi /etc/profile],如下所示,点击回车 [ocean@ygs-jhyang-w1 L ...

  5. 【Linux】 Linux编程规范&Linux 编程环境搭建

    一.通过Samba映射网络驱动器 菜单栏-计算机-映射网络驱动器 English 菜单栏-Home -Easy access-Map as drive 编辑代码使用 Windows 编译 运行程序在 ...

  6. Linux编程环境

    yum -y install gcc gcc-c++ libtool-ltdl libtool-ltdl-devel openssl openssl-devel curl curl-devel lib ...

  7. linux 编程环境搭建过程记录

    1, 安装centos 7 最小版  过程略 ...... 2, 安装桌面安装yum groupinstall "GNOME Desktop" 更新系统运行级别ln -sf /li ...

  8. Linux编程 12 (默认shell环境变量, PATH变量重要讲解)

    一 .概述 默认情况下, bash shell会用一些特定的环境变量来定义系统的环境.这些默认环境变量可以理解是上篇所讲的系统全局环境变量. 1.1 bash  shell支持的Bourne变量 Bo ...

  9. Linux编程 11(shell全局环境变量与局变环境变量)

    一.概述 在linux中,很多程序和脚本都通过环境变量来获取系统信息,存储临时数据,配置信息.环境变量是指用来存储有关shell会话和工作环境信息,允许你在内存中存储数据,以便程序或shell中运行的 ...

随机推荐

  1. lucene实战(第二版)学习笔记

    初识Lucene 构建索引 为应用程序添加搜索功能 Lucene的分析过程

  2. zookeeper笔记

    zookeeper用于分布式配置管理,读写锁等等..后续补充.

  3. TextView过长显示省略号, TextView文字中间加横线

    1.TextView显示的内容过长时自动显示省略号:  省略号的位置:android:ellipsize="end"   省略号在结尾android:ellipsize=" ...

  4. c - 十六进制 转 十进制

    考虑到举一反三,这里顺便上完整代码,顺便可以考虑实现R进制和十进制的转换. 完整代码: #include <stdio.h> #include <math.h> double ...

  5. 分享内容到微博、QQ空间、人人网、开心网等社区

    网上有不少分享内容到微博.QQ空间.人人网.开心网等社区的插件,但它们都有自己固定的样式,你不一定会喜欢. 或许你想保持你的网站的原状,添加上微博.QQ空间.人人网.开心网的LOGO图片,点击之后就可 ...

  6. MySQL 慢查询配置

    MYSQL慢查询 1. 慢查询有什么用? 它能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进行优化. 2. 如何开启慢查询? 首先 ...

  7. 开发中遇到的java小知识

    今天在优化一个功能的时候遇到了instr与substr函数,之前没有接触过这两个函数,但是今天无意中用到,一查才发现,真是实用的一对兄弟啊. 先来说说substr函数,这个函数返回的是字符串的一部分. ...

  8. linux笔记2.24

    安装vsftpd mount /dev/cdrom /mnt cp vsftpd-1.1.3-8.i386.rpm /home/soccer/ chmod 777 vsftpd-1.1.3-8.i38 ...

  9. 禁止ios默认拉动弹性行为

    document.ontouchmove = function(e) { e.preventDefault();} /** 禁止ios默认拉动弹性行为**///屏蔽ios下浏览器滚动缓冲效果

  10. MySQL和MsSQL实时自动同步---SyncNavigator 数据库同步软件

    需要MySQL数据库支持的狐友们有福了,MySQL和MsSQL实时自动同步---SyncNavigator 数据库同步软件   使用SyncNavigator轻松实现数据库异地同步.断点续传.异构同步 ...