Jak utworzyć plik w systemie Linux z okna terminala? [Zamknięte]

449

Jaki jest najłatwiejszy sposób utworzenia pliku w terminalu Linux?

rafian
źródło
1
$>newfilemoże również utworzyć plik.
EsmaeelE,

Odpowiedzi:

577

W zależności od zawartości pliku:

  • touch /path/to/file dla pustego pliku
  • somecommand > /path/to/file dla pliku zawierającego dane wyjściowe niektórych poleceń.

      eg: grep --help > randomtext.txt
          echo "This is some text" > randomtext.txt
  • nano /path/to/filelub vi /path/to/file(lub any other editor emacs,gedit etc)
    Otwiera istniejący do edycji lub tworzy i otwiera pusty plik do wprowadzenia, jeśli nie istnieje

Eugen Rieck
źródło
51
także printf "some long message\nwith newlines\n" > file,. Powodzenia wszystkim.
shellter
1
UNIX nie jest środowiskiem wiersza poleceń, ale rodziną (bardzo różnych) systemów operacyjnych. To powiedziawszy: Tak, to powinno działać na większości Unices
Eugen Rieck
4
touchbędzie działać w systemie UNIX, ponieważ jest to standardowe narzędzie. somecommandPrzykładem będzie działać, ponieważ wykorzystuje standardową składnię. nanoPróbka może nie działać, ponieważ edytor nazwane nanonie mogą być instalowane (nano nie jest znormalizowany). Standardowy edytor jest edi może być używany zamiast nanolub możesz użyć $EDITORdomyślnego edytora tekstowego skonfigurowanego przez użytkownika lub system, jeśli taki istnieje.
sorpigal
14
Ponadto możesz po prostu powiedzieć, >/path/to/fileaby utworzyć pusty plik, nawet jeśli go nie masz touch.
sorpigal
2
@EugenRieck Co jeśli powie, że odmówiono zgody
123
122

Użyj dotyku

touch filename
Mariusz Jamro
źródło
92

Utwórz plik za pomocą cat

$ cat > myfile.txt

Teraz po prostu wpisz w pliku, co chcesz:

Hello World!

CTRL-D, aby zapisać i wyjść

rafian
źródło
Wolę używać cat, ponieważ oferuje on łatwy i wygodny sposób natychmiastowej edycji pliku.
Delali,
Możesz także nic nie pisać.
Bing Zhao,
Kiedy próbowałem cat /etc/systemd/system/sample.service, powiedziało „nie ma takiego pliku lub katalogu” zamiast tworzyć nowy plik sample.service.
TylerH
@TylerH cat /etc/systemd/system/sample.servicedrukuje plik na konsoli cat > /etc/systemd/system/sample.serviceprzekierowuje standardowe wejście do pliku (dlatego należy zamknąć standardowe wejście, naciskając control-d.
Jerry Jeremiah
40

Istnieje kilka możliwych rozwiązań:

Utwórz pusty plik

touch file

>file

echo -n > file

printf '' > file

echoWersja będzie działać tylko wtedy, gdy wersja echoobsługuje -nprzełącznik do stłumienia nowej linii. Jest to niestandardowy dodatek. Pozostałe przykłady będą działać w powłoce POSIX.

Utwórz plik zawierający nowy wiersz i nic więcej

echo '' > file

printf '\n' > file

Jest to prawidłowy „plik tekstowy”, ponieważ kończy się na nowej linii.

Wpisz tekst do pliku

"$EDITOR" file

echo 'text' > file

cat > file <<END \
text
END

printf 'text\n' > file

Są równoważne. $EDITORPolecenie zakłada, że masz interaktywny edytor tekstu zdefiniowany w zmiennej środowiskowej EDITOR i które interaktywnie wprowadzić równoważny tekst. catWersja zakłada dosłownego przełamane po \i po każdej innej linii. Poza tym wszystkie będą działać w powłoce POSIX.

Oczywiście istnieje również wiele innych metod pisania i tworzenia plików.

sorpigal
źródło
25

Utwórz również pusty plik:

touch myfile.txt
andreapier
źródło
17

Jak utworzyć plik tekstowy w systemie Linux:

  • Używając touchdo utworzenia pliku tekstowego:$ touch NewFile.txt
  • Użycie catdo utworzenia nowego pliku: $ cat NewFile.txt
    plik jest tworzony, ale jest pusty i wciąż czeka na dane wejściowe od użytkownika. Możesz wpisać dowolny tekst do terminala, a po zakończeniu CTRL-D zamknie go, lub CTRL-C cię ucieknie.
  • Wystarczy użyć, >aby utworzyć plik tekstowy:$ > NewFile.txt
  • Na koniec możemy użyć dowolnej nazwy edytora tekstu, a następnie utworzyć plik, na przykład:
    nano MyNewFile vi MyNewFile NameOfTheEditor NewFileName
NAUKA DANYCH
źródło
16

ha ha! To jest łatwe! Spróbuj tego:

$ touch filename
Roman Newaza
źródło
1
Działa to z sudo, więc mogłem utworzyć nowy plik w folderze systemowym.
Patricia,
15

Możesz użyć touchpolecenia, jak powiedzieli inni:

touch filename

Aby zapisać w pliku w wierszu polecenia, możesz użyć echolub printf:

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

Może masz problemy z uprawnieniami. Jeśli pojawia się następujący błąd: bash: filename: Permission deniedmusisz użyć sudo bash -c 'echo "Foo" > filename', jak opisano tutaj: /ubuntu/103643/cannot-echo-hello-x-txt-even-with-sudo

użytkownik3753202
źródło
14

1. metoda

echo -n > filename.txt

2. metoda

> filename.txt

3. metoda

touch filename.txt

Aby wyświetlić zawartość pliku

vi filename.txt
shashwat gupta
źródło
2 metoda to type-> "> nazwa_pliku.txt"
shashwat gupta
Pytanie nie dotyczy tematu Przepełnienie stosu zdefiniowanego w Centrum pomocy . Proszę nie odpowiadać na takie pytania; zamiast tego powinieneś oznaczyć je jako uwagę, a zostaną one odpowiednio zamknięte lub migrowane.
Toby Speight
12

Spowoduje to utworzenie pustego pliku z bieżącym znacznikiem czasu

touch filename
Christy George
źródło
10
touch filename

dla permission deniedbłędu użyj sudopolecenia jako:

sudo touch filename
Pradeep Kumar Prabaharan
źródło
6

Podoba mi się edytor wiersza poleceń nano (tekst):

nano filename
Sam Perry
źródło
4

Jeśli próbujesz utworzyć nowy plik, ale mówi: 'File does not exist'po prostu dlatego, że uzyskujesz dostęp do katalogu, który jeszcze nie istnieje. Najpierw musisz utworzyć wszystkie nieistniejące katalogi, używając mkdir /path/to/dirpolecenia.

Sebastian
źródło
0

Aby utworzyć pusty plik z prawem własności i uprawnieniami przy użyciu instalacji.

sudo install -v -oUSER -gGROUP -m640 /dev/null newFile.txt
LinuxGuru
źródło
Jest sudoto przydatne w wielu scenariuszach, ale nie jest bezpośrednią częścią odpowiedzi na pytanie PO.
tripleee
Jest potrzebny, jeśli nie jesteś nazwą użytkownika, którego potrzebujesz plik będący własnością lub nie będący członkiem grupy.
LinuxGuru,
Tak, istnieją takie scenariusze, które jednak ściśle nie mówią tego, o co poprosił PO.
tripleee
0

Jeden z najłatwiejszych i najszybszych sposobów

$ vim filename

źródło