Unix & Linux

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

11
เครื่องมือใน UNIX เพื่อลบวันที่
มีเครื่องมือใดใน Solaris UNIX (ดังนั้นจึงไม่มีเครื่องมือ GNU) เพื่อลบวันที่หรือไม่ ฉันรู้ว่าใน Linux เรามีgawkที่สามารถลบหนึ่งวันจากที่อื่น แต่ใน Solaris ค่าสูงสุดที่เรามีคือnawk(ปรับปรุงawk) ซึ่งไม่สามารถทำการคำนวณวันที่ได้ นอกจากนี้ฉันไม่สามารถใช้ Perl มีวิธีใดในการคำนวณวันที่เป็น20100909 - 20001010อย่างไร อัปเดต: bcสามารถคำนวณวันที่ได้หรือไม่
22 shell  solaris  awk  utilities  date 

1
หลังจาก 'ssh' โดยไม่มี `-X 'ไปยังเครื่องเป็นไปได้ไหมที่จะเปลี่ยน` $ DISPLAY' เพื่อให้มันทำงานเหมือน `ssh -X '
หลังจากsshไม่มี-Xเครื่องไปเป็นไปได้ไหมที่จะเปลี่ยนการตั้งค่าบางอย่าง (เช่น$DISPLAY) เพื่อให้ทำงานได้ssh -Xหรือไม่ ถ้าไม่ใช่เหตุผลคืออะไร? ขอบคุณ
22 ssh  x11 

2
ต้องมีเงื่อนไขอะไรบ้างสำหรับไฟล์ที่จะเป็นไฟล์ข้อความตามที่กำหนดโดย POSIX
POSIX กำหนดไฟล์ข้อความเป็น: ไฟล์ที่มีตัวอักษรจัดเป็นศูนย์หรือมากกว่าบรรทัด บรรทัดไม่มีอักขระ NUL และไม่มีความยาวเกิน {LINE_MAX} ไบต์รวมถึงอักขระ <newline> แม้ว่า POSIX.1-2017 จะไม่แยกความแตกต่างระหว่างไฟล์ข้อความและไฟล์ไบนารี (ดูมาตรฐาน ISO C) แต่ยูทิลิตี้จำนวนมากจะสร้างเอาต์พุตที่สามารถคาดการณ์ได้หรือมีความหมายเมื่อทำงานกับไฟล์ข้อความ ยูทิลิตี้มาตรฐานที่มีข้อ จำกัด ดังกล่าวจะระบุ "ไฟล์ข้อความ" ในส่วน STDIN หรือ INPUT FILES เสมอ ที่มา: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_403 อย่างไรก็ตามมีหลายสิ่งที่ฉันไม่ชัดเจน: ไฟล์ข้อความต้องเป็นไฟล์ปกติหรือไม่ ในข้อความที่ตัดตอนมาข้างต้นมันไม่ได้บอกอย่างชัดเจนว่าไฟล์จะต้องเป็นไฟล์ปกติ ไฟล์สามารถพิจารณาเป็นไฟล์ข้อความได้หรือไม่หากมีอักขระหนึ่งตัวและหนึ่งตัวเท่านั้น (เช่นอักขระเดียวที่ไม่ได้ขึ้นบรรทัดใหม่ด้วย) ฉันรู้ว่าคำถามนี้อาจฟังดูไร้ค่า แต่พวกเขาใช้คำว่า "ตัวอักษร" แทน "หนึ่งตัวหรือมากกว่า" คนอื่นอาจไม่เห็นด้วย แต่ถ้าพวกเขาหมายถึง "หนึ่งตัวหรือมากกว่า" ฉันคิดว่าพวกเขาควรพูดอย่างชัดเจน ในข้อความที่ตัดตอนมาด้านบนมันทำให้การอ้างอิงถึง "เส้น" ฉันพบคำจำกัดความสี่บรรทัดในชื่อ: "Empty Line", "Display Line", "Inline …
22 files  posix  text 

2
วิธีหยุดการบันทึกด้วย Kazam
ใช้ Kazam 1.4.5 ในการยืดเดเบียน จะหยุดการบันทึกด้วย Kazam ได้อย่างไร? ปัญหาคือ: ไอคอนบนทาสก์บาร์ไม่อนุญาตให้มีการโต้ตอบใด ๆ ดังนั้นฉันกำลังมองหาทางลัดบางอย่างกับแป้นพิมพ์ แต่ฉันไม่สามารถหาได้ ผลก็คือตอนนี้วิดีโอกำลังบันทึกอยู่เรื่อย ๆ จนกระทั่งฉันฆ่ากระบวนการ

2
วิธีการแปลงสตริง json แบบฝัง (ที่ยกมา) เป็น json
ฉันคุ้นเคยกับ "jq" สำหรับการแยกวิเคราะห์ json ฉันทำงานกับหนึ่งบริการที่สร้างการตอบสนอง json โดยที่คุณสมบัติอย่างใดอย่างหนึ่งคือสตริง json ฉันจะแปลงค่าที่ยกมาเป็นสตริง json ที่ถูกต้องเพื่อให้ฉันสามารถประมวลผลด้วย jq ได้อย่างไร ตัวอย่างเช่นหากฉันเพิ่งดู json ที่พิมพ์สวยแบบธรรมดาจาก "jq." นี่เป็นข้อความที่ตัดตอนมาสั้น ๆ ของผลลัพธ์: "someJsonString": "{\"date\":\"2018-01-08\", ... ฉันสามารถใช้ jq เพื่อรับค่าของคุณสมบัตินั้น แต่ฉันต้องแปลงสตริงที่ยกมาเพื่อ json ที่ถูกต้องโดย "unescaping" มัน ฉันคิดว่าฉันสามารถแปะไปที่ sed ลบการเปิดและสิ้นสุดเครื่องหมายคำพูดคู่และลบเครื่องหมายแบ็กสแลชทั้งหมด (" sed -e 's/^"//' -e 's/"$//' -e 's/\\//g'") ดูเหมือนว่าจะใช้งานได้ แต่ไม่ได้ดูเหมือนโซลูชันที่แข็งแกร่งที่สุด อัปเดต : เพื่อให้ชัดเจนขึ้นเกี่ยวกับสิ่งที่ฉันทำนี่เป็นตัวอย่างสองสามตัวอย่างที่แสดงสิ่งที่ฉันได้ลอง: % curl -s …
22 json  jq 

2
ตัวเลือกคำสั่ง macOS rm '-W' - ยกเลิกการลบ
ฉันกำลังดูหน้า man สำหรับrmคำสั่งบน MacBook ของฉันและฉันสังเกตเห็นสิ่งต่อไปนี้: - ความพยายามที่จะยกเลิกการลบไฟล์ที่มีชื่อ ขณะนี้ตัวเลือกนี้สามารถใช้เพื่อกู้คืนไฟล์ที่มี Whiteouts เท่านั้น สิ่งนี้หมายความว่า? "Whiteout" คืออะไร?
22 files  osx  rm  deleted-files 

5
วิธีออกจากโหมด `tail -f` โดยไม่ใช้` Ctrl + c`?
เมื่อฉันtail -f filenameจะออกจากโหมดโดยไม่ใช้Ctrl+cเพื่อฆ่ากระบวนการได้อย่างไร สิ่งที่ฉันต้องการเป็นวิธีปกติที่จะเลิกชอบในqtop ฉันแค่อยากรู้เกี่ยวกับคำถามเพราะฉันรู้สึกว่าการฆ่ากระบวนการไม่ใช่วิธีที่ดีในการออกจากบางสิ่ง
22 tail 

4
คัดลอกส่วนที่เลือกไปยังคลิปบอร์ดใน tmux
หากฉันเลือกข้อความด้วยเมาส์ใน tmux ใน iTerm2 บน macOS ฉันจะได้รับข้อความที่คัดลอกไปยังคลิปบอร์ดของฉัน ฉันไม่ต้องคลิกปุ่มพิเศษใด ๆ เพียงแค่เลือกข้อความที่คุณต้องการและคุณก็ทำเสร็จแล้ว ฉันทดสอบ tmux ใน terminal.app บน macOS แต่มันใช้งานไม่ได้ฉันต้องกดปุ่มyเพื่อคัดลอกส่วนที่เลือกไปยังคลิปบอร์ดของฉัน ผมคิดว่ามีความเป็นเมาส์ที่มีผลผูกพัน (สิ่งที่ชอบMouseOnSelectionคล้ายกับMouseDown1Pane) man tmuxแต่ฉันไม่สามารถหาอะไรที่เป็นประโยชน์บนเว็บและ ฉันสงสัยว่ามีวิธีที่จะมีพฤติกรรมที่คล้ายกันใน Ubuntu 16.10 - โดยเฉพาะอย่างยิ่งใน terminal Gnome dotfiles tmux ของฉันที่มีอยู่ที่นี่ (ลิงค์)
22 tmux  clipboard 

3
วิธีที่เร็วที่สุดในการเรียกใช้สคริปต์คืออะไร?
/dev/nullฉันถูกสงสัยว่าเป็นวิธีที่เร็วที่สุดที่จะเรียกใช้สคริปต์ที่ผมได้อ่านว่ามีความแตกต่างในความเร็วระหว่างการแสดงผลลัพธ์ของสคริปต์บนอาคารที่เปลี่ยนเส้นทางไปยังไฟล์หรือบางทีอาจจะ ดังนั้นหากผลลัพธ์ไม่สำคัญวิธีที่เร็วที่สุดในการทำให้สคริปต์ทำงานเร็วขึ้นคืออะไรแม้ว่ามันจะน้อยก็ตาม bash ./myscript.sh -or- bash ./myscript.sh > myfile.log -or- bash ./myscript.sh > /dev/null
22 linux  bash 

2
จุดประสงค์ของการสั่งทุบตี `` suspend 'builtin คืออะไร?
ฉันพิมพ์help suspendและได้รับคำอธิบายสั้น ๆ นี้: suspend: suspend [-f] Suspend shell execution. Suspend the execution of this shell until it receives a SIGCONT signal. Unless forced, login shells cannot be suspended. Options: -f force the suspend, even if the shell is a login shell Exit Status: Returns success unless job control is …

1
มีการบังคับใช้กฎ SELinux ก่อนหรือหลังสิทธิ์มาตรฐานของ linux หรือไม่
เมื่อติดตั้ง SELinux บนระบบจะมีการบังคับใช้กฎก่อนหรือหลังสิทธิ์มาตรฐานของ linux หรือไม่ ตัวอย่างเช่นหากผู้ใช้ที่ไม่ใช่รูทลินุกซ์พยายามเขียนลงไฟล์ที่มีสิทธิ์ลินุกซ์-rw------- root rootจะทำการตรวจสอบกฎ SELinux ก่อนหรือจะใช้สิทธิ์ระบบไฟล์มาตรฐานและ SELinux ไม่เคยเรียกใช้หรือไม่


2
รหัสจบการทำงานท้ายสคริปต์ทุบตี
ฉันสับสนเกี่ยวกับความหมายของรหัสออกในตอนท้ายของสคริปต์ทุบตี: ฉันรู้ว่ารหัสออก 0 หมายความว่าเสร็จสมบูรณ์และมีหมายเลขรหัสทางออกอื่นอีกมากมาย (127 ถ้าฉันไม่เข้าใจผิด?) คำถามของฉันเกี่ยวกับเมื่อเห็นรหัสออก 0 ที่ท้ายสคริปต์มันบังคับให้รหัสออกเป็น 0 แม้ว่าสคริปต์จะล้มเหลวหรือมีความหมายอื่นหรือไม่

1
เหตุใดจึงเลือกลำไส้ใหญ่เป็นตัวแยกเส้นทาง
เหตุใดจึง:เลือกcolon ( ) เป็นตัวคั่นพา ธ โปรดทราบว่าฉันหมายถึง "path separator" และไม่ใช่ "directory separator" ตัวคั่นพา ธ เป็นสัญลักษณ์ที่อยู่ระหว่างรายการในPATHตัวแปรสภาพแวดล้อม PATH="/usr/local/sbin:/usr/local/bin:/usr/bin:..." ^ this symbol ทุกสิ่งทุกอย่างในคอมพิวเตอร์และซอฟต์แวร์เป็นการตัดสินใจโดยเจตนาของใครบางคน ยกตัวอย่างว่าทำไมตัวหนอนหมายถึง dir บ้าน (และทำไม hjkl สำหรับปุ่มทิศทางใน vi) ฉันชอบที่จะรู้พื้นฐานสำหรับการตัดสินใจครั้งนี้ ข้อเท็จจริงบางอย่างแบบสุ่ม: การมีโคลอนเป็นตัวคั่นพา ธ หมายความว่าไม่สามารถเพิ่มไดเร็กทอรีที่มีโคลอนในชื่อในพา ธ จาก POSIX: เนื่องจาก<colon>เป็นตัวคั่นในบริบทนี้ชื่อไดเรกทอรีที่อาจใช้ใน PATH ไม่ควรมี<colon>อักขระ http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html ดูเหมือนจะเป็นไปไม่ได้ที่จะหนีจากลำไส้ใหญ่ @ Random832 จาก Stack Overflow ตรวจสอบซอร์สโค้ดการจัดการ PATH และไม่พบกลไกการหลบหนี /programming/14661373/how-to-escape-colon-in-path-on-unix
22 path  history 

4
วิธีการแตกไฟล์ jsonlz4 (การสำรองบุ๊คมาร์ค Firefox) โดยใช้บรรทัดคำสั่ง?
ดูเหมือนว่าจะมีวิธีการเฉพาะแตกต่างกันของ JavaScript + เบราว์เซอร์ในการแตกไฟล์ แต่ไม่มีวิธีแปลงไฟล์ jsonlz4 เป็นบางอย่างที่unlz4จะอ่านหรือไม่

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