Tôi chỉ đang cố gắng xem lại các lệnh đầu cuối cơ bản. Như đã nói, làm thế nào để tôi tạo một tệp văn bản chỉ bằng thiết bị đầu cuối?
Tôi chỉ đang cố gắng xem lại các lệnh đầu cuối cơ bản. Như đã nói, làm thế nào để tôi tạo một tệp văn bản chỉ bằng thiết bị đầu cuối?
Câu trả lời:
Bạn không thể sử dụng một thiết bị đầu cuối để tạo một tập tin. Bạn có thể sử dụng một ứng dụng đang chạy trong một thiết bị đầu cuối. Chỉ cần gọi bất kỳ trình soạn phi GUI ( emacs -nw
, joe
, nano
, vi
, vim
, ...).
Nếu bạn có nghĩa là sử dụng dòng lệnh, thì bạn đang hỏi cách tạo một tệp bằng shell. Xem sự khác biệt chính xác giữa 'thiết bị đầu cuối', 'vỏ', 'tty' và 'bàn điều khiển' là gì?
Cách cơ bản để tạo một tệp có vỏ là chuyển hướng đầu ra . Ví dụ: lệnh sau tạo một tệp foo.txt
có tên chứa dòngHello, world.
echo 'Hello, world.' >foo.txt
Nếu bạn muốn viết nhiều dòng, đây là một vài khả năng. Bạn có thể sử dụng printf
.
printf '%s\n' 'First line.' 'Second line.' 'Third line.' >foo.txt
Bạn có thể sử dụng một chuỗi ký tự có chứa dòng mới.
echo 'First line.
Second line.
Third line.' >foo.txt
hoặc là
echo $'First line.\nSecond line.\nThird line.' >foo.txt
Một khả năng khác là nhóm các lệnh.
{
echo 'First line.'
echo 'Second line.'
echo 'Third line.'
} >foo.txt
Trên dòng lệnh, bạn có thể làm điều này trực tiếp hơn với cat
. Chuyển hướng đầu ra của nó sang tệp và nhập dòng đầu vào theo dòng trên cat
đầu vào tiêu chuẩn. Nhấn Ctrl+ Dở đầu dòng để cho biết kết thúc đầu vào.
$ cat> foo.txt Dòng đầu tiên. Dòng thứ hai. Dòng thứ ba. Ctrl+D
Trong một kịch bản, bạn sẽ sử dụng một tài liệu ở đây để đạt được hiệu quả tương tự:
cat <<EOF >foo.txt
First line.
Second line.
Third line.
EOF
Nếu bạn chỉ muốn tạo một tệp trống, bạn có thể sử dụng touch
lệnh: nó tạo tệp nếu nó không tồn tại và chỉ cập nhật ngày sửa đổi cuối cùng nếu nó tồn tại.
touch foo.txt
Tương đương:
>>foo.txt
tức là mở foo.txt
để nối thêm, nhưng ghi 0 byte vào nó - điều này tạo ra tệp nhưng không sửa đổi nó. Không giống như touch
, điều này không cập nhật ngày sửa đổi cuối cùng của tập tin nếu nó đã tồn tại.
Để tạo một tệp trống và xóa nội dung của tệp nếu tệp đã tồn tại, bạn có thể sử dụng
>foo.txt
touch ~/Desktop/something.txt
Điều này sẽ tạo ra một txt
tập tin trống .
Hoặc là
echo "Hello" > ~/Desktop/somethingelse.txt
Điều này sẽ tạo ra một txt
tập tin cho biết "Xin chào".
nano ~/Desktop/anotherfile.txt
Điều này sẽ mở ~/Desktop/anotherfile.txt
trong nano
, hoặc nếu nó không tồn tại, nó sẽ tạo ra nó và mở nó trong nano
.
Điều tương tự có thể được thực hiện bằng cách đơn giản thay thế nano
bằng emacs
hoặc vim
và nó sẽ sử dụng emacs
hoặc vim
thay vìnano
cat
với <<
, và đề cập >>
.
<<
và >>
được thảo luận trong các toán tử điều khiển và chuyển hướng của shell là gì?
Tất cả những gì bạn cần để tạo một tập tin trống là:
> my.txt
:> my.txt
là cần thiết. :
là một lệnh trống.
Bạn có thể sử dụng chương trình chỉnh sửa nano, vi hoặc emacs để tạo tệp ở cấp thiết bị đầu cuối. Nếu bạn đang sử dụng hệ thống x windows, bạn sẽ cần nói với hệ thống của mình không sử dụng chương trình trong GUI; nhưng dù sao, tôi sẽ sử dụng emacs làm ví dụ.
Từ bash; thể loại:
emacs filename.txt (press enter) - it will create an empty file with the filename specified "filename.txt". It will save "filename.txt" from which ever
directory type in "emacs filename.txt" command.
Hãy ghi nhớ trong tất cả các hệ thống UNIX VI đi kèm với nó; emacs không, bạn sẽ cần cài đặt emacs. Mặt khác, Nano phổ biến hơn; chỉ trong trường hợp nếu điều đó không đáp ứng thì có nghĩa là khi bạn "nano filename.ext" và không có gì xảy ra, bạn sẽ cần phải cài đặt nó.
một khi bạn phát hành vi filename.txt rất có thể bạn sẽ tạo một tệp mới. Bạn nên tra cứu vi, emacs hoặc nano cách sử dụng trên google trước khi bắt đầu. Cách viết một tập tin, chỉnh sửa nó, sử dụng các công cụ của nó để tìm kiếm và thay thế văn bản là khác nhau trong các chương trình chỉnh sửa đó. Tôi thích emacs trong tất cả các lựa chọn nhưng bạn sẽ tìm thấy các nhà phát triển bị ám ảnh hoặc ủng hộ vi và nano
Một cái gì đó hữu ích khi bạn bị mắc kẹt và phải tạo một tệp văn bản nhiều dòng trên dòng lệnh là như thế này:
# cat <<'EOF' > textfile
> This "should"
> prove useful, 'maybe'.
> EOF
# cat textfile
This "should"
prove useful, 'maybe'.
Bạn có thể thay thế cat
cho một lệnh khác, ví dụ grep
và một mẫu , và yêu cầu grep thực hiện công việc của nó trên đầu vào của bạn và điều này sẽ xuất ra tệp theo cùng một kiểu.