Đã xa linux được 10 năm. Những lệnh nào tôi đã bỏ lỡ? [đóng cửa]


10

Tôi đã rời khỏi linux được một vài năm, nhưng bây giờ tôi lại quay trở lại với Ubuntu 10.04. Tôi đã từng chạy Gentoo vào năm 2000 và biết các lệnh của mình, nhưng bây giờ thế giới linux đã tiến xa hơn một chút, không có nhiều lệnh mới để học?

Bạn có biết một danh sách các lệnh shell linux hiện đang được sử dụng rộng rãi và đã không tồn tại 10 năm trước không?

Xác định cho đến nay: ngrep, sshfs, pv


1
Chỉ tò mò, tại sao 10 năm xa Linux? :)
takeshin

Vâng, nó bắt đầu với .NET / C # và sau đó nhiều năm trôi qua. Tôi đã sử dụng Win XP mọi lúc.
grm

Câu trả lời:


5

Tôi không biết những gì bạn đã sử dụng vào năm 2000. Tìm hiểu những cái mới từ một meme lịch sử; Của tôi dưới đây. Tôi hy vọng sử dụng lệnh để theo một đuôi dài. Những điều cơ bản không thay đổi, nhưng còn nhiều thứ để lựa chọn.

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
Bạn sử dụng git thường xuyên hơn sau đó cd. Đó là loại mát mẻ.
Ludwig Weinzierl

Đã thử điều này trên máy tính xách tay của tôi. sudo, cd, vim, startx và openttd ... Mặc dù thế nào là vipe? Phải loại bỏ bit đó vì nó không có trong hệ thống của tôi.
Macha

@Macha vipe là từ gói moreutils, chèn một trình soạn thảo vào đường ống dẫn. Bạn có thể bỏ qua phần đó.
Tobu

@Ludwig Có vẻ như tôi sử dụng hgthường xuyên hơn bất kỳ thứ gì khác, nó có 5x so với lệnh tiếp theo ( hg: 244 , cd: 48). Tôi thực sự ngạc nhiên cdngay cả khi tôi đã cố gắng sử dụng pushd/ popdnhiều nhất có thể.
roguesys

Đối với tôi, nhiều screencửa sổ làm giảm nhu cầu cd. Và git là da bom.
Tobu

8

Thật ra, có lẽ bạn đã không bỏ lỡ nhiều. Các sách tham khảo UNIX phổ biến được viết lại từ những năm 70 (hoặc hơn) vẫn còn phổ biến và vẫn hữu ích - các lệnh cơ bản chưa thực sự thay đổi.

Điều mới duy nhất nảy ra trong đầu ngay lập tức là người quản lý gói; bạn có thể cần phải làm quen với cú pháp aptitudeapt-getvv, nếu bạn không sử dụng các tiêu đề đồ họa của chúng. Ngoài ra còn có điều khiển phiên bản, ví dụ svngitlà người mới và phổ biến, nếu bạn đang ở trong đó đại loại như vậy. Nhưng chúng không chính xác là các lệnh UNIX cốt lõi.


1
Vâng, tôi đã sử dụng svn một thời gian, nhưng phải bắt đầu với git vì 80% tất cả các công cụ tôi quan tâm được lưu trữ trên github. Ngoài ra gói.el trong emacs có ích và những thứ như zshkit và emacs-starter-kit.
grm

Ý của bạn là mercurialgit? Internet không đồng ý SVN là loại ra sao?
roguesys

@alexandru: Không, và không, chưa. Mặc dù tôi đoán rằng tôi không nên nói "mới và nóng" - điều đó không svnđúng, nhưng nó vẫn khá phổ biến đối với những người không sớm chấp nhận các công nghệ mới nhất (rất nhiều người, đặc biệt là ở kinh doanh). Ví dụ, có nhiều [svn]câu hỏi về SO hơn [git]câu hỏi.
David Z

5

Một sự khác biệt lớn bây giờ là một trợ giúp rất toàn diện trong việc hoàn thành bash. Làm cho nó dễ dàng hơn nhiều để sử dụng dòng lệnh.


1
Phải, tôi nhận thấy điều đó, nhưng hơi muộn. Đã chuyển sang zsh vì hoàn thành. :)
grm

5

Bạn sẽ không tìm thấy nhiều khác biệt. Một vài lựa chọn ở đây và ở đó. Đối với hầu hết các phần, đặc biệt là trên các hệ thống như Ubuntu, bạn sẽ thấy rằng hầu hết các công cụ mới là GUI.

Liên quan đến các lệnh mới, nếu bạn là một người hâm mộ màn hình lớn như tôi, bạn có thể đánh giá cao tmux hoặc byobu mới .

Tôi đã phải quay lại và kiểm tra ngày phát hành của rất nhiều thứ ... Có vẻ như wget (1996), curl (1997), và iptables (1998) đã hết một vài năm trước năm 2000, vì vậy những thứ đó có thể không mới cho bạn


5

pv - Thanh tiến trình cho các lệnh dài

pvcó lẽ là mới đối với bạn Nó cung cấp một thanh tiến trình cho bất kỳ chương trình nào có thể chấp nhận đầu vào từ một đường ống.

Để cài đặt (Ubuntu)

cài đặt apt-get

Thí dụ

Hiển thị tiến trình khi bạn tính toán tổng kiểm tra cho một tệp lớn:

pv lớn_file | sha1sum

2

ls, cp, dmesg, cat, grep, v.v.


1
Một thay đổi mà tôi thực sự thích là grep -r trực tiếp thay vì kết hợp nó với find.
grm

2

Chỉ thay đổi chính (ngoài máy tính để bàn thay thế X11 thô) có thể là kho lưu trữ.

Vì vậy, cú pháp ' apt-get ' trên Ubuntu (và vòng quay tương tự trên Redhat)


Hôm nay không có gì vui hơn gentoo năm 2000 (IMHO), ngoại trừ Sabayon, nhưng vẫn chưa có thời gian để chơi với nó.
grm

1

Không phải là một lệnh mới nhưng được sử dụng thường xuyên hơn nhiều trong những ngày này:

ssh và sftp

Chúng cho phép giao tiếp được mã hóa.


1

ngrep là khoảng ~ 9-10 năm trước, tôi khá chắc chắn về điều đó

pv không phải là một lệnh, nó là một ứng dụng CLI. Bạn phải cài đặt một gói để có thể sử dụng nó.

sshfs không phải là một lệnh, nó là một tên chung cho một hệ thống tập tin mạng

Bạn tự nhận là người dùng gentoo, nhưng câu hỏi của bạn được nêu theo cách "gửi cho tôi codez". Có vẻ như nó được hỏi bởi ai đó nghĩ rằng biết tên lệnh là viên đạn bạc. Không, sử dụng bộ não của bạn là viên đạn bạc.

Tôi thực sự khuyên bạn nên đọc (một lần nữa, ngay cả khi bạn đã làm điều đó trước đây) Cách đặt câu hỏi theo cách thông minh , bởi vì tôi nghĩ rằng câu hỏi của bạn chắc chắn không đáp ứng các tiêu chuẩn đó.

Nếu tôi phải so sánh Linux ngày nay và Linux 10 năm trước, tôi sẽ nhấn mạnh những khác biệt chính sau:

  • truy cập internet hiện có sẵn rộng rãi, ngay cả ở một số nước không phát triển. Đây là một thanh kiếm hai lưỡi: số lượng người lành mạnh và đầy đủ công nghệ đã tăng lên rất nhiều, nhưng tỷ lệ phần trăm trong số họ trong số tất cả người dùng internet đã giảm. Nếu bạn học cách tránh những người không chia sẻ sở thích của bạn và gặp gỡ những người có chung sở thích với bạn, bạn sẽ học được nhiều điều từ họ. Ngay cả các trang web StackOverflow / ServerFault / SuperUser cũng minh họa điều này một cách hoàn hảo.

  • Nhiều người đang viết phần mềm miễn phí. Nếu 10 năm trước sourceforge và Freshmeat là duy nhất và SVN là vua kiểm soát phiên bản, thì ngày nay chúng ta có github, launchpad và bitbucket, chúng ta có rất nhiều công cụ kiểm soát phiên bản phân tán, chúng ta có một lượng lớn cộng đồng phát triển phần mềm hoặc đơn giản là trao đổi kiến ​​thức . Ngày nay, nếu bạn cần phần mềm miễn phí cho một nhiệm vụ cụ thể nào đó và bạn đủ kiên trì, có nhiều khả năng bạn sẽ tìm thấy thứ gì đó phù hợp với mình một cách hoàn hảo. Hoặc một cái gì đó phù hợp với bạn "gần như hoàn hảo" và bạn sẽ kết thúc đóng góp và trả lại cho cộng đồng.

Đã chỉnh sửa để bao gồm câu trả lời cho câu hỏi của bạn từ nhận xét:

Tôi tự hỏi những gì đặc biệt bạn không thích với câu hỏi này và làm thế nào tôi có thể cải thiện nó?

Tôi không thích rằng câu hỏi ban đầu của bạn quá chung chung.

Thông thường bạn cố gắng hoàn thành một nhiệm vụ cụ thể, bạn cố gắng đạt được một mục tiêu rất đặc biệt. Bạn thử nó theo một cách, bạn thử nó theo cách khác, bạn đi xem lại một số trang người đàn ông và vẫn thất bại. Đây là thời điểm khi bạn đi yêu cầu giúp đỡ và lời khuyên. Bạn mô tả quy trình làm việc của bạn, kết quả mong đợi và những gì bạn thực sự nhận được. Đừng xấu hổ khi thừa nhận rằng bạn đã thử một cái gì đó và thất bại. Mọi người thường rất tốt và hữu ích, hầu hết họ sẽ không chỉ tay và trêu chọc bạn, hầu hết họ sẽ không đánh giá cao bạn vì đã thất bại. Một số trong số họ thậm chí sẽ cảnh báo bạn về một câu hỏi chưa được nêu rõ, chấp nhận rủi ro để bị hạ thấp bản thân cho ngành sư phạm :-)

Nói rằng quy trình làm việc của bạn hữu ích vì một vài lý do:

  • người đọc câu hỏi của bạn phải đưa ra ít giả định hơn, vì họ sẽ biết bạn đã thử X, Y, Z và nó không hoạt động
  • cách bạn nêu câu hỏi của bạn cho phép người khác ước tính mức độ hiểu biết của bạn và cung cấp câu trả lời dễ hiểu cho bạn

Dưới đây là một vài tình huống:

  • bạn cần sử dụng trình thám thính để gỡ lỗi sự cố mạng. Bạn thử tcpdump (mà btw là tiêu chuẩn 10 năm trước và ngày nay chia sẻ tiêu đề với wireshark), bạn thấy đầu ra của nó quá khó hiểu, các giá trị mặc định của các tùy chọn không thân thiện với người dùng. Ai đó gợi ý cho bạn ngrep, bạn chạy nó, bạn thấy rằng nó cung cấp đầu ra thân thiện hơn với người dùng theo mặc định và bạn học được một điều mới.
  • bạn làm cp -a để sao chép một thư mục lớn, bạn muốn xem tiến trình và bạn cần bám sát dòng lệnh, thậm chí không có lệnh nửa đêm. Bạn đọc manpage cho cp và bạn không tìm thấy các tùy chọn thích hợp. Sau đó ai đó nói với bạn về pv.
  • bạn không hài lòng với ftp, vì nó chuyển dữ liệu mà không mã hóa nó, bạn cũng muốn chỉnh sửa các tệp "từ xa". Ai đó cho bạn biết về sshfs, "ánh xạ" một thư mục từ xa đến hệ thống tệp cục bộ của bạn qua một kết nối được mã hóa.

Hãy xem, đây là ngrep, pv và sshfs của bạn. Có sự khác biệt giữa câu hỏi chung của bạn và kịch bản của tôi không? Chắc chắn có. Tôi sẽ cố gắng giải thích tại sao. Vì vậy, bạn yêu cầu mọi người nói với bạn về các lệnh mát mẻ. Bạn đã có 3 câu trả lời. Một ngày nào đó bạn có thể cần phải sử dụng một sniffer. Và bạn có thể sẽ nhớ câu hỏi này và sẽ sử dụng ngrep. Điều gì nếu bạn nhận được 1000 câu trả lời gợi ý 1000 lệnh mới? Bạn không nghĩ rằng một phần lớn trong số họ sẽ lướt qua bộ nhớ của bạn trong một khoảng thời gian ngắn, sau đó bạn sẽ quên chúng? Điều đó chắc chắn sẽ xảy ra, bởi vì khi bạn có được kiến ​​thức mới, bạn cần thực hành áp dụng nó, để có kinh nghiệm. Thành thật mà nói, câu hỏi ban đầu của bạn nhắc nhở tôi tình huống khi một đứa trẻ cố gắng học võ thuật bằng cách nhìn vào hình ảnh trong một cuốn sách :-)


2
Cảm ơn ý kiến ​​và lời khuyên của bạn. Khi tôi viết, tôi đã đi xa một thời gian và quan tâm đến việc chọn một cái gì đó mới và bối rối với câu hỏi này. Tôi tự hỏi những gì đặc biệt bạn không thích với câu hỏi này và làm thế nào tôi có thể cải thiện nó? Khi nói đến ngrep, đó là một lệnh mới đối với tôi. Tôi đã từng làm việc với tcpdump, nhưng trong hầu hết các trường hợp, tôi thấy việc bổ sung ngrep thuận tiện hơn nhiều.
grm


0

Đó là một câu hỏi hay với một câu trả lời không hay. Như zaynyatyi đã lưu ý, những người bạn cũ vẫn còn đó. Điều ấn tượng và đáng ngại nhất là số lượng cơ sở vật chất đã được xây dựng trên cơ sở hạ tầng. Ví dụ, các cửa sổ X vẫn giống nhau và xeyeshoạt động giống như mọi khi. Nhưng sau đó có Gnome và DBUS và Metcity và GTK và một chuỗi khởi động hodge-podge khiến cho SVR4 rc?.dtrông gần như hợp lý.

Điều hữu ích nhất đối với tôi - người đã cắt răng trên V7 / BSD4.1 - là locate(1).


0

Một điều mà tôi đã không nhận ra một chút là less- tên đùa là "ít hơn là nhiều hơn". morevẫn còn đó, nhưng lesslà tốt hơn. Tuy nhiên, tôi nghĩ rằng nó đã tồn tại hơn 10 năm một cách công bằng - nó chỉ không ở đó (tôi nghĩ) khi tôi còn học đại học vào đầu những năm 90. Điều đó hoặc có lẽ tôi chỉ quên.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.