zoukankan      html  css  js  c++  java
  • Shell 基本知识

    本机有多少我们可以使用的SHELL类型存在:   /etc/shells  文件中

    一般有如下几种:/bin/sh  (已经被/bin/bash替换)

            /bin/bash  (就是Linux默认的shell)

            /bin/tcsh   (整合C shell,提供更多的功能)

            /bin/csh   (已经被上面的tcsh所替换) 

    1. type 【-tpa】 name  :不加任何参数会显示name是外部命令还是bash内部的命令

    -t 将那么以下面的字眼显示它的意义:

       file:表示外部命令

      alias:表示别名设置的命令

      builtin:表示为bash内置的命令功能

    -p 后面接外部命令是会显示完整的路径和文件名

    -a 会由PATH变量定义的路径中,将命令列出来

    2. (反斜杠) 如果一行的命令有些长,可以用[ +Enter ]这个来转义到下一行继续数据

    ctrl+u  从光标向前删除命令串   ctrl+k  是向后删除

    ctrl+a 移动光标到行首  ctrl+e  移动光标到行尾

    3. 变量

    echo $HOME  or echo ${HOME}   查看HOME的变量

    设置变量规则:变量与变量内容以一个等号连接,等号两边不能直接接空格,变量名只能是英文字母与数字,开头字符不能是数字,变量内容有空格可以使用单引号或双引号。

    需要借用其他命令的结果时,可以使用反单引号 或者$()      例如:  cd /lib/modules/$(uname -r)/kernel

    扩增变量内容时,"$变量名" or  ${变量名}   例如:PATH=${PATH}:/home/bin

    4. read 读取来自键盘输入的变量值

    read -pt variable

    -p 后面是提示字符  -t是等待的秒数  超时会自动略过

    5.declare, typeset

    都是声明变量的类型

    declare -aixr variable    -a 定义变量为数组类型  -i定义变量为整数类型  -x定义变量变为环境变量  -r定义变量为readonly 该变量不能改,也不能被unset

    6.ulimit  [-SHacdfltu]  配额

    -H: hard limit ,严格的设置,必定不能超过这个设置的数值

    -S: softlimit , 警告的设置,可以超过这个设置值,有警告信息,设置上,通常soft回避hard小,举例,soft可设置80,而hard设置为100

    -a: 后面不解任何选项和参数,可列出所有的限制额度

    -c: 当某些程序发生错误时,系统可能会将该程序在内存中的信息写成文件(除借用),这种文件就称为内核文件(core file)。此为限制每个内核文件的最大容量。

    -f:此shell可以建立的最大文件容量(一般可能设置为2G)单位KBytes

    -d: 程序可使用的最大段内存(segment)容量

    -l: 可用于锁定(lock)的内存量

    -t: 可使用的最大cpu时间(单位为秒)

    -u: 单一使用者可以使用的最大进程数量

    变量内容的修改:

    ${变量#关键词}   若变量内容从头开始的数据符合【关键词】,则将符合的最数据删除

    ${变量##关键词}   若变量内容从头开始的数据符合【关键词】,则将符合的最数据删除

    ${变量%关键词}   若变量内容从尾向前的数据符合【关键词】,则将符合的最短数据删除

    ${变量%%关键词}   若变量内容从尾向前的数据符合【关键词】,则将符合的最短数据删除

    ${变量/旧字符串/新字符串}   若变量内容符合旧字符串,则第一个旧字符串会被新字符串替换

     ${变量//旧字符串/新字符串}   若变量内容符合旧字符串,则全部的旧字符串会被新字符串替换

    alias   设置别名

    alias vi=‘vim’

    取消别名   unalias vi

    Bash的环境变量:

    login shell: 取得bash时需要完整的登录流程,就是需要用户的账号和密码

    non-login:取得bash的方法不需要重复登录的操作,例如你在原本的bash环境里再次执行bash命令,同样的也没有输入账号密码,那第二个bash(子进程)就是non-login shell。

    login shell 读取两个配置文件: 1 /etc/profile 这是系统整体的设置,最好不要修改。  2. ~/.bash_profile 或~/.bash_login 或 ~./profile  :属于用户个人设置,你要添加的数据可以写在这里

    login shell流程图:  第一行是主流程,向下的是被调用的配置文件

    /etc/profile ------------------> ~/.bash_profile------------------->开始操作bash

         ↓            ↓

    /etc/profile.d/*.sh             ~/.bashrc

        ↓            ↓

    /etc/locale.conf      /etc/bashrc

    source :读入环境配置文件的命令   source  ~./bashrc

    bash默认的组合键

    ctrl+c    终止目前命令

    ctrl+d 输入结束(EOF),例如邮件结束的时候

    ctrl+m 就是回车

    ctrl+s 暂停屏幕的输出

    ctrl+q 恢复屏幕的输出

    ctrl+u 将提示符后边的内容删除

    ctrl+z 暂停命名的命令

  • 相关阅读:
    职业发展拷问——非科班出身如何才能成为一名合格程序员
    记一个神奇的Bug
    Python多维数组切片
    如何查看数组指针指向数组的所有元素
    RoboMongo命令(版本:Robo 3T 1.1.1)
    Git命令(Git版本:Linux 2.14.3)
    逐点收敛与一致收敛
    廖雪峰Python教程疑问
    The Non-Inverting Amplifier Output Resistance by Adrian S. Nastase [转载]
    2.4G无线射频通信模块nRF24L01+开发笔记(基于MSP430RF6989与STM32f0308)(1.(2)有错误,详见更正)
  • 原文地址:https://www.cnblogs.com/20e8/p/11177484.html
Copyright © 2011-2022 走看看