『忠犬もちしば』のAIを育てるとグッズが貰える!>>

ls,pwd,cp,catなどのコマンドが一切使えず、入力すると "Commmand not found"と返されます。

唯一、cd だけが使えるのですが、どういうことなのかさっぱり分かりません。

最近、使い始めたばかりなので、詳しく教えてくれませんか。

このQ&Aに関連する最新のQ&A

CP 値」に関するQ&A: Cp値

A 回答 (5件)

お使いの環境について、WindowsなのかUNIX系(AIX/BSD/HPUX/Linux/Solaris/...)なのかお書きになると良いかと。


cdはDOS/旧WindowsやNT系Windowsにもありますし。

ls,pwd,cp,catはUNIX系のシステムには標準で導入されているであろうコマンドですが、何らかの理由(操作の間違い含めて)で削除していたり、コマンド検索パスを変更して標準のコマンドが見つからない状態になっている場合には"Command not found"となりそうに思います。

UNIX系だとecho /* やらecho /*/cpやら echo /*/*/cpなどでコマンドの実行ファイルがあるか調べてフルパスで指定すればそのコマンドを実行する事ができそうです。
echo $PATHすれば環境変数PATHの値が確認できるかと思いますので設定すれば使えるようになると。
コマンドが使える状態でない場合(例えば/や/usrのファイルシステムがマウントできてない)や消えている場合には問題の状況に対処する必要があります。

Windows系のシステムはcdコマンドを標準で持っていますが、ls,pwd,cp,catコマンドは持っていませんので、それらのコマンドを入れてやるか標準のコマンドを使う必要があります。
ls→dir
pwd→dir(dirでもカレントディレクトリの表示が行なわれたかと;cd使うと表示されますが、UNIX系と併用する場合にはユーザホームディレクトリに移動するUNIXとの違いで気持ち悪さを感じます)
cp→copy,xcopy
cat→type,copy

UNIX互換コマンド入れる場合にはCygwinやSFUを探してみてください。
    • good
    • 0

chrootされてるんじゃないのでしょうか?



管理者にきいてみてください
    • good
    • 0

コマンドには、bash等のシェルが処理する内部コマンドと、外部の実行ファイルを実行する外部コマンドがあります。


cdは内部コマンドで、ls,cp等は外部コマンドです。

外部コマンドを、そのファイルのありかを示すパスの指定無しで実行するには、環境変数PATHにあるディレクトリのどこかに実行ファイルが存在する必要があります。

ということで
・PATHが指定されていないか間違っていて、cpなどのありかが見付けられない
・実際に外部コマンド(の一部?)が存在しない
のいずれかが可能性が高いと思われます。


これ以上はお使いのOS,シェル等の情報が無いと答えようがありません。

# pwdは内部コマンドだと思いましたが....
    • good
    • 1

現象だけ見ると単純にPATHが通ってないだけのような気がします。



cd /bin などとしたあと、 ./ls で ls が起動しませんか?
もし起動するようなら /bin にパスが通っていないだけ、ですよね。
    • good
    • 0

どんOSを使っているのかはわかりませんが


suでroot権限にしてもだめなんでしょうか。
OSくらい書いてもらわないと回答できないと思います。
    • good
    • 2

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q起動しているサービスを確認するコマンド

初歩的な質問で恐縮ですが、ご教示いただけますと幸いです。

起動しているサービスを確認するために以下の2つのコマンドを打ってみるのですが、結果(出て来るサービス名)が違います。
このコマンドの違いについてご教示いただけますでしょうか。

(1)service --status-all
(2)chkconfig --list

Aベストアンサー

(1)service --status-all

サービスの現在のステータスを調べるコマンド

(2)chkconfig --list

OSのブート時に自動起動するサービスを調べるコマンド

違いが出るのは、
・ブート後に手動あるいは他のコマンドから起動したサービス
・ブート後に手動あるいは他のコマンドから、あるいはエラーで停止したサービス
・ブート後に実行はされるがすぐに停止して常駐しないサービス (ntpdate とか)

あるいは、(1)ではサービス名が表示されない物もあるので、どのサービスがどんなステータス出力をするのか知っておく必要もありますね。(service network statusとか)

Qmakeコマンドが使えません。

コマンドのまったくの素人です。
makeというコマンドを使おうとすると
makeコマンドが見つからないというエラーが
出るのですが、どのように対処をしたらいいのでしょうか?
よろしくお願いいたします。

Aベストアンサー

そうですねNo.4の方の言うとおり、その他の開発用ツールがインストールされていない可能性が高いですね。

たしか、Fedora Core 3を使用したと思いますので、
アプリケーション→システム設定→アプリケーションの追加/削除を選択しパッケージ管理を起動させ、その中の開発の項目にある開発ツールのチェックボックスをチェックし、必要であれば詳細から追加でパッケージを選択し、更新をクリックしてパッケージをインストールすればいいのではないでしょうか。

Qapt-get install ****** でinstallしたものをuninstallするには?

御世話になります。
vncserverだけをinstallするつもりが
誤って
apt-get install vncとうってしまいました。
これをuninstallしたいのですが
どのようにすればよろしいでしょうか?

教えて下さい。

Aベストアンサー

# apt-get remove パッケージ名
では、設定ファイルは削除されずに残ります。

完全に削除するときは、
# apt-get --purge remove パッケージ名
です。

Qシェルコマンドの 2>&1 とはどういう意味でしょうか?

command > /dev/null 2>&1

というコマンドがありましたが意味がわからないので教えてください。
> /dev/null
部分は、出力を捨てるということだと思いますが、
2>&1
部分がわからないです。

Aベストアンサー

Unix ではファイル記述子というのがあって、番号、多くの場合 0, 1, 2 が使われます。0は入力、1は普通のメッセージ出力、2はエラーメッセージの出力というように使い分けされています。

さて、ご質問ですが、command > /dev/null という部分は、command の普通のメッセージ(ファイル記述子1番)を /dev/null というファイル(このファイルは特殊で、ここに出力された内容は全て捨てられます)に出力されます。で、残る "2>&1" という部分ですが、これは2番のファイル記述子を1番というファイル記述子にする、という意味になります。

従いまして、"command > /dev/null 2>&1" とすることで command からの全てのメッセージは(/dev/nullに)捨てられる、つまり、エラーがあろうがなかろうが出力されるメッセージは何もないことになります。

Qsedの置換文字に変数を使用したいのですが・・・

あるファイルの特定の文字を変換し、上書きをする処理を行いたいのですが、sedの置換文字に変数が渡せなくて困っています。

例:
X="a"
Y="b"
echo test.txt | sed 's/${X}/${Y/g}' >test.txt

sedでは置換文字に${X}といった変数を使用することはできないのでしょうか?

Aベストアンサー

' ・・・' で囲まれた中の$はそのままドルマークです。変数展開をするなら、'・・・'で囲んではいけません。

何も囲まないか、"・・・"で囲むかです。

Qmakeコマンドができない

基本的なことだと思いますがお願いします。

fedore core で色んなことをやってみようと思い sl を インストール

していたのですがmakeができないのです。インストール通りにできないの

はなんでですか? makeコマンドは /usr/bin にありました。

的はずれなこと言っていたらすみません。

[root@localhost sl]# ls -lrt
合計 36
-rw-r--r-- 1 3605 lock 4101 1月 19 1994 sl.h
-rw-r--r-- 1 3605 lock 980 1月 19 1994 sl.txt
-rw-r--r-- 1 3605 lock 689 1月 19 1994 sl.1
-rw-r--r-- 1 3605 36 417 7月 22 1998 README
-rw-r--r-- 1 3605 36 331 7月 22 1998 Makefile
-rw-r--r-- 1 root root 76 10月 31 2005 install.txt
-rw-r--r-- 1 3605 36 7131 10月 31 2005 sl.c
[root@localhost sl]# more install.txt
1. # tar xvf sl.tar
2. # cd sl
3. # make
4. # cp sl /usr/local/bin/
5. # sl
[root@localhost sl]# make
cc -O -o sl sl.c -lcurses -ltermcap
make: cc: コマンドが見つかりませんでした
make: *** [sl] エラー 127

基本的なことだと思いますがお願いします。

fedore core で色んなことをやってみようと思い sl を インストール

していたのですがmakeができないのです。インストール通りにできないの

はなんでですか? makeコマンドは /usr/bin にありました。

的はずれなこと言っていたらすみません。

[root@localhost sl]# ls -lrt
合計 36
-rw-r--r-- 1 3605 lock 4101 1月 19 1994 sl.h
-rw-r--r-- 1 3605 lock 980 1月 19 1994 sl.txt
-rw-r--r-- 1 3605 lock 689 1月 19 1994 sl.1
-rw-r--...続きを読む

Aベストアンサー

そのslの出自がわかりませんが、
http://www.tkl.iis.u-tokyo.ac.jp/~toyoda/
にあるものならば、

Makefile の
CC=cc
という行を
CC=gcc
に変更して再度 make してみてください。

> make: cc: コマンドが見つかりませんでした

というメッセージが出ているのだから、makeそのものは実行できている
というのはわかりそうなものですが。make 一発ですまないのは
このslだいぶ前に作られた古いものだからでしょうね。

Qシェルスクリプト実行で”そのようなファイルやディレクトリはありません”と出ます。

以下の単純なシェルスクリプトを実行しようとしています。
-------------------
#!/bin/sh
echo ok
-------------------
そのとき、
bad interpreter: そのようなファイルやディレクトリはありません
と出てしまいます。

・which sh で確認すると /bin/sh です。
・Windowsで作ったファイルをFTPのアスキーモードで転送しています。

(ものすごく単純なミスをしてるのかもしれませんが、)
よろしくお願いします。

Aベストアンサー

1行目の「/bin/sh」のうしろにCRが入っていると、このような現象が発生します。
FTPの転送モードが間違いなくアスキーモードになっているか、
転送後のファイルにCRがついていないかなど、再度確認してみてください。

CR以外のコントロールコードや全角スペースなどがついていても似た現象が起こります。
その場合はエラーメッセージが多少異なるはずですが、併せて確認しておくと良いかと思います。

Qシェルスクリプトでファイル内の数値文字列を数値として扱うには

失礼します。
シェルスクリプトでファイル内のテキスト(数値文字列)を取得して、それを使って計算するにはどうすれば良いでしょうか?

str:ファイル内のテキスト(数値文字列)

res=$(( $str + 1 ))

・エラー
")syntax error: invalid arithmetic operator (error token is "


よろしくお願いします。

Aベストアンサー

bashをご使用と判断して

res=$(( $str + 1 ))
ではなく、
res=$(( str + 1 ))
だと思います。

> exprもやってみたのですが、処理が遅くなるので使いません。
興味があって以下のシェルで検証してみました。

#!/bin/bash

str=1
i=0

echo 'Using $((str + 1))'
date '+%H:%M:%S.%N'

while [ $i -lt 10000 ]
do
str=$(( str + 1))
i=`expr $i + 1`
done

date '+%H:%M:%S.%N'

exit

$ ./test.sh
Using $((str + 1))
09:18:46.290418000
09:18:56.929345000
これをexprに書き換えたところ
$ ./test2.sh
Using expr
09:19:00.302748000
09:19:19.259990000

exprだと19秒ですが、$(( 演算 )) だと10秒程度なので、演算が多くなれば確かにexprは不利ですね。

bashをご使用と判断して

res=$(( $str + 1 ))
ではなく、
res=$(( str + 1 ))
だと思います。

> exprもやってみたのですが、処理が遅くなるので使いません。
興味があって以下のシェルで検証してみました。

#!/bin/bash

str=1
i=0

echo 'Using $((str + 1))'
date '+%H:%M:%S.%N'

while [ $i -lt 10000 ]
do
str=$(( str + 1))
i=`expr $i + 1`
done

date '+%H:%M:%S.%N'

exit

$ ./test.sh
Using $((str + 1))
09:18:46.290418000
09:18:56.929345000
これをe...続きを読む

Qシンボルが見つかりませんというエラーが理解できません。

以下のようなじゃんけんゲームのプログラムを書いたのですが、「シンボルが見つかりません。」というエラーが表示されるのですが、エラーの意味が理解できず、解決できません。どこが間違っているのか教えていただけませんか。

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.io.File;

public class janken extends Applet
implements Runnable, ActionListener {
private static final int EXTERNAL_BUFFER_SIZE = 128000;

Image image[] = new Image[3];
Thread t;
int index1 = 0;
int index2 = 0;
String msg = "";
String msg1 = "";

boolean state = false;
Button b1 = new Button("ぐー");
Button b2 = new Button("ちょき");
Button b3 = new Button("ぱー");

public void init(){
for(int i = 0; i<=2; i++){
img[i] = getImage(getDocumentBase(),"hanabi" + (i+1) + ".JPG");
}
add(b1);
add(b2);
add(b3);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
msg1 = "結果は・・";

}

public void paint(Graphics g){
g.drawImage(img[index1],350,30,this);
g.drawImage(img[index2],695,30,this);
g.drawString("コンピューター",420,300);
g.drawString("あなた",800,300);
g.drawString(msg,630,320);
g.drawString(msg1,550,320);
}

public void start(){
state = true;
t = new Thread(this);
t.start();

}

public void run(){
while(state){
index1++;
if(index1 == 3){
index1 = 0;
}
index2++;
if(index2 == 3){
index2 = 0;
}
repaint();
try {
Thread.sleep(60);
}catch(InterruptedException e) { }
}
}

public void actionPerformed(ActionEvent e){
if(state == false) {
start();
return;

}
state = false;
if(e.getSource() == b1) {
msg = "ぐー";
index2 = 0;
}

else if(e.getSource() == b2){
msg = "ちょき";
index2 = 1;
}

else if(e.getSource() == b3){
msg = "ぱー";
index2 = 2;
}
check();
repaint();
}

public void check() {
if(index1 == index2) msg ="あいこ";


else if (index1 == 0) {
if(index2 == 2) msg="あなたの勝ち";
else msg ="あなたの負け";
}

else if(index1 == 1) {
if(index2 == 0) msg="あなたの勝ち";
else msg="あなたの負け";
}

else if(index1 == 2) {
if(index2 == 1) msg="あなたの勝ち";
else msg="あなたの負け";
}

}
}

以下のようなじゃんけんゲームのプログラムを書いたのですが、「シンボルが見つかりません。」というエラーが表示されるのですが、エラーの意味が理解できず、解決できません。どこが間違っているのか教えていただけませんか。

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.io.File;

public class janken extends Applet
implements Runnable, ActionListener {
private static final int EXTERNAL_BUFFER_SIZE = 128000;

Image image[] = new Imag...続きを読む

Aベストアンサー

「シンボルを見つけられません。」というエラーの下に何か表示がありませんでしたか?そこにヒントがあると考えられます。
シンボルを見つけられませんといエラーが表示される主な理由は4つあります。
(1)クラス、メソッド、変数などの綴りミスや定義していない変数を使用している可能性がある。
(2)コンストラクタを呼び出すときに、newを忘れている可能性がある。(3)公開されていないメンバーを呼び出している可能性がある。
(4)必要なimport文を記述し忘れている可能性がある。
ここでのあなたのエラーは(1)番ではないでしょうか?上記ではimageとなっている変数がimgになっていますね。
これはエラー表示をよく見ることで意外と簡単に解決できるのです。
ゆっくり丁寧にエラー表示を見るように心がけることが大事ですよ。

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング