Linux编程环境介绍(2) -- shell(Bash) 介绍
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) 介绍的更多相关文章
- Linux编程环境介绍(3) -- linux下的c/c++程序开发
目录: 1. 编辑器( Vi ) [vi 与 vim] vi(visual interface)是linux系统最重要的文本编辑器, 所有的 Unix-Like 系统都会内置vi文本编辑器. vim ...
- Linux编程环境介绍(1) -- linux的历史
1. linux是什么? "Hello everybody out there using minix——I'm doing a (free) operating system" ...
- 【Linux】 环境变量与shell配置&执行
■ 变量与环境变量 shell环境通常存在很多变量,变量可以通过echo $VAR或${VAR}的方式查看.set命令可以查看当前环境中的所有变量(包括一般的自定义变量和环境变量) 变量的设置通过简单 ...
- 【263】Linux 添加环境变量 & 全局 shell 脚本
Linux电脑添加环境变量 方法一:通过修改 profile 文件添加环境变量 1. 打开终端,输入[vi /etc/profile],如下所示,点击回车 [ocean@ygs-jhyang-w1 L ...
- 【Linux】 Linux编程规范&Linux 编程环境搭建
一.通过Samba映射网络驱动器 菜单栏-计算机-映射网络驱动器 English 菜单栏-Home -Easy access-Map as drive 编辑代码使用 Windows 编译 运行程序在 ...
- Linux编程环境
yum -y install gcc gcc-c++ libtool-ltdl libtool-ltdl-devel openssl openssl-devel curl curl-devel lib ...
- linux 编程环境搭建过程记录
1, 安装centos 7 最小版 过程略 ...... 2, 安装桌面安装yum groupinstall "GNOME Desktop" 更新系统运行级别ln -sf /li ...
- Linux编程 12 (默认shell环境变量, PATH变量重要讲解)
一 .概述 默认情况下, bash shell会用一些特定的环境变量来定义系统的环境.这些默认环境变量可以理解是上篇所讲的系统全局环境变量. 1.1 bash shell支持的Bourne变量 Bo ...
- Linux编程 11(shell全局环境变量与局变环境变量)
一.概述 在linux中,很多程序和脚本都通过环境变量来获取系统信息,存储临时数据,配置信息.环境变量是指用来存储有关shell会话和工作环境信息,允许你在内存中存储数据,以便程序或shell中运行的 ...
随机推荐
- servlet方式通过Cookie记住登录时的用户名和密码
1.建立web工程 2.创建存放servlet的包 3右键包,新建servlet,路径将前面的servlet去掉,只需要doPost和doGet方法 编写servlet CookieServlet.j ...
- js 定义函数的几种方法 以及如何调用
/*1.方法调用模式: 先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来执行方法,this即指当前的myobject 对象.*/ var car = { carId ...
- PHP Filesystem
Runtime 配置 Filesystem 函数的行为受到 php.ini 中设置的影响. Filesystem 配置选项: 名称 默认 描述 可改变 allow_url_fopen "1& ...
- JS数组常用方法
// 来自 http://www.runoob.com/jsref/jsref-obj-array.html var arr01 = [ "fuc" , "shi ...
- POJ 3254 状压DP
题目大意: 一个农民有一片n行m列 的农场 n和m 范围[1,12] 对于每一块土地 ,1代表可以种地,0代表不能种. 因为农夫要种草喂牛,牛吃草不能挨着,所以农夫种菜的每一块都不能有公共边. ...
- hadoop实现共同出现的单词(Word co-occurrence)
共同出现的单词(Word co-occurrence)是指在一个句子中相邻的两个单词.每一个相邻的单词就是一个Co-Occurrence对. Sample Input: a b cc, c d d c ...
- MySQL查询优化处理
查询的生命周期的下一步是将一个sql转化成一个执行计划,MySQL再依照这个执行计划和存储引擎进行交互.这包括多个子阶段:解析sql,预处理,优化sql执行计划.这个过程中任何错误(例如语法错误)都可 ...
- SSM框架搭建java.lang.ClassNotFoundException: org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
在搭建 spring springMVC Mybatis 时候出错 将org.springframework.http.converter.json.MappingJacksonHttpMessage ...
- d007: 求两数的整数商 和 余数
内容: 求两数的整数商 和 余数 输入说明: 一行两个整数 输出说明: 一行两个整数 输入样例: 18 4 输出样例 : 4 2 #include <stdio.h> int main ...
- AE-后期制作的基本技能-小视频-实践!!
这是本人学习AE软件的实践练习,看来,学习基本技能要慢慢来,稳步前进,一步一个脚印才对!!同时,多观看别人的作品,多看一下电视上面的片头,广告的效果;学习AE要带着问题,思路来学习!多做理论联系实际操 ...