Unix & Linux

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

4
ฉันกำลังใช้เชลล์ตัวไหนอยู่?
เมื่อฉันรันecho $SHELLเอาต์พุตบอกว่า/bin/tcshซึ่งหมายความว่าฉันกำลังใช้tcshเชลล์ แต่ตัวอย่างเช่นเมื่อฉันออกคำสั่งต่อไปนี้ alias emacs 'emacs -nw' ฉันได้รับข้อผิดพลาดต่อไปนี้: bash: alias: emacs: not found bash: alias: emacs -nw: not found และเมื่อฉันออกalias emacs="emacs -nw"มันทำงานได้ดี! นี้จะทำให้เกิดความสับสนตั้งแต่ผมทำงานแต่คำสั่งจะถูกตีความโดยtcshbash อะไรคือเหตุผล?
39 bash  tcsh 

3
วิธีการ SSH ในไดเรกทอรีเฉพาะหรือไม่
ฉันลงชื่อเข้าใช้เซิร์ฟเวอร์บ่อยครั้งจากนั้นใส่ซีดีในไดเรกทอรีเฉพาะ เป็นไปได้หรือไม่ที่จะทำให้คำสั่งทั้งสองนี้เป็นหนึ่งเดียวได้ง่ายขึ้น? ssh bob@foo cd /home/guest ฉันต้องการหลีกเลี่ยงการเปลี่ยนแปลงอะไรใน 'foo' ถ้าเป็นไปได้เพราะฉันจะต้องล้างมันด้วยผู้ดูแลเซิร์ฟเวอร์ ฉันใช้ทุบตี แต่ฉันเปิดให้คำตอบในกระสุนอื่น ๆ
39 bash  ssh 


4
เหตุใดคำสั่ง `cd` จึงไม่ทำงานผ่าน SSH
ฉันพยายามสำรองไฟล์บางไฟล์ผ่าน SSH แต่แทนที่จะเอาไฟล์tarที่ฉันต้องการฉันมีโฟลเดอร์บ้านของฉัน ฉันทำการทดสอบเพิ่มเติมและมันก็ลดลงไปถึงสิ่งนี้: ssh root@server /bin/sh -c "cd /boot && ls -l" ซึ่งไปยังไฟล์รายการแปลกใจของฉันในไม่ได้/root /bootแต่ถ้าฉันรัน/bin/shคำสั่งทั้งหมดจากเทอร์มินัลมันจะทำการcds และพิมพ์/bootไฟล์ เกิดอะไรขึ้นที่นี่
39 shell  ssh  cd-command 

4
จะรับรุ่น GNOME ได้อย่างไร?
มีวิธีใช้อย่างเป็นทางการเพื่อรับรุ่น GNOMEตราบใดที่ฉันมีเดสก์ท็อป GNOME ที่ใช้งานได้ (ทุกรุ่น) กำลังใช้งานอยู่ คำแนะนำเหล่านี้หลายข้อใช้ไม่ได้กับระบบของฉันไม่ว่าจะเป็นเพราะไฟล์ปฏิบัติการและ / หรือแพ็คเกจไม่อยู่หรือไม่มีรายการเมนู
39 gnome 


4
/ dev / tcp ฟังแทนฟัง nc
ด้วยผู้ฟัง netcat เช่น: nc -l <port> < ~/.bashrc ฉันสามารถคว้า. bashrc ของฉันบนเครื่องใหม่ (ไม่มีncหรือ LDAP) ด้วย: cat < /dev/tcp/<ip>/<port> > ~/.bashrc คำถามของฉันคือ: มีวิธีที่จะเลียนแบบความสามารถของnc -l <port>ในบรรทัดแรกของฉันด้วย / dev / tcp แทนที่จะเป็นnc? เครื่องที่ฉันทำงานอยู่นั้นมีสภาพแวดล้อมของห้องแล็บ / แซนด์บ็อกซ์ที่แข็งมาก RHEL (ไม่มี ssh, no nc, ไม่มี LDAP, yum, ฉันไม่สามารถติดตั้งซอฟต์แวร์ใหม่และพวกเขาไม่ได้เชื่อมต่อกับอินเทอร์เน็ต)

3
พิมพ์ขนาดของเนื้อหาไดเรกทอรีด้วยคำสั่ง tree ใน tree 1.5?
ฉันชอบtreeมันเป็นวิธีที่ดีในการแสดงไฟล์ของฉันและขนาดของโฟลเดอร์ / ไดเรกทอรี แต่ตัวเลือก -h แสดงเฉพาะขนาดของไดเรกทอรีไม่ใช่ขนาดสะสมของเนื้อหา /media/ ├── [ 16K] 64D9-E862 │ ├── [8.0K] downloads ฉันรู้ความจริงที่ว่าไดรฟ์ภายนอกของฉันมีมากกว่านั้นที่ 16kB ฉันจะแก้ไขด้วยต้นไม้ 1.5 ได้อย่างไร ดีกว่า แต่ฉันจะอัปเกรดเป็น 1.6 ได้อย่างไร
39 disk-usage  tree 

3
คำสั่งมาตรฐานใดที่มีอยู่ในการแจกจ่ายบน Linux ทุกครั้ง
ฉันต้องการที่จะรู้ว่าคำสั่งมาตรฐานที่มีอยู่ในทุกระบบ Linux ตัวอย่างเช่นถ้าคุณได้รับ debian / ubuntu / redhat / suse / arch / slackware เป็นต้นคุณจะพบคำสั่งที่นั่นเสมอ: cd, mkdir, ls, echo, grep, sed, awk, ping เป็นต้น ฉันรู้ว่าคำสั่งที่กล่าวถึงบางคำเป็น shell-builtin แต่คำสั่งอื่น ๆ ไม่ได้ แต่พวกเขายังคงอยู่ที่นั่นเสมอ (ตามความรู้และประสบการณ์ของฉัน) ในทางกลับกันคำสั่งเช่น gawk, แยก, traceroute และคำสั่งที่โด่งดังอื่น ๆ จะไม่ถูกติดตั้งโดยค่าเริ่มต้นในการแจกแจงลินุกซ์ที่แตกต่างกัน ฉันค้นหาเว็บต่าง ๆ แต่ฉันไม่พบคำตอบตรงๆ จุดประสงค์คือฉันต้องการสร้างเชลล์สคริปต์และควรทำการตรวจสอบสติบางอย่างหากคำสั่งที่ใช้ในสคริปต์นั้นมีอยู่ในระบบ หากไม่เป็นเช่นนั้นควรแจ้งให้ผู้ใช้ติดตั้งไบนารีที่จำเป็น

4
วิธีการเปลี่ยนชื่อเซสชันหน้าจอ gnu
ฉันใช้เซสชั่นหน้าจอและฉันต้องการเปลี่ยนชื่อ ฉันรู้ว่าเมื่อเริ่มเซสชันหน้าจอใหม่ฉันสามารถใช้ตัวเลือก '-S' เพื่อตั้งชื่อ ฉันจะเปลี่ยนชื่อเมื่อเซสชันเริ่มต้นแล้วได้อย่างไร
39 gnu-screen 

7
ทำไมตัวแปร PATH แตกต่างกันเมื่อทำงานผ่าน sudo และ su
ใน fedora VM ของฉันเมื่อทำงานกับบัญชีผู้ใช้ของฉันฉันมี/usr/local/binในเส้นทางของฉัน: [justin@justin-fedora12 ~]$ env | grep PATH PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/justin/bin และเช่นเดียวกันเมื่อทำงานsu: [justin@justin-fedora12 ~]$ su - Password: [root@justin-fedora12 justin]# env | grep PATH PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/justin/bin อย่างไรก็ตามเมื่อเรียกใช้ผ่านsudoไดเรกทอรีนี้ไม่ได้อยู่ในเส้นทาง: [root@justin-fedora12 justin]# exit [justin@justin-fedora12 ~]$ sudo bash [root@justin-fedora12 ~]# env | grep PATH PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/sbin:/bin:/usr/sbin:/usr/bin ทำไมเส้นทางที่จะแตกต่างกันเมื่อใช้ผ่านsudo?

5
วิธีลบข้อความต้อนรับ“ คุณมีจดหมาย”
เมื่อฉันเปิด terminal ของฉันมันบอกว่า "คุณมีอีเมล" ทุกคนมีความคิดว่าทำไม? ฉันใช้ OS X แต่เนื่องจากมันใช้ Unix และอาศัยไฟล์เช่น bashrc, bash_profile เป็นต้นฉันคิดว่ามีคนที่นี่อาจรู้จักและฉันไม่แน่ใจว่ามันเป็นปัญหาเฉพาะของแพลตฟอร์ม!
39 bash  terminal  login  email 


3
ผูกโปรแกรม unix เข้ากับอินเตอร์เฟสเครือข่ายเฉพาะ
คำถาม: ฉันจะเปิดโปรแกรมในขณะที่มั่นใจได้ว่าการเข้าถึงเครือข่ายนั้นจะถูกผูกไว้ผ่านอินเตอร์เฟซเครือข่ายเฉพาะ? กรณี: ฉันต้องการเข้าถึงสองเครื่องที่แตกต่างด้วย IP เดียวกัน (192.168.1.1) แต่สามารถเข้าถึงได้ผ่านเครือข่ายอินเทอร์เฟซที่แตกต่างกันสองตัว (eth1 และ eth2) ตัวอย่าง: net-bind -D eth1 -exec {Program 192.168.1.1} net-bind -D eth2 -exec {Program 192.168.1.1} ข้างต้นเป็นประมาณของสิ่งที่ฉันต้องการแรงบันดาลใจจากฮาร์ดแวร์ผูกพันทำผ่านprimusrunและoptirun ถาม:ตามที่แนะนำในเธรดที่เกี่ยวข้องอินเทอร์เฟซที่ใช้ไม่ได้ถูกเลือกโดยโปรแกรม แต่เป็นการใช้โดยเคอร์เนล ฉันพบวิธีแก้ไขปัญหาที่เกี่ยวข้องซึ่งไม่น่าพอใจ พวกเขาจะขึ้นอยู่กับการเชื่อมต่อเครือข่ายที่มีผลผูกพันผ่านบัญชีดำเครือข่ายเฉพาะผู้ใช้; นั่นคือการเรียกใช้กระบวนการในฐานะผู้ใช้ที่สามารถเข้าถึงเครือข่ายอินเทอร์เฟซที่เฉพาะเจาะจงเท่านั้น

3
ข้าม 6 บรรทัด / แถวแรกในไฟล์ข้อความด้วย awk
ฉันจะข้าม 6 บรรทัด / แถวแรกในไฟล์ข้อความ (input.txt) และประมวลผลส่วนที่เหลือด้วย awk ได้อย่างไร รูปแบบของสคริปต์ awk ของฉัน (program.awk) คือ: BEGIN { } { process here } END { } ไฟล์ข้อความของฉันเป็นดังนี้: 0 3 5 0.1 4.3 2.0 1.5 1.5 3.0 0.3 3.3 1.5 2.1 . . . ฉันต้องการประมวลผลไฟล์เริ่มต้นจาก: 0.3 3.3 1.5 2.1 . . .
39 awk  gawk 

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