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 暂停命名的命令

原文地址:https://www.cnblogs.com/20e8/p/11177484.html