อยู่ห่างจาก linux เป็นเวลา 10 ปี ฉันพลาดคำสั่งใด? [ปิด]


10

ฉันอยู่ห่างจาก linux มาหลายปีแล้ว แต่ตอนนี้ฉันกลับมาที่ Ubuntu 10.04 อีกครั้ง ฉันเคยใช้ Gentoo ในปี 2000 และรู้คำสั่งของฉัน แต่ตอนนี้โลกของ linux ก้าวหน้าไปอีกเล็กน้อยมีคำสั่งใหม่ ๆ ให้เรียนรู้หรือไม่?

คุณรู้หรือไม่ว่ารายการคำสั่งเชลล์ลินุกซ์ที่ใช้กันอย่างแพร่หลายในตอนนี้และไม่ได้มีอยู่เมื่อ 10 ปีก่อน?

ถูกระบุแล้ว: ngrep, sshfs, pv


1
แค่อยากรู้อยากเห็นทำไม 10 ปีจาก Linux? :)
takeshin

มันเริ่มจาก. NET / C # แล้วก็ผ่านไปหลายปี ฉันใช้ Win XP อยู่ตลอดเวลา
กรัม

คำตอบ:


5

ฉันไม่รู้ว่าคุณใช้อะไรในปี 2000 ลองหาสิ่งใหม่จาก meme ประวัติ ของฉันด้านล่าง ฉันคาดว่าคำสั่งใช้เพื่อติดตามหางยาว พื้นฐานไม่ได้เปลี่ยน แต่มีอะไรให้เลือกมากมาย

history |awk '{print $2}' |sort |uniq -c |sort -rnk1,1 |head -n 20 |vipe
    219 ls
    100 git
     92 cd
     91 sudo
     66 <custom>
     64 aptitude
     60 locate
     54 grep
     52 less
     48 mplayer
     45 vim
     43 find
     36 cat
     31 <ssh alias>
     26 <ssh alias>
     24 dpkg
     23 file
     23 df
     21 <pgrep alias>
     20 man

2
คุณใช้คอมไพล์บ่อยกว่า cd มันเจ๋งมาก
ลุดวิก Weinzierl

พยายามทำสิ่งนี้บนแล็ปท็อปของฉัน sudo, cd, vim, startx และ openttd ... ถึงแม้ว่า vipe คืออะไร ต้องออกไปเล็กน้อยเพราะมันไม่ได้อยู่ในระบบของฉัน
Macha

@Macha vipe มาจากแพ็คเกจ moreutils แล้วแทรกโปรแกรมแก้ไขเข้าไปในท่อ ตกลงที่จะไม่สนใจส่วนนั้น
Tobu

@ Ludwig ดูเหมือนว่าฉันจะใช้hgบ่อยกว่าสิ่งอื่นใดมันมี 5x มากกว่าคำสั่งถัดไป ( hg: 244,: cd48) ฉันแปลกใจจริง ๆ ที่cdได้ทำตามที่ฉันพยายามใช้pushd/ popdมากที่สุดเท่าที่จะทำได้
roguesys

สำหรับฉันแล้วscreenwindows หลาย ๆ ตัวช่วยลดความจำเป็นในการ cd และคอมไพล์เป็นระเบิดดา
Tobu

8

จริงๆแล้วคุณอาจไม่ได้พลาดมาก หนังสืออ้างอิง UNIX ที่เป็นที่นิยมซึ่งเขียนขึ้นในยุค 70 (หรือมากกว่านั้น) ยังคงเป็นที่นิยมและยังคงมีประโยชน์ - คำสั่งพื้นฐานไม่ได้เปลี่ยนไปจริงๆ

สิ่งใหม่ที่นึกถึงได้ทันทีคือผู้จัดการแพ็คเกจ คุณอาจจำเป็นต้องคุ้นเคยกับไวยากรณ์aptitudeและapt-getอื่น ๆ หากคุณไม่ใช้ส่วนหน้าแบบกราฟิก นอกจากนี้ยังมีการควบคุมเวอร์ชันเช่นsvnและgitใหม่และได้รับความนิยมหากคุณอยู่ในประเภทนั้น แต่พวกเขาไม่ได้เป็นคำสั่ง UNIX หลักอย่างแน่นอน


1
ใช่ฉันใช้ svn มาระยะหนึ่งแล้ว แต่ต้องเริ่มต้นด้วย git เพราะ 80% ของเครื่องมือทั้งหมดที่ฉันสนใจนั้นถูกโฮสต์ไว้บน gitHub package.el in emacs ก็มีประโยชน์เช่น zshkit และ emacs-starter-kit
กรัม

คุณหมายถึงmercurialและgit? อินเทอร์เน็ตไม่เห็นด้วยกับ SVN หรือไม่?
roguesys

@alexandru: ไม่และไม่ยัง แม้ว่าฉันเดาว่าฉันไม่ควรพูดว่า "ใหม่และร้อนแรง" - นั่นไม่ได้ใช้svnจริง แต่ก็ยังคงได้รับความนิยมในหมู่ผู้ที่ไม่ได้ใช้เทคโนโลยีใหม่ล่าสุด (ซึ่งเป็นผู้คนจำนวนมากโดยเฉพาะใน ทางธุรกิจ) ตัวอย่างเช่นมี[svn]คำถามเพิ่มเติมเกี่ยวกับ SO มากกว่า[git]คำถาม
David Z

5

ความแตกต่างที่ยิ่งใหญ่ตอนนี้เป็นตัวช่วยที่ครอบคลุมมากในการทุบตี ทำให้การใช้บรรทัดคำสั่งง่ายขึ้นมาก


1
ใช่ฉันสังเกตเห็นว่า แต่สายเกินไป เปลี่ยนเป็น zsh แล้วเนื่องจากความสำเร็จ :)
กรัม

5

คุณจะไม่พบความแตกต่างมากนัก ตัวเลือกไม่กี่ที่นี่และที่นั่น ส่วนใหญ่โดยเฉพาะในระบบเช่น Ubuntu คุณจะพบว่าสิ่งใหม่ส่วนใหญ่คือ GUI

ที่เกี่ยวข้องกับคำสั่งใหม่ถ้าคุณเป็นแฟนตัวยงของหน้าจอใหญ่อย่างฉันคุณอาจชื่นชมtmuxหรือbyobuใหม่

ฉันต้องย้อนกลับไปและตรวจสอบวันที่วางจำหน่ายของสิ่งต่าง ๆ มากมาย ... ดูเหมือนว่า wget (1996), curl (1997) และ iptables (1998) ทั้งหมดออกมาไม่กี่ปีก่อนปี 2000 ดังนั้นพวกเขาอาจจะไม่ ใหม่สำหรับคุณ


5

pv - แถบความคืบหน้าสำหรับคำสั่งแบบยาว

pvอาจเป็นเรื่องใหม่สำหรับคุณ มันมีแถบความคืบหน้าสำหรับโปรแกรมใด ๆ ที่สามารถรับอินพุตจากไปป์

เพื่อติดตั้ง (Ubuntu)

apt-get install pv

ตัวอย่าง

แสดงความคืบหน้าเมื่อคุณคำนวณการตรวจสอบสำหรับไฟล์ขนาดใหญ่:

pv large_file | sha1sum

2

ls, cp, dmesg, แมว, grep และอื่น ๆ บางสิ่งที่ไม่ควรเปลี่ยนสำหรับทุกเพศทุกวัย :) ดังนั้นในคำสั่งพื้นฐานคุณจะไม่พลาดอะไรเลย


1
การเปลี่ยนแปลงเดียวที่ฉันสนุกกับมันคือ grep -r โดยตรงแทนที่จะรวมเข้ากับการค้นหา
กรัม

2

การเปลี่ยนแปลงหลักเท่านั้น (นอกเหนือจากเดสก์ท็อปที่แทนที่ X11) อาจเป็นที่เก็บ

ดังนั้นไวยากรณ์' apt-get ' บน Ubuntu (และ rpm ที่คล้ายกันใน Redhat)


ไม่มีอะไรในวันนี้ที่สนุกกว่า gentoo ย้อนกลับไปในปี 2000 (IMHO) ดียกเว้น Sabayon แต่ยังไม่มีเวลาเล่นเลย
grm

1

ไม่ใช่คำสั่งใหม่ แต่ใช้บ่อยกว่านี้:

ssh และ sftp

พวกเขาอนุญาตสำหรับการสื่อสารที่เข้ารหัส


1

ประมาณ 9-10 ปีก่อนฉันค่อนข้างมั่นใจ

pv ไม่ใช่คำสั่งมันเป็นแอพ CLI คุณต้องติดตั้งแพคเกจเพื่อให้สามารถใช้งานได้

sshfs ไม่ใช่คำสั่งมันเป็นชื่อสามัญสำหรับระบบไฟล์เครือข่าย

คุณอ้างว่าเป็นผู้ใช้ที่สุภาพ แต่คำถามของคุณจะระบุในลักษณะ "ส่งรหัสฉัน" ดูเหมือนว่ามีคนถามว่าคิดว่าการรู้ชื่อคำสั่งคือกระสุนเงิน ไม่การใช้สมองของคุณคือกระสุนเงิน

ฉันขอแนะนำให้คุณอ่าน (อีกครั้งแม้ว่าคุณเคยทำมาแล้ว) วิธีถามคำถามวิธีที่ฉลาดเพราะฉันคิดว่าคำถามของคุณไม่ตรงตามมาตรฐานเหล่านั้น

ถ้าฉันจะต้องเปรียบเทียบ Linux วันนี้กับ Linux 10 ปีที่แล้วฉันจะเน้นความแตกต่างที่สำคัญต่อไปนี้:

  • ขณะนี้การเข้าถึงอินเทอร์เน็ตได้แพร่หลายแม้ในบางประเทศที่ไม่ค่อยพัฒนา นี่คือดาบคู่ขอบ: ปริมาณของคนมีสติและเทคโนโลยีที่เพียงพอได้เพิ่มขึ้นอย่างมาก แต่เปอร์เซ็นต์ของพวกเขาในผู้ใช้อินเทอร์เน็ตทั้งหมดลดลง หากคุณเรียนรู้ที่จะหลีกเลี่ยงคนที่ไม่แบ่งปันความสนใจของคุณและติดต่อกับคนที่มีความสนใจร่วมกันกับคุณคุณจะได้เรียนรู้มากมายจากพวกเขา แม้แต่เว็บไซต์ StackOverflow / ServerFault / SuperUser ก็แสดงให้เห็นอย่างสมบูรณ์แบบ

  • ผู้คนจำนวนมากกำลังเขียนซอฟต์แวร์ฟรี ถ้า 10 ปีที่แล้ว Sourceforge และ freshmeat มีเอกลักษณ์และ SVN เป็นราชาแห่งการควบคุมเวอร์ชันวันนี้เรามี github, launchpad และ bitbucket เรามีเครื่องมือควบคุมเวอร์ชันแบบกระจายจำนวนมากเรามีชุมชนจำนวนมากที่พัฒนาซอฟต์แวร์หรือเพียงแค่แลกเปลี่ยนความรู้ . วันนี้ถ้าคุณต้องการซอฟต์แวร์ฟรีสำหรับงานเฉพาะอย่างใดอย่างหนึ่งและคุณมีความมุ่งมั่นมากพอมีโอกาสสูงที่คุณจะได้พบกับบางสิ่งที่เหมาะกับคุณอย่างสมบูรณ์แบบ หรือสิ่งที่เหมาะกับคุณ "เกือบจะสมบูรณ์แบบ" และคุณจะสิ้นสุดการมีส่วนร่วมและมอบคืนให้กับชุมชน

แก้ไขแล้วเพื่อรวมคำตอบสำหรับคำถามของคุณจากความคิดเห็น:

ฉันสงสัยว่าโดยเฉพาะอย่างยิ่งที่คุณไม่ชอบคำถามนี้และฉันจะปรับปรุงได้อย่างไร

ฉันไม่ชอบคำถามแรกของคุณที่กว้างเกินไป

โดยปกติแล้วคุณพยายามทำภารกิจเฉพาะให้สำเร็จคุณพยายามบรรลุเป้าหมายที่พิเศษมาก คุณลองใช้วิธีหนึ่งคุณลองอีกวิธีหนึ่งไปที่การตรวจสอบหน้าคู่มือบางหน้าและยังล้มเหลว นี่คือช่วงเวลาที่คุณไปขอความช่วยเหลือและคำแนะนำ คุณอธิบายเวิร์กโฟลว์ผลลัพธ์ที่คาดหวังและสิ่งที่คุณได้รับจริง อย่าละอายที่จะยอมรับว่าคุณลองทำอะไรผิดพลาด โดยทั่วไปแล้วคนดีและเป็นประโยชน์ส่วนใหญ่จะไม่ใช้นิ้วชี้และหยอกล้อคุณส่วนใหญ่จะไม่ลงคะแนนให้คุณเมื่อล้มเหลว บางส่วนของพวกเขาจะเตือนคุณเกี่ยวกับคำถามที่ระบุไว้ไม่ดียอมรับความเสี่ยงที่จะถูกลงคะแนนให้ตัวเองสำหรับคนอวดรู้ :-)

การระบุเวิร์กโฟลว์ของคุณมีประโยชน์ด้วยเหตุผลสองประการ:

  • ผู้อ่านคำถามของคุณจะต้องทำให้สมมติฐานน้อยลงเพราะพวกเขาจะรู้แล้วว่าคุณลอง X, Y, Z แล้วและมันไม่ได้ผล
  • วิธีที่คุณระบุคำถามของคุณอนุญาตให้ผู้อื่นประเมินระดับความรู้ของคุณและให้คำตอบที่ง่ายสำหรับคุณที่จะเข้าใจ

นี่คือสถานการณ์สองสามข้อ:

  • คุณต้องใช้ดมกลิ่นเพื่อแก้ปัญหาเครือข่าย คุณลอง tcpdump (ซึ่ง btw เป็นมาตรฐานเมื่อ 10 ปีที่แล้วและทุกวันนี้มีการแชร์หัวเรื่องกับ wireshark) คุณพบว่าเอาต์พุตของมันเป็นความลับเกินไปค่าเริ่มต้นของตัวเลือกที่ไม่เป็นมิตรกับผู้ใช้ มีคนแนะนำคุณให้คุณเรียกใช้คุณจะเห็นว่ามันให้ผลลัพธ์ที่เป็นมิตรกับผู้ใช้มากขึ้นโดยปริยายและคุณเรียนรู้สิ่งใหม่
  • คุณทำ cp -a เพื่อคัดลอกไดเร็กตอรี่ขนาดใหญ่, คุณต้องการเห็นความคืบหน้าและคุณต้องติดกับบรรทัดคำสั่ง, แม้ไม่มีผู้บัญชาการเที่ยงคืน คุณอ่าน manpage สำหรับ cp และคุณไม่พบตัวเลือกที่เหมาะสม มีใครบางคนบอกคุณเกี่ยวกับ pv
  • คุณไม่มีความสุขกับ ftp เพราะมันถ่ายโอนข้อมูลโดยไม่ต้องเข้ารหัสคุณยังต้องการแก้ไขไฟล์ "จากระยะไกล" บางคนบอกคุณเกี่ยวกับ sshfs ซึ่ง "แม็พ" รีโมตไดเร็กทอรีไปยังระบบไฟล์โลคัลของคุณผ่านการเชื่อมต่อที่เข้ารหัส

ดูนี่คือ ngrep, pv และ sshfs ของคุณ คำถามทั่วไปของคุณกับสถานการณ์ของฉันแตกต่างกันหรือไม่? ใช่แน่นอน ฉันจะพยายามอธิบายว่าทำไม ดังนั้นคุณขอให้ผู้คนบอกคุณเกี่ยวกับคำสั่งเด็ด ๆ คุณได้ 3 คำตอบ สักวันคุณอาจต้องใช้นักดมกลิ่น และคุณอาจจะจำคำถามนี้และจะใช้ ngrep ถ้าคุณได้รับคำตอบ 1,000 คำแนะนำคำสั่งใหม่ 1,000 คำตอบ คุณไม่คิดหรือว่าส่วนใหญ่ของพวกเขาจะผ่านความทรงจำของคุณในช่วงเวลาสั้น ๆ จากนั้นคุณจะลืมมันไปเหรอ? นั่นจะเกิดขึ้นอย่างแน่นอนเพราะเมื่อคุณได้รับความรู้ใหม่คุณจะต้องฝึกใช้มันเพื่อรับประสบการณ์ คำถามแรกของคุณทำให้ฉันนึกถึงสถานการณ์เมื่อเด็กพยายามเรียนรู้ศิลปะการต่อสู้โดยดูที่ภาพในหนังสือ :-)


2
ขอบคุณสำหรับความคิดเห็นและคำแนะนำของคุณ อย่างที่ฉันเขียนฉันไม่ได้อยู่พักหนึ่งและสนใจที่จะหยิบสิ่งใหม่และสับสนกับคำถามนี้ ฉันสงสัยว่าโดยเฉพาะอย่างยิ่งคุณไม่ชอบคำถามนี้และฉันจะปรับปรุงได้อย่างไร เมื่อพูดถึง ngrep นั่นเป็นคำสั่งใหม่สำหรับฉัน ฉันเคยทำงานกับ tcpdump แต่ในกรณีส่วนใหญ่ฉันพบว่าการเพิ่ม ngrep สะดวกกว่ามาก
กรัม


0

นั่นเป็นคำถามที่ดีที่ไม่มีคำตอบที่ดี ตามที่ zaynyatyi ตั้งข้อสังเกตเพื่อนเก่ายังคงอยู่ที่นั่น สิ่งที่น่าประทับใจและน่ากลัวที่สุดคือจำนวนของสิ่งอำนวยความสะดวกที่สร้างขึ้นบนโครงสร้างพื้นฐาน ตัวอย่างเช่น X windows ยังคงเหมือนเดิมและxeyesทำงานเหมือนที่เคยทำ แต่แล้วก็มี Gnome และ DBUS และ Metcity และ GTK และลำดับการบู๊ตแบบฮ็อด - พอดจ์ซึ่งทำให้ SVR4 rc?.dดูเกือบจะเป็นเหตุผล

สิ่งที่มีประโยชน์มากที่สุดที่เป็นใหม่ของฉัน - ที่ตัดฟันของฉันใน V7 / BSD4.1 - locate(1)คือ


0

หนึ่งที่ฉันไม่ได้ตระหนักถึงเรื่องเล็กน้อยless- ชื่อตลกที่เป็น "less is more" moreยังคงมี แต่lessดีกว่า ฉันคิดว่ามันค่อนข้างยุติธรรมมานานกว่า 10 ปี แต่มันก็ไม่ได้อยู่ที่นั่น (ฉันคิดว่า) เมื่อฉันอยู่ที่วิทยาลัยในช่วงต้นยุค 90 นั่นหรือบางทีฉันก็ลืม

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