മിഡിൽ ലെവൽ ലിനക്സ് ഉപയോക്താക്കൾക്കുള്ള 20 വിപുലമായ കമാൻഡുകൾ


ആദ്യ ലേഖനം നിങ്ങൾക്ക് വളരെ ഉപയോഗപ്രദമാണെന്ന് തോന്നിയേക്കാം, ഈ ലേഖനം Linux ന്യൂബികൾക്കുള്ള 20 ഉപയോഗപ്രദമായ കമാൻഡുകളുടെ ഒരു വിപുലീകരണമാണ്. ആദ്യ ലേഖനം പുതുമുഖങ്ങളെ ഉദ്ദേശിച്ചുള്ളതാണ്, ഈ ലേഖനം മിഡിൽ ലെവൽ യൂസർ, അഡ്വാൻസ്ഡ് യൂസർ എന്നിവർക്കുള്ളതാണ്. തിരയൽ എങ്ങനെ ഇഷ്uടാനുസൃതമാക്കാം, അവ ഇല്ലാതാക്കുന്നതിനുള്ള പ്രോസസ് റണ്ണിംഗ് ഗൈഡ് അറിയുക, നിങ്ങളുടെ ലിനക്uസ് ടെർമിനൽ എങ്ങനെ ഉൽപ്പാദനക്ഷമമാക്കാം എന്നതും ഒരു പ്രധാന വശവും നിക്uസിൽ സി, സി++, ജാവ പ്രോഗ്രാമുകൾ എങ്ങനെ കംപൈൽ ചെയ്യാമെന്നും ഇവിടെ നിങ്ങൾ കണ്ടെത്തും.

21. കമാൻഡ്: കണ്ടെത്തുക

നൽകിയിരിക്കുന്ന ഡയറക്uടറിയിലെ ഫയലുകൾക്കായി തിരയുക, ശ്രേണിയിൽ പാരന്റ് ഡയറക്uടറിയിൽ നിന്ന് ആരംഭിച്ച് ഉപ ഡയറക്uടറികളിലേക്ക് നീങ്ങുക.

[email :~# find -name *.sh 

./Desktop/load.sh 
./Desktop/test.sh 
./Desktop/shutdown.sh 
./Binary/firefox/run-mozilla.sh 
./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.sh 
./Downloads/kdewebdev-3.5.8/admin/doxygen.sh 
./Downloads/kdewebdev-3.5.8/admin/cvs.sh 
./Downloads/kdewebdev-3.5.8/admin/ltmain.sh 
./Downloads/wheezy-nv-install.sh

ശ്രദ്ധിക്കുക: \-name‘ ഓപ്ഷൻ സെർച്ച് കേസിനെ സെൻസിറ്റീവ് ആക്കുന്നു. കേസ് പരിഗണിക്കാതെ എന്തെങ്കിലും കണ്ടെത്താൻ നിങ്ങൾക്ക് \-iname‘ ഓപ്ഷൻ ഉപയോഗിക്കാം. (* ഒരു വൈൽഡ്കാർഡാണ്, കൂടാതെ '.sh' എന്ന വിപുലീകരണമുള്ള എല്ലാ ഫയലുകളും തിരയുന്നു, ഔട്ട്പുട്ട് ഇഷ്uടാനുസൃതമാക്കാൻ നിങ്ങൾക്ക് ഫയലിന്റെ പേരോ ഫയലിന്റെ പേരിന്റെ ഒരു ഭാഗമോ ഉപയോഗിക്കാം).

[email :~# find -iname *.SH ( find -iname *.Sh /  find -iname *.sH)

./Desktop/load.sh 
./Desktop/test.sh 
./Desktop/shutdown.sh 
./Binary/firefox/run-mozilla.sh 
./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.sh 
./Downloads/kdewebdev-3.5.8/admin/doxygen.sh 
./Downloads/kdewebdev-3.5.8/admin/cvs.sh 
./Downloads/kdewebdev-3.5.8/admin/ltmain.sh 
./Downloads/wheezy-nv-install.sh
[email :~# find -name *.tar.gz 

/var/www/modules/update/tests/aaa_update_test.tar.gz 
./var/cache/flashplugin-nonfree/install_flash_player_11_linux.i386.tar.gz 
./home/server/Downloads/drupal-7.22.tar.gz 
./home/server/Downloads/smtp-7.x-1.0.tar.gz 
./home/server/Downloads/noreqnewpass-7.x-1.2.tar.gz 
./usr/share/gettext/archive.git.tar.gz 
./usr/share/doc/apg/php.tar.gz 
./usr/share/doc/festival/examples/speech_pm_1.0.tar.gz 
./usr/share/doc/argyll/examples/spyder2.tar.gz 
./usr/share/usb_modeswitch/configPack.tar.gz

ശ്രദ്ധിക്കുക: മുകളിലെ കമാൻഡ് റൂട്ട് ഡയറക്uടറിയിലെ 'tar.gz' എന്ന വിപുലീകരണമുള്ള എല്ലാ ഫയലുകൾക്കും മൗണ്ട് ചെയ്uത ഉപകരണങ്ങൾ ഉൾപ്പെടെയുള്ള എല്ലാ സബ് ഡയറക്uടറികൾക്കും വേണ്ടി തിരയുന്നു.

Linux 'find' കമാൻഡിന്റെ കൂടുതൽ ഉദാഹരണങ്ങൾ 35 ൽ ലിനക്സിൽ കമാൻഡ് ഉദാഹരണങ്ങൾ കണ്ടെത്തുക

22. കമാൻഡ്: grep

തന്നിരിക്കുന്ന സ്ട്രിംഗുകളുമായോ വാക്കുകളുമായോ പൊരുത്തപ്പെടുന്ന വരികൾക്കായി നൽകിയിരിക്കുന്ന ഫയലിൽ 'grep' കമാൻഡ് തിരയുന്നു. 'tecmint' ഉപയോക്താവിനായി '/etc/passwd' തിരയുക.

[email :~# grep tecmint /etc/passwd 

tecmint:x:1000:1000:Tecmint,,,:/home/tecmint:/bin/bash

വേഡ് കേസും മറ്റെല്ലാ കോമ്പിനേഷനും '-i' ഓപ്ഷൻ ഉപയോഗിച്ച് അവഗണിക്കുക.

[email :~# grep -i TECMINT /etc/passwd 

tecmint:x:1000:1000:Tecmint,,,:/home/tecmint:/bin/bash

ആവർത്തനപരമായി തിരയുക (-r) അതായത് “127.0.0.1” എന്ന സ്uട്രിങ്ങിനായി ഓരോ ഡയറക്uടറിക്കു കീഴിലുള്ള എല്ലാ ഫയലുകളും വായിക്കുക.

[email :~# grep -r "127.0.0.1" /etc/ 

/etc/vlc/lua/http/.hosts:127.0.0.1
/etc/speech-dispatcher/modules/ivona.conf:#IvonaServerHost "127.0.0.1"
/etc/mysql/my.cnf:bind-address		= 127.0.0.1
/etc/apache2/mods-available/status.conf:    Allow from 127.0.0.1 ::1
/etc/apache2/mods-available/ldap.conf:    Allow from 127.0.0.1 ::1
/etc/apache2/mods-available/info.conf:    Allow from 127.0.0.1 ::1
/etc/apache2/mods-available/proxy_balancer.conf:#    Allow from 127.0.0.1 ::1
/etc/security/access.conf:#+ : root : 127.0.0.1
/etc/dhcp/dhclient.conf:#prepend domain-name-servers 127.0.0.1;
/etc/dhcp/dhclient.conf:#  option domain-name-servers 127.0.0.1;
/etc/init/network-interface.conf:	ifconfig lo 127.0.0.1 up || true
/etc/java-6-openjdk/net.properties:# localhost & 127.0.0.1).
/etc/java-6-openjdk/net.properties:# http.nonProxyHosts=localhost|127.0.0.1
/etc/java-6-openjdk/net.properties:# localhost & 127.0.0.1).
/etc/java-6-openjdk/net.properties:# ftp.nonProxyHosts=localhost|127.0.0.1
/etc/hosts:127.0.0.1	localhost

ശ്രദ്ധിക്കുക: grep-നൊപ്പം നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ ഉപയോഗിക്കാം.

  1. -w for word (egrep -w ‘word1|word2’ /path/to/file).
  2. -c എണ്ണുന്നതിനുള്ള (അതായത്, പാറ്റേൺ പൊരുത്തപ്പെടുന്ന ആകെ എണ്ണം) (grep -c ‘word’ /path/to/file).
  3. -നിറമുള്ള ഔട്ട്uപുട്ടിനുള്ള നിറം (grep –color server /etc/passwd).

23. കമാൻഡ്: മനുഷ്യൻ

സിസ്റ്റത്തിന്റെ മാനുവൽ പേജറാണ് 'മാൻ'. ഒരു കമാൻഡും അതിന്റെ ഉപയോഗങ്ങളും ഉപയോഗിച്ച് സാധ്യമായ എല്ലാ ഓപ്ഷനുകൾക്കും മാൻ ഓൺലൈൻ ഡോക്യുമെന്റേഷൻ നൽകുന്നു. മിക്കവാറും എല്ലാ കമാൻഡുകളും അവയുടെ അനുബന്ധ മാനുവൽ പേജുകൾക്കൊപ്പമാണ് വരുന്നത്. ഉദാഹരണത്തിന്,

[email :~# man man

MAN(1)                                                               Manual pager utils                                                              MAN(1)

NAME
       man - an interface to the on-line reference manuals

SYNOPSIS
       man  [-C  file]  [-d]  [-D]  [--warnings[=warnings]]  [-R  encoding]  [-L  locale]  [-m  system[,...]]  [-M  path]  [-S list] [-e extension] [-i|-I]
       [--regex|--wildcard] [--names-only] [-a] [-u] [--no-subpages] [-P pager] [-r prompt] [-7] [-E encoding] [--no-hyphenation] [--no-justification]  [-p
       string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] [[section] page ...] ...
       man -k [apropos options] regexp ...
       man -K [-w|-W] [-S list] [-i|-I] [--regex] [section] term ...
       man -f [whatis options] page ...
       man -l [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] [-P pager] [-r prompt] [-7] [-E encoding] [-p string] [-t] [-T[device]]
       [-H[browser]] [-X[dpi]] [-Z] file ...
       man -w|-W [-C file] [-d] [-D] page ...
       man -c [-C file] [-d] [-D] page ...
       man [-hV]

മാൻ പേജിനുള്ള മാനുവൽ പേജ്, സമാനമായി 'മാൻ ക്യാറ്റ്' (കമാൻഡിനുള്ള മാനുവൽ പേജ്).

കുറിപ്പ്: മാൻ പേജ് കമാൻഡ് റഫറൻസിനും പഠനത്തിനും വേണ്ടിയുള്ളതാണ്.

24. കമാൻഡ്: ps

ps (പ്രോസസ്സ്) PID എന്ന് വിളിക്കപ്പെടുന്ന ഒരു തനത് ഐഡി ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്ന പ്രക്രിയകളുടെ സ്റ്റാറ്റസ് നൽകുന്നു.

[email :~# ps

 PID TTY          TIME CMD
 4170 pts/1    00:00:00 bash
 9628 pts/1    00:00:00 ps

പ്രോസസ്സ് ഐഡി, പിഐഡി എന്നിവയ്uക്കൊപ്പം എല്ലാ പ്രോസസ്സുകളുടെയും സ്റ്റാറ്റസ് ലിസ്റ്റ് ചെയ്യാൻ, '-A' ഓപ്ഷൻ ഉപയോഗിക്കുക.

[email :~# ps -A

 PID TTY          TIME CMD
    1 ?        00:00:01 init
    2 ?        00:00:00 kthreadd
    3 ?        00:00:01 ksoftirqd/0
    5 ?        00:00:00 kworker/0:0H
    7 ?        00:00:00 kworker/u:0H
    8 ?        00:00:00 migration/0
    9 ?        00:00:00 rcu_bh
....

കുറിപ്പ്: ഏത് പ്രോസസ്സുകളാണ് പ്രവർത്തിക്കുന്നത് എന്ന് നിങ്ങൾക്ക് അറിയണമെങ്കിൽ ഈ കമാൻഡ് വളരെ ഉപയോഗപ്രദമാണ് അല്ലെങ്കിൽ പ്രോസസ്സ് നശിപ്പിക്കപ്പെടുന്നതിന് ചിലപ്പോൾ PID ആവശ്യമായി വന്നേക്കാം. ഇഷ്uടാനുസൃതമാക്കിയ ഔട്ട്uപുട്ട് കണ്ടെത്താൻ നിങ്ങൾക്ക് ഇത് 'grep' കമാൻഡ് ഉപയോഗിച്ച് ഉപയോഗിക്കാം. ഉദാഹരണത്തിന്,

[email :~# ps -A | grep -i ssh

 1500 ?        00:09:58 sshd
 4317 ?        00:00:00 sshd

ഇവിടെ 'ps' എന്നത് 'grep' കമാൻഡ് ഉപയോഗിച്ച് പൈപ്പ്ലൈൻ ചെയ്uത് നമ്മുടെ ആവശ്യത്തിന്റെ ഇഷ്uടാനുസൃതവും പ്രസക്തവുമായ ഔട്ട്uപുട്ട് കണ്ടെത്തുന്നു.

25. കമാൻഡ്: കൊല്ലുക

ശരി, കമാൻഡിന്റെ പേരിൽ നിന്ന് ഈ കമാൻഡ് എന്തിനുവേണ്ടിയാണെന്ന് നിങ്ങൾ മനസ്സിലാക്കിയിരിക്കാം. ഇപ്പോൾ പ്രസക്തമല്ലാത്തതോ പ്രതികരിക്കാത്തതോ ആയ പ്രക്രിയയെ ഇല്ലാതാക്കാൻ ഈ കമാൻഡ് ഉപയോഗിക്കുന്നു. ഇത് വളരെ ഉപയോഗപ്രദമായ കമാൻഡ് ആണ്, പകരം വളരെ ഉപയോഗപ്രദമായ ഒരു കമാൻഡ് ആണ്. മിക്കപ്പോഴും വിൻഡോകൾ പുനരാരംഭിക്കുന്നത് നിങ്ങൾക്ക് പരിചിതമായിരിക്കാം, കാരണം മിക്ക സമയത്തും ഒരു റണ്ണിംഗ് പ്രോസസ് നശിപ്പിക്കാൻ കഴിയില്ല, കൂടാതെ അത് പുനരാരംഭിക്കുന്നതിന് വിൻഡോകൾ ആവശ്യമാണ്, അങ്ങനെ മാറ്റങ്ങൾ പ്രാബല്യത്തിൽ വരും, പക്ഷേ ലിനക്സിന്റെ ലോകത്ത്, അങ്ങനെയൊന്നും ഇല്ല. ഇവിടെ നിങ്ങൾക്ക് ഒരു പ്രോസസ്സ് ഇല്ലാതാക്കി മുഴുവൻ സിസ്റ്റവും പുനരാരംഭിക്കാതെ തന്നെ അത് ആരംഭിക്കാം.

അതിനെ കൊല്ലാൻ നിങ്ങൾക്ക് ഒരു പ്രോസസിന്റെ പിഡ് (ps) ആവശ്യമാണ്.

നിങ്ങൾ പ്രതികരിക്കാത്ത പ്രോഗ്രാമായ 'apache2' ഇല്ലാതാക്കാൻ ആഗ്രഹിക്കുന്നുവെന്ന് കരുതുക. grep കമാൻഡിനൊപ്പം ‘ps -A’ പ്രവർത്തിപ്പിക്കുക.

[email :~# ps -A | grep -i apache2

1285 ?        00:00:00 apache2

'apache2' എന്ന പ്രക്രിയ കണ്ടെത്തുക, അതിന്റെ pid ശ്രദ്ധിക്കുക, അതിനെ കൊല്ലുക. ഉദാഹരണത്തിന്, എന്റെ കാര്യത്തിൽ 'apache2' pid '1285' ആണ്.

[email :~# kill 1285 (to kill the process apache2)

ശ്രദ്ധിക്കുക: നിങ്ങൾ ഒരു പ്രോസസ്സ് വീണ്ടും പ്രവർത്തിപ്പിക്കുമ്പോഴോ ഒരു സിസ്റ്റം ആരംഭിക്കുമ്പോഴോ, ഓരോ പ്രോസസിനും ഒരു പുതിയ pid ജനറേറ്റുചെയ്യുന്നു, കൂടാതെ 'ps' കമാൻഡ് ഉപയോഗിച്ച് നിലവിലെ റൺ ചെയ്യുന്ന പ്രക്രിയകളെക്കുറിച്ചും അതിന്റെ പിഡിനെക്കുറിച്ചും നിങ്ങൾക്ക് അറിയാൻ കഴിയും.

അതേ പ്രക്രിയയെ കൊല്ലാനുള്ള മറ്റൊരു മാർഗ്ഗം.

[email :~# pkill apache2

കുറിപ്പ്: സിഗ്നലുകൾ അയയ്uക്കുന്നതിന് Kill-ന് ജോബ് ഐഡി/പ്രോസസ്സ് ഐഡി ആവശ്യമാണ്, ഇവിടെ pkill-ൽ ഉള്ളത് പോലെ നിങ്ങൾക്ക് പാറ്റേൺ ഉപയോഗിക്കാനും പ്രോസസ്സ് ഉടമയെ വ്യക്തമാക്കാനും കഴിയും.

26. കമാൻഡ്: എവിടെയാണ്

കമാൻഡിന്റെ ബൈനറി, ഉറവിടങ്ങൾ, മാനുവൽ പേജുകൾ എന്നിവ കണ്ടെത്തുന്നതിന് 'എവിടെ' കമാൻഡ് ഉപയോഗിക്കുന്നു. ഉദാഹരണത്തിന്, 'ls', 'kill' എന്നീ കമാൻഡുകളുടെ ബൈനറി, ഉറവിടങ്ങൾ, മാനുവൽ പേജുകൾ എന്നിവ കണ്ടെത്തുന്നതിന്.

[email :~# whereis ls 

ls: /bin/ls /usr/share/man/man1/ls.1.gz
[email :~# whereis kill

kill: /bin/kill /usr/share/man/man2/kill.2.gz /usr/share/man/man1/kill.1.gz

ശ്രദ്ധിക്കുക: മാനുവൽ എഡിറ്റിംഗിനായി ബൈനറികൾ എവിടെയാണ് ഇൻസ്റ്റാൾ ചെയ്തിരിക്കുന്നതെന്ന് അറിയാൻ ഇത് ഉപയോഗപ്രദമാണ്.

27. കമാൻഡ്: സേവനം

'സർവീസ്' കമാൻഡ് ഒരു 'സേവനം' ആരംഭിക്കുകയോ നിർത്തുകയോ പുനരാരംഭിക്കുകയോ ചെയ്യുന്നു. മാറ്റങ്ങൾ പ്രാബല്യത്തിൽ വരുന്നതിനായി സിസ്റ്റം പുനരാരംഭിക്കാതെ ഒരു സേവനം ആരംഭിക്കാനോ പുനരാരംഭിക്കാനോ നിർത്താനോ ഈ കമാൻഡ് സാധ്യമാക്കുന്നു.

[email :~# service apache2 start

 * Starting web server apache2                                                                                                                                 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
httpd (pid 1285) already running						[ OK ]
[email :~# service apache2 restart

* Restarting web server apache2                                                                                                                               apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
 ... waiting .apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName  [ OK ]
[email :~# service apache2 stop

 * Stopping web server apache2                                                                                                                                 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
 ... waiting                                                           		[ OK ]

ശ്രദ്ധിക്കുക: എല്ലാ പ്രോസസ്സ് സ്ക്രിപ്റ്റും '/etc/init.d'-ലാണ്, പാത്ത് ചില സിസ്റ്റത്തിൽ ഉൾപ്പെടുത്തേണ്ടതായി വന്നേക്കാം, അതായത്, \service apache2 start റൺ ചെയ്തിട്ടും നിങ്ങളോട് പ്രവർത്തിക്കാൻ ആവശ്യപ്പെടും \/ etc/init.d/apache2 start”.

28. കമാൻഡ്: അപരനാമം

അലിയാസ് എന്നത് ഒരു ബിൽറ്റ്-ഇൻ ഷെൽ കമാൻഡ് ആണ്, അത് ഒരു നീണ്ട കമാൻഡിന് അല്ലെങ്കിൽ പതിവായി ഉപയോഗിക്കുന്ന കമാൻഡിന് പേര് നൽകാൻ നിങ്ങളെ അനുവദിക്കുന്നു.

ഞാൻ ഇടയ്ക്കിടെ ‘ls -l’ കമാൻഡ് ഉപയോഗിക്കുന്നു, അതിൽ സ്പേസ് ഉൾപ്പെടെ 5 പ്രതീകങ്ങൾ ഉൾപ്പെടുന്നു. അതിനാൽ ഇതിന് 'l' എന്നതിന് ഞാൻ ഒരു അപരനാമം സൃഷ്ടിച്ചു.

[email :~# alias l='ls -l'

ഇത് പ്രവർത്തിക്കുന്നുണ്ടോ ഇല്ലയോ എന്ന് പരിശോധിക്കുക.

[email :~# l

total 36 
drwxr-xr-x 3 tecmint tecmint 4096 May 10 11:14 Binary 
drwxr-xr-x 3 tecmint tecmint 4096 May 21 11:21 Desktop 
drwxr-xr-x 2 tecmint tecmint 4096 May 21 15:23 Documents 
drwxr-xr-x 8 tecmint tecmint 4096 May 20 14:56 Downloads 
drwxr-xr-x 2 tecmint tecmint 4096 May  7 16:58 Music 
drwxr-xr-x 2 tecmint tecmint 4096 May 20 16:17 Pictures 
drwxr-xr-x 2 tecmint tecmint 4096 May  7 16:58 Public 
drwxr-xr-x 2 tecmint tecmint 4096 May  7 16:58 Templates 
drwxr-xr-x 2 tecmint tecmint 4096 May  7 16:58 Videos

'l' എന്ന അപരനാമം നീക്കം ചെയ്യാൻ, ഇനിപ്പറയുന്ന 'unalias' കമാൻഡ് ഉപയോഗിക്കുക.

[email :~# unalias l

'l' ഇപ്പോഴും അപരനാമമാണോ അല്ലയോ എന്ന് പരിശോധിക്കുക.

[email :~# l

bash: l: command not found

ഈ കമാൻഡിൽ നിന്ന് അൽപ്പം രസകരമാക്കുന്നു. ചില പ്രധാനപ്പെട്ട കമാൻഡിന് മറ്റ് ചില പ്രധാന കമാൻഡിന് അപരനാമം ഉണ്ടാക്കുക.

alias cd='ls -l' (set alias of ls -l to cd)
alias su='pwd' (set alias of pwd to su)
....
(You can create your own)
....

ഇപ്പോൾ നിങ്ങളുടെ സുഹൃത്ത് 'cd' എന്ന് ടൈപ്പ് ചെയ്യുമ്പോൾ, അയാൾക്ക് ഡയറക്ടറി ലിസ്റ്റിംഗ് ലഭിക്കുകയും ഡയറക്ടറി മാറ്റാതിരിക്കുകയും ചെയ്യുമ്പോൾ അത് എത്ര രസകരമായിരിക്കുമെന്ന് ചിന്തിക്കുക. അവൻ 'സു' ആകാൻ ശ്രമിക്കുമ്പോൾ അയാൾക്ക് ലഭിക്കുന്നത് വർക്കിംഗ് ഡയറക്ടറിയുടെ സ്ഥാനം മാത്രമാണ്. മുകളിൽ വിശദീകരിച്ചതുപോലെ 'unalias' എന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് പിന്നീട് അപരനാമം നീക്കം ചെയ്യാം.

29. കമാൻഡ്: df

ഫയൽ സിസ്റ്റത്തിന്റെ ഡിസ്ക് ഉപയോഗങ്ങൾ റിപ്പോർട്ട് ചെയ്യുക. ഉപയോക്താക്കൾക്കും സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർക്കും അവരുടെ ഡിസ്ക് ഉപയോഗങ്ങളുടെ ട്രാക്ക് സൂക്ഷിക്കാൻ ഉപയോഗപ്രദമാണ്. ഡയറക്uടറി എൻട്രികൾ പരിശോധിച്ചാണ് 'df' പ്രവർത്തിക്കുന്നത്, അവ സാധാരണയായി ഒരു ഫയൽ അടച്ചിരിക്കുമ്പോൾ മാത്രമേ അപ്uഡേറ്റ് ചെയ്യുകയുള്ളൂ.

[email :~# df

Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1       47929224 7811908  37675948  18% /
none                   4       0         4   0% /sys/fs/cgroup
udev             1005916       4   1005912   1% /dev
tmpfs             202824     816    202008   1% /run
none                5120       0      5120   0% /run/lock
none             1014120     628   1013492   1% /run/shm
none              102400      44    102356   1% /run/user
/dev/sda5         184307   79852     94727  46% /boot
/dev/sda7       95989516   61104  91045676   1% /data
/dev/sda8       91953192   57032  87218528   1% /personal

'df' കമാൻഡിന്റെ കൂടുതൽ ഉദാഹരണങ്ങൾക്ക്, ലിനക്സിലെ 12 df കമാൻഡ് ഉദാഹരണങ്ങൾ എന്ന ലേഖനം വായിക്കുക.

30. കമാൻഡ്: du

ഫയൽ സ്ഥലത്തിന്റെ ഉപയോഗം കണക്കാക്കുക. എപ്പോഴെങ്കിലും ശ്രേണിയിൽ ഫയൽ ചെയ്തുകൊണ്ട്, അതായത്, ആവർത്തന രീതിയിൽ, ഡിസ്ക് ഉപയോഗങ്ങളുടെ സംഗ്രഹം ഔട്ട്പുട്ട് ചെയ്യുക.

[email :~# du

8       ./Daily Pics/wp-polls/images/default_gradient
8       ./Daily Pics/wp-polls/images/default
32      ./Daily Pics/wp-polls/images
8       ./Daily Pics/wp-polls/tinymce/plugins/polls/langs
8       ./Daily Pics/wp-polls/tinymce/plugins/polls/img
28      ./Daily Pics/wp-polls/tinymce/plugins/polls
32      ./Daily Pics/wp-polls/tinymce/plugins
36      ./Daily Pics/wp-polls/tinymce
580     ./Daily Pics/wp-polls
1456    ./Daily Pics
36      ./Plugins/wordpress-author-box
16180   ./Plugins
12      ./May Articles 2013/Xtreme Download Manager
4632    ./May Articles 2013/XCache

ശ്രദ്ധിക്കുക: 'df' ഫയൽ സിസ്റ്റങ്ങളിലെ ഉപയോഗ സ്ഥിതിവിവരക്കണക്കുകൾ മാത്രമേ റിപ്പോർട്ട് ചെയ്യുകയുള്ളൂ, അതേസമയം 'du', ഡയറക്uടറി ഉള്ളടക്കങ്ങൾ അളക്കുന്നു. കൂടുതൽ 'du' കമാൻഡ് ഉദാഹരണങ്ങൾക്കും ഉപയോഗത്തിനും, 10 du (ഡിസ്ക് ഉപയോഗം) കമാൻഡുകൾ വായിക്കുക.

31. കമാൻഡ്: rm

'rm' എന്ന കമാൻഡ് നീക്കംചെയ്യുന്നത് അർത്ഥമാക്കുന്നു. ഫയലുകളും ഡയറക്ടറികളും നീക്കം ചെയ്യാൻ rm ഉപയോഗിക്കുന്നു.

[email :~# rm PassportApplicationForm_Main_English_V1.0

rm: cannot remove `PassportApplicationForm_Main_English_V1.0': Is a directory

'rm' കമാൻഡ് ഉപയോഗിച്ച് ഡയറക്ടറി നീക്കം ചെയ്യാൻ കഴിയില്ല, നിങ്ങൾ 'rm' എന്നതിനൊപ്പം '-rf' സ്വിച്ച് ഉപയോഗിക്കേണ്ടതുണ്ട്.

[email :~# rm -rf PassportApplicationForm_Main_English_V1.0

മുന്നറിയിപ്പ്: \rm -rf കമാൻഡ് അബദ്ധവശാൽ നിങ്ങൾ തെറ്റായ ഡയറക്ടറിയിൽ എത്തിയാൽ ഒരു വിനാശകരമായ കമാൻഡ് ആണ്. നിങ്ങൾ 'rm -rf' ഒരു ഡയറക്uടറിയിൽ ഒരിക്കൽ എല്ലാ ഫയലുകളും ഡയറക്ടറി തന്നെ എന്നെന്നേക്കുമായി നഷ്uടപ്പെടും, അത് ഉപയോഗിക്കുക. ജാഗ്രതയോടെ.

32. കമാൻഡ്: എക്കോ

പേര് സൂചിപ്പിക്കുന്നത് പോലെ echo സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടിൽ ഒരു ടെക്സ്റ്റ് പ്രതിധ്വനിക്കുന്നു. ഇതിന് ഷെല്ലുമായി യാതൊരു ബന്ധവുമില്ല, അല്ലെങ്കിൽ ഷെൽ എക്കോ കമാൻഡിന്റെ ഔട്ട്പുട്ട് വായിക്കുന്നില്ല. എന്നിരുന്നാലും ഒരു ഇന്ററാക്ടീവ് സ്ക്രിപ്റ്റിൽ, ടെർമിനലിലൂടെ എക്കോ സന്ദേശം ഉപയോക്താവിന് കൈമാറുന്നു. സ്ക്രിപ്റ്റിംഗ്, ഇന്ററാക്ടീവ് സ്ക്രിപ്റ്റിംഗ് എന്നിവയിൽ സാധാരണയായി ഉപയോഗിക്കുന്ന കമാൻഡുകളിൽ ഒന്നാണിത്.

[email :~# echo "linux-console.net is a very good website" 

linux-console.net is a very good website

1. ഡെസ്ക്ടോപ്പിൽ 'interactive_shell.sh' എന്ന പേരിൽ ഒരു ഫയൽ സൃഷ്ടിക്കുക. (‘.sh’ വിപുലീകരണം നിർബന്ധമാണെന്ന് ഓർക്കുക).
2. താഴെ കൊടുത്തിരിക്കുന്ന സ്ക്രിപ്റ്റ് അതേപടി പകർത്തി ഒട്ടിക്കുക.

#!/bin/bash 
echo "Please enter your name:" 
   read name 
   echo "Welcome to Linux $name"

അടുത്തതായി, എക്സിക്യൂട്ട് പെർമിഷൻ സജ്ജമാക്കി സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കുക.

[email :~# chmod 777 interactive_shell.sh
[email :~# ./interactive_shell.sh

Please enter your name:
Ravi Saive
Welcome to Linux Ravi Saive

കുറിപ്പ്: '#!/bin/bash' ഇത് ഒരു സ്ക്രിപ്റ്റ് ആണെന്നും അത് സ്ക്രിപ്റ്റിന്റെ മുകളിൽ ഉൾപ്പെടുത്തുന്നത് എല്ലായ്പ്പോഴും നല്ലതാണെന്നും ഷെല്ലിനോട് പറയുന്നു. 'വായിക്കുക' നൽകിയ ഇൻപുട്ട് വായിക്കുന്നു.

33. കമാൻഡ്: passwd

ടെർമിനലിൽ സ്വന്തം പാസ്uവേഡ് മാറ്റുന്നതിന് ഉപയോഗപ്രദമായ ഒരു പ്രധാന കമാൻഡ് ആണിത്. സുരക്ഷാ കാരണങ്ങളാൽ നിങ്ങളുടെ നിലവിലെ പാസ്uവേഡ് നിങ്ങൾ അറിഞ്ഞിരിക്കണം.

[email :~# passwd 

Changing password for tecmint. 
(current) UNIX password: ******** 
Enter new UNIX password: ********
Retype new UNIX password: ********
Password unchanged   [Here was passowrd remians unchanged, i.e., new password=old password]
Enter new UNIX password: #####
Retype new UNIX password:#####

34. കമാൻഡ്: lpr

ഈ കമാൻഡ് പ്രിന്റ് ഫയലുകൾ കമാൻഡ് ലൈനിൽ നാമകരണം ചെയ്ത പ്രിന്ററിലേക്ക്.

[email :~# lpr -P deskjet-4620-series 1-final.pdf

ശ്രദ്ധിക്കുക: 'lpq' കമാൻഡ് ഒരു പ്രിന്ററിന്റെ നിലയും (അത് ഉയർന്നതായാലും ഇല്ലെങ്കിലും) പ്രിന്റ് ചെയ്യാൻ കാത്തിരിക്കുന്ന ജോലികളും (ഫയലുകൾ) കാണാൻ നിങ്ങളെ അനുവദിക്കുന്നു.

35. കമാൻഡ്: സിഎംപി

ഏതെങ്കിലും തരത്തിലുള്ള രണ്ട് ഫയലുകൾ താരതമ്യം ചെയ്ത് സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടിലേക്ക് ഫലങ്ങൾ എഴുതുന്നു. സ്ഥിരസ്ഥിതിയായി, ഫയലുകൾ സമാനമാണെങ്കിൽ 'cmp' 0 നൽകുന്നു; അവ വ്യത്യസ്തമാണെങ്കിൽ, ആദ്യ വ്യത്യാസം സംഭവിച്ച ബൈറ്റും ലൈൻ നമ്പറും റിപ്പോർട്ട് ചെയ്യുന്നു.

ഈ കമാൻഡിന് ഉദാഹരണങ്ങൾ നൽകുന്നതിന്, രണ്ട് ഫയലുകൾ പരിഗണിക്കാം:

[email :~# cat file1.txt

Hi My name is Tecmint
[email :~# cat file2.txt

Hi My name is tecmint [dot] com

ഇപ്പോൾ, നമുക്ക് രണ്ട് ഫയലുകൾ താരതമ്യം ചെയ്ത് കമാൻഡിന്റെ ഔട്ട്പുട്ട് നോക്കാം.

[email :~# cmp file1.txt file2.txt 

file1.txt file2.txt differ: byte 15, line 1

36. കമാൻഡ്: wget

വെബിൽ നിന്ന് ഫയലുകൾ ഡൗൺലോഡ് ചെയ്യുന്നതിനുള്ള നോൺ-ഇന്ററാക്ടീവ് (അതായത്, പശ്ചാത്തലത്തിൽ പ്രവർത്തിക്കാൻ കഴിയും) ഒരു സൗജന്യ യൂട്ടിലിറ്റിയാണ് Wget. ഇത് HTTP, HTTPS, FTP പ്രോട്ടോക്കോളുകൾ, HTTP പ്രോക്സികൾ എന്നിവയെ പിന്തുണയ്ക്കുന്നു.

[email :~# wget http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2

--2013-05-22 18:54:52--  http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://kaz.dl.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2 [following]
--2013-05-22 18:54:54--  http://kaz.dl.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2
Resolving kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)... 92.46.53.163
Connecting to kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)|92.46.53.163|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 275557 (269K) [application/octet-stream]
Saving to: ‘ffmpeg-php-0.6.0.tbz2’

100%[===========================================================================>] 2,75,557    67.8KB/s   in 4.0s   

2013-05-22 18:55:00 (67.8 KB/s) - ‘ffmpeg-php-0.6.0.tbz2’ saved [275557/275557]

37. കമാൻഡ്: മൗണ്ട്

സ്വയം മൌണ്ട് ചെയ്യാത്ത ഒരു ഫയൽസിസ്റ്റം മൌണ്ട് ചെയ്യാൻ ഉപയോഗിക്കുന്ന ഒരു പ്രധാന കമാൻഡ് ആണ് മൗണ്ട്. ഒരു ഉപകരണം മൌണ്ട് ചെയ്യുന്നതിന് നിങ്ങൾക്ക് റൂട്ട് അനുമതി ആവശ്യമാണ്.

നിങ്ങളുടെ ഫയൽസിസ്റ്റം പ്ലഗ്-ഇൻ ചെയ്uതതിന് ശേഷം ആദ്യം 'lsblk' റൺ ചെയ്യുക, നിങ്ങളുടെ ഉപകരണം തിരിച്ചറിയുക, നിങ്ങളുടെ ഉപകരണത്തിന് നൽകിയിരിക്കുന്ന പേര് രേഖപ്പെടുത്തുക.

[email :~# lsblk 

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT 
sda      8:0    0 931.5G  0 disk 
├─sda1   8:1    0 923.6G  0 part / 
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0   7.9G  0 part [SWAP] 
sr0     11:0    1  1024M  0 rom  
sdb      8:16   1   3.7G  0 disk 
└─sdb1   8:17   1   3.7G  0 part

ഈ സ്uക്രീനിൽ നിന്ന് ഞാൻ 4 GB പെൻഡ്രൈവ് പ്ലഗ് ഇൻ ചെയ്uതിരിക്കുന്നതിനാൽ 'sdb1' മൌണ്ട് ചെയ്യേണ്ട എന്റെ ഫയൽ സിസ്റ്റമാണ്. ഈ ഓപ്പറേഷൻ നടത്താൻ ഒരു റൂട്ട് ആകുകയും എല്ലാ ഫയൽ സിസ്റ്റവും മൌണ്ട് ചെയ്തിരിക്കുന്ന /dev ഡയറക്ടറിയിലേക്ക് മാറുകയും ചെയ്യുക.

[email :~# su
Password:
[email :~# cd /dev

എന്തെങ്കിലും പേരുള്ള ഒരു ഡയറക്uടറി സൃഷ്uടിക്കുക, പക്ഷേ അവ റഫറൻസിനായി പ്രസക്തമായിരിക്കണം.

[email :~# mkdir usb

ഇപ്പോൾ ഫയൽസിസ്റ്റം 'sdb1' ഡയറക്ടറി 'usb' ലേക്ക് മൌണ്ട് ചെയ്യുക.

[email :~# mount /dev/sdb1 /dev/usb

ഇപ്പോൾ നിങ്ങൾക്ക് ടെർമിനലിൽ നിന്നോ X-windows സിസ്റ്റത്തിൽ നിന്നോ /dev/usb-ലേക്ക് നാവിഗേറ്റ് ചെയ്യാനും മൗണ്ട് ചെയ്ത ഡയറക്uടറിയിൽ നിന്ന് ഫയലുകൾ ആക്uസസ് ചെയ്യാനും കഴിയും.

38. കമാൻഡ്: gcc

ലിനക്സ് എൻവയോൺമെന്റിലെ 'സി' ഭാഷയ്ക്കുള്ള ഇൻ-ബിൽറ്റ് കംപൈലറാണ് gcc. ഒരു ലളിതമായ സി പ്രോഗ്രാം, ഇത് നിങ്ങളുടെ ഡെസ്ക്ടോപ്പിൽ Hello.c ആയി സേവ് ചെയ്യുക (‘.c’ എക്സ്റ്റൻഷൻ നിർബന്ധമാണെന്ന് ഓർക്കുക).

#include <stdio.h>
int main()
{
  printf("Hello world\n");
  return 0;
}
[email :~# gcc Hello.c
[email :~# ./a.out 

Hello world

ശ്രദ്ധിക്കുക: ഒരു c പ്രോഗ്രാം കംപൈൽ ചെയ്യുമ്പോൾ ഔട്ട്uപുട്ട് ഒരു പുതിയ ഫയലിലേക്ക് \a.out സ്വയമേവ ജനറേറ്റ് ചെയ്യപ്പെടുകയും നിങ്ങൾ ഒരു c പ്രോഗ്രാം കംപൈൽ ചെയ്യുമ്പോഴെല്ലാം അതേ ഫയൽ \a.out പരിഷ്കരിക്കപ്പെടുകയും ചെയ്യും. അതിനാൽ കംപൈൽ സമയത്ത് ഒരു ഔട്ട്uപുട്ട് ഫയൽ നിർവചിക്കുന്നത് നല്ല ഉപദേശമാണ്, അതിനാൽ ഔട്ട്uപുട്ട് ഫയലിലേക്ക് പുനരാലേഖനം ചെയ്യാനുള്ള സാധ്യതയില്ല.

[email :~# gcc -o Hello Hello.c

ഇവിടെ '-o' ഔട്ട്uപുട്ട് 'ഹലോ' ഫയലിലേക്കാണ് അയയ്uക്കുന്നത്, 'a.out' അല്ല. വീണ്ടും പ്രവർത്തിപ്പിക്കുക.

[email :~# ./Hello 

Hello world

39. കമാൻഡ്: g++

ആദ്യത്തെ ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിംഗ് ഭാഷയായ 'C++' എന്നതിനായുള്ള ഇൻ-ബിൽറ്റ് കംപൈലറാണ് g++. ഒരു ലളിതമായ c++ പ്രോഗ്രാം, നിങ്ങളുടെ ഡെസ്uക്uടോപ്പിൽ Add.cpp ആയി സേവ് ചെയ്യുക (‘.cpp’ വിപുലീകരണം നിർബന്ധമാണെന്ന് ഓർക്കുക).

#include <iostream>

using namespace std;

int main() 
    {
          int a;
          int b;
          cout<<"Enter first number:\n";
          cin >> a;
          cout <<"Enter the second number:\n";
          cin>> b;
          cin.ignore();
          int result = a + b;
          cout<<"Result is"<<"  "<<result<<endl;
          cin.get();
          return 0;
     }
[email :~# g++ Add.cpp
[email :~# ./a.out

Enter first number: 
...
...

ശ്രദ്ധിക്കുക: ഒരു c++ പ്രോഗ്രാം കംപൈൽ ചെയ്യുമ്പോൾ ഔട്ട്uപുട്ട് ഒരു പുതിയ ഫയലായ \a.out-ലേക്ക് സ്വയമേവ ജനറേറ്റ് ചെയ്യപ്പെടുകയും നിങ്ങൾ ഒരു c++ പ്രോഗ്രാം കംപൈൽ ചെയ്യുമ്പോഴെല്ലാം അതേ ഫയൽ \a.out പരിഷ്കരിക്കപ്പെടുകയും ചെയ്യും. അതിനാൽ കംപൈൽ സമയത്ത് ഒരു ഔട്ട്uപുട്ട് ഫയൽ നിർവചിക്കുന്നത് നല്ല ഉപദേശമാണ്, അതിനാൽ ഔട്ട്uപുട്ട് ഫയലിലേക്ക് പുനരാലേഖനം ചെയ്യാനുള്ള സാധ്യതയില്ല.

[email :~# g++ -o Add Add.cpp
[email :~# ./Add 

Enter first number: 
...
...

40. കമാൻഡ്: ജാവ

ലോകത്ത് ഏറ്റവും കൂടുതൽ ഉപയോഗിക്കുന്ന പ്രോഗ്രാമിംഗ് ഭാഷകളിലൊന്നാണ് ജാവ, ഇത് വേഗതയേറിയതും സുരക്ഷിതവും വിശ്വസനീയവുമാണ്. ഇന്നത്തെ മിക്ക വെബ് അധിഷ്ഠിത സേവനങ്ങളും ജാവയിൽ പ്രവർത്തിക്കുന്നു.

tecmint.java എന്ന് പേരിട്ടിരിക്കുന്ന ഒരു ഫയലിൽ താഴെയുള്ള ടെസ്റ്റ് ഒട്ടിച്ച് ലളിതമായ ഒരു ജാവ പ്രോഗ്രാം സൃഷ്ടിക്കുക ('.java' വിപുലീകരണം നിർബന്ധമാണെന്ന് ഓർമ്മിക്കുക).

class tecmint {
  public static void main(String[] arguments) {
    System.out.println("Tecmint ");
  }
}
[email :~# javac tecmint.java
[email :~# java tecmint

ശ്രദ്ധിക്കുക: മിക്കവാറും എല്ലാ വിതരണങ്ങളും gcc കംപൈലർ കൊണ്ട് നിറഞ്ഞതാണ്, പ്രധാന എണ്ണം ഡിസ്ട്രോകൾക്ക് ഇൻബിൽറ്റ് g++ ഉം java കംപൈലറും ഉണ്ട്, എന്നാൽ ചിലതിൽ ഇല്ലായിരിക്കാം. നിങ്ങൾക്ക് ആവശ്യമുള്ള പാക്കേജ് ആപ്റ്റ് അല്ലെങ്കിൽ യമ് ചെയ്യാം.

നിങ്ങളുടെ വിലയേറിയ അഭിപ്രായവും നിങ്ങൾ കാണാൻ ആഗ്രഹിക്കുന്ന ലേഖനത്തിന്റെ തരവും ഇവിടെ പരാമർശിക്കാൻ മറക്കരുത്. ലിനക്സിനെ കുറിച്ച് അധികം അറിയപ്പെടാത്ത വസ്തുതകളെക്കുറിച്ചുള്ള രസകരമായ ഒരു വിഷയവുമായി ഞാൻ ഉടൻ മടങ്ങിവരും.