Latest web development tutorials
×

Linux หลักสูตร

Linux หลักสูตร Linux แนะนำโดยย่อ Linux ติดตั้ง Linux ขั้นตอนการเริ่มต้นระบบ Linux โครงสร้างไดเรกทอรีระบบ Linux วิธีการแก้ปัญหาลืมรหัสผ่านของคุณ Linux เข้าสู่ระบบจากระยะไกล Linux แอตทริบิวต์แฟ้มพื้นฐาน Linux ไฟล์และไดเรกทอรีการจัดการ Linux ผู้ใช้และการจัดการกลุ่มผู้ใช้ Linux การจัดการดิสก์ Linux vi/vim Linux yum คำสั่ง

Shell หลักสูตร

Shell หลักสูตร Shell ตัวแปร Shell ผ่านพารามิเตอร์ Shell ? อาร์เรย์ Shell ผู้ประกอบการ Shell echo คำสั่ง Shell printf คำสั่ง Shell test คำสั่ง Shell การควบคุมกระบวนการ Shell ฟังก์ชัน Shell Input / output เปลี่ยนเส้นทาง Shell ไฟล์มี

Linux คู่มืออ้างอิง

Linux คำสั่ง Daquan Nginx การติดตั้งและการกำหนดค่า MySQL การติดตั้งและการกำหนดค่า

การป้อนข้อมูลเชลล์ / การเปลี่ยนเส้นทางการส่งออก

ระบบ UNIX ส่วนใหญ่จะยอมรับคำสั่งจากการป้อนข้อมูล terminal ของคุณและการส่งออกที่สร้างขึ้นจะถูกส่งกลับไปยังสถานีของคุณ คำสั่งมักจะอ่านจากการป้อนข้อมูลท้องถิ่นที่เรียกว่าเข้ามาตรฐานตามค่าเริ่มต้นนี้เกิดขึ้นเป็นสถานีของคุณ ในทำนองเดียวกันคำสั่งมักจะเขียนผลลัพธ์ที่จะออกมาตรฐานโดยค่าเริ่มต้นนี้เป็นสถานีของคุณ

รายการคำสั่งเปลี่ยนเส้นทางดังนี้

คำสั่ง คำอธิบาย
คำสั่ง> ไฟล์ เปลี่ยนเส้นทางออกไปยังแฟ้ม
คำสั่ง <ไฟล์ เปลี่ยนเส้นทางการป้อนข้อมูลไปยังแฟ้ม
คำสั่ง >> ไฟล์ เอาท์พุทจะเปลี่ยนเส้นทางไปยังแฟ้มท้าย
N> ไฟล์ อธิบายไฟล์สำหรับไฟล์ที่ n เปลี่ยนเส้นทางไปยังแฟ้ม
n >> ไฟล์ แฟ้มบ่ง n จะยื่นวิธีการเพิ่มเติมเพื่อเปลี่ยนเส้นทางแฟ้ม
N> & M มไฟล์ที่ส่งออกและ n จะถูกผสาน
n <& M เมตรแฟ้มใส่และ n จะถูกผสาน
<< แท็ก เนื้อหาแท็กเริ่มต้นและสิ้นสุดแท็กแท็กแท็กระหว่างเป็น input

โปรดทราบว่าอธิบายไฟล์ 0 มักจะเข้ามาตรฐาน (STDIN) 1 คือออกมาตรฐาน (STDOUT) 2 เป็นข้อผิดพลาดออกมาตรฐาน (STDERR)


การเปลี่ยนเส้นทางการส่งออก

เปลี่ยนเส้นทางโดยทั่วไประหว่างคำสั่งเพื่อแทรกสัญลักษณ์ที่เฉพาะเจาะจงเพื่อให้บรรลุ โดยเฉพาะอย่างยิ่งสัญลักษณ์เหล่านี้แสดงในไวยากรณ์ต่อไปนี้:

command1 > file1

คำสั่งดังกล่าวจะดำเนินการ Command1 แล้วออกเนื้อหาที่เก็บไว้ใน file1

file1 หมายเหตุว่าเนื้อหาใด ๆ ที่มีอยู่แล้วจะถูกแทนที่ด้วยเนื้อหาใหม่ หากคุณต้องการที่จะเพิ่มเนื้อหาใหม่ในตอนท้ายของไฟล์ที่ใช้ >> ผู้ประกอบการ

ตัวอย่าง

เรียกใช้คำสั่งต่อไปนี้ที่จบมันจะเปลี่ยนเส้นทางออกคำสั่งในไฟล์ของผู้ใช้ (ผู้ใช้):

$ who > users

หลังจากที่การกระทำที่มีการส่งออกที่สถานีไม่ก็เป็นเพราะการส่งออกที่ได้รับการเปลี่ยนเส้นทางจากอุปกรณ์ส่งออกเริ่มต้นมาตรฐาน (Terminal) เพื่อแฟ้มที่ระบุ

คุณสามารถใช้คำสั่ง cat เพื่อดูเนื้อหาของแฟ้ม:

$ cat users
_mbsetupuser console  Oct 31 17:35 
tianqixin    console  Oct 31 17:35 
tianqixin    ttys000  Dec  1 11:33 

การเปลี่ยนเส้นทางขาออกเขียนทับเนื้อหาของแฟ้มให้ดูตัวอย่างต่อไปนี้:

$ echo "本教程:www.w3big.com" > users
$ cat users
本教程:www.w3big.com
$

หากคุณไม่ต้องการให้เนื้อหาของไฟล์จะถูกเขียนทับ, คุณสามารถใช้ >> ผนวกกับไฟล์ตัวอย่างเช่น:

$ echo "本教程:www.w3big.com" >> users
$ cat users
本教程:www.w3big.com
本教程:www.w3big.com
$

การเปลี่ยนเส้นทางการป้อนข้อมูล

และในขณะที่การเปลี่ยนเส้นทางออกคำสั่ง Unix สามารถใช้ข้อมูลจากแฟ้มไวยากรณ์คือ

command1 < file1

ดังนั้นจึงจำเป็นที่จะต้องเดิมที่จะได้รับข้อมูลจากแป้นพิมพ์จะถูกโอนไปยังแฟ้มคำสั่งเพื่ออ่านเนื้อหา

หมายเหตุ: การเปลี่ยนเส้นทางการส่งออกมากกว่าสัญลักษณ์ (>) เปลี่ยนเส้นทางการป้อนข้อมูลน้อยกว่า (<)

ตัวอย่าง

จากนั้นตัวอย่างข้างต้นเราต้องนับจำนวนของผู้ใช้ไฟล์แถวรันคำสั่งต่อไปนี้:

$ wc -l users
       2 users

นอกจากนี้คุณยังสามารถเปลี่ยนไฟล์ข้อมูลกับผู้ใช้:

$  wc -l < users
       2 

หมายเหตุ: ผลที่ได้จากสองตัวอย่างข้างต้นจะแตกต่างกัน: ตัวอย่างแรกชื่อไฟล์ที่ส่งออกจะที่สองจะไม่ได้เพราะมันรู้อ่านเท่านั้นจากอินพุตมาตรฐาน

command1 < infile > outfile

แทนที่ทั้งเข้าและส่งออกดำเนินการ Command1, INFILE อ่านจากแฟ้มแล้วเขียนออกไป OUTFILE

เปลี่ยนเส้นทางการอธิบายความลึก

ภายใต้สถานการณ์ปกติแต่ละคำสั่ง Unix / Linux วิ่งจะเปิดสามไฟล์:

  • แฟ้มใส่มาตรฐาน (stdin): อธิบายไฟล์ stdin 0, โปรแกรมเริ่มต้น Unix อ่านข้อมูลจาก stdin
  • ไฟล์ที่ส่งออกมาตรฐาน (stdout): stdout เพื่ออธิบายไฟล์ 1 เริ่มต้นโปรแกรมยูนิกซ์ข้อมูลออก stdout
  • ข้อผิดพลาดมาตรฐาน (stderr): stderr ไฟล์อธิบายถึง 2 โปรแกรมระบบปฏิบัติการยูนิกซ์เขียนข้อความผิดพลาดไปยังกระแส stderr

โดยค่าเริ่มต้นคำสั่ง> ไฟล์เปลี่ยนเส้นทาง stdout ไปยังแฟ้มคำสั่ง <ไฟล์จะ stdin เปลี่ยนเส้นทางไปยังแฟ้ม

หากคุณต้องการเปลี่ยนเส้นทาง stderr ไปยังแฟ้มคุณสามารถเขียน:

$ command 2 > file

หากคุณต้องการที่จะผนวกการสิ้นสุดของแฟ้ม stderr คุณสามารถเขียน:

$ command 2 >> file

2 หมายถึงไฟล์ข้อผิดพลาดมาตรฐาน (stderr)

หากคุณต้องการที่จะผสานหลังจากที่ stdout และ stderr เปลี่ยนเส้นทางไปยังไฟล์ที่คุณสามารถเขียน:

$ command > file 2>&1

或者

$ command >> file 2>&1

หากคุณต้องการเปลี่ยนเส้นทาง stdin และ stdout คุณสามารถเขียน:

$ command < file1 >file2

stdin คำสั่งคำสั่งเปลี่ยนเส้นทางไปยัง file1 เปลี่ยนเส้นทาง stdout file2 ไป


เอกสารที่นี่

นี่เอกสารเชลล์อยู่ในวิธีการเปลี่ยนเส้นทางพิเศษที่ใช้ในการเปลี่ยนเส้นทางการป้อนข้อมูลไปยังเชลล์สคริปต์หรือโปรแกรมโต้ตอบ

รูปแบบพื้นฐานที่จะเป็นดังนี้:

command << delimiter
    document
delimiter

มันเป็นบทบาทของเนื้อหา (เอกสาร) ถูกส่งไปยังทั้งสองตัวคั่นระหว่างคำสั่งเป็น input

หมายเหตุ:

  • สิ้นสุดวันที่คั่นจะต้องเขียนตารางด้านบนไม่สามารถมีตัวอักษรใด ๆ ในด้านหน้าของกลับไม่สามารถมีตัวอักษรใด ๆ รวมทั้งช่องว่างและเยื้องแท็บ
  • ช่องว่างก่อนและหลังตัวคั่นเริ่มต้นจะถูกละเว้น

ตัวอย่าง

จำนวนแถวในคอมพิวเตอร์บรรทัดคำสั่งที่นี่เอกสารโดยคำสั่ง -l WC:

$ wc -l << EOF
    欢迎来到
    本教程
    www.w3big.com
EOF
3          # 输出结果为 3 行
$

นอกจากนี้เรายังสามารถที่นี่เอกสารประกอบที่ใช้ในสคริปต์ตัวอย่างเช่น:

#!/bin/bash
# author:本教程
# url:www.w3big.com

cat << EOF
欢迎来到
本教程
www.w3big.com
EOF

การดำเนินงานของสคริปดังกล่าวข้างต้นส่งออก:

欢迎来到
本教程
www.w3big.com

/ dev / null ไฟล์

หากคุณต้องการที่จะดำเนินการคำสั่ง แต่ไม่ต้องการที่จะแสดงผลบนหน้าจอคุณสามารถเปลี่ยนเส้นทางการส่งออกไปยัง / dev / null:

$ command > /dev/null

/ dev / null เป็นไฟล์พิเศษเนื้อหาจะเขียนจะยกเลิกถ้าคุณพยายามที่จะอ่านจากแฟ้มแล้วสิ่งที่ไม่สามารถอ่าน อย่างไรก็ตาม / dev / null ไฟล์เป็นประโยชน์อย่างมากในการเปลี่ยนเส้นทางผลลัพธ์ของคำสั่งที่จะมันจะทำหน้าที่เป็น "ห้ามการส่งออก" ผล

หากคุณต้องการที่จะป้องกัน stdout และ stderr คุณสามารถเขียน:

$ command > /dev/null 2>&1

หมายเหตุ: 0 เข้ามาตรฐาน (STDIN) 1 คือออกมาตรฐาน (STDOUT) 2 เป็นข้อผิดพลาดออกมาตรฐาน (STDERR)