- 指令执行过程中,反单引号(`)这个符号代表的意义, 在一串指令中,在`之内的指令将会被先执行,而其执行出来的结果将做为外部的输入信息。
[wm@adx /usr/local/redis]$ cd /lib/modules/`uname -r`/kernel You have new mail in /var/spool/mail/root [wm@adx /lib/modules/2.6.18-398.el5/kernel]$
- PS1使用
\d :代表日期,格式为weekday month date,例如:"Mon Aug 1" \H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux \h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略 \t :显示时间为24小时格式,如:HH:MM:SS \T :显示时间为12小时格式 \A :显示时间为24小时格式:HH:MM \u :当前用户的账号名称 \v :BASH的版本信息 \w :完整的工作目录名称。家目录会以 ~代替 \W :利用basename取得工作目录名称,所以只会列出最后一个目录 \# :下达的第几个命令 \$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
- Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
[wm@adx test]$ cat var.sh #! /bin/sh echo "var num : $#" echo "sh name : $0" echo "first var : $1" echo "ninth var : $9" echo "all var : $@" echo "var list : $*" echo "PID : $$" echo "stat : $?" [wm@adx test]$ chmod +x var.sh [wm@adx test]$ ./var.sh 1 2 3 4 5 6 7 8 9 10 var num : 10 sh name : ./var.sh first var : 1 ninth var : 9 all var : 1 2 3 4 5 6 7 8 9 10 var list : 1 2 3 4 5 6 7 8 9 10 PID : 13829 stat : 0<pre name="code" class="html">$# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个 $$ 是脚本运行的当前进程ID号 $? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误 区别:@* 相同点:都是引用所有参数。 不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数(分别存储在12 3)则"*" 等价于 "12 3"(传递了一个参数);而"@" 等价于 "1""2" "$3"(传递了三个参数)
- export添加显示环境变量
[wm@adx redis]$ export declare -x CLASSPATH=".:/usr/java/jdk1.7.0_75/lib/tools.jar:/usr/java/jdk1.7.0_75/lib/dt.jar" declare -x CSCOPE_DB="/home/wm/miad/cscope.out" declare -x CVS_RSH="ssh"
- locale添加查看语系
[wm@adx redis]$ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8"
- 查看默认语系
[wm@adx redis]$ cat /etc/sysconfig/i18n LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16"
- declare系统设置
语 法:declare [+/-][rxi][变量名称=设置值] 或 declare -f 补充说明:declare为shell指令,在第一种语法中可用来声明变量并设置变量的属性([rix]即为变量的属性),在第二种语法中可用来显示shell函数。 若不加上任何参数,则会显示全部的shell变量与函数(与执行set指令的效果相同)。 参 数: +/- "-"可用来指定变量的属性,"+"则是取消变量所设的属性。 -f 仅显示函数。 r 将变量设置为只读。 x 指定的变量会成为环境变量,可供shell以外的程序来使用。 i [设置值]可以是数值,字符串或运算式。
- 登陆游标提示符
$:给一般使用者账号使用 #:给 root(管理员)账号使用
- IFS 是 shell 预设使用的字段分隔符,可以由一个及多个如下按键组成
空格键(White Space) 表格键(T ab) 回车键(Enter)
- 查看开机level
[root@adx ~]# runlevel N 3
- /etc/motd即messageoftoday(布告栏信息)
- login shell 其实叧会读取这两个配置文件:
1. /etc/profile:这是系统整体癿讴定,你最好丌要修改这个档案;
2. ~/.bash_profile 或 ~/.bash_login 或 ~/.profile:(依次读取,前一个存在就不会读取下一个了)属亍使用者个人设定,你要改自己的数据,就写入这里!
- linux用户登录顺序
(1)/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。 (2)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。 (3) ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。 (4) ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。 (5)~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系。 (6)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。