日期:2014-05-16  浏览次数:20543 次

Linux指令(五)
echo $PATH
echo $HOME
echo $MAIL

env         查看系统环境变量
set         除了会显示当前的环境变量,也会显示自定义的环境变量

name=furuitao     变量定义,等号两边不能有空格
unset name        去掉变量的定义
export           

alias       命令别名,查询有那些命令别名
        alias lm='ls -al|more'
unalias     取消命令别名

history     查询历史指令,配合“!”使用
!45         执行第45个历史指令
!!          执行上一个指令
!al         执行最近一次以al开头的指令

在命令行输入的不管是变量,还是别名,都只针对该次登录的设定。
系统设定值:每个用户进入到bash shell之后先读取的文件。
/etc/profile     PATH USER HOSTNAME MAIL HISTSIZE umask等变量。所有用户都会用到这里的信息
/etc/bashrc      这个文件用于规划umask
/etc/man.comfig  man page的路径设定

个人设定:个人根目录下的几个隐藏文件
~/.bash_profile  定义个人路径(PATH)与环境变量的文件名称。
~/.bashrc        对于个人喜好的bash设定,如:个人变量,命令别名设定,路径的重新定义
~/.bash_history  记录使用过的历史指令
~/.bash_logout   注销shell的时候BASH所做的事情

source           不用注销重新登录,而直接读入变量配置文件。实现直接更新环境变量,让之生效。
        当一次登录,需要处理三种不同的PATH时候,就可以使用source使某个PATH生效

通配符:*,?,[],'
ls test*             表示test后跟任意个字符都予以接受
ls test?             表示test后要接一个字符
ls test???           表示test后要接3个字符
cp test[1-5] /tmp    test1,test2,test3,test4,test5若存在,就复制到/tmp下
cd /lib/modules/'uname -r'/kernel/drivers    被 ' ' 括起来的内容先执行

ls /furt ; ls /             ;  2条指令都会执行,不管第一条是否执行成功
ls /furt && ls /            && 第一条执行执行成功,第二条指令才执行
ls /furt || ls /            || 第一条指令执行失败,第二条指令才执行

系统默认不搜索当前目录下的文件
./commond        执行当前目录下的执行文件

命令重定向
ls -al > test.txt            显示结果输出到test.txt,若文件存在,则删除原文件
ls -al >> test.txt           显示结果输出到test.txt,该文件累加,保留原数据
ls -al 1> test1 2> test.err  正确数据输出到test.txt,错误数据输出到test.err
ls -al 1> test1 2>&1        不论正确还是错误的都输出到test.txt
ls -al 1> test1 2> /dev/null 将错误的数据丢掉

mail -s "test" root < /root/.bashrc 将原本需要键盘输入的数据经由文件导入

管线命令: | 只接受标准输出(正确的数据)
cut          切割字符
        cat /etc/passwd | cut -d ":" -f 1   类似于split,列出第一个区块
        last | cut -c1-20                   将last之后的数据,每一行的1~20个数据取出来
sort         排序
        cat /etc/passwd | sort              将列出来的账号排序
        cat /etc/passwd | sort -t: +2n       以:为分隔符,将个人账号已用户ID排序
wc -lmw      统计数量
        -l 多少行 -m 多