Unix & Linux

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

4
Bash รันคำสั่งหลังจากเรียกใช้เชลล์ใหม่
ฉันพยายามสร้างสคริปต์เช่นนี้: #!/bin/bash sudo -s something... เมื่อฉันรันมันฉันจะได้เชลล์ใหม่ แต่somethingจะถูกรันก็ต่อเมื่อฉันออกจากเชลล์ที่สร้างขึ้นโดยsudo -sไม่ได้อยู่ข้างใน ความช่วยเหลือใด ๆ

1
ผลกระทบในการสร้างบัญชีระบบ“ useradd -r” Linux Fedora / RHEL / CentOS
ฉันต้องการทราบว่าการสร้างบัญชีโดยใช้-rตัวเลือกคืออะไร # useradd -r ... ความช่วยเหลือบอกว่า: -r, --system Create a system account. System users will be created with no aging information in /etc/shadow, and their numeric identifiers are chosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (and their GID counterparts for the creation of groups). Note that …

3
Tmux - รับบานหน้าต่าง # ของแต่ละบานหน้าต่างจากสคริปต์?
มีวิธีการหาดัชนีบานหน้าต่างของบานหน้าต่างเฉพาะใน Tmux หรือไม่ ฉันรู้ว่าฉันสามารถทำสิ่งที่ชอบ: tmux display-message -p "#{pane_index}" แต่ใช้งานได้เฉพาะในบานหน้าต่างที่ใช้งานอยู่ ฉันต้องการให้มันทำงานกับทุกบานที่มันทำงานอยู่ปกติแล้วมันยากที่จะเรียกใช้สคริปต์ในบานหน้าต่างที่ไม่ใช่บานหน้าต่างที่ใช้งานอยู่ แต่คุณสามารถทำได้ถ้าคุณใช้:set-window-option synchronize-panesเพื่อซิงค์อินพุตระหว่างบานหน้าต่างทั้งหมด ฉันจะใช้สิ่งนี้ได้อย่างไร ในงานของฉันฉันต้องเชื่อมต่อกับเซิร์ฟเวอร์ที่เหมือนกันหลายตัวใน load balancer พร้อมกันซึ่งฉันทำกับบานหน้าต่าง Tmux ปกติฉันจะเปิดฟีเจอร์การซิงโครไนซ์บานหน้าต่างเพื่อให้ฉันมีสิ่งที่ฉันพิมพ์ส่งไปยังแต่ละบานหน้าต่างในเวลาเดียวกัน มันใช้งานได้ดี สิ่งที่ฉันพบคือฉันต้องการเชื่อมต่อกับเซิร์ฟเวอร์และทำสิ่งที่ไม่ซ้ำกับแต่ละบานหน้าต่างในบางครั้งโดยใช้ "ดัชนีบานหน้าต่าง" เดียวกันทุกครั้ง ตัวอย่างเช่นฉันจะใช้คำสั่งดังนี้: ssh NODE_$(get_pane_number) ซึ่งเมื่อทำข้อมูลให้ตรงกันและทำงานในแต่ละบานหน้าต่างจะเรียกใช้คำสั่งต่อไปนี้ในหน้าต่างที่มี 4 บานหน้าต่าง: ssh NODE_0 ในบานหน้าต่าง 0 ssh NODE_1 ในบานหน้าต่าง 1 ssh NODE_2 ในบานหน้าต่าง 2 ssh NODE_3 ในช่อง 3 แน่นอนฉันสามารถสคริปต์นี้ แต่จะทำงานได้ดีก่อนที่ฉันจะเริ่มซิงโครไนซ์อินพุต มีบางครั้งที่ฉันต้องการทำสิ่งนี้หลังจากที่ฉันเริ่มซิงโครไนซ์อินพุตเช่นกัน
12 tmux 

1
การตั้งค่า Plasma 5 เริ่มต้นอยู่ที่ไหน
บนระบบแบบกระจาย (รูต NFS) ฉันต้องการเปลี่ยนวิธีที่เดสก์ท็อปปรากฏต่อผู้ใช้ที่ไม่เคยเข้าสู่ระบบมาก่อนเช่นไม่มีการตั้งค่าที่ตั้งไว้ ฉันต้องการเปลี่ยนสัญลักษณ์บนเดสก์ท็อปบางอย่างเปลี่ยนกิจกรรมเริ่มต้นเป็นสัญลักษณ์บนเดสก์ท็อปและเปลี่ยนจากตัวเรียกใช้โปรแกรมอย่างง่ายไปเป็นเขี่ย ฉันจะทำอย่างไร

5
จะฟอร์แมตพาร์ติชั่นภายในไฟล์ img ได้อย่างไร?
ฉันสร้างimgไฟล์ด้วยคำสั่งต่อไปนี้: dd if=/dev/zero bs=2M count=200 > binary.img มันเป็นเพียงไฟล์ที่มีเลขศูนย์ แต่ฉันสามารถใช้ในfdiskและสร้างตารางพาร์ทิชัน: # fdisk binary.img Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x51707f21. Command (m for help): p Disk binary.img: 400 MiB, 419430400 bytes, 819200 sectors Units: sectors of 1 * 512 = 512 …

1
ตารางเส้นทางจะถูกเก็บไว้ภายในในเคอร์เนล Linux ที่ไหน?
เมื่อผมดำเนินการroute -nจากที่ว่า (จากการที่structs) เป็นข้อมูลที่แสดงดึง? ฉันพยายามดำเนินการstrace route -nแต่ฉันไม่ได้ช่วยฉันหาสถานที่ที่เหมาะสมซึ่งเก็บไว้

3
วิธีตรวจสอบจาก bash ว่ามีแพ็คเกจอยู่ใน Debian หรือไม่
ฉันต้องการเขียนสคริปต์ทุบตีการติดตั้งที่ฉันต้องการติดตั้งเซิร์ฟเวอร์ MySQL บน Linux Mint ฉันได้ติดตามโค้ด: apt-get -y --force-yes install mysql-server-5.6 แต่ผมติดตั้งใหม่ Debian 8 และไม่มีmysql-server- mariadbแทนมี ฉันจะทราบได้อย่างไรว่ามีแพ็คเกจอยู่หรือไม่ ฉันเพิ่งรู้ว่ามีสิ่งdpkg -sที่ควรบอกว่ามีการติดตั้งแพคเกจ
12 bash  apt  deb 

2
ฉันจะตรวจสอบว่า rsync ทำการเปลี่ยนแปลงในทุบตีได้อย่างไร?
ฉันมีสคริปต์ที่ใช้ rsync เพื่อซิงค์ข้อมูลในรีโมต -> สถานการณ์จำลองในเครื่อง ทันทีหลังจากรันคำสั่ง rsync การตรวจสอบเพื่อดูว่ารหัสข้อผิดพลาดเท่ากับศูนย์หรือไม่ หากเป็นศูนย์จะดำเนินการคำสั่งเพิ่มเติม อย่างไรก็ตามสิ่งนี้ไม่ได้คำนึงถึงข้อเท็จจริงที่ว่า rsync อาจทำงานได้สำเร็จ แต่ไม่ได้ทำการเปลี่ยนแปลงใด ๆ ด้วยเหตุนี้สภาพศูนย์เท่ากับจะทำงานโดยไม่คำนึงถึงซึ่งซ้ำซ้อนเล็กน้อย rsync -aEivm --delete /path/to/remote/ /path/to/local/ if [ $? -eq 0 ]; then # Success do some more work! else # Something went wrong! exit 1; fi สิ่งที่จะเป็นวิธีที่ดีที่สุดในการขยายสิ่งนี้เพื่อตรวจสอบว่ามีการเปลี่ยนแปลงจริง ๆ ตามคำสั่ง rsync ที่รันหรือไม่ ฉันอ่านแล้วว่าแฟล็ก -i สามารถให้เอาต์พุตกับ stdout …

2
เรียกใช้คำสั่งโดยพลการเมื่อบริการล้มเหลว
ฉันต้องการเรียกใช้สคริปต์บางอย่างเมื่อบริการล้มเหลว สิ่งที่ใกล้เคียงที่สุดที่ฉันเห็นคือFailureAction=ตัวเลือก (ใต้[Service]หัวข้อ) แต่มีเพียงคำสั่งรีบูต
12 systemd 

3
ทำไมเราต้องส่งชื่อไฟล์สองครั้งในฟังก์ชั่น exec
ผมอ่านการเขียนโปรแกรมในสภาพแวดล้อมระบบปฏิบัติการยูนิกซ์ขั้นสูงโดยสตีเว่น, 8 THบท ฉันอ่านและเข้าใจทั้งหกฟังก์ชั่นของ exec สิ่งหนึ่งที่ฉันสังเกตเห็นคือในทุกฟังก์ชั่น exec: อาร์กิวเมนต์แรกคือชื่อไฟล์ / ชื่อพา ธ (ขึ้นอยู่กับฟังก์ชั่น exec) อาร์กิวเมนต์ที่สองคือ argv [0] ที่เราเข้าไปmain()ซึ่งเป็นชื่อไฟล์เอง ดังนั้นที่นี่เราต้องส่งชื่อไฟล์สองครั้งในฟังก์ชั่น มีเหตุผลอะไรบ้าง (เช่นเราไม่สามารถรับชื่อไฟล์จากชื่อพา ธ จากอาร์กิวเมนต์แรก)?

8
วิธีการรวมเวลาโดยใช้ทุบตี?
ฉันต้องการทราบจำนวนเวลาทั้งหมดที่กระบวนการต่างๆใช้ในคอมพิวเตอร์ของฉันในการตัดสินใจว่าฉันควรรันที่นั่นหรือในคอมพิวเตอร์ที่แรงกว่า ดังนั้นฉันคาดการณ์เวลาทำงานของแต่ละคำสั่ง ผลลัพธ์ดูเหมือนว่า: process1 00:03:34 process2 00:00:35 process3 00:12:34 ฉันจะรวมคอลัมน์ที่สองเพื่อรับเวลาทำงานทั้งหมดได้อย่างไร ฉันลอง pipping แต่ละบรรทัดผ่าน awk '{sum += $2 } END { print sum } แต่สิ่งนี้ไม่สมเหตุสมผลเนื่องจากค่าไม่ใช่ตัวเลขตามธรรมชาติ
12 bash  time  arithmetic 

2
ทำการแมปใหม่หรือยกเลิกการแมป F10 จากการเรียกเมนูไฟล์หน้าต่างใน Xfce
ตามค่าเริ่มต้น F10 บน Xfce จะเปิดใช้งานเมนูไฟล์เมนูและไม่สามารถใช้เป็นทางลัดในโปรแกรมใด ๆ ฉันดูแล้วในหน้าการตั้งค่า Window Manager และ Keyboard และไม่มีการเชื่อมโยงคีย์ F10 ในรายการ ฉันจะทำแผนที่ใหม่ / ยกเลิกแผนที่นี้ได้อย่างไร

2
bash find: รับไดเรกทอรีของไฟล์ที่พบ
ฉันมีโฟลเดอร์หลักชื่อ "parent_folder" ที่มีโฟลเดอร์ย่อยจำนวนมากในโฟลเดอร์ย่อยเหล่านี้เป็นไฟล์ชื่อ "foo.mp4" ฉันสามารถค้นหาไฟล์เหล่านี้ได้อย่างง่ายดายโดยทำสิ่งนี้: mymacbook:parent_folder username$ find ./ -name "foo.mp4" -exec echo {} \; ตอนนี้จะส่งคืนพา ธ ของแต่ละไฟล์โดยสัมพันธ์กับ parent_folder / ./path/to/foo.mp4 ฉันจะกลับไปยังเส้นทางที่ไม่มีชื่อไฟล์ได้อย่างไร
12 shell  find  osx 

5
ฉันสามารถป้องกันเส้นทางเริ่มต้นที่เพิ่มเข้ามาเมื่อเรียกใช้ส่วนต่อประสานได้หรือไม่
ฉันมีระบบที่มี NIC สองตัวอยู่ เครื่องนี้และอุปกรณ์ที่ใช้งานร่วมกันสองสามเครื่องจะถูกย้ายและเชื่อมต่อกับ LAN ที่แตกต่างกันหรือบางครั้งจะใช้การเรียกผ่านสายโทรศัพท์ eth0: - 10.x.x.x address space - no internet gateway - only a few devices eth1 (when used): - 172.16.x.x or 192.168.x.x or other address spaces - access to the gateway from LAN to internet ppp0 (when used): - internet access through dialup using KPPP …

2
ตั้งค่าแอปพลิเคชัน xdg-open เริ่มต้นเป็นโปรแกรมเทอร์มินัล
เป็นไปได้ไหมที่จะใช้ terminal vim กับ xdg-open? ฉันไม่มีโปรแกรมแก้ไขข้อความ GUI เพราะฉันใช้ vim ผ่านเทอร์มินัลเท่านั้น (ฉันไม่สนใจ gvim มากเช่นกัน) เป็นไปได้ไหมที่จะบอก xdg-open ให้เปิดเทอร์มินัลจากนั้นเปิด vim ด้วยไฟล์ที่เลือก? ขอบคุณ

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