linux之shell(一)
来源:互联网 发布:万网域名怎么转入 编辑:程序博客网 时间:2024/06/14 18:41
type cmd:判断shell的命令是外部命令还是内建的命令,cd是内建的命令。
shell中定义变量规则:不能以数字开头;等号左右两边不能有空格;有特殊符号时用“双引号“括起来,在已知的环境变量后增加 PATH=$PATH:/home/bin;在现有变量后增加name=“$name”yes或name=${name}yes;在一串命令中,如果需要借助由其他命令提供的信息,可以使用反单引号`cmd`或$cmd。如cd /lib/modules/`name -r`/kernel或cd /lib/modules/$(uname -r)/kernel,先执行name -r, 在执行整个命令
取消变量时用unset name, env:列出所有环境变量与内容,RANDOM:随机数环境变量,echo $RANDOM,系统随机取出介于0~32767之间一个数,linux下的随机数生成器设备是/dev/random,set:观察所有变量(含环境变量与自定义变量); PS1:shell的提示字符配置;$本次shell的PID,echo $$会输出shell PID;echo $?返回上一个命令的传回值,成功则传回0。locale:影响显示结果的语系变量。export:自定义变量转换成环境变量。
declare/typeset:定义变量的类型,如果不接参数,则输出所有变量和内容。
declare -aixr variable-a:数组类型-i:整形-x:与export一样,将变量变为环境变量-r:变量为readonly类型默认是字符串类型,所以如果进行数值计算,要将其声明为整形,如下:xlf@xlf-Lenovo:~$ sum=100+300xlf@xlf-Lenovo:~$ echo $sum100+300xlf@xlf-Lenovo:~$ declare -i sum=100+300xlf@xlf-Lenovo:~$ echo $sum400ulimit :与文件系统及程序的限制值 ulimit -a:显示当前身份的所有的限制数据数值
变量的删除与替换:
alias:设置命令别名 alias lm='ls -al | more'; unalias:删除别名 unalias lm
history:查看历史命令,HISTSIZE环境变量设置了记录的命令数,一般是1000,这些命令是写入~/.bash_history文件中的, history -w:将命令立即写入文件。!number执行第几笔命令,!!:运行上一个命令 , !command,运行以command开头的命令。
linux命令运行顺序:1 以相对/绝对命令运行命令;2由alias找到的命令;3由bash内建的命令;4通过$PATH路径寻找命令。
bash的环境配置文件:
login shell:通过tty1~tty6登录,输入用户名密码;no-login shell:从图形界面直接打开终端,不需要再次输入用户名密码(原来我一直用的这个)
/etc/profile:系统整体配置,login shell读,对所有的用户生效;
下面的是对个人用户,注意是指登录的时候生效,但是可以用source生效。
~/.bash_profile:login shell读,对个人用户,其实依次读取~/.bash_profile, ~/.bash_login, ~/.profile(ubuntu下有):按上面的顺序读,哪个有了就读,然后后面的就不读了。
~/.bashrc:nologin shell读,也就是说我的这个登录的时候只会读取这个配置文件呀。(ubuntu下有)
source:可以使以上配置生效。
其他配置文件(ubuntu下):
/etc/manpath.config:使用man的时候,man pages的路径
~/.bash_history: history显示的历史命令
~/.bash_logout: 注销bash后,系统做的事情,默认只是清屏
stty:配置终端,stty -a:显示按键列表。
常用通配符:
特殊符号:
Linux重导向:
标准输入:0, 使用<或<<; 标准输出: 1,使用>或>>; 标准错误输出:2使用2>或2>>
1>: 以覆盖方式将“正确的数据”输出到指定的文件或装置上;
1>>: 以累加的方式将“正确的数据”输出到指定的文件或装置上;
2>: 以覆盖方式将“错误的数据”输出到指定的文件或装置上;
2>>: 以累加的方式将“错误的数据”输出到指定的文件或装置上;
>与>>的区别就是是将源文件重写还是在尾部增加。
如果将标准输出与标准错误写入一个文件,需要使用:file 2>&1或&>file, 使用1>file 2>file是错误的,因为两股数据同时写入一个文件会产生错乱,两股数据可能交叉写入。注意两个命令的不同:
cat food 2>&1 >file: 标准错误重定向到标准输出,这时的标准输出是终端,所以流向终端,而>file表明标准输出重定向到文件。
cat food >file 2>&1: 标准输出重定向到文件,标准错误又重定向到标准输出,而现在标准输出是到了文件,所以可以实现标准输出与标准错误同时输出到file文件。
/dev/null:垃圾桶黑洞装置,输出到这个设备的内容全部丢弃。
- linux之shell(一)
- Linux之shell(三),shell的编写一
- Linux Shell系列教程之(一)Shell简介
- Linux之Shell学习(一)Shell简介
- Linux --shell(一)
- linux shell(一)
- linux shell(一)
- Linux面试题之shell编程详解(一)
- linux shell编程之菜单选择(一)
- Linux系统基础学习之shell及常用命令(一)
- linux shell(一)shell简介
- Linux学习之shell编程一
- Linux Shell---专题一之sed
- Linux下Shell编程之必背必记(一)
- linux shell 笔记(一)
- Linux Shell笔记 (一)
- linux shell 复习(一)
- linux shell编程(一)
- 《高效能程序员的修炼》读书笔记(三)——开发技术和从业习惯
- oracle 临时表空间组的概念
- UVA - 748 Exponentiation
- Table 组件使用指南之十七:根据EO的状态设置Row的背景色
- Python之禅
- linux之shell(一)
- UVA 1314 - Hidden Password(最小表示法)
- 01背包,最基础的,看着模板敲的,交上还错了5次,不懂为什么用C交就不对呢。还是不懂
- Table 组件使用指南之十八:自定义Date类型字段过滤器
- poj2516--Minimum Cost(费用流,分别建图)
- Java并发学习之七——守护线程
- 黑马程序员----import和class的区别
- poj 3356 AGTC(dp 求最短编辑距离)
- POJ2135Farm Tour(最小费用最大流模板)