每天一个linux命令:cd
2017-12-27 22:52
330 查看
每天一个linux命令:cd
更多精彩请查看:www.zicreate.com1.命令功能
cd 即Change directory,命令用来切换工作目录。2.命令格式
cd [-L|-P] [dir]3.命令参数
-p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录-L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录。
- 当仅实用”-“一个选项时,当前工作目录将被切换到环境变量”OLDPWD”所表示的目录。
4.使用场景
cd 命令非常简单,后面直接跟绝对路径或相对路径即可。常见操作如下:
cd # cd 不加参数时进入用户主目录; cd /home # 通过绝对路径进入“/home”目录; cd ./test # 通过相对路径进入当前目录下的“test”目录; cd ~ #“~”指代用户主目录; cd - #“-”指进入此目录之前所在的目录; cd .. #“..”为上级目录的意思; cd ../../.. # 返回上三级目录; cd !$ # !$代表了上一个命令的最后一个参数。
扩展
如上文所示,操作中会用到大量的特殊符号,本文将相关部分特殊符号解释如下(关于特殊符号更详细总结说明后续会整理发布):~ :代表当前用户的 home 目录。使用时可以当成路径的一部分直接使用,如cd ~/bin;
-减号:
在算术运算中,表示 “减法”。
expr 10 - 2
在shell 命令行中也是系统指令的选项符号。
ls -a
在 GNU 指令中,如果单独使用 - 符号,不加任何该加的文件名称时,代表”标准输入”的意思。这是 GNU 指令的共通选项。譬如下例
cat test.tar.gz |tar zxvf -
这里的 - 符号,既代表从标准输入读取资料。
在 cd 指令中则比较特别
cd -
这代表变更工作目录到”上一次”工作目录。
!$和
$_都可以返回上一个命令的最后一个参数(严格的说也不能说是参数,如果只有命令本身,那么返回的就是命令的名字),但是在存在管道命令和重定向命令的情况下存在差异。
示例如下:
$ echo hello world | awk '{print $1}' hello $ echo !$ echo '{print $1}' {print $1} $ echo hello world | awk '{print $1}' hello $ echo $_
存在管道命令的情况下,
!$输出的是管道命令中最后一个命令的最后一个参数,而
$_则输出为空
# echo hello world > test.txt # echo $_ world # echo hello world > test.txt # echo !$ echo test.txt test.txt
存在重定向命令的情况下,
!$输出的重定向命令后的最后一个参数,而
$_则输出的是重定向之前的命令的最后一个参数。
那如果要获取上个命令的其它参数该怎么操作呢?
同样以
echo hello world命令为例:
$ echo hello world hello world $ echo "arg0:!:0 arg1:!:1 arg2:!:2" echo "arg0:echo arg1:hello arg2:world" arg0:echo arg1:hello arg2:world $ echo !# echo echo echo
总结
!#上一个命令名
!$上一个命令的最后一个参数
!:n上一个命令的第n个参数
相关文章推荐
- 每天一个linux命令(2):cd命令
- 每天一个linux命令(2):cd命令
- 每天一个linux命令(2):cd命令
- 每天一个linux命令(2):cd命令
- 每天一个linux命令(2):cd命令
- 每天一个linux命令(2):cd命令
- 每天一个linux命令(2):cd命令
- 每天一个linux命令(2):cd命令
- 每天一个Linux命令(2):cd命令
- 每天一个linux命令(2):cd命令
- 每天一个linux命令(2):cd命令
- 每天一个linux命令(2):cd命令
- 每天一个linux命令(2):cd命令
- 每天一个linux命令(2):cd命令
- 每天一个linux命令(2):cd命令
- 每天一个Linux命令(2):cd命令
- 每天一个linux命令(2):cd命令
- 每天一个linux命令(2):cd命令
- 每天一个linux命令(2):cd命令
- 每天一个Linux命令(2):cd