Saturday, 31 March 2012

[CCGU] Các câu lệnh để tìm hiểu câu lệnh

29-04-2012:update : apropos

Để dừng bạn thôi hỏi những câu như: ls, cd là cái gì, nó viết tắt của từ gì không thì bố ai mà nhớ được, nó đặt ở đâu... (bạn có 1 lợi thế cực lớn nếu biết Tiếng Anh, bởi các tên các chương trình thường là viết tắt của một hay vài từ tiếng anh nào đó)


 Hãy hỏi những gì muốn biết với cái terminal của bạn :

0. apropos - tìm kiếm công cụ
famihug@hvn:/home/famihug%whatis apropos                                   
apropos (1)          - search the manual page names and descriptions
Bạn cần thực hiện một công việc nào đó, có thể hệ điều hành bạn đang dùng có thể giúp nhưng bạn không biết tool mình cần tên là gì - apropos sẽ làm việc đó.
apropos tìm kiếm trong các trang hướng dẫn hay đoạn mô tả phần mềm từ khóa bạn yêu cầu. Ví dụ muốn tìm công cụ liên quan đến network:
famihug@hvn:/home/famihug%apropos network                                  
interfaces (5)       - network interface configuration for ifup and ifdown
aseqnet (1)          - ALSA sequencer connectors over network
avahi-autoipd (8)    - IPv4LL network address configuration daemon
byteorder (3)        - convert values between host and network byte order
ctstat (8)           - unified linux network statistics
dhclient-script (8)  - DHCP client network configuration script
endhostent (3)       - get network host entry
...



 Tìm text editor:
famihug@hvn:/home/famihug%apropos "text editor"                                                                                                                     ed (1)               - text editor
gedit (1)            - text editor for the GNOME Desktop
gvim (1)             - Vi IMproved, a programmers text editor
kate (1)             - Advanced text editor for KDE
vim (1)              - Vi IMproved, a programmers text editor

 1. whatis: (nó là cái j ? :D )

hvnsweeting@hvnbox:~$ whatis git
git (1)              - the stupid content tracker

kết quả chính là 1 dòng mô tả vắn tắt xem "nó" là cái gì?
hỏi tiếp nè >:)
hvnsweeting@hvnbox:~$ whatis nautilus
nautilus (1)         - the GNOME File Manager
hvnsweeting@hvnbox:~$ whatis nano
nano (1)             - Nano's ANOther editor, an enhanced free Pico clone
hvnsweeting@hvnbox:~$ whatis vim
vim (1)              - Vi IMproved, a programmers text editor
hvnsweeting@hvnbox:~$ whatis awesome
awesome (1)          - awesome window manager
tất nhiên ko phải câu nào cũng hỏi được :D, chỉ những phần mềm bạn đã cài vào máy thì "nó" mới trả lời được câu hỏi này. Nếu từng ấy thông tin mà whatis trả về chưa đủ với bạn. man it :D (manual) - và bạn nhận ra, thông tin whatis trả về chính là dòng đầu tiên trong manual tương ứng.
hvnsweeting@hvnbox:~$ man vim
...


câu hỏi cuối cùng >:)
hvnsweeting@hvnbox:~$ whatis whatis
whatis (1)           - display manual page descriptions

2. whereis (đâu mất rồi )
 hvnsweeting@hvnbox:~$ whatis whereis
whereis (1)          - locate the binary, source, and manual page files for a command
như whatis trả lời: whereis định vị file binary (file chạy), nguồn và file hướng dẫn  của 1 lệnh

hvnsweeting@hvnbox:~$ whereis git
git: /usr/bin/git /usr/share/man/man1/git.1.gz
hvnsweeting@hvnbox:~$ whereis vim
vim: /usr/bin/vim.tiny /usr/bin/vim.basic /usr/bin/vim /etc/vim /usr/local/bin/vim /usr/share/vim /usr/share/man/man1/vim.1.gz
hvnsweeting@hvnbox:~$ whereis nano
nano: /bin/nano /usr/bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz

3. which - định vị file chạy của 1 lệnh
 tức là khi bạn gõ 1 lệnh vào thì terminal sẽ chạy chương trình ở đường dẫn mà which trả về.
hvnsweeting@hvnbox:~$ whatis which
which (1)            - locate a command
hvnsweeting@hvnbox:~$ which vim
/usr/local/bin/vim

4. whois (mày là thằng nào :)) - có mạng mới dùng được )
giống như các trang whois, lệnh whois trả về thông tin của 1 domain

hvnsweeting@hvnbox:~$ whatis whois
whois (1)            - client for the whois directory service

hvnsweeting@hvnbox:~$ whois familug.com

Whois Server Version 2.0
Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.
   Domain Name: FAMILUG.COM
   Registrar: KEY-SYSTEMS GMBH
   Whois Server: whois.rrpproxy.net
   Referral URL: http://www.key-systems.net
   Name Server: DD1.MATBAO.COM
   Name Server: DD2.MATBAO.COM
   Status: ok
   Updated Date: 10-aug-2011
   Creation Date: 10-aug-2011
   Expiration Date: 10-aug-2012
>>> Last update of whois database: Tue, 27 Sep 2011 10:19:56 UTC <<<
 ...

 nhớ, hỏi Linux trước, hỏi Google sau :D



Fun info
trên Windows, khi nói đến hướng dẫn thì người ta nói đến help, trên Linux, khi nói đến hướng dẫn người ta nói man - manual
RTFM: read the f**king manual

Giờ bạn đã biết mỗi câu lệnh để làm gì, ý nghĩa của nó là gì, cách dùng thế nào (về lý thuyết là như thế :P ). Tiếp theo, hãy bắt đầu sử dụng những câu lệnh thông dụng nhất và xem nó có thể làm gì ;)

Bài tiếp theo:
cd, ls -  di chuyển loanh quanh