ฉันแค่พยายามตรวจสอบคำสั่งเทอร์มินัลพื้นฐาน ต้องบอกว่าฉันจะสร้างไฟล์ข้อความโดยใช้เทอร์มินัลเท่านั้นได้อย่างไร
ฉันแค่พยายามตรวจสอบคำสั่งเทอร์มินัลพื้นฐาน ต้องบอกว่าฉันจะสร้างไฟล์ข้อความโดยใช้เทอร์มินัลเท่านั้นได้อย่างไร
คำตอบ:
คุณไม่สามารถใช้เทอร์มินัลเพื่อสร้างไฟล์ คุณสามารถใช้แอปพลิเคชั่นที่ทำงานอยู่ในเครื่องเทอร์มินัล เพียงแค่เรียกใด ๆ แก้ไขไม่ใช่ GUI ( emacs -nw, joe, nano, vi, vim, ... )
หากคุณต้องการใช้บรรทัดคำสั่งคุณจะถามวิธีสร้างไฟล์โดยใช้เชลล์ ดูอะไรคือความแตกต่างที่แน่นอนระหว่าง 'เทอร์มินัล', 'เชลล์', 'tty' และ 'คอนโซล'
วิธีพื้นฐานในการสร้างไฟล์ที่มีเปลือกเป็นที่มีการเปลี่ยนเส้นทางการส่งออก ตัวอย่างเช่นคำสั่งต่อไปนี้สร้างไฟล์ชื่อfoo.txtที่มีบรรทัดHello, world.
echo 'Hello, world.' >foo.txt
หากคุณต้องการเขียนหลายบรรทัดนี่เป็นความเป็นไปได้เล็กน้อย printfคุณสามารถใช้
printf '%s\n' 'First line.' 'Second line.' 'Third line.' >foo.txt
คุณสามารถใช้สตริงตัวอักษรที่มีการขึ้นบรรทัดใหม่
echo 'First line.
Second line.
Third line.' >foo.txt
หรือ
echo $'First line.\nSecond line.\nThird line.' >foo.txt
ความเป็นไปได้อีกอย่างคือการจัดกลุ่มคำสั่ง
{
echo 'First line.'
echo 'Second line.'
echo 'Third line.'
} >foo.txt
catในบรรทัดคำสั่งที่คุณสามารถทำเช่นนี้มากขึ้นโดยตรงกับ เปลี่ยนทิศทางเอาต์พุตไปที่ไฟล์และพิมพ์บรรทัดอินพุตทีละบรรทัดบนcatอินพุตมาตรฐานของ กดCtrl+ Dที่จุดเริ่มต้นของบรรทัดเพื่อระบุจุดสิ้นสุดของอินพุต
$ cat> foo.txt บรรทัดแรก บรรทัดที่สอง บรรทัดที่สาม Ctrl+D
ในสคริปต์คุณจะใช้เอกสารที่นี่เพื่อให้ได้ผลเช่นเดียวกัน:
cat <<EOF >foo.txt
First line.
Second line.
Third line.
EOF
หากคุณเพียงแค่ต้องการสร้างไฟล์เปล่าคุณสามารถใช้touchคำสั่ง: มันจะสร้างไฟล์หากมันไม่มีอยู่และเพียงแค่อัปเดตวันที่แก้ไขล่าสุดถ้ามันมีอยู่
touch foo.txt
เท่า:
>>foo.txt
เช่นเปิดfoo.txtเพื่อต่อท้าย แต่เขียน 0 ไบต์ลงไป - สิ่งนี้จะสร้างไฟล์ แต่ไม่ได้แก้ไข ซึ่งแตกต่างจากtouchนี้ไม่ได้อัปเดตวันที่แก้ไขล่าสุดของไฟล์ถ้ามันมีอยู่แล้ว
หากต้องการสร้างไฟล์เปล่าและลบเนื้อหาของไฟล์หากไฟล์มีอยู่แล้วคุณสามารถใช้
>foo.txt
touch ~/Desktop/something.txt
สิ่งนี้จะสร้างtxtไฟล์เปล่า
หรือ
echo "Hello" > ~/Desktop/somethingelse.txt
สิ่งนี้จะสร้างtxtไฟล์ชื่อ "Hello"
nano ~/Desktop/anotherfile.txt
สิ่งนี้จะเปิด~/Desktop/anotherfile.txtขึ้นnanoหรือหากไม่มีอยู่ก็จะสร้างขึ้นมาและเปิดnanoขึ้นมา
เดียวกันสามารถทำได้โดยเพียงแค่แทนที่nanoด้วยemacsหรือvimและมันจะใช้emacsหรือvimแทนnano
catด้วยและพูดถึง<< >>
สิ่งที่ต้องทำเพื่อสร้างไฟล์เปล่าคือ:
> my.txt
:> my.txtเป็นสิ่งจำเป็นอย่างน้อย :เป็นคำสั่งที่ว่างเปล่า
คุณสามารถใช้โปรแกรมแก้ไข nano, vi หรือ emacs เพื่อสร้างไฟล์ในระดับเทอร์มินัล หากคุณใช้ระบบ x windows คุณจะต้องแจ้งให้ระบบของคุณไม่ใช้โปรแกรมใน GUI แต่อย่างไรก็ตามฉันจะใช้ emacs เป็นตัวอย่าง
จากการทุบตี; ประเภท:
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.
โปรดจำไว้ว่า UNIX system VI ทั้งหมดมาพร้อมกับมัน emacs ไม่ได้คุณจะต้องติดตั้ง emacs ในทางตรงกันข้ามนาโนเป็นที่นิยมมากขึ้น ในกรณีที่ไม่ตอบสนองหมายความว่าเมื่อคุณ "nano filename.ext" และไม่มีอะไรเกิดขึ้นคุณจะต้องติดตั้ง
เมื่อคุณออก vi filename.txt เป็นไปได้มากว่าคุณจะสร้างไฟล์ใหม่ คุณควรค้นหาวิธีใช้ vi, emacs หรือ nano บน google ก่อนเริ่มใช้งาน วิธีเขียนไฟล์แก้ไขโดยใช้เครื่องมือในการค้นหาและแทนที่ข้อความนั้นแตกต่างกันในโปรแกรมแก้ไขเหล่านั้น ฉันชอบ emacs จากตัวเลือกทั้งหมด แต่คุณจะพบนักพัฒนาที่หมกมุ่นอยู่กับหรือชอบ vi และ nano
สิ่งที่มีประโยชน์เมื่อคุณติดขัดและต้องสร้าง textfile หลายบรรทัดในบรรทัดคำสั่งคือสิ่งนี้:
# cat <<'EOF' > textfile
> This "should"
> prove useful, 'maybe'.
> EOF
# cat textfile
This "should"
prove useful, 'maybe'.
คุณสามารถแทนที่catคำสั่งอื่นตัวอย่างgrepและรูปแบบและให้ grep ทำงานในอินพุตของคุณและสิ่งนี้จะส่งออกไปยังไฟล์ในแบบเดียวกัน