zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    centos安装docker-compose
    CentOS安装Docker
    【JPA】【笔记】GenerationType四中类型
    【maven】多个子项目、父项目之间的引用问题【转】
    一个页面多个echarts图表自适应
    jQuery操作单选按钮(radio)用法
    CASE WHEN .... THEN END 的用法
    遮罩层
    oracle 数据库的字段的增删改主键设定删除
    自动获取ROI-用于SFR算法的ROI获取
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3301746.html
Copyright © 2011-2022 走看看