事件起因


今天在aws ubutun上忽然发现的一个问题,执行sudo cd 时出现

sudo: cd: command not found

原因


shell

shell是一个命令解析器

所谓shell是一个交互式的应用程序。

shell执行外部命令的 时候,是通过fork/exec叉一个子进程,然后执行这个程序。

sudo


sudo 是一种程序,用于提升用户的权限,在linux中输入sudo就是调用sudo这个程序提升权限 
sudo的意思是,以别人的权限叉起一个进程,并运行程序。

cd


cd是shell的内部命令。 
也就是说,是直接由shell运行的,不叉子进程。 
你在当前进程里当然不能提升进程的权限(其实也可以,不过得编程的时候写到代码里,然后再编译,而我们的 shell没有这个功能,否则岂不是太危险了?黑客.sh

解决办法


但是有一些目录我们普通用户是没有权限进入该目录的,比如/root 

对目录来说x 可执行权限就是用户拥有进入该目录、复制其中文件的权限

那么我们该怎么办呢, 
一个有限的办法就是为该目录增加当前用户的可执行权限,但是对我们来说这样并不是很安全 
那么还有没有解决办法呢,当然有,Linux下没有什么问题是解决不了的,那就是获取root权限或者文件夹所属用户的权限 
使用su 命令即可获取用户的权限,但是root权限怎么获取呢,sudo已经不行了

那就是sudo su 或者sudo -sH 默认缺省为获取root 用户 

sudo: cd: command not found的更多相关文章

  1. 示sudo: cd: command not found

    执行sudo cd 时出现 sudo: cd: command not found 原因shell shell是一个命令解析器 所谓shell是一个交互式的应用程序. shell执行外部命令的 时候, ...

  2. Mac 显示sudo: pip: command not found

    Mac显示sudo: pip: command not found mac在安装完pip模块后,使用pip命令会提示sudo: pip: command not found moyanzhudeMac ...

  3. sudo: ulimit: command not found

    在这看到的:http://stackoverflow.com/questions/17483723/command-not-found-when-using-sudo-ulimit 修改系统文件打开数 ...

  4. alias, bg, bind, break, builtin, caller, cd, command,

    bash,  :,  .,  [, alias, bg, bind, break, builtin, caller, cd, command,       compgen, complete, com ...

  5. [问题解决]linux sudo xxx:command not found

    题外话 软件的安装在linux下主要分为两种.一种是通过包管理器例如ubuntu的apt-get xxx,另一种是自己手动安装.通过包管理器安装的,基本开箱即用,无需配置,但是存在一个问题,有时候无法 ...

  6. 解决:sudo: pip: command not found

    1-问题:Ubuntu下执行sudo pip install package-name 出现 sudo: pip: command not found 的问题. 2-原因:编译sudo的时候加入了–w ...

  7. sudo: add-apt-repository: command not found

    错误来啦:sudo: add-apt-repository:command not found      网上解决办法是直接安装工具包 命令:sudo apt-get install python-s ...

  8. sudo: java: command not found

    背景:搭建了jumpserver,给开发划分了所有权限,但是开发那边账户不能执行java命令 报错:sudo: java: command not found 解决方法: 在用户管理权限配置sudoe ...

  9. Ubuntu解决sudo: source: command not found错误

    Ubuntu Server上执行以下命令,可以看到默认打开的文件数限制为1024个. $ ulimit -n 1024 编辑/etc/profile配置文件,在最后添加一行: ulimit -SHn ...

随机推荐

  1. 安装kylin的艰难历程

    前言:暑假里老师布置的任务没有完成,来到学校后马不停蹄的安装kylin,结果一路艰难险阻,搞了快两个星期都没有弄好....现在止步于hive阶段卡死...仅将之前的步骤记录下来以便重新安装时更加顺利. ...

  2. Docker系列教程26-Docker Compose控制服务启动顺序

    作者:周立 在生产中,往往有严格控制服务启动顺序的需求.然而Docker Compose自身并不具备该能力.要想实现启动顺序的控制,Docker Compose建议我们使用: wait-for-it ...

  3. 9.代码抽取(adapter)

    1  抽取Adapter 共性的方法 2  把getView方法里 和holder相关的逻辑 摘取到Holder代码中 3  把Holder 相关的代码 抽取到BaseHolder中  4  把ada ...

  4. 第二节:Java入门第一行代码

    前言 大家好,今天带来Java入门第一行代码的概述,希望你们喜欢 第一行代码 学习Java基础课程,学会使用eclipse,eclipse为Java集成开发坏境IDE,创建第一个Java源文件代码: ...

  5. JavaScript百宝箱

    Js的外部引用 外部文件中不用添加<script>标签,引用书写位置需在使用之前 <script type="text/javascript" src=" ...

  6. 百度翻译爬虫-Web版(自动生成sign)

    # 面向对象 # 百度翻译 -- 网页版(自动获取token,sign) import requests import js2py import json import re class WebFan ...

  7. [linux]解析crontab

    linux提供了一个非常强大而且又比较好用的命令 [crontab] crontab是Unix和Linux用于设置周期性被执行的指令,是互联网很常用的技术,很多任务都会设置在crontab循环执行, ...

  8. logstash收集TCP端口日志

    logstash收集TCP端口日志官方地址:https://www.elastic.co/guide/en/logstash-versioned-plugins/current/index.html ...

  9. Hulu大规模容器调度系统Capos

    Hulu是美国领先的互联网专业视频服务平台,目前在美国拥有超过2000万付费用户.Hulu总部位于美国洛杉矶,北京办公室是仅次于总部的第二大研发中心,也是从Hulu成立伊始就具有重要战略地位的分支办公 ...

  10. Android--UI之DatePicker、TimePicker...

    前言 这一篇博客分别讲解Android平台下,关于日期和时间的几个相关控件.包括DatePicker(日期选择控件).TimePicker(时间选择控件).DatePickerDialog(日期选择对 ...