Linux学习笔记四--Bash Shell
查看某一命令是否是来自于外部命令还是内置于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相关推荐
- 【Linux】Linux学习(四)Shell编程
Linux学习(四)Shell编程 Shell概述 Shell脚本入门 变量 系统预定义变量 自定义变量 特殊变量 运算符 条件判断 流程控制(重点) if判断 case语句 for循环 while循 ...
- Linux 学习记录 四(Bash 和 Shell scirpt).
一.什么是 Shell? 狭义的shell指的是指令列方面的软件,包括基本的Linux操作窗口Bash等,广义的shell则包括 图形接口的软件,因为图形接口其实也可以操作各种驱动程序来呼叫核心进行工 ...
- Linux学习笔记 -- rpm 与 shell 编程
目录 rpm 与 YUM rpm 包的管理 rmp 包 查询 安装 卸载 yum 安装 JDK mysql 8.0 离线安装 Centos 7 忘记mysql的root密码 Shell 编程 shel ...
- 【Linux学习笔记】 -- 基本Shell命令
常见的目录名均基于文件系统层级标准(filesystem hierarchy standard,FHS) Linux的四个部分: 1 Linux内核:控制所有硬软件,必要时分配硬件根据需要执行软件 系 ...
- 鸟哥的私房菜Linux 学习笔记之 Bash语法
学习笔记备忘 case的语法 PATH=${PATH}:~/binexport PATHread -p "please input:" wordcase $word in &quo ...
- Linux学习笔记(四)
压缩和解压缩 zip和unzip命令 语法格式为:zip[选项] 参数 zip命令 可以用来解压缩文件,或者对文件进行打包操作.zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有". ...
- Linux学习笔记8——bash基本概念
一个操作系统的组成中,shell是与用户最接近的部分 shell:外壳,也是一种程序 GUI:Gnome,KDE,Xface CLI:sh,csh,ksh,bash,tcsh,zsh Linux中大多 ...
- linux shell命令分布执行,Linux学习笔记:bash特性之多命令执行,shell脚本
今天我们学习了bash特性多命令执行包括各个命令之间的逻辑关系.其中包含"与""或""非"命令的执行.下面即为我们所学习的这些逻辑命令关系之 ...
- Linux学习笔记(四)账号管理之管理用户账号
1.管理用户账号:每一个登录Linux操作系统的用户在系统中都应该有其对应的注册账号,这些账号记录了用户的信息,如用户名.登录口令.用户目录所在位置.所用的shell.建立时间.权限等信息.其中用户账 ...
最新文章
- 机器学习新手们 我这有本秘笈要不要?
- 【机器学习算法-python实现】svm支持向量机(3)—核函数
- Linux kernel crypto的介绍
- python计算2的平方代码_python – NumPy计算向量的范数2的平方
- [考试反思]0819NOIP模拟测试26:荒芜
- flume高可用-failover-配置文件编写
- 让 WPF 的 RadioButton 支持再次点击取消选中的功能
- 简记模态对话框和非模态对话框
- linux怎么改目录位置,Linux下更改MySQL数据目录位置具体操作方法
- linux文件监控和同步,(转)Linux下经过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步...
- 谷歌金山词霸更新历史
- linux怎么查看设备序列号,linux 使用dmidecode查看设备序列号
- 【常用表】常用泰勒公式与常用等价
- AutoSAR系列讲解(深入篇)14.2-Mcal Port配置
- 深入计算机组成原理(二十六)Superscalar和VLIW:如何让CPU的吞吐率超过1?
- Java中将List分组到Map中算法(可用于android联系人拼音分组)
- 人工智能实验1-波士顿房价预测
- 如何评价《就算老公一毛钱股份都没拿到,在我心里,他依然是最牛逼的创业者》里面这位CEO的所作所为?
- EternalBlue复现过程
- centos8安装jdk教程
热门文章
- Flutter中通过循环渲染组件
- Linux移植之auto.conf、autoconf.h、Mach-types.h的生成过程简析
- Loadrunner压测时,出现的问题汇总
- poj1220:高精度进制转换模板题
- http://www.cnblogs.com/QJohnson/archive/2011/06/24/2089414.html
- android button背景随心搭配
- 原生js中如果有多个onload事件解决方案
- PDO(PHP Data Object),Mysqli,以及对sql注入等问题的解决
- 解决intellij idea中使用live edit插件不能在chrome即时显示css变化的方法(html可以)
- springboot使用logback日志,部署到tomcat不生效问题解决