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. js添加onclick函数

    document.getElementById('Add').setAttribute("onclick",AddNum()); 相当于不停的调用Addnum函数 应改成docum ...

  2. C#垃圾回收

    析构方法: 我们知道引用类型都有构造方法(constructor),相对应的也有一个析构方法(destructor).顾名思义,构造方法,就是在创建这个对象时,要执行的方法.例如,我们可以通过构造方法 ...

  3. restful风格的webservice开发之概念准备篇

    理解restful:什么是rest,rest是Representational State Transfer的缩写,翻译过来就是“表现层状态转化”.这里有点不准确,其实rest省略了主语表现层指的是资 ...

  4. 完整版的strcpy函数

    char *strcpy(char *strDest,const char *strSrc) { assert((strDest!=NULL) && (strSrc!=NULL)); ...

  5. 你好,C++(30)“大事化小,小事化了”5.4.3 工资程序成长记:函数

    5.4.3 工资程序成长记:函数 自从上次小陈“程序员”的工资程序得到老板的夸奖,口头许诺给他涨工资以后,老板再也没有找过他,涨工资的事自然也就没有下文了.这天,老板又突然召他去办公室.这下可把小陈高 ...

  6. linux下定时任务

    一.linux定时任务软件种类 .at : 适合执行一次的任务.突发性的任务.需要启动 atd 服务才能执行任务. .crontab: 周期性的执行任务工作:启动crond 服务后可以执行任务.最常用 ...

  7. 模块SEO优化中{分类名称}分隔符去掉及只调用下级分类方法

    if($catid) { if($CAT['parentid']) { $seo_catname = ''; $tmp = strip_tags(cat_pos($CAT, 'DESTOON')); ...

  8. IE11新特性 -- Internet Explorer 11:请不要再叫我IE

    Internet Explorer 11 中的一些新特性,包括对WebGL 的支持.预抓取.预渲染.flexbox.mutationobservers 以及其他一些 Web 标准的支持.但是更有趣的是 ...

  9. 热门usb无线网卡

    拓实 N910 N95 N82 N81 N89 都是3070的 拓实 N87 G618 是8187的硬功夫 216 310 217 218 300 315 335 350 370 380 510 53 ...

  10. 突破路由mac地址过滤思路

    一.获取合法的mac地址 在拿到无线网络的密码时,主要思路就是,用类似airodump-ng这类监听软件(WildPackets OmniPeek,Kismet),获得合法客户端的mac地址,然后再更 ...