Unix & Linux

คำถาม & คำตอบสำหรับผู้ใช้ Linux, FreeBSD และระบบปฏิบัติการ Un * x อื่น ๆ

4
Ken Thompson หมายความว่าอย่างไรเมื่อเขาพูดว่า“ ฉันสะกดคำว่า creat ด้วย 'e' "
Ken Thompson ผู้สร้าง Unix เคยถูกถามว่าเขาจะทำอะไรถ้าเขาให้ทำอีกครั้ง เขาพูดว่า "ฉันจะสะกด creat ด้วย 'e'" เคนหมายถึงอะไร มีคำสั่ง "creat" หรือไม่?
57 history 

5
การแก้ไขไฟล์ใน Linux ถูกบันทึกลงดิสก์โดยตรงหรือไม่?
ฉันเคยคิดว่าการเปลี่ยนแปลงไฟล์จะถูกบันทึกลงในดิสก์โดยตรงนั่นคือทันทีที่ฉันปิดไฟล์และตัดสินใจที่จะคลิก / เลือกบันทึก อย่างไรก็ตามในการสนทนาเมื่อเร็ว ๆ นี้เพื่อนคนหนึ่งของฉันบอกฉันว่าไม่ปกติ ระบบปฏิบัติการ (โดยเฉพาะอย่างยิ่งเรากำลังพูดถึงระบบ Linux) เก็บการเปลี่ยนแปลงในหน่วยความจำและมีภูตที่เขียนเนื้อหาจากหน่วยความจำไปยังดิสก์ เขายังให้ตัวอย่างของแฟลชไดรฟ์ภายนอก: สิ่งเหล่านี้จะถูกติดตั้งในระบบ (คัดลอกไปยังหน่วยความจำ) และบางครั้งการสูญเสียข้อมูลเกิดขึ้นเพราะภูตยังไม่ได้บันทึกเนื้อหาลงในหน่วยความจำแฟลช; นั่นคือเหตุผลที่เรายกเลิกการต่อเชื่อมแฟลชไดรฟ์ ฉันไม่มีความรู้เกี่ยวกับระบบปฏิบัติการที่ใช้งานได้ดังนั้นฉันจึงไม่รู้เลยว่านี่เป็นเรื่องจริงและในสถานการณ์ใด คำถามหลักของฉันคือ: สิ่งนี้เกิดขึ้นตามที่อธิบายไว้ในระบบ Linux / Unix (และอาจเป็นระบบปฏิบัติการอื่น ๆ )? ตัวอย่างเช่นนี่หมายความว่าถ้าฉันปิดคอมพิวเตอร์ทันทีหลังจากที่ฉันแก้ไขและบันทึกไฟล์การเปลี่ยนแปลงของฉันจะหายไปมากที่สุด? บางทีมันอาจขึ้นอยู่กับประเภทของดิสก์ - ฮาร์ดไดรฟ์แบบดั้งเดิมกับดิสก์แบบโซลิดสเตต? คำถามหมายถึงระบบไฟล์ที่มีดิสก์เพื่อเก็บข้อมูลโดยเฉพาะแม้ว่าจะได้รับการชี้แจงหรือการเปรียบเทียบที่ดีก็ตาม

8
เหตุใดแหล่งข้อมูลของ Bash จึงไม่ต้องการบิตการประมวลผล
ด้วย Bash sourceคุณสามารถรันสคริปต์โดยไม่ต้องตั้งค่าบิตเรียกใช้งาน นี่เป็นเอกสารและมีพฤติกรรมที่คาดหวัง แต่สิ่งนี้ไม่ได้เกิดจากการใช้งานบิตการดำเนินการใช่หรือไม่ ฉันรู้ว่านั่นsourceไม่ได้สร้าง subshell

7
Fedora 23 - ฉันสามารถลบไฟล์ใน / var / cache / PackageKit / metadata / อัพเดท / แพ็คเกจได้อย่างปลอดภัยหรือไม่?
ฉันสังเกตว่าโฟลเดอร์ที่อ้างอิงในหัวเรื่องนั้นใช้เวลาถึง 1.5 GB ฉันสามารถเรียกใช้ด้านล่างเพื่อล้างโดยไม่ทำให้ระบบของฉันเสียหายถาวรหรือไม่ rm -rf /var/cache/PackageKit/metadata/updates/packages/*

8
ฉันจะสร้าง PDF เปล่าจากบรรทัดคำสั่งได้อย่างไร
เมื่อเร็ว ๆ นี้ฉันต้องการหน้า PDF เปล่าขนาดเดียว (ขนาด 8.5 "x 11") และรู้ว่าฉันไม่ทราบวิธีสร้างจากบรรทัดคำสั่ง ออกtouch blank.pdfก่อให้เกิดรูปแบบไฟล์ PDF ที่ว่างเปล่าไฟล์ มีเครื่องมือบรรทัดคำสั่งที่สร้างหน้า PDF เปล่าหรือไม่?
57 command-line  pdf 

5
ทำไมจะขดและ wget ส่งผลให้เป็นสิ่งต้องห้าม 403?
ฉันพยายามที่จะดาวน์โหลดไฟล์ที่มีwgetและcurlและมันจะถูกปฏิเสธด้วยข้อผิดพลาด 403 (ต้องห้าม) ฉันสามารถดูไฟล์โดยใช้เว็บเบราว์เซอร์ในเครื่องเดียวกัน ผมลองอีกครั้งกับตัวแทนของผู้ใช้เบราว์เซอร์ของฉันได้โดยhttp://www.whatsmyuseragent.com ฉันทำนี่: wget -U 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://... และ curl -A 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://... แต่มันก็ยังเป็นสิ่งต้องห้าม มีเหตุผลอื่นอีกอีกบ้างสำหรับ 403 และฉันจะแก้ไขwgetและcurlคำสั่งต่าง ๆ เพื่อเอาชนะพวกเขาได้อย่างไร (นี่ไม่เกี่ยวกับความสามารถในการรับไฟล์ - ฉันรู้ว่าฉันสามารถบันทึกได้จากเบราว์เซอร์ของฉัน แต่มันเกี่ยวกับการทำความเข้าใจว่าทำไมเครื่องมือบรรทัดคำสั่งทำงานแตกต่างกัน) ปรับปรุง ขอบคุณทุกคำตอบที่ยอดเยี่ยมสำหรับคำถามนี้ ปัญหาเฉพาะที่ฉันพบคือเซิร์ฟเวอร์กำลังตรวจสอบผู้อ้างอิง โดยการเพิ่มนี้ไปยังบรรทัดคำสั่งฉันจะได้รับไฟล์โดยใช้และcurlwget เซิร์ฟเวอร์ที่ตรวจสอบผู้อ้างอิงได้เด้งผ่าน 302 ไปยังอีกที่หนึ่งซึ่งไม่ได้ทำการตรวจสอบเลยดังนั้นเว็บไซต์หนึ่งแห่งcurlหรือwgetไซต์ดังกล่าวทำงานได้อย่างสมบูรณ์ หากใครสนใจเรื่องนี้เกิดขึ้นเพราะฉันอ่านหน้านี้เพื่อเรียนรู้เกี่ยวกับ CSS ที่ฝังตัวและพยายามดูตัวอย่างของเว็บไซต์ URL จริงที่ฉันได้รับปัญหาคือสิ่งนี้และcurlฉันก็จบลงด้วยคือ curl …
57 wget  curl 

6
การใช้ jq เพื่อแยกค่าและรูปแบบใน CSV
ฉันมีไฟล์ JSON ด้านล่าง: { "data": [ { "displayName": "First Name", "rank": 1, "value": "VALUE" }, { "displayName": "Last Name", "rank": 2, "value": "VALUE" }, { "displayName": "Position", "rank": 3, "value": "VALUE" }, { "displayName": "Company Name", "rank": 4, "value": "VALUE" }, { "displayName": "Country", "rank": 5, "value": "VALUE" }, ] …
57 bash  python  csv  json  jq 

7
วิธีจับคู่รูปแบบที่ไม่สนใจตัวพิมพ์เล็กกับ ls
ฉันต้องการแสดงรายการไฟล์ทั้งหมดที่ตรงกับรูปแบบที่กำหนดโดยไม่สนใจเคส ตัวอย่างเช่นฉันรันคำสั่งต่อไปนี้: ls *abc* ฉันต้องการดูไฟล์ทั้งหมดที่มี "abc" เป็นส่วนหนึ่งของชื่อไฟล์โดยไม่สนใจขนาดตัวพิมพ์ -rw-r--r-- 1 mtk mtk 0 Sep 21 08:12 file1abc.txt -rw-r--r-- 1 mtk mtk 0 Sep 21 08:12 file2ABC.txt บันทึก ฉันได้ค้นหาหน้าคนสำหรับกรณี แต่ไม่พบอะไรเลย

6
วิธีการหลีกเลี่ยง ssh ขออนุญาต?
เราพยายามเพิ่มความเร็วในการติดตั้งโหนด oracle สำหรับการติดตั้ง RAC สิ่งนี้ต้องการให้เราได้รับการติดตั้งและกำหนดค่า ssh เพื่อไม่ให้พร้อมท์รหัสผ่าน ปัญหาคือ: ในการใช้งานครั้งแรกเราจะได้รับแจ้ง RSA key fingerprint is 96:a9:23:5c:cc:d1:0a:d4:70:22:93:e9:9e:1e:74:2f. Are you sure you want to continue connecting (yes/no)? yes มีวิธีที่จะหลีกเลี่ยงปัญหานั้นหรือเราถึงกับต้องเชื่อมต่ออย่างน้อยหนึ่งครั้งบนเซิร์ฟเวอร์ทุกเครื่องจากเซิร์ฟเวอร์ทุกเครื่องด้วยตนเองหรือไม่?

4
เหตุผล:“ บันทึกไม่จำเป็นต้องหมุน” เพราะเหตุใด
ฉันมีการกำหนดค่า logrotate ใหม่ดังต่อไปนี้: /var/log/nexus/nexus.log { rotate 7 missingok compress delaycompress copytruncate daily } เมื่อฉันวิ่งlogrotate -d nexusฉันได้รับสิ่งต่อไปนี้: reading config file nexus reading config info for /var/log/nexus/nexus.log Handling 1 logs rotating pattern: /var/log/nexus/nexus.log after 1 days (7 rotations) empty log files are rotated, old logs are removed considering log /var/log/nexus/nexus.log log does …
57 logrotate 

1
รักษาสิทธิ์ด้วย rsync
สมมติว่าฉันมีไฟล์ a.txt ใน LINUX โดยได้รับอนุญาต 0664 เมื่อฉันใช้ rsync เพื่อคัดลอกไฟล์ไปยัง Mac ของฉันด้วยrsync -r -t -v LINUX MACการอนุญาตของไฟล์จะกลายเป็น 0644 ฉันจะให้สิทธิ์สำหรับไฟล์เมื่อใช้ rsync ได้อย่างไร? ตัวเลือก -g ไม่ทำงาน


5
ฉันจะรับรายการกระบวนการทั้งหมดใน Solaris ได้อย่างไรโดยไม่ต้องตัดทอน
มีวิธีในการสร้างรายการกระบวนการทั้งหมดใน Solaris โดยไม่ต้องตัดบรรทัด? ฉันได้ลองpsคำสั่งโดยมีอาร์กิวเมนต์ดังนี้ -f สร้างรายชื่อเต็ม (ดูด้านล่างสำหรับ ความสำคัญของคอลัมน์ในรายการเต็ม - Ing.) -l สร้างรายชื่อยาว (ดูด้านล่าง) ดังนั้นทั้งคู่ดูเหมือนจะทำในสิ่งที่ฉันต้องการอย่างไรก็ตามยิ่งไปกว่านั้นในหน้า man ps ฉันพบสิ่งนี้: args คำสั่งที่มีอาร์กิวเมนต์ทั้งหมดเป็น เชือก การใช้งานอาจตัดทอน ค่านี้เป็นความกว้างของฟิลด์ มันคือ ขึ้นอยู่กับการใช้งานไม่ว่าจะมี การตัดทอนเพิ่มเติมเกิดขึ้น มันคือ ไม่ระบุว่าเป็นสตริง แสดงเป็นรุ่นของการโต้แย้ง รายการตามที่มันถูกส่งผ่านไปยังคำสั่ง เมื่อมันเริ่มหรือเป็นรุ่นของ ข้อโต้แย้งเนื่องจากอาจมีการแก้ไข โดยแอปพลิเคชัน แอปพลิเคชันไม่สามารถ ขึ้นอยู่กับความสามารถในการปรับเปลี่ยน รายการข้อโต้แย้งและการดัดแปลง - tion ถูกแสดงในเอาต์พุตของ ps การใช้งาน Solaris จำกัด สตริงถึง 80 ไบต์ สตริงคือ รุ่นของรายการอาร์กิวเมนต์ตามเดิม ส่งไปยังคำสั่งเมื่อมันเริ่ม ซึ่งโดยทั่วไปบอกว่าผลลัพธ์จะถูกตัดทอนและไม่มีอะไรที่ฉันสามารถทำได้เกี่ยวกับมัน ดังนั้นฉันมาที่นี่ …
57 process  solaris  ps 

7
ใส่คำสั่ง history ลงบนบรรทัดคำสั่งโดยไม่ต้องดำเนินการ
ฉันใช้! n โดยที่ (n) คือหมายเลขบรรทัดสำหรับการดำเนินการบรรทัดในไฟล์ประวัติที่ฉันต้องการดำเนินการที่พรอมต์คำสั่งที่ฉันค้นหาผ่าน history | less แต่มีเหตุการณ์ประวัติบรรทัดคำสั่งที่ฉันต้องการแก้ไขด้วยตนเอง ฉันจะแทรกเนื้อหาเหตุการณ์ประวัติศาสตร์โดยไม่ดำเนินการในบรรทัดคำสั่งได้อย่างไรเพื่อให้ฉันสามารถแก้ไขและกดกลับได้ ที่ดีที่สุด

9
วิธีพิมพ์ตัวแปรที่กำหนดไว้เฉพาะ (เชลล์และ / หรือตัวแปรสภาพแวดล้อม) ใน bash
คำสั่ง bash builtin setหากเรียกใช้โดยไม่มีอาร์กิวเมนต์จะพิมพ์ตัวแปรเชลล์และสภาวะแวดล้อมทั้งหมด แต่รวมถึงฟังก์ชันที่กำหนดไว้ทั้งหมด grepนี้จะทำให้การส่งออกใช้ไม่ได้สำหรับมนุษย์และยากที่จะ ฉันจะทำให้คำสั่ง bash builtin setพิมพ์เฉพาะตัวแปรและไม่ใช่ฟังก์ชันได้อย่างไร มีคำสั่งอื่นที่พิมพ์เฉพาะตัวแปรเชลล์โดยไม่มีฟังก์ชั่นหรือไม่? หมายเหตุ: ทุบตีแตกต่างระหว่างตัวแปรเชลล์และตัวแปรสภาพแวดล้อม ดูที่นี่ความแตกต่างระหว่างตัวแปรสภาพแวดล้อมและตัวแปรสภาพแวดล้อมที่ส่งออกใน bash

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.