#cd ~ 回到当前用户的家目录

[root@VM_168_102_centos etc]# pwd/etc //当前所在目录[root@VM_168_102_centos etc]# cd ~ //回到当前用户家木里[root@VM_168_102_centos ~]# pwd/root //当前用户家目录[root@VM_168_102_centos ~]# su wanghan [wanghan@VM_168_102_centos rott]$ cd ~ //回到当前用户家木里[wanghan@VM_168_102_centos ~]$ pwd /home/wanghan  //当前用户家目录[wanghan@VM_168_102_centos ~]$

#cd - 回到上一次所在目录

[wanghan@VM_168_102_centos ~]$ cd /etc //切换到/etc目录[wanghan@VM_168_102_centos etc]$ cd /tmp //从/etc目录切换到/tmp目录[wanghan@VM_168_102_centos tmp]$ cd -  //从当前/tmp回到上一次所在目录/etc //回到了/etc[wanghan@VM_168_102_centos etc]$ cd - //再从/etc回到上一次所在目录/tmp //回到了/tmp[wanghan@VM_168_102_centos tmp]$

#pwd命令:查看当前工作目录的完整路径

[wanghan@VM_168_102_centos /]$ pwd/[wanghan@VM_168_102_centos /]$ cd /etc[wanghan@VM_168_102_centos etc]$ pwd/etc[wanghan@VM_168_102_centos etc]$

#mkdir命令:用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。

mkdir [选项] 目录…

[wanghan@VM_168_102_centos tmp]$ lsagent_cmd.sock  ap_1002.pid  ap_1004.pid  ap_1005.pid  ap_1007.pid  ap_1008.pid  ap_1014.pid[wanghan@VM_168_102_centos tmp]$ mkdir /tmp/test[wanghan@VM_168_102_centos tmp]$ lsagent_cmd.sock  ap_1002.pid  ap_1004.pid  ap_1005.pid  ap_1007.pid  ap_1008.pid  ap_1014.pid  test

mkdir –p 目录…

[wanghan@VM_168_102_centos tmp]$ lsagent_cmd.sock  ap_1002.pid  ap_1004.pid  ap_1005.pid  ap_1007.pid  ap_1008.pid  ap_1014.pid  test[wanghan@VM_168_102_centos tmp]$ mkdir /tmp/wanghan/testmkdir: cannot create directory `/tmp/wanghan/test': No such file or directory[wanghan@VM_168_102_centos tmp]$ mkdir -p /tmp/wanghan/test[wanghan@VM_168_102_centos tmp]$ lsagent_cmd.sock  ap_1002.pid  ap_1004.pid  ap_1005.pid  ap_1007.pid  ap_1008.pid  ap_1014.pid  test  wanghan[wanghan@VM_168_102_centos tmp]$ ls wanghantest[wanghan@VM_168_102_centos tmp]$

若创建的路径中有尚不再存的目录即可按照路径全部创建

mkdir –v 目录…

[wanghan@VM_168_102_centos tmp]$ mkdir -pv /tmp/a/b/c/d/e/f/abcdmkdir: created directory `/tmp/a'mkdir: created directory `/tmp/a/b'mkdir: created directory `/tmp/a/b/c'mkdir: created directory `/tmp/a/b/c/d'mkdir: created directory `/tmp/a/b/c/d/e'mkdir: created directory `/tmp/a/b/c/d/e/f'mkdir: created directory `/tmp/a/b/c/d/e/f/abcd'

显示创建目录过程的详细信息

#rmdir命令:删除已空的目录

[wanghan@VM_168_102_centos tmp]$ lsa  agent_cmd.sock  ap_1002.pid  ap_1004.pid  ap_1005.pid  ap_1007.pid  ap_1008.pid  ap_1014.pid  ceshi  test  wanghan[wanghan@VM_168_102_centos tmp]$ ls testtest_1[wanghan@VM_168_102_centos tmp]$ rmdir /tmp/test rmdir: failed to remove `/tmp/test': Directory not empty  //该目录非空[wanghan@VM_168_102_centos tmp]$ rmdir /tmp/test/test_1[wanghan@VM_168_102_centos tmp]$ ls test[wanghan@VM_168_102_centos tmp]$ rmdir /tmp/test[wanghan@VM_168_102_centos tmp]$ lsa  agent_cmd.sock  ap_1002.pid  ap_1004.pid  ap_1005.pid  ap_1007.pid  ap_1008.pid  ap_1014.pid  ceshi  wanghan

#shell中的引用

‘ ’:强引用,变量替换不会进行

[wanghan@VM_168_102_centos tmp]$ num=123[wanghan@VM_168_102_centos tmp]$ echo $num123[wanghan@VM_168_102_centos tmp]$ echo '$num'$num

“ ”:若引用,能够执行变量替换

[wanghan@VM_168_102_centos tmp]$ num=456[wanghan@VM_168_102_centos tmp]$ echo numnum[wanghan@VM_168_102_centos tmp]$ echo "num"num[wanghan@VM_168_102_centos tmp]$

· ·:命令替换,引用命令的执行结果;命令替换的另外一符号:$(命令);

[wanghan@VM_168_102_centos tmp]$ echo ls /tmpls /tmp[wanghan@VM_168_102_centos tmp]$ echo `ls /tmp`a agent_cmd.sock ap_1002.pid ap_1004.pid ap_1005.pid ap_1007.pid ap_1008.pid ap_1014.pid ceshi wanghan

结合使用:

[wanghan@VM_168_102_centos tmp]$ echo $testtmp[wanghan@VM_168_102_centos tmp]$ echo "This is $test"This is tmp[wanghan@VM_168_102_centos tmp]$ echo `ls /$test` a agent_cmd.sock ap_1002.pid ap_1004.pid ap_1005.pid ap_1007.pid ap_1008.pid ap_1014.pid ceshi wanghan[wanghan@VM_168_102_centos tmp]$ echo "/tmp:`ls /$test`"/tmp:aagent_cmd.sockap_1002.pidap_1004.pidap_1005.pidap_1007.pidap_1008.pidap_1014.pidceshiwanghan

#创建一个一当前日期时间创建一个目录

[wanghan@VM_168_102_centos tmp]$ date=`date +%Y-%m-%d-%H%M%S`[wanghan@VM_168_102_centos tmp]$ mkdir -pv /tmp/$datemkdir: created directory `/tmp/2014-08-04-212053'[wanghan@VM_168_102_centos tmp]$ ls2014-08-04-212053  a  agent_cmd.sock  ap_1002.pid  ap_1004.pid  ap_1005.pid  ap_1007.pid  ap_1008.pid  ap_1014.pid  ceshi  wanghan[wanghan@VM_168_102_centos tmp]$

#history命令:查看在当前shell进程的保存在缓冲区中的执行过的命令列表,当shell退出时缓冲区的命令会自动化保存至当前用户的家目录中的.bash_history文件中。

[root@VM_168_102_centos ~]# su wanghan[wanghan@VM_168_102_centos rott]$ history    1  exit    2  history[wanghan@VM_168_102_centos rott]$ whoroot     pts/0        Aug  4 19:11 (222.36.253.150)[wanghan@VM_168_102_centos rott]$ pwd/root[wanghan@VM_168_102_centos rott]$ history    1  exit    2  history    3  who    4  pwd    5  history[wanghan@VM_168_102_centos rott]$ cat /home/wanghan/.bash_historyexit[wanghan@VM_168_102_centos rott]$ exitexit[root@VM_168_102_centos ~]# su wanghan[wanghan@VM_168_102_centos rott]$ cat /home/wanghan/.bash_historyexithistorywhopwdhistorycat /home/wanghan/.bash_historyexit[wanghan@VM_168_102_centos rott]$

!#:通过命令历史列表中的命令编号引用并执行第#条命令

[wanghan@VM_168_102_centos rott]$ history    1  exit    2  history    3  who    4  pwd    5  history    6  cat /home/wanghan/.bash_history    7  exit    8  cat /home/wanghan/.bash_history    9  history   10  history who   11  history pwd   12  history   13  history who   14  exit   15  history   16  who   17  history[wanghan@VM_168_102_centos rott]$ !3whoroot     pts/0        Aug  4 19:11 (222.36.253.150)[wanghan@VM_168_102_centos rott]$
!-#:通过命令历史列表中的命令编号引用并执行倒数第#条命令
[wanghan@VM_168_102_centos rott]$ history    1  exit    2  history    3  who    4  pwd    5  history    6  cat /home/wanghan/.bash_history    7  exit    8  cat /home/wanghan/.bash_history    9  history   10  history who   11  history pwd   12  history   13  history who   14  exit   15  history   16  who   17  history   18  who   19*    20  history[wanghan@VM_168_102_centos rott]$ !-3whoroot     pts/0        Aug  4 19:11 (222.36.253.150)[wanghan@VM_168_102_centos rott]$

!!:执行上一次历史命令

[wanghan@VM_168_102_centos rott]$ pwd/root[wanghan@VM_168_102_centos rott]$ !!pwd/root[wanghan@VM_168_102_centos rott]$ !!pwd/root

! string:执行命令历史列表中最近一次以string开头的命令

[wanghan@VM_168_102_centos rott]$ whatisusage: whatis keyword ...[wanghan@VM_168_102_centos rott]$ whoroot     pts/0        Aug  4 19:11 (222.36.253.150)[wanghan@VM_168_102_centos rott]$ !wwhoroot     pts/0        Aug  4 19:11 (222.36.253.150)[wanghan@VM_168_102_centos rott]$

! $:引用上一个命令的最后一个参数,快捷键:Esc .

[wanghan@VM_168_102_centos etc]$ cd /tmp[wanghan@VM_168_102_centos tmp]$ ls /!$ls //tmp2014-08-04-212053  a  agent_cmd.sock  ap_1002.pid  ap_1004.pid  ap_1005.pid  ap_1007.pid  ap_1008.pid  ap_1014.pid  ceshi  wanghan

history –c:清空当前缓存中的历史记录

[wanghan@VM_168_102_centos tmp]$ history    1  who    2  pwd    3  history[wanghan@VM_168_102_centos tmp]$ history -c[wanghan@VM_168_102_centos tmp]$ history     1  history

history –d #:删除与命令历史列表中命令编号相对应的命令记录

[wanghan@VM_168_102_centos tmp]$ history    1  who    2  pwd    3  history[wanghan@VM_168_102_centos tmp]$ history -d 1[wanghan@VM_168_102_centos tmp]$ history    1  pwd    2  history    3  history -d 1    4  history[wanghan@VM_168_102_centos tmp]$

history -a:追加当前历史记录保存至命令历史文件中

[wanghan@VM_168_102_centos rott]$ cat /home/wanghan/.bash_historyexit[wanghan@VM_168_102_centos rott]$ history    1  exit    2  cat /home/wanghan/.bash_history    3  history[wanghan@VM_168_102_centos rott]$ whoroot     pts/0        Aug  4 19:11 (222.36.253.150)[wanghan@VM_168_102_centos rott]$ pwd/root[wanghan@VM_168_102_centos rott]$ histroy -abash: histroy: command not found[wanghan@VM_168_102_centos rott]$ history -a[wanghan@VM_168_102_centos rott]$ cat /home/wanghan/.bash_historyexitcat /home/wanghan/.bash_historyhistorywhopwdhistroy -ahistory -a[wanghan@VM_168_102_centos rott]$

命令历史相关的环境变量:

HISTSIZE:命令历史中可以保存的命令个数

[root@VM_168_102_centos ~]# echo $HISTSIZE1000

HISTFILESIZE:命令文件中可以保存的命令个数

[root@VM_168_102_centos ~]# echo $HISTFILESIZE1000

HISTFILE:命令历史文件

[root@VM_168_102_centos ~]# echo $HISTFILE/root/.bash_history

HISTCONTROL:控制命令历史的生成

[root@VM_168_102_centos ~]# echo $HISTCONTROLignoredups

ignoredups:忽略重复记录的命令,连续相同的命令才算重复

[root@VM_168_102_centos ~]# history    1  history[root@VM_168_102_centos ~]# whoroot     pts/0        Aug  4 19:11 (222.36.253.150)[root@VM_168_102_centos ~]# whoroot     pts/0        Aug  4 19:11 (222.36.253.150)[root@VM_168_102_centos ~]# history    1  history    2  who    3  history[root@VM_168_102_centos ~]# whoroot     pts/0        Aug  4 19:11 (222.36.253.150)[root@VM_168_102_centos ~]# history    1  history    2  who    3  history    4  who    5  history[root@VM_168_102_centos ~]#

ignorespace:不记录以空白字符开头的命令

[root@VM_168_102_centos ~]# echo $HISTCONTROLignoredups[root@VM_168_102_centos ~]# HISTCONTROL=ignorespace[root@VM_168_102_centos ~]# echo $HISTCONTROLignorespace[root@VM_168_102_centos ~]# history    1  history    2  echo $HISTCONTROL    3  HISTCONTROL=ignorespace    4  echo $HISTCONTROL    5  history[root@VM_168_102_centos ~]#  who root     pts/0        Aug  4 19:11 (222.36.253.150)[root@VM_168_102_centos ~]#  pwd/root[root@VM_168_102_centos ~]# history    1  history    2  echo $HISTCONTROL    3  HISTCONTROL=ignorespace    4  echo $HISTCONTROL    5  history    6  history[root@VM_168_102_centos ~]#

ignoreboth:同时具有ignoredups和ignorespace的特性

 

shell中的变量赋值:

变量名=值

[root@VM_168_102_centos ~]# num=123[root@VM_168_102_centos ~]# echo $num123

注意:变量在赋值时不能使用$

           变量名只能包含字母、数字和下划线,而且不能以数字开头

           变量名区别大小写

[root@VM_168_102_centos ~]# num=123[root@VM_168_102_centos ~]# echo $NUM[root@VM_168_102_centos ~]# echo $num123