ubuntu下sudo cd以及sudo ls /root/*报错的问题

参考至https://blog.csdn.net/xiaotengyi2012/article/details/6953494

问题描述

:~# sudo cd /root
sudo:cd:command not found
:~# sudo ls /root/*
no such file of directory
:~# sudo ls /root (成功运行)

原因解释

引用一段比较好的英文解释
cd is a shell built-in command. It cannot be run in a child process. The child process simply cannot change the working directory of its parent shell process.

Redirection also does not work with sudo for the same reason (redirection being a shell “thing”)

注:sudo 是一种程序,用于提升用户的权限,在linux中输入sodu就是调用这个程序提升权限,shell是一个命令解析器,sudo cd是错误的,因为cd是shell内置的,不是系统里面的,sudo可以运行系统带的命令,但无法用系统中一个软件中的命令。

解决方法

获取root权限:
+ su root
+ sudo -s
退出:
- exit
- ctrl+D

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值