質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

1回答

17197閲覧

cdコマンドで移動ができない

退会済みユーザー

退会済みユーザー

総合スコア0

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

1グッド

0クリップ

投稿2017/11/16 07:09

[vagrant@localhost log]$ ls
をすると
dmesg.old ppp wtmp
httpd secure yum.log
lastlog
などが出てくるのですが
[vagrant@localhost log]$ sudo cd httpd
をしても
[vagrant@localhost log]$
となってしまいhttpdディレクトリに入れません。
これはなぜなのでしょうか?

mkgrei👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2017/11/16 07:10

cdコマンドの前にsudoってあるのですが、これは?
退会済みユーザー

退会済みユーザー

2017/11/16 07:31

sudoがないと-bash: cd: httpd/: 許可がありませんと表示がされてしまうのでいるのかなと思いました
date

2017/11/16 07:42

httpdフォルダに移動して何を実行するのですか? その実行内容をsudoで実行でできると思います
退会済みユーザー

退会済みユーザー

2017/11/16 07:49

error_logファイルを開いて中を見たいなと思っていました。sudo vi /var/log/httpd/error_logを入力するとerror_logが開けれました。ありがとうございます!!httpdフォルダに入って[vagrant@localhost httpd]$のようにすることはできないのでしょうか?
guest

回答1

0

ベストアンサー

cdはシェルの内部コマンドですので、そもそもsudoにふさわしくありません。

bash

1[ec2-user@ip-***-***-***-*** ~]$ sudo cd /root 2sudo: cd: command not found

cdして作業をしたいのであれば、sudo bashで別なシェルを開いて、その上で行いましょう(ただし、あまりおすすめはしません)。

投稿2017/11/16 07:14

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/11/16 07:32

sudoがないと-bash: cd: httpd/: 許可がありませんと表示がされてしまいます
退会済みユーザー

退会済みユーザー

2017/11/16 07:34

ただcd /var/log/でlogディレクトリに移動をする際はこのメッセージは表示がされないです。httpdフォルダに移動する時は表示がされてしまいます。なのでhttpdフォルダに移動をする際はsudoが必要なのかなと思いつけてみました。httpdフォルダに移動をするためにはどうすればいいのでしょうか?
maisumakun

2017/11/16 08:07

上に書いたように、sudo bashで立ち上げたシェルの中でcdしてください。
退会済みユーザー

退会済みユーザー

2017/11/16 08:10

なぜオススメはできないのでしょうか?
maisumakun

2017/11/16 08:17

rootでシェルを開くと、suで切り替えずに1つずつsudoを付けてコマンドを打っている意味がなくなるからです。
mkgrei

2017/11/16 08:30

セキュリティ上の問題ですね。 sudo bashするとroot(ユーザー)でログインしてしまって、本来sudoがないと動かないようなコマンドがすべてsudoをつけずに実行できてしまいます。 chown, chgrpなどで所有権を変更するのがよいかと思います。
退会済みユーザー

退会済みユーザー

2017/11/16 08:36

確かに危険なコマンドも普通に打ててしまうと危ないですね。 sudo cd httpdだと移動ができないのにsudo bashをした後にcd httpdをするとmaisumakunさんのおっしゃられている通り[root@localhost httpd]と移動ができました。 ということはsudo cd httpdとsudo bash→cd httpdは効果が違うというなのでしょうか?
maisumakun

2017/11/16 08:38

sudoは「プログラム」しか呼び出せませんので、bashの内部コマンドであるcdは呼ぶこともできません。
退会済みユーザー

退会済みユーザー

2017/11/16 09:09

「プログラム」だけだったんですね。非常に詳しい話でためになりました。 ご回答ありがとうございます。
退会済みユーザー

退会済みユーザー

2017/11/16 09:09

リンクもありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問