每天一个linux命令:cd

每天一个linux命令:cd

更多精彩请查看:www.zicreate.com

1.命令功能

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个参数

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值