查看某一命令是否是来自于外部命令还是内置于bash中:type [-tpa] name      也可用来查找命令,如:type -p touch 有/bin/touch;type -p vbird无显示

ls    -al     /root

列出/root下面的各文件名称,注意到不论命令与参数之间空几格,都是可以接受的

cp  /var/spool/mail/root   /etc/crontab \(空格,\,Enter,下行会自动输出>)

> /etc/fstab   /root

将3个文件复制到/root目录下。

如果命令太长,可以使用2行来输出,\[Enter]转义,注意中间不能有空格

变量

变量的用途

简化路径名称,如:linux下得目录和文件名一般都都代表这一定的含义,普遍都会很长,不利于去记忆,此时可以设置一变量来代表该路径,直接 cd $myVariable

脚本中常用到存储路径,且每个人的存储路径都会不一样,这样的话修改起来就很麻烦,此时定义一变量,引用该变量,这样只需每个人去修改响应的变量内容即可

变量内容

查看更多变量的方法:man  variable

echo $variable

echo ${variable}

设置和修改某个变量内容,用等号=连接变量和内容。取消变量 unset

通常大写字母为系统默认变量,自行设置的变量可以使用小写字母,便于判断

如:myVariable=PATH

unset myVariable

注:

=号两边不能直接接空格符

变量名称只能是英文字母和数字,但数字不能是开头字符

若有空格符,可用 “ 或 ‘ 。区别:双引号内的特殊字符可以保持变量特性,单引号内的特殊字符则仅位一般字符

必要时转义字符 \

如:myVariable=PATH's name(x)

myVariable="PATH's name"

myVariable=PATH\'s\ name

在PATH变量中累加:/home/dmtsail/bin

PATH=$PATH:/home/dmtsail/bin

或PATH="$PATH":/home/dmtsail/bin

如变量为扩展变量内容,双引号及$

如:如果要将变量myVariable的内容多出“yes”:

myVariable=$myVariableyes(x),这样的话,myVariable的内容就是$myVariableyes这个变量

myVariable="$myVariable"yes

myVariable=$(myVariable)yes

如何让刚刚设置的name=PATH可以用在下一个shell程序中

什么是子程序,就是说在当前这个shell的情况下去启用另一个新的shell,那个新的shell就是子程序。一般情况下符程序的自定义变量是无法在子程序内使用的,需通过export将变量编程环境变量,就能够在子程序下应用了

在一串命令中还需要通过其他的命令提供的信息,可以使用 `  (键盘数字键1的左边的那个按键,不是单引号)

如:如何进入到当前核心的模块目录

cd  /lib/modules/`uname -r`/kernel

每个操作系统的核心版本都不相同,uname -r 是获取这个版本的命令

再:想知道每个crontab相关文件的权限

ls -l `locate crontab`

locate列出所有相关文件的文件名,再ls

环境变量

env 列出当前shell环境下所有环境变量及其内容  export命令也可以实现这个功能

set  将环境变量列出来之外,其他自定义变量,所有变量都会列出来

PS1 命令提示符的设置

查看$shell的PID  echo $$

显示上一个执行命令的回传码,一般来说,如果上一命令成功地执行,则返回0,如果执行过程中发生错误,就回传错误代码,通常以非0来替换

自定义变量转换成环境变量 export

查看系统支持的语系   locale

LANG、LC_ALL

当前Linux主机内保存的语系文件位置:/usr/lib/locale/目录中。如果想修改系统的语系支持时,可修改/etc/sysconfig/i18n

读取键盘输入的变量 read

declare/typeset

数组属性 array

ulimit 与文件系统及程序的限制关系

附加的变量设置功能:#、##、%、%%、/、//具体略。

alias、unalias    命令别名设置

alias lm='ls -l|more'

alias rm='rm -i'

history   之前使用过的命令的记录

history 3  显示当前最近使用的3个命令

history -w  默认情况下会将历史记录写入~/.bash_history中

!number   执行历史记录中第number条命令

!command 由最近的命令向前搜索,命令串开头为command的命令,并执行

!!     执行上一条命令

转载于:https://www.cnblogs.com/perfy/archive/2012/05/19/2509192.html

Linux学习笔记四--Bash Shell相关推荐

  1. 【Linux】Linux学习(四)Shell编程

    Linux学习(四)Shell编程 Shell概述 Shell脚本入门 变量 系统预定义变量 自定义变量 特殊变量 运算符 条件判断 流程控制(重点) if判断 case语句 for循环 while循 ...

  2. Linux 学习记录 四(Bash 和 Shell scirpt).

    一.什么是 Shell? 狭义的shell指的是指令列方面的软件,包括基本的Linux操作窗口Bash等,广义的shell则包括 图形接口的软件,因为图形接口其实也可以操作各种驱动程序来呼叫核心进行工 ...

  3. Linux学习笔记 -- rpm 与 shell 编程

    目录 rpm 与 YUM rpm 包的管理 rmp 包 查询 安装 卸载 yum 安装 JDK mysql 8.0 离线安装 Centos 7 忘记mysql的root密码 Shell 编程 shel ...

  4. 【Linux学习笔记】 -- 基本Shell命令

    常见的目录名均基于文件系统层级标准(filesystem hierarchy standard,FHS) Linux的四个部分: 1 Linux内核:控制所有硬软件,必要时分配硬件根据需要执行软件 系 ...

  5. 鸟哥的私房菜Linux 学习笔记之 Bash语法

    学习笔记备忘 case的语法 PATH=${PATH}:~/binexport PATHread -p "please input:" wordcase $word in &quo ...

  6. Linux学习笔记(四)

    压缩和解压缩 zip和unzip命令 语法格式为:zip[选项] 参数 zip命令 可以用来解压缩文件,或者对文件进行打包操作.zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有". ...

  7. Linux学习笔记8——bash基本概念

    一个操作系统的组成中,shell是与用户最接近的部分 shell:外壳,也是一种程序 GUI:Gnome,KDE,Xface CLI:sh,csh,ksh,bash,tcsh,zsh Linux中大多 ...

  8. linux shell命令分布执行,Linux学习笔记:bash特性之多命令执行,shell脚本

    今天我们学习了bash特性多命令执行包括各个命令之间的逻辑关系.其中包含"与""或""非"命令的执行.下面即为我们所学习的这些逻辑命令关系之 ...

  9. Linux学习笔记(四)账号管理之管理用户账号

    1.管理用户账号:每一个登录Linux操作系统的用户在系统中都应该有其对应的注册账号,这些账号记录了用户的信息,如用户名.登录口令.用户目录所在位置.所用的shell.建立时间.权限等信息.其中用户账 ...

最新文章

  1. 机器学习新手们 我这有本秘笈要不要?
  2. 【机器学习算法-python实现】svm支持向量机(3)—核函数
  3. Linux kernel crypto的介绍
  4. python计算2的平方代码_python – NumPy计算向量的范数2的平方
  5. [考试反思]0819NOIP模拟测试26:荒芜
  6. flume高可用-failover-配置文件编写
  7. 让 WPF 的 RadioButton 支持再次点击取消选中的功能
  8. 简记模态对话框和非模态对话框
  9. linux怎么改目录位置,Linux下更改MySQL数据目录位置具体操作方法
  10. linux文件监控和同步,(转)Linux下经过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步...
  11. 谷歌金山词霸更新历史
  12. linux怎么查看设备序列号,linux 使用dmidecode查看设备序列号
  13. 【常用表】常用泰勒公式与常用等价
  14. AutoSAR系列讲解(深入篇)14.2-Mcal Port配置
  15. 深入计算机组成原理(二十六)Superscalar和VLIW:如何让CPU的吞吐率超过1?
  16. Java中将List分组到Map中算法(可用于android联系人拼音分组)
  17. 人工智能实验1-波士顿房价预测
  18. 如何评价《就算老公一毛钱股份都没拿到,在我心里,他依然是最牛逼的创业者》里面这位CEO的所作所为?
  19. EternalBlue复现过程
  20. centos8安装jdk教程

热门文章

  1. Flutter中通过循环渲染组件
  2. Linux移植之auto.conf、autoconf.h、Mach-types.h的生成过程简析
  3. Loadrunner压测时,出现的问题汇总
  4. poj1220:高精度进制转换模板题
  5. http://www.cnblogs.com/QJohnson/archive/2011/06/24/2089414.html
  6. android button背景随心搭配
  7. 原生js中如果有多个onload事件解决方案
  8. PDO(PHP Data Object),Mysqli,以及对sql注入等问题的解决
  9. 解决intellij idea中使用live edit插件不能在chrome即时显示css变化的方法(html可以)
  10. springboot使用logback日志,部署到tomcat不生效问题解决