ターミナルウィンドウからLinuxでファイルを作成する方法 [閉まっている]


449

Linuxターミナルでファイルを作成する最も簡単な方法は何ですか?


1
$>newfileファイルを作成することもできます。
EsmaeelE 2018

回答:


577

ファイルに含める内容に応じて、次のようにします。

  • touch /path/to/file 空のファイル
  • somecommand > /path/to/file いくつかのコマンドの出力を含むファイルの場合。

      eg: grep --help > randomtext.txt
          echo "This is some text" > randomtext.txt
  • nano /path/to/fileまたはvi /path/to/file(またはany other editor emacs,gedit etc
    既存のファイルを開いて編集するか、空のファイルを作成して開いて入力します(存在しない場合)


51
また、printf "some long message\nwith newlines\n" > file。皆さんお元気で。
シェルター2012

1
UNIXはコマンドライン環境ではなく、(まったく異なる)OSのファミリーです。それは言った:はい、これはほとんどのUnicesで動作するはずです
Eugen Rieck

4
touch標準ツールであるため、UNIXで動作します。このsomecommand例は、標準の構文を使用しているため機能します。nano名前のエディタがあるため、サンプルが動作しない場合がありますnanoインストールされていない可能性(nanoは標準化されていません)。標準エディタはed、の代わりに使用nanoでき$EDITORます。または、ユーザー設定またはシステム設定のデフォルトテキストエディタがある場合は、それを使用して使用できます。
sorpigal

14
さらに、が>/path/to/fileない場合でも、単に空のファイルを作成するように言うことができますtouch
ソーピガル

2
それは言うならば許可が拒否された何@EugenRieck
123


92

を使用してファイルを作成します cat

$ cat > myfile.txt

次に、ファイルに必要なものを入力します。

Hello World!

保存して終了するにはCTRL-D


すぐにファイルを編集する簡単で便利な方法を提供するので、私は猫を使用することを好みます。
Delali

何も入力しないこともできます。
Bing Zhao

私が試したところcat /etc/systemd/system/sample.service、新しいsample.serviceファイルを作成するのではなく、「そのようなファイルやディレクトリはありません」と表示されました。
TylerH

@TylerHは、cat /etc/systemd/system/sample.serviceコンソールにファイルを印刷しcat > /etc/systemd/system/sample.service、あなたがコントロール-Dを押して、標準入力をクローズする必要がある理由である(ファイルへの標準入力をリダイレクトします。
ジェリーエレミヤ

40

考えられる解決策はいくつかあります。

空のファイルを作成する

touch file

>file

echo -n > file

printf '' > file

echoバージョンが動作する場合にのみお使いのバージョンのechoサポート-n抑制改行に切り替えます。これは非標準の追加です。他の例はすべてPOSIXシェルで動作します。

改行のみを含むファイルを作成します

echo '' > file

printf '\n' > file

改行で終了するため、これは有効な「テキストファイル」です。

テキストをファイルに書き込む

"$EDITOR" file

echo 'text' > file

cat > file <<END \
text
END

printf 'text\n' > file

これらは同等です。この$EDITORコマンドは、EDITOR環境変数で定義されたインタラクティブテキストエディターがあり、同等のテキストをインタラクティブに入力することを前提としています。catバージョンは、後リテラル改行を前提と\し、互いの行の後。それ以外はすべてPOSIXシェルで動作します。

もちろん、ファイルを書き込んだり作成したりする方法は他にもたくさんあります。



17

Linuxでテキストファイルを作成する方法:

  • を使用touchしてテキストファイルを作成します。$ touch NewFile.txt
  • を使用catして新しいファイルを作成する:$ cat NewFile.txt
    ファイルは作成されますが、空であり、ユーザーからの入力をまだ待っています。ターミナルに任意のテキストを入力でき、CTRL-Dで閉じるか、CTRL-Cでエスケープします。
  • 単に>テキストファイルの作成に使用します。$ > NewFile.txt
  • 最後に、任意のテキストエディター名を使用して、次のようなファイルを作成できます。
    nano MyNewFile vi MyNewFile NameOfTheEditor NewFileName


15

touch他の人が言ったように、あなたはコマンドを使うことができます:

touch filename

コマンドラインでファイルに書き込むには、echoまたはを使用できますprintf

echo "Foo" > filename
printf "Foo" > filename

多分あなたは許可に問題があるかもしれません。次のエラーが発生した場合:bash: filename: Permission deniedsudo bash -c 'echo "Foo" > filename'ここで説明するように、を使用する必要があります:https : //askubuntu.com/questions/103643/cannot-echo-hello-x-txt-even-with-sudo


14

第一の方法

echo -n > filename.txt

第二の方法

> filename.txt

第三の方法

touch filename.txt

ファイルの内容を表示するには

vi filename.txt

2つの方法は
type-

この質問は、ヘルプセンターで定義されているStack Overflowのトピックではありません。そのような質問には答えないでください。代わりに、注意のためにそれらにフラグを立てる必要があり、それらは閉じられるか、適切に移行されます。
Toby Speight






4

あなたが新しいファイルを作成しようとしているが、それは言う'File does not exist'場合の理由は:まだ存在していないディレクトリにもアクセスしているからです。mkdir /path/to/dirコマンドを使用して、最初に存在しないディレクトリをすべて作成する必要があります。


0

インストールを使用して、所有権と権限を持つ空のファイルを作成します。

sudo install -v -oUSER -gGROUP -m640 /dev/null newFile.txt

これsudoは多くのシナリオで役立ちますが、OPの質問に対する回答の一部ではありません。
tripleee

グループのメンバーが所有しているかどうかに関係なく、ファイルが必要なユーザー名でない場合に必要です。
LinuxGuru

はい、そのようなシナリオがありますが、厳密には、OPが要求したものではありません。
tripleee

0

最も簡単で迅速な方法の1つ

$ vim filename
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.