Unix & Linux

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

1
ESC + {: มันคืออะไรและที่ฉันสามารถรู้เพิ่มเติมเกี่ยวกับมันได้หรือไม่
ฉันเล่นรอบ ๆ ที่พร้อมต์ bash และกด ESC ตามด้วย {, หลังจากนั้นเชลล์แสดงไฟล์ทั้งหมดให้เสร็จในสตริง fileglob เช่น: หากฉันพิมพ์bash Cตามด้วยESC+{เชลล์จะแสดงสิ่งนี้: bash CHECK{,1,2{,23{336{,66666},6},3{,6}}}เติมไฟล์และไดเรกทอรีที่เป็นไปได้ทั้งหมดที่เริ่มต้นด้วย C โดยอัตโนมัติโดยแสดงไฟล์ทดลองและไดเรกทอรีทั้งหมดที่ฉันทำ คืออะไรESC + {และที่ฉันสามารถทราบข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้? ฉันเห็นสิ่งนี้ใน CENTOS & Mac OSX พร้อมทุบตี

5
วิธีเปลี่ยนความสูงของแถบหัวเรื่องในแอป GTK มาตรฐานและที่มีแถบส่วนหัว / CSD ใน Gnome 3.20
ใน Gnome 3.18 มันเป็นไปได้ที่จะเปลี่ยนความสูงของแถบหัวเรื่องหน้าต่างทั้งหมดโดยการเปลี่ยน CSS ใน~/.config/gtk-3.0/gtk.cssเป็นต่อลดแถบชื่อเรื่องความสูงในคำพังเพย 3 / GTK + 3 .header-bar.default-decoration { padding-top: 0px; padding-bottom: 0px; } .header-bar.default-decoration .button.titlebutton { padding-top: 0px; padding-bottom: 0px; } /* No line below the title bar */ .ssd .titlebar { border-width: 0; box-shadow: none; } ใน Gnome 3.20 ดูเหมือนว่าจะไม่ใช้กับหน้าต่างที่มี headerbar / CSD (ปุ่มเฉพาะคำพังเพยในแถบชื่อเรื่อง) …

4
จะเกิดอะไรขึ้นเมื่อฉันเรียกใช้ไฟล์ในเชลล์
ดังนั้นฉันคิดว่าฉันมีความเข้าใจที่ดีในเรื่องนี้ แต่เพียงแค่ทดสอบ (เพื่อตอบสนองต่อการสนทนาที่ฉันไม่เห็นด้วยกับใครบางคน) และพบว่าความเข้าใจของฉันมีข้อบกพร่อง ... ในรายละเอียดมากที่สุดจะเกิดอะไรขึ้นเมื่อฉันเรียกใช้ไฟล์ในเชลล์? สิ่งที่ฉันหมายถึงคือถ้าฉันพิมพ์: ./somefile some argumentsลงในเปลือกของฉันและกดย้อนกลับ (และsomefileมีอยู่ใน cwd และฉันได้อ่าน + ดำเนินการสิทธิ์บนsomefile) แล้วเกิดอะไรขึ้นภายใต้ประทุน? ฉันคิดว่าคำตอบคือ: เปลือกทำ syscall ให้execผ่านเส้นทางไปsomefile เคอร์เนลตรวจสอบsomefileและดูหมายเลขมายากลของไฟล์เพื่อตรวจสอบว่าเป็นรูปแบบที่โปรเซสเซอร์สามารถจัดการได้หรือไม่ หากหมายเลขมายากลระบุว่าไฟล์อยู่ในรูปแบบที่โปรเซสเซอร์สามารถใช้งานได้ กระบวนการใหม่ถูกสร้างขึ้น (โดยมีรายการในตารางกระบวนการ) somefileถูกอ่าน / แมปกับหน่วยความจำ สแต็กถูกสร้างขึ้นและการดำเนินการข้ามไปยังจุดเริ่มต้นของรหัสsomefileโดยARGVเริ่มต้นไปที่อาร์เรย์ของพารามิเตอร์ (a char**, ["some","arguments"]) หากจำนวนมายากลเป็นshebangแล้วexec()spawns กระบวนการใหม่ดังกล่าวข้างต้น แต่ปฏิบัติการที่ใช้เป็นล่ามอ้างอิงโดย shebang (เช่น/bin/bashหรือ/bin/perl) และsomefileถูกส่งไปยังSTDIN หากไฟล์ไม่มีหมายเลขเวทย์มนตร์ที่ถูกต้องแสดงว่ามีข้อผิดพลาดเช่น "ไฟล์ไม่ถูกต้อง (หมายเลขเวทย์มนตร์ที่ไม่ดี): เกิดข้อผิดพลาดในรูปแบบ Exec" อย่างไรก็ตามมีคนบอกฉันว่าถ้าไฟล์เป็นข้อความธรรมดาเชลล์จะพยายามเรียกใช้คำสั่ง (เช่นถ้าฉันพิมพ์bash somefile) ฉันไม่เชื่อเรื่องนี้ แต่ฉันแค่ลองมันและมันก็ถูกต้อง ดังนั้นฉันจึงมีความเข้าใจผิดอย่างชัดเจนเกี่ยวกับสิ่งที่เกิดขึ้นจริงที่นี่และต้องการที่จะเข้าใจกลไก จะเกิดอะไรขึ้นเมื่อฉันเรียกใช้ไฟล์ในเชลล์ (ในรายละเอียดมากพอสมควร …
32 shell  kernel  exec  shebang 

5
ฉันจะลบเนื้อหาของธัมบ์ไดรฟ์อย่างปลอดภัยได้อย่างไรจึงไม่สามารถกู้คืนข้อมูลได้
ฉันต้องการทราบวิธีการลบ USB แฟลชไดรฟ์ผ่านทางเทอร์มินัลถ้าเป็นไปได้ดังนั้นจึงไม่สามารถกู้คืนข้อมูลได้

2
การปรับปรุงไบนารีด้วย dd
ฉันได้อ่านคำพูดนี้ (ด้านล่าง) หลายครั้งล่าสุดที่นี่และฉันประหลาดใจอย่างต่อเนื่องว่าddจะใช้ในการแก้ไขสิ่งใดให้คอมไพเลอร์: ระบบ Unix ที่ฉันใช้ที่โรงเรียนเมื่อ 30 ปีก่อนมีข้อ จำกัด ในเรื่อง RAM และพื้นที่ดิสก์ โดยเฉพาะอย่างยิ่ง/usr/tmpระบบไฟล์มีขนาดเล็กมากซึ่งนำไปสู่ปัญหาเมื่อมีคนพยายามรวบรวมโปรแกรมขนาดใหญ่ แน่นอนว่านักเรียนไม่ควรเขียน "โปรแกรมขนาดใหญ่" อยู่ดี โปรแกรมขนาดใหญ่มักจะคัดลอกซอร์สโค้ดจาก "ที่ไหนสักแห่ง" พวกเราหลายคนคัดลอก/usr/bin/ccไปยัง/home/<myname>/ccและใช้ddเพื่อแก้ไขไบนารีเพื่อใช้/tmpแทน/usr/tmpซึ่งใหญ่กว่า แน่นอนว่าสิ่งนี้ทำให้ปัญหาแย่ลง - พื้นที่ดิสก์ที่ครอบครองโดยสำเนาเหล่านี้มีความสำคัญในปัจจุบันและ/tmpเต็มไปด้วยสิ่งนี้เป็นประจำทำให้ผู้ใช้รายอื่นไม่สามารถแก้ไขไฟล์ได้ หลังจากที่พวกเขาพบว่าเกิดอะไรขึ้นผู้ดูแลระบบก็ทำchmod go-r /bin/* /usr/bin/* ซึ่ง "แก้ไข" ปัญหาและลบสำเนาของคอมไพเลอร์ C ทั้งหมดของเรา (เหมืองเน้น) ddคนหน้าไม่พูดอะไรเกี่ยวกับปะและไม่คิดว่ามันอาจจะเป็นใหม่วัตถุประสงค์ที่จะทำต่อไปนี้ ไบนารีสามารถได้รับการแก้ไขด้วยddหรือไม่ มีความสำคัญทางประวัติศาสตร์ในเรื่องนี้หรือไม่?
32 dd  history  patch 

5
ทางเลือกของ FHS คืออะไร?
ฉันเป็นผู้ใช้ลีนุกซ์มานานกว่า 15 ปีแล้ว แต่สิ่งหนึ่งที่ฉันเกลียดด้วยความหลงใหลคือโครงสร้างไดเรกทอรีที่ได้รับคำสั่ง ฉันไม่ชอบที่/usr/binเป็นพื้นทุ่มตลาดสำหรับไบนารีหรือ libs ใน/usr/lib, /usr/lib32, /usr/libx32, /lib, /lib32ฯลฯ ... สิ่งที่สุ่มใน/usr/shareฯลฯ มันเป็นใบ้และทำให้เกิดความสับสน แต่บางคนก็ชอบและรสนิยมต่างกัน ฉันต้องการโครงสร้างไดเรกทอรีที่แยกแต่ละแพ็คเกจ ลองนึกภาพถ้า Dragon Media Player มีโครงสร้างเป็นของตัวเอง: /software/dragon /software/dragon/bin/x86/dragon /software/dragon/doc/README /software/dragon/doc/copyright /software/dragon/lib/x86/libdragon.so หรือ: /software/zlib/include/zlib.h /software/zlib/lib/1.2.8/x86/libz.so /software/zlib/lib/1.2.8/x64/libz.so /software/zlib/doc/examples/... /software/zlib/man/... คุณได้รับคะแนน ตัวเลือกของฉันคืออะไร? มีลินุกซ์ distro ที่ใช้บางอย่างเช่นโครงร่างของฉันหรือไม่? distro บางอย่างสามารถปรับเปลี่ยนให้ทำงานได้ตามที่ต้องการ (Gentoo ??) หรือฉันต้องการ LFS หรือไม่? มีงานศิลปะก่อนหน้านี้ในบริเวณนี้หรือไม่? เช่นเดียวกับสิ่งตีพิมพ์ในกรณีที่โครงการมีความเป็นไปได้หรือไม่สามารถทำได้? ไม่มองหา OS X. :) …


10
ทำไมโปรแกรมไม่กระจายในรูปแบบที่คอมไพล์แล้ว?
แต่พวกเขาให้คำแนะนำเช่น cd downloaded_program ./configure make install สิ่งนี้จะสร้างเอลฟ์ที่จำเป็นและอาจเป็นไฟล์. so บางไฟล์ ทำไมไม่วางไฟล์เหล่านั้นไว้ในไฟล์ zip เพื่อดาวน์โหลดเช่นเดียวกับแอพ windows? มีเหตุผลใดที่พวกเขาต้องรวบรวมโดยผู้ใช้?

7
จะทราบได้อย่างไรว่าเอาต์พุตของคำสั่งหรือเชลล์สคริปต์คือ stdout หรือ stderr
ให้เราบอกว่าฉันเรียกใช้คำสั่งหรือสคริปต์เปลือกและมันทำให้ฉันออก โดยไม่ทราบว่าภายในของคำสั่งนี้หรือเชลล์สคริปต์หนึ่งจะกำหนดได้อย่างไรว่าเป็นผลมาจากstderrหรือstdout? สำหรับเช่น $ ls -ld / drwxrwxr-t 35 root admin 1258 Dec 11 19:16 / VS ls -ld /test ls: /test: No such file or directory ฉันจะแน่ใจได้อย่างไรว่าคำสั่งแรกที่พิมพ์ไปยังstdoutและที่สองที่จะstderr(มันได้หรือไม่)?

4
เหตุใดฉันจึงได้รับข้อความนี้จาก xauth:“ หมดเวลาในการล็อคไฟล์ผู้มีอำนาจ / home / <user> /.Xauthority”?
ในขณะที่พยายาม SSH เป็นโฮสต์ฉันได้รับข้อความต่อไปนี้จากxauth: / usr / bin / xauth: หมดเวลาในการล็อกไฟล์ /home/sam/.Xauthority หมายเหตุ:ฉันพยายามแสดง X11 GUI จากระยะไกลผ่านการเชื่อมต่อ SSH ดังนั้นฉันจึงจำเป็นxauthต้องสร้าง$HOME/.Xauthorityไฟล์ได้สำเร็จ แต่เมื่อข้อความดังกล่าวระบุว่าไม่ชัดเจน ความพยายามในการเรียกใช้แอพที่ใช้ X11 เช่นxeyesได้รับการต้อนรับด้วยข้อความนี้: $ xeyes X11 connection rejected because of wrong authentication. Error: Can't open display: localhost:10.0 ฉันจะแก้ไขปัญหานี้ได้อย่างไร

7
เซิร์ฟเวอร์ของฉันถูกโจมตีอย่างต่อเนื่อง [ปิด]
ฉันค่อนข้างใหม่สำหรับโลกแห่งการบริหารระบบ ฉันได้ทำงานกับแอปพลิเคชันเมื่อเร็ว ๆ นี้และเมื่อฉันตรวจสอบบันทึกเซิร์ฟเวอร์แอปพลิเคชันของฉันฉันได้รับที่อยู่ IP ต่างๆที่พยายาม ssh เข้าสู่เซิร์ฟเวอร์ของฉันโดยใช้กำลังดุร้าย นี่คือตัวอย่างของบันทึกเซิร์ฟเวอร์ของฉัน: Feb 14 04:07:20 foodwiz3 sshd[1264]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key Feb 14 04:07:21 foodwiz3 sshd[1264]: reverse mapping checking getaddrinfo for coenamor.columbiansabbatical.com [23.249.167.223] failed - POSSIBLE BREAK-IN ATTEMPT! Feb 14 04:07:21 foodwiz3 sshd[1264]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh …
32 ssh  security 

1
ฉันจะใช้ null bytes ใน Bash ได้อย่างไร
ฉันได้อ่านมาแล้วเนื่องจากเส้นทางของไฟล์ใน Bash สามารถมีตัวละครใด ๆ ยกเว้น null null (ไบต์ที่มีค่าเป็นศูนย์$'\0') จึงเป็นการดีที่สุดที่จะใช้ null null เป็นตัวคั่น ตัวอย่างเช่นหากผลลัพธ์ของfindจะถูกส่งไปยังโปรแกรมอื่นขอแนะนำให้ใช้-print0ตัวเลือก (สำหรับเวอร์ชันfindที่มี) แต่ถึงแม้ว่าบางอย่างเช่นนี้จะทำงานได้ดี (การพิมพ์เส้นทางไฟล์คั่นด้วยบรรทัดใหม่ - ไม่ต้องกังวลนี่เป็นเพียงการสาธิตฉันไม่ได้ทำในสคริปต์จริง): find -print0 \ | while IFS= read -r -d $'\0' ; do echo "$REPLY" ; done สิ่งนี้ไม่ได้ผล: for file in * ; do echo -n "$file"$'\0' ; done \ | while IFS= …
32 bash  null 

5
แสดงรายการไฟล์ที่เรียงตามจำนวนบรรทัดที่มี
ฉันจะแสดงรายการจำนวนบรรทัดในไฟล์/group/book/four/wordเรียงลำดับตามจำนวนบรรทัดที่มีได้อย่างไร ls -l คำสั่งรายการพวกเขาลง แต่ไม่ได้จัดเรียงพวกเขา
32 bash  shell  files  wc 

5
ความแตกต่างระหว่าง -r และ -R
มันมักจะเกิดขึ้นที่ฉันต้องการใช้การดำเนินการซ้ำ คำสั่งบางคำสั่งเช่น grep ใช้ตัวพิมพ์เล็ก r เพื่อระบุการเรียกซ้ำ ตัวอย่างเช่น grep -r foo . คำสั่งอื่นดูเหมือนจะชอบตัวพิมพ์ใหญ่ R: chmod -R 755 . ฉันได้รับอย่างต่อเนื่องในทางที่ผิดและลืมซึ่งเป็นที่ มีเหตุผลใดบ้างที่อยู่เบื้องหลังการเลือกเคสสำหรับอาร์กิวเมนต์เหล่านี้?

4
มีทางเลือกอื่นในการโง่ไหม?
ฉันชอบไอเดียของ Mutt มาก ๆ อ่านจดหมายใน terminal ฉันไม่พอใจกับความไม่สอดคล้องและการจัดการ imap ฉันตั้งค่าเกี่ยวกับการพยายามหาทางเลือกอื่นในการปิดเสียง แต่ฉันไม่สามารถหาได้ มีทางเลือกใดในการ mutt e-mailclient สำหรับเทอร์มินัลสำหรับ linux?
32 email  mutt 

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