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


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


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


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ść


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.



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

16

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

$ touch filename

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


14

1. metoda

echo -n > filename.txt

2. metoda

> filename.txt

3. metoda

touch filename.txt

Aby wyświetlić zawartość pliku

vi filename.txt

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






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.


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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.