Unix & Linux

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

1
จะรู้ได้อย่างไรว่า NC ถ่ายโอนไฟล์เสร็จแล้ว
มีวิธีที่จะรู้ว่าเมื่อ netcat เสร็จสิ้นการถ่ายโอนไฟล์ระหว่างเครื่องหรือไม่? คำสั่งปัจจุบัน: เครื่อง # 2: nc -lp 5555 > test.txt เครื่อง # 1: nc MachineIP Port < test.txt การถ่ายโอนเกิดขึ้น แต่ไม่มีสิ่งบ่งชี้ที่ชัดเจนว่าเสร็จสิ้นแล้ว
11 netcat 

4
เป็นไปได้หรือไม่ที่จะมีเชลล์ล็อกอินที่ไม่ทำงาน?
ในการตีความผังงานนี้ ฉันพบว่าในคนทุบตี: เมื่อ bash ถูกเรียกใช้เป็นเชลล์ล็อกอินแบบโต้ตอบหรือเป็นเชลล์แบบไม่โต้ตอบที่มีตัวเลือก --login มันจะอ่านและเรียกใช้คำสั่งจากไฟล์ / etc / profile ก่อนหากไฟล์นั้นมีอยู่ ระบุว่าเชลล์ล็อกอินแบบโต้ตอบอ่าน/etc/profile(โดยไม่มี --noprofile) นอกจากนี้เชลล์ที่ไม่มีการโต้ตอบพร้อมตัวเลือกการ--loginอ่าน/etc/profile ที่ดูเหมือนว่าจะปล่อยให้บางอย่างที่เป็นไปได้เข้าสู่ระบบเปลือกหอย (ซึ่ง$0เริ่มต้นด้วย-) ที่ถูกไม่โต้ตอบ (เรียกใช้สคริปต์ที่อาจจะเป็นง่ายๆเป็นdate) อาจจะไม่อ่าน /etc/profile(ที่มา) หากต้องการยืนยันหรือปฏิเสธแนวคิดนี้: ก่อนอื่นฉันพยายามใช้su -l -ซึ่งเริ่มต้นเชลล์การเข้าสู่ระบบด้วย-อักขระตัวแรก แต่ฉันไม่สามารถทำให้มันเป็นแบบไม่โต้ตอบ (และสามารถแสดงการทดสอบเพื่อตรวจสอบได้) เรียกสิ่งที่ชอบ $ bash -c 'date' -bash ไม่รายงานว่าเป็นเชลล์ล็อกอิน (แม้ว่าอักขระตัวแรกคือ-) ลองใช้วิธีนี้เพื่อเปิดเผยรายละเอียด: $ bash -c 'echo "$0 $- ||$(shopt -p login_shell)||";date' -bash -bash hBc ||shopt -u …
11 bash  login  startup  bashrc 

1
Centos จะไปแทนที่ yum ด้วย dnf เมื่อใด [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา Dnf มีอยู่ใน fedora ซึ่งเป็นเตียงทดสอบสำหรับ Rhel / centos แต่ทำไม centos 7 ยังคงใช้ yum อยู่?
11 linux  centos  dnf 

2
ผู้ใช้ขั้นสูงสามารถเขียนลงในไฟล์แบบอ่านอย่างเดียวได้หรือไม่
ฉันพบพฤติกรรมการอนุญาตที่แปลกใจ (สำหรับฉัน) ใน FreeBSD สมมติว่าฉันทำงานในฐานะผู้ใช้ที่ไม่ใช่รูท ฉันสร้างไฟล์ตั้งค่าการอนุญาตเป็นแบบอ่านอย่างเดียวแล้วลองเขียนลงไป: $ touch f $ chmod 400 f $ ls -l f -r-------- 1 user wheel f $ echo a >> t t: Permission denied. จนถึงตอนนี้ดีมาก ตอนนี้ฉันทำเช่นเดียวกับรูทและมันเขียนลงในไฟล์: # ls -l f2 -r-------- 1 root wheel f2 # echo a >> f2 # echo $? 0 …

1
วิธีการติดตั้ง skype บนซุ้มประตู
ฉันดูทุกที่และไม่มีอะไรทำงาน ฉันแค่พยายามติดตั้ง skype ฉันพยายามดูว่าอยู่ในที่เก็บ แต่ไม่พบ ดังนั้นฉันจึงไม่ไปที่เว็บไซต์ skype และพบรุ่น linux แต่ไม่รู้วิธีติดตั้งหลังจากแตกไฟล์ tar จากนั้นฉันพยายามที่จะค้นหาใน AUR และพบ skype แต่เมื่อฉันพยายามที่จะเรียกใช้ makepkg ฉันได้รับ ==> ERROR: PERMISSION was not found in the build directory and is not a URL. ฉันลองมองหาวิธีแก้ปัญหา แต่หาอะไรไม่เจอ ทุกเธรดที่ฉันพบขอให้ cehck /etc/pacman.confไฟล์ ซึ่งฉันทำและทำให้แน่ใจว่าฉันมี multilib รวมอยู่ด้วย /etc/pacman.conf # # /etc/pacman.conf # # See the pacman.conf(5) …

3
ล้างครึ่งหนึ่งของหน้าจอจากบรรทัดคำสั่ง
มีวิธีล้างเทอร์มินัล แต่แทนที่จะปล่อยพรอมต์ที่ด้านบนของหน้าจอทิ้งไว้ตรงกลางหรือไม่ ดูเหมือนว่าclearโดยทั่วไปจะไม่สนใจพารามิเตอร์บรรทัดคำสั่งทั้งหมด ฉันคิดว่าจะมีวิธีในการทำเช่นนี้tputแต่ไม่สามารถหาได้
11 terminal  tput 

3
เป็นไปได้หรือไม่ที่จะทำการทดแทนคำสั่ง shell โดยไม่ใช้เชลล์ย่อย?
ฉันมีสถานการณ์ที่เรียกการทดแทนคำสั่งโดยไม่ใช้ subshell ฉันมีสิ่งก่อสร้างเช่นนี้: pushd $(mktemp -d) ตอนนี้ฉันต้องการออกและลบไดเรกทอรีชั่วคราวในครั้งเดียว: rmdir $(popd) อย่างไรก็ตามมันใช้งานไม่ได้เพราะpopdไม่ได้ส่งคืนไดเรกทอรีที่ถูกตอก (มันจะส่งคืนไดเรกทอรีใหม่ที่เป็นปัจจุบันในปัจจุบัน) และเพราะมันถูกทำใน subshell สิ่งที่ต้องการ dirs -l -1 ; popd &> /dev/null จะส่งคืนไดเรกทอรี popped แต่ไม่สามารถใช้เช่นนี้: rmdir $(dirs -l -1 ; popd &> /dev/null) เพราะpopdจะส่งผลกระทบต่อ subshell เท่านั้น สิ่งที่เรียกว่าเป็นความสามารถในการทำเช่นนี้: rmdir { dirs -l -1 ; popd &> /dev/null; } แต่นั่นเป็นไวยากรณ์ที่ไม่ถูกต้อง มันเป็นไปได้ที่จะบรรลุผลนี้หรือไม่? (หมายเหตุ: ฉันรู้ว่าฉันสามารถบันทึกไดเรกทอรีชั่วคราวในตัวแปรได้ฉันพยายามหลีกเลี่ยงความจำเป็นที่จะต้องทำและเรียนรู้สิ่งใหม่ในกระบวนการ!)
11 shell  directory 

1
วิธีเมาท์ระบบไฟล์ ZFS ภายนอกโดยไม่มีการอุดตัน / แก้ไขระบบไฟล์ปัจจุบันหรือภายนอก
ฉันใช้ FreeBSD 10.2 ใช้ ZFS บนรากเป็นระบบไฟล์(zroot01) ฉันมีฮาร์ดดิสก์ภายนอกที่มีระบบไฟล์ ZFS จากระบบ FreeBSD 10.2 (zroot02) อื่นที่ฉันต้องการที่จะเมานท์ชั่วคราวอ่านอย่างเดียวเพื่อให้ฉันสามารถลบไฟล์บางส่วนออกจากนั้นตัดการเชื่อมต่อหลังจากนั้น ฉันไม่ต้องการให้ระบบ ZFS ภายนอกทำการปิดบังหรือแทนที่ระบบไฟล์ปัจจุบันของฉันและฉันไม่ต้องการให้ข้อมูลในภายนอกเสียหายหรือเปลี่ยนแปลง เพื่อแสดงให้เห็นถึงสิ่งที่ฉันพยายามทำให้สำเร็จถ้าฉันใช้ UFS ฉันจะทำสิ่งนี้: mount -t ufs -o ro /dev/ada0s2 /mnt/my-fun-mountpoint ... /dev/ada0s2พาร์ทิชันบนไดรฟ์ภายนอกของฉันอยู่ที่ไหนและ/mnt/my-fun-mountpointอยู่ใน/mntไดเรกทอรีของระบบปฏิบัติการที่มีอยู่ของฉัน การค้นหาและการอ่านหน้าคนทั้งหมดไม่ได้ให้วิธีการที่ชัดเจนในการทำเช่นนั้น อะไรคำตอบผมไม่พบว่าจบลงด้วยการผ่านระบบแฟ้มของฉันปัจจุบันและสินบนมันเกินกว่าจะซ่อม - ไม่ชัดผลที่ฉันกำลังมองหา ฉันพยายามทำสิ่งนี้มานานแล้วดังนั้นฉันจำไม่ได้ว่าคำสั่งใดที่ฉันลองใช้ คุณช่วยให้คำแนะนำที่ชัดเจนเกี่ยวกับวิธีการทำเช่นนี้ได้หรือไม่? ขอบคุณล่วงหน้าสำหรับความช่วยเหลือของคุณ.
11 mount  zfs 

3
เหตุใดในระบบ Linux บางระบบระบบไฟล์รูทจึงปรากฏเป็น / dev / root แทนที่จะเป็น / dev / <real device node> ใน mtab?
ฉันเคยเห็นระบบ Linux หลายระบบซึ่งแทนที่จะเป็นโหนดอุปกรณ์จริง (ตัวอย่าง/dev/sda1:) อุปกรณ์รูทปรากฏเป็น/dev/rootหรือแทนที่จะเป็นระบบไฟล์จริงmtabกล่าวว่าเป็นระบบไฟล์ที่เรียกว่าrootfs(ซึ่งปรากฏเป็นระบบไฟล์จริงในระบบ/proc/filesystemsแต่ ไม่มีรหัสใน&lt;linux-kernel-source-tree&gt;/fs) ยูทิลิตี้ต่างๆถูกสร้างขึ้นเพื่อใช้คุณลักษณะบางอย่างเพื่อกำหนดโหนดอุปกรณ์รูทจริง (เช่น rdev และ Chromium OS rootdev) ฉันไม่สามารถหาคำอธิบายที่เป็นตรรกะเกี่ยวกับเรื่องนี้ได้นอกจากอ่านที่ใดที่อุปกรณ์ฝังตัวขนาดเล็กมากไม่จำเป็นต้องมี/devโหนดอุปกรณ์สำหรับอุปกรณ์รูท (เป็นจริงหรือไม่และถ้าเป็นเช่นนั้นคือคำตอบสำหรับคำถามของฉัน) ทำไมบางครั้ง mtab พูด/dev/root(และฉันคิดว่าฉันอาจเคยเห็นมันพูดrootdevหนึ่งครั้ง) แทนที่จะเป็นโหนดอุปกรณ์จริงและฉันจะทำให้มันพูดเสมอว่าโหนดอุปกรณ์จริงได้อย่างไร เคอร์เนลม้าแรกอุปกรณ์รากดังต่อไปนี้rootพารามิเตอร์ใน cmdline แล้วinit/systemdอีกครั้งที่เมาท์มันเป็นไปตามfstabถูกต้องหรือไม่ ถ้าเป็นเช่นนั้นผมเข้าใจรักษาinit mtabหากทฤษฎีของฉันถูกต้องฉันจะinitเขียนโหนดอุปกรณ์รูทจริงได้mtabอย่างไร ฉันสังเกตเห็นว่า/etc/mtabจริง ๆ แล้วเป็นการเชื่อมโยงสัญลักษณ์/proc/mountsซึ่งจะหมายถึงmtabถูกดูแลโดยเคอร์เนล ดังนั้นฉันจะกำหนดค่า / แก้ไขเคอร์เนลได้อย่างไรแทนที่จะบอกว่ารูทอุปกรณ์ของรูทอุปกรณ์คือ/dev/rootมีmtabโหนดอุปกรณ์จริงอยู่หรือไม่

2
IP ผ่าน USB 3.1 type-C ระหว่างสองโฮสต์ Linux ที่ 10Gbps หรือไม่
ฉันไม่สามารถตัดสินใจด้วยตัวเองได้ถ้าทำได้ ฉันสงสัยว่าเป็นไปได้หรือไม่ที่จะเชื่อมต่อระบบ Linux สองระบบกับ USB 3.1 พร้อมตัวเชื่อมต่อ type-C เพื่อตั้งค่าเครือข่ายแบบจุดต่อจุด (IP หรือ Ethernet + IP) ที่เต็ม 10Gbps มาตรฐานที่อ้างสิทธิ์อนุญาต อะแดปเตอร์โฮสต์สนับสนุนสิ่งนี้หรือไม่ เคอร์เนล Linux / เครื่องมือรุ่นใหม่นี้สนับสนุนหรือไม่ สามารถใช้สายเคเบิลปกติได้หรือไม่ Gigabit ไม่เร็วพอและการ์ด USB 3.1 ราคาถูกและติดตั้งมาเธอร์บอร์ดใหม่ (เหมือนของฉัน) 10Gbps Ethernet จะเป็นทางเลือกที่สองของฉันฉันเดา แต่มันเกี่ยวข้องกับการซื้อฮาร์ดแวร์ใหม่ทั้งหมดและฉันต้องไปมือสอง
11 linux  networking  usb  ip  ethernet 

2
findmnt ไม่สามารถแสดงรายการการเชื่อมโยงผูกได้อย่างไร?
ผู้คนมากมายบอกว่าลีนุกซ์ไม่เก็บข้อมูลเกี่ยวกับการผูกเมาท์ดังนั้นจึงไม่มีวิธีรับรายการของพวกเขาและแหล่งที่มา นี่คือตัวอย่างบางส่วน: จากหนึ่งในความคิดเห็นที่นี่ : IIRC ข้อมูลนี้จะไม่ถูกเก็บไว้ที่ใด: หลังจากmount --bindนั้นสำเนาสองชุดนั้นมีความเท่าเทียมกันและไม่มี "ต้นฉบับ" มากกว่าอีกชุดหนึ่ง /mntท้ายที่สุดอาจไม่มีต้นฉบับถ้าคุณยกเลิกการต่อเชื่อมแล้ว จากคำตอบในเว็บไซต์นี้ : /etc/mtabดังนั้นวิธีเดียวที่จะจำสิ่งที่ม้าเป็นม้าผูกเป็นบันทึกการติดคำสั่งที่เหลืออยู่ใน การดำเนินการ bind mount ถูกระบุโดยตัวเลือก bind mount (ซึ่งทำให้ระบบไฟล์ถูกละเว้น) แต่การเมานต์ไม่มีตัวเลือกให้แสดงเฉพาะระบบไฟล์ที่เมาท์พร้อมชุดของชุดตัวเลือกโดยเฉพาะ จากรายงานข้อบกพร่องของเดเบียน : นี่คือเจตนา จุดเชื่อมต่อทั้งสองนั้นเท่ากันทุกวิธีดังนั้นเคอร์เนลจะไม่เก็บค่าสถานะใด ๆ เพื่อแยกความแตกต่าง ข้างต้นเป็นเรื่องไร้สาระแม้ว่า เครื่องมือfindmntนี้สามารถแสดงรายการที่มาของเส้นทางของการเชื่อมต่อผูก (ในรูปแบบของdevice[source-path]; ฉันยังพยายามที่จะได้รับมันเพียงแค่รายการเส้นทางที่มาและไม่ได้อุปกรณ์) ถ้าเคอร์เนลคือการรักษาผูกติดแล้วว่าข้อมูลที่จะต้องมีการจัดเก็บไว้ที่ใดที่หนึ่งมิฉะนั้นจะไม่สามารถรู้ว่าถูกผูกไว้กับ/home /usersแล้วข้อมูลนี้อยู่ที่ไหน? มันถูกเก็บไว้ในพื้นที่ที่ไม่ชัดเจนใน RAM หรือไม่? ไม่findmntมองใน/procบาง?

1
ฉันจะปรับแต่ง xkb อัตโนมัติใน GNOME ได้อย่างไร
การติดตามคำถามของฉันเกี่ยวกับการปรับแต่งการจับคู่คีย์ใน Waylandฉันพบว่าxmodmapเลิกใช้แล้ว แต่ xkb "ควรใช้งานได้" ใน Wayland น่าเสียดายที่ xkb นั้นซับซ้อนกว่าและมีเอกสารไม่ดีเท่ากัน ฉันจัดการเพื่อการทำงานออกบทที่ฉันต้องอยู่บนพื้นฐานของข้อมูลจากคำถามเกี่ยวกับการแลกเปลี่ยนCmdและCtrl , หมวกล็อคอีกคำถามอ่านบางส่วนของการเชื่อมโยงในคำตอบและจากไฟล์ระบบของฉัน แต่ฉันไม่ทราบว่าจะนำไปใช้ ในลักษณะที่เป็นไปโดยอัตโนมัติและไม่ขัดแย้งกับ GNOME xkbcompเหล่านี้เป็นบทที่ผมเคยทำงานออกและผ่านการทดสอบประสบความสำเร็จกับ partial alphanumeric_keys xkb_symbols "pound" { // Put sterling on RAlt-3 and numbersign on Shift-3. key &lt;AE03&gt; { [ 3, numbersign, sterling, threesuperior ] }; }; // Make right cmd key act as ctrl …
11 gnome3  xkb 

5
ฉันจะเปลี่ยนสีของข้อความสีน้ำเงินในบรรทัดคำสั่งของฉันได้อย่างไร
ฉันรู้ว่าคำถามนี้ถูกถามหลายครั้ง แต่ฉันไม่พบคำตอบสำหรับคำถามอื่น ๆ นี่ภาพเพื่อแสดงจุดของฉัน: คุณสามารถอ่านเส้นสีน้ำเงินได้หรือไม่โดยไม่ต้องหรี่ตา? ไม่มี? ฉันก็ไม่เหมือนกัน. ฉันกำลังใช้งานเพลย์บุ๊คที่สามารถเล่นได้ในโหมด verbose เต็มรูปแบบและจำเป็นต้องอ่านบันทึกเหล่านั้นด้วย playbook ที่มีมากกว่า 50 ภารกิจ ใครสามารถอธิบายได้ว่าฉันจะเปลี่ยนสีเหล่านั้นได้อย่างไร คำถามที่ฉันดูที่ฉันไม่ได้คิดวิธีแก้ปัญหา: COLOR1 Color2 Color3 Color4 ...
11 terminal  colors  putty 

1
รายการชื่อของสมนามฟังก์ชันและตัวแปรใน zsh
ฉันต้องการวิธีที่จะแสดงชื่อ (โดยไม่มีเนื้อหา / เนื้อหา / ค่า) ของนามแฝง, ฟังก์ชั่น, ตัวแปร, อาร์เรย์ใน zsh มันควรมีพฤติกรรมที่เหมาะสมเช่นcompgen: compgen -a # will list all the aliases you could run. compgen -A function # will list all the functions you could run. compgen -A variable # will list all the variables defined. พื้นหลัง ฉันต้องการสิ่งนี้เพื่อพัฒนา env_parallel.zsh: https://www.gnu.org/software/parallel/env_parallel.html
11 shell  zsh 

1
ดับเบิลคลิกส่วนที่เลือกใน Gnome Terminal
การคลิกสองครั้งที่คำศัพท์ในเทอร์มินอล Gnome เลือกทั้งคำ น่าเสียดายที่การเลือกนี้ไม่รวมเครื่องหมายโคลอนเช่นที่ URL นั้นไม่ได้เลือกอย่างสมบูรณ์เช่นด้วย http://foo.example.org/ เท่านั้น //foo.example.org/ ถูกเลือก ฉันจะกำหนดค่าพฤติกรรมการเลือกนี้ได้อย่างไรเมื่อเลือก URL ที่สมบูรณ์แล้ว ดูสิ่งนี้ด้วย: วิธีการกำหนดค่าพฤติกรรมการคลิกสองครั้งในเทอร์มินัล X? - ทรัพยากรที่อธิบายไม่ได้ถูกตีความโดย Gnome Terminal การเลือกเมาส์เทอร์มินัลคลาสสิกของ Gnome ดับเบิลคลิกที่กล่องโต้ตอบการกำหนดค่าโปรไฟล์ Gnome Shell Terminal ไม่มีตัวเลือกนี้อีกต่อไป

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