មេរៀនទី៩: Command ប្រើញឹកញាប់

មេរៀនទី៩: បញ្ជា Command ដែលប្រើប្រាស់ញឹកញាប់  Linux/Unix

a

. ពាក្យបញ្ជា ‘ tar ‘
បង្កើត បណ្ដុំឯកសារ ជាមួយ ពាក្យបញ្ជា ‘ tar ‘ ៖

$ tar cvf archive_name.tar dirname/

ពន្លា បណ្ដុំឯកសារ ជាមួយ ពាក្យបញ្ជា ‘ tar ‘ ៖

$ tar xvf archive_name.tar

ត្រួតពិនិត្យ បណ្ដុំឯកសារឡើងវិញ ៖

$ tar tvf archive_name.tar

សូមស្វែងរក អានអត្ថបទអំពី ពាក្យបញ្ជា ‘ tar ‘ នៅក្នុង អត្ថបទមុនៗ ។
. ពាក្យបញ្ជា ‘grep’
ស្វែងរកពាក្យ ដែលចង់បាន នៅក្នុង ឯកសារ ៖

$ grep -i “the” demo_file

បង្ហាញពាក្យដែលចង់បាន យ៉ាងច្រើនចំនួន ៣ បន្ទាត់ ៖

$ grep -A 3 -i “example” demo_text

ស្វែងរកពាក្យទាំងអស់ ដែលនៅក្នុងឯកសារ ៖

$ grep -r “ramesh” *

ខ្ញុំនិងបង្ហាញជូនលំអិត នៅអត្ថបទខាងក្រោយ សូមអរគុណ ។
. ពាក្យបញ្ជា ‘find’
ស្វែងរកឯកសារ ជាមួយនិងឈ្មោះរបស់វា ៖

# find -iname “MyCProgram.c”

ប្រតិបត្តពាក្យបញ្ជា នៅលើឯកសារដែលបានស្វែងរក ៖

$ find -iname “MyCProgram.c” -exec md5sum {} \;

ស្វែងរករាល់ ឯកសារទទេ (empty files) ៖

# find ~ -empty

សូមស្វែងរក អានអត្ថបទអំពី ពាក្យបញ្ជា ‘find’ នៅក្នុង អត្ថបទមុនៗ ។
. ពាក្យបញ្ជា ‘ssh’
Login ទៅកាន់ host ពីចំងាយ ៖

ssh -l jsmith remotehost.example.com

Debug ssh client

ssh -v -l jsmith remotehost.example.com

បង្ហាញកំណែ ssh client ៖

$ ssh -V

OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003

ខ្ញុំនិងបង្ហាញជូនលំអិត នៅអត្ថបទខាងក្រោយ សូមអរគុណ ។
. ពាក្យបញ្ជា ‘sed’
ពេលដែលអ្នក ថតចំលង ឯកសារ ពី DOC ទៅកាន់ Unix វានិងមាន \r\n នៅចុងបន្ទាត់នៃឯកសារ ។
ដូច្នេះយើងប្រើពាក្យបញ្ជានេះ ដើម្បីផ្លាស់ប្ដូរទំរង់ឯកសារ ពី DOC ទៅកាន់ Unix ។

$sed ‘s/.$//’ filename

បង្ហាញខ្លឹមសារ នៃអត្ថបទតាមលំដាប់ ៖

$ sed -n ‘1!G;h;$p’ thegeekstuff.txt

បន្ថែមលេខរៀងបន្ទាត់ ៖

$ sed ‘/./=’ thegeekstuff.txt | sed ‘N; s/\n/ /’

. ពាក្យបញ្ជា awk
លុបបន្ទាត់ត្រួតគ្នា ៖

$ awk ‘!($0 in array) { array[$0]; print }’ temp

បង្ហាញ uid និង gid ដែលដូចគ្នាពី ឯកសារ /etc/passwd ៖

$awk -F ‘:’ ‘$3==$4’ passwd.txt

បង្ហាញត្រឹមតែពាក្យកំណត់ ពីឯកសារ employee.txt ៖

$ awk ‘{print $2,$5;}’ employee.txt

. ពាក្យបញ្ជា vim
ចូលទៅកាន់បន្ទាត់ទី ១៤៣ ក្នុងឯកសារ filename.txt ៖

$ vim +143 filename.txt

ចូលទៅកាន់ ពាក្យកំណត់ដំបូង search-term ក្នុងឯកសារ filename.txt ៖

$ vim +/search-term filename.txt

ត្រឹមតែអាន ឯកសារ /etc/passwd ៖

$ vim -R /etc/passwd

. ពាក្យបញ្ជា diff ប្រៀបធៀបពីរឯកសារ ដោយមិនគិតពី space ៖

# diff -w name_list.txt name_list_new.txt 2c2,3 < John Doe — > John M Doe > Jason Bourne

. ពាក្យបញ្ជា sort
អានឯកសារ ពីលំដាប់បន្ទាត់ខាងក្រោមទៅខាងលើ នៃឯកសារ ៖

$ sort names.txt

អានឯកសារ ពីលំដាប់បន្ទាត់ខាងលើចុះទៅខាងក្រោម នៃឯកសារ ៖

$ sort -r names.txt

អានឯកសារ /etc/passwd ត្រឹមតែ ៣ ចំនុចកំណត់ ៖

$ sort -t: -k 3n /etc/passwd | more

១០. ពាក្យបញ្ជា export
បើសិនជា ម៉ាស៊ីនមេ របស់បានដំឡើង ORACLE អ្នកអាចប្រើពាក្យបញ្ជានេះដើម្បីពិនិត្យមើល
environment ដែលទាក់ទងជាមួយ ORACLE ៖

$ export | grep ORACLE

declare -x ORACLE_BASE=”/u01/app/oracle” declare -x ORACLE_HOME=”/u01/app/oracle/product/10.2.0″ declare -x ORACLE_SID=”med” declare -x ORACLE_TERM=”xterm”

សូមប្ដូរពាក្យ ORACLE ទៅពាក្យអ្វីមួយ ដែលអ្នកចង់ត្រួតពិនិត្យ ។ តាងអថេរ នៅក្នុង environment ៖

$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0

១១. ពាក្យបញ្ជា xargs
ប្រើសំរាប់ ឯកសារថតចំឡងរូបភាព ៖

# ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory

ស្វែងរកឯកសាររូបភាព ដែលមានៅក្នុងប្រពន្ធ័ លីនុច និង យូនិច ហើយនិងបណ្ដុំឯកសារ ៖

# find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz

ប្រើសំរាប់ទាញយក រាល់ url ទាំងអស់ ដែលមាននៅក្នុង url-list ៖

# cat url-list.txt | xargs wget –c

១២. ពាក្យបញ្ជា ls
ប្រើសំរាប់បង្ហាញ ពីទំហំនៃឯកសារ (e.g. KB, MB etc.,) នៅក្នុងគ្រប់ទំរង់ ៖

$ ls -lh

-rw-r—– 1 ramesh team-dev 8.9M Jun 12 15:27 arch-linux.txt.gz

ប្រើ ls -ltr សំរាប់បង្ហាញពីការរៀបចំឯកសារ តាមលំដាប់ នៃពេលវេលាផ្លាស់ប្ដូរចុងក្រោយបំផុត ( Last Modified Time) ៖

$ ls -ltr

បង្ហាញកន្សោមឯកសារ និង ឯកសារ តាមលំដាប់ ដោយប្រើ ls -F

[root@chaitik ~]# ls -F

anaconda-ks.cfg chanro install.log install.log.syslog rpmbuild/
[root@chaitik ~]#

១៣. ពាក្យបញ្ជា pwd
pwd ប្រើសំរាប់បង្ហាញពីដំណើរការរបស់កន្សោមឯកសារ ។ ហើយអ្វីដែលល្អជាងនេះគឺប្រើសំរាប់បង្ហាញពីទីតាំងបច្ចុប្បន្ន និង ឈ្មោះនៃកន្សោមឯកសារនោះ ៖

[root@chaitik man1]# pwd

/usr/local/apache2/php/php/man/man1
[root@chaitik man1]#

១៤. ពាក្យបញ្ជា cd
ប្រើcd សំរាប់កំណត់ការផ្លាស់ប្ដូរ រវាងទីតាំងកន្សោមឯកសារពីរ ចុងក្រោយបំផុត ៖

[root@chaitik php]# pwd

/usr/local/apache2/php
[root@chaitik php]# cd –
/root
[root@chaitik ~]# cd –
/usr/local/apache2/php
[root@chaitik php]#

១៥. ពាក្យបញ្ជា gzip
ប្រើសំរាប់បង្កើតឯកសារបន្នែន *.gz ៖

[root@chaitik ~]# touch test.txt
[root@chaitik ~]# gzip test.txt
[root@chaitik ~]# ls -F test.txt.gz
test.txt.gz
[root@chaitik ~]#

ប្រើសំរាប់ពន្លា ពី ឯកសារបន្នែន *.gz ៖

[root@chaitik ~]# ls -F test.txt.gz

test.txt.gz
[root@chaitik ~]# gzip -d test.txt.gz
[root@chaitik ~]# ls -F test.txt
test.txt
[root@chaitik ~]#

ប្រើ gzip -l សំរាប់បង្ហាញ រាល់ឯកសារបន្នែន ៖
[root@chaitik ~]# ls -F test*

test2.txt.gz test.txt.gz
[root@chaitik ~]# gzip -l *.gz
compressed uncompressed ratio uncompressed_name
41 11 -18.2% test2.txt
29 0 0.0% test.txt
70 11 -290.9% (totals)
[root@chaitik ~]#

១៦. ពាក្យបញ្ជា bzip2
ប្រើសំរាប់បង្កើត ឯកសារបន្នែន *.bz2 ៖

[root@chaitik ~]# touch hello.txt

[root@chaitik ~]# ls -altrh hello.txt
-rw-r–r–. 1 root root 0 Aug 16 08:49 hello.txt
[root@chaitik ~]# bzip2 hello.txt
[root@chaitik ~]# ls -altrh hello.txt.bz2
-rw-r–r–. 1 root root 14 Aug 16 08:49 hello.txt.bz2
[root@chaitik ~]#

ប្រើសំរាប់ ពន្លា ឯកសារបន្នែន *.bz2 ៖

[root@chaitik ~]# ls -altrh hello.txt.bz2

-rw-r–r–. 1 root root 14 Aug 16 08:49 hello.txt.bz2
[root@chaitik ~]# bzip2 -d hello.txt.bz2
[root@chaitik ~]# ls -altrh hello.txt
-rw-r–r–. 1 root root 0 Aug 16 08:49 hello.txt
[root@chaitik ~]#

១៧. ពាក្យបញ្ជា unzip
ប្រើសំរាប់ពន្លា ឯកសារបន្នែន *.zip ៖

$ unzip test.zip

បង្ហាញខ្លឹមសារ នៃឯកសារបន្នែន *.zip ៖

$ unzip -l jasper.zip

Archive: jasper.zip
Length Date Time Name
——– —- —- —-
40995 11-30-98 23:50 META-INF/MANIFEST.MF
32169 08-25-98 21:07 classes_
15964 08-25-98 21:07 classes_names
10542 08-25-98 21:07 classes_ncomp

១៨. ពាក្យបញ្ជា shutdown
ប្រើសំរាប់ បិទ ឬ ពន្លត់ ប្រពន្ធ័ម៉ាស៊ីនកុំព្យូរទ័រ និង ផាវរ ៖

# shutdown -h now

ប្រើសំរាប់ បិទ ឬ ពន្លត់ ប្រពន្ធ័ម៉ាស៊ីនកុំព្យូរទ័រ និង ផាវរ ក្រោយរយៈពេល ១០ នាទី ៖

# shutdown -h +10

ប្រើសំរាប់ Reboot ឬ Restart ប្រពន្ធ័ម៉ាស៊ីនកុំព្យូរទ័រ និង ផាវរ ៖

# shutdown -r now

ប្រើសំរាប់ បិទ ឬ ពន្លត់ ប្រពន្ធ័ម៉ាស៊ីនកុំព្យូរទ័រ និង ផាវរ ដោយជំរុញបិទគ្រប់ filesystem ៖

# shutdown -Fr now

១៩. ពាក្យបញ្ជា ftp
ជាមួយ ftp និង secure ftp (sftp) វាប្រើពាក្យបញ្ជាដូចគ្នា ដើម្បីភ្ជាប់ទៅកាន់ម៉ាស៊ីនមេ ពីចំងាយ ហើយយើងអាចទាញយកគ្រប់ឯកសារ ៖

$ ftp IP/hostname ftp> mget *.html

អាចបង្ហាញ ឈ្មោះ ឯកសារ និង ទីតាំងនៅលើ ប្រពន្ធ័ ម៉ាស៊ីនមេ ពីចំងាយ មុនពេលទាញយក ៖

ftp> mls *.html

– /ftptest/features.html
-/ftptest/index.html
-/ftptest/othertools.html
-/ftptest/samplereport.html
/ftptest/usage.html

២០. ពាក្យបញ្ជា crontab
ប្រើ crontab សំរាប់បង្ហាញ ការងារ របស់ user john ៖

# crontab -u john -l

ប្រើសំរាប់ cron job ក្នុង រយៈពេល ១០ នាទី ម្ដង ៖

*/10 * * * * /home/ramesh/check-disk-space

២១. ពាក្យបញ្ជា service
ពាក្យបញ្ជាservice នេះប្រើសំរាប់ ដំណើរការជាមួយប្រពន្ធ័ ដោយប្រើ V init scripts ។វាអាចជំនួសក្នុងការហៅឯកសារ ក្នុងកន្សោមឯកសារ /etc/init.d/ ៖
ប្រើសំរាប់ត្រួតពិនិត្យ status នៃ service និមួយៗ ៖

# service ssh status

ប្រើសំរាប់ត្រួតពិនិត្យ status រាល់ service ទាំងអស់នៅក្នុងប្រពន្ធ័ ៖

# service –status-all

ប្រើសំរាប់ Restart របស់ service ៖

# service ssh restart

២២. ពាក្យបញ្ជា ps
ប្រើពាក្យបញ្ជា ps នេះ សំរាប់បង្ហាញពត៌មាន ដែលដំណើរការធ្វើការ ជាមួយប្រពន្ធ័ ។ រាល់ arguments ទាំងអស់អាចបង្ហាញដោយប្រើ ps ។
សំរាប់បង្ហាញដំណើរការធ្វើការ (running processes) បច្ចុប្បន្ន ជាមួយប្រពន្ធ័ ៖

$ ps -ef | more

សំរាប់បង្ហាញដំណើរការធ្វើការ (running processes) បច្ចុប្បន្ន ក្នុងទំរង់ tree ដោយប្រើជំរើស H ៖

$ ps -efH | more

២៣. ពាក្យបញ្ជា free
ពាក្យបញ្ជានេះ ប្រើសំរាប់ បង្ហាញពី swap ទំហំប្រើប្រាស់ និង ទំនេរ នៃ ប្រពន្ធ័ចងចាំ ៖
បង្ហាញជា byte ៖

[root@chaitik ~]# free

total used free shared buffers cached
Mem: 2034076 1927932 106144 0 241704 752108
-/+ buffers/cache: 934120 1099956
Swap: 0 0 0

បង្ហាញជា gigatbyte ប្រើជំរើស -g ជា byte ប្រើជំរើស-b ជា kilo bytes ប្រើជំរើស-k , ជា mega bytes ប្រើជំរើស-m ៖

[root@chaitik ~]# free -g

total used free shared buffers cached
Mem: 1 1 0 0 0 0
-/+ buffers/cache: 0 1
Swap: 0 0 0

បង្ហាញពីប្រពន្ធ័ចងចាំ រួមទាំង Swap ដោយប្រើជំរើស -t ៖

[root@chaitik ~]# free -t

total used free shared buffers cached
Mem: 2034076 1928304 105772 0 241708 752112
-/+ buffers/cache: 934484 1099592
Swap: 0 0 0
Total: 2034076 1928304 105772

២៤. ពាក្យបញ្ជា top
ប្រើពាក្យបញ្ជានេះ បង្ហាញពីដំណើរការ នៃប្រពន្ធ័ ទាំងមូល រួមទាំង CPU ៖

[root@chaitik ~]# top
top – 08:56:50 up 86 days, 23:02, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 232 total, 1 running, 230 sleeping, 0 stopped, 1 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2034076k total, 1928560k used, 105516k free, 241708k buffers
Swap: 0k total, 0k used, 0k free, 752112k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9239 root 20 0 2684 1188 868 R 0.7 0.1 0:00.02 top
1 root 20 0 2864 976 752 S 0.0 0.0 0:08.43 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.48 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:01.67 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 6:06.27 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
6 root RT 0 0 0 0 S 0.0 0.0 0:15.75 watchdog/0
7 root RT 0 0 0 0 S 0.0 0.0 0:01.63 migration/1
Press O (upper-case O) ៖
Current Fields: AEHIOQTWKNMbcdfgjplrsuvyzX
Upper case letter moves field left, lower case right
* A: PID = Process Id
* E: USER = User Name
* H: PR = Priority
* I: NI = Nice value
* O: VIRT = Virtual Image (kb)
* Q: RES = Resident size (kb)
* T: SHR = Shared Mem size (kb)
* W: S = Process Status
* K: %CPU = CPU usage
* N: %MEM = Memory usage (RES)
* M: TIME+ = CPU Time, hundredths
b: PPID = Parent Process Pid
c: RUSER = Real user name
d: UID = User Id
f: GROUP = Group Name
g: TTY = Controlling Tty
j: P = Last used cpu (SMP)
p: SWAP = Swapped size (kb)
l: TIME = CPU Time
r: CODE = Code size (kb)
s: DATA = Data+Stack size (kb)
u: nFLT = Page Fault count
v: nDRT = Dirty Pages count
y: WCHAN = Sleeping in Function
z: Flags = Task Flags <sched.h>
* X: COMMAND = Command name/line
Flags field:
0x00000001 PF_ALIGNWARN
0x00000002 PF_STARTING
0x00000004 PF_EXITING
0x00000040 PF_FORKNOEXEC
0x00000100 PF_SUPERPRIV
0x00000200 PF_DUMPCORE
0x00000400 PF_SIGNALED
0x00000800 PF_MEMALLOC
0x00002000 PF_FREE_PAGES (2.5)
0x00008000 debug flag (2.5)
0x00024000 special threads (2.5)
0x001D0000 special states (2.5)
0x00100000 PF_USEDFPU (thru 2.4)

ជាមួយជំរើស u យើងអាចបង្ហាញដំណើរការរបស់ daemon និមួយៗ ៖

[root@chaitik ~]# top -u mysql

top – 09:00:26 up 86 days, 23:06, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 232 total, 1 running, 230 sleeping, 0 stopped, 1 zombie
Cpu(s): 0.2%us, 0.0%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2034076k total, 1928808k used, 105268k free, 241708k buffers
Swap: 0k total, 0k used, 0k free, 752112k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21327 mysql 20 0 325m 46m 7096 S 0.0 2.4 9:33.24 mysqld

២៥. ពាក្យបញ្ជា df
បង្ហាញពីការប្រើប្រាស់ នៃ disk space បង្ហាញជា byte ដោយជំរើស -k ៖

[root@chaitik ~]# df -k

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 105876600 5876008 94622340 6% /
tmpfs 1017036 788 1016248 1% /dev/shm
/dev/sda1 198337 67028 121069 36% /boot
/dev/sda2 201585632 2977724 188367908 2% /opt

df -h បង្ហាញជា GB ៖

[root@chaitik ~]# df -h

Filesystem Size Used Avail Use% Mounted on
/dev/sda3 101G 5.7G 91G 6% /
tmpfs 994M 788K 993M 1% /dev/shm
/dev/sda1 194M 66M 119M 36% /boot
/dev/sda2 193G 2.9G 180G 2% /opt

ជាមួយជំរើស -T និងបង្ហាញអំពី ប្រភេទ នៃឯកសារប្រពន្ធ័ (files system) ៖

[root@chaitik ~]# df -T

Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda3 ext4 105876600 5876016 94622332 6% /
tmpfs tmpfs 1017036 788 1016248 1% /dev/shm
/dev/sda1 ext4 198337 67028 121069 36% /boot
/dev/sda2 ext4 201585632 2977724 188367908 2% /opt

២៦. ពាក្យបញ្ជា kill
ប្រើពាក្យបញ្ជានេះ ដើម្បីបញ្ឈប់ ដំណើរការ របស់ daemon ។ ជាដំបូង យើងត្រូវបង្ហាញពី process id ដោយប្រើ ps -ef
រួចហើយប្រើ kill -9 –id ដើម្បីបញ្ឈប់ ៖

$ ps -ef | grep vim

ramesh 7243 7222 9 22:43 pts/2 00:00:00 vim
$ kill -9 7243

២៧. ពាក្យបញ្ជា rm
ត្រួតពិនិត្យពត៌មាន មុនពេលលុប ឯកសារ ៖

[root@chaitik ~]# rm -i test.txt.gz

rm: remove regular file `test.txt.gz’? yes

បង្ហាញឈ្មោះ ឯកសារ និងធ្វើការបញ្ជាក់ម្ដងទៀត មុននិងលុប ៖

[root@chaitik ~]# ls -altrh hello.txt

-rw-r–r–. 1 root root 0 Aug 16 08:49 hello.txt
[root@chaitik ~]# rm -i hello.*
rm: remove regular empty file `hello.txt’? yes
[root@chaitik ~]#

លុបកន្សោម ឯកសារ (directory) ៖

[root@chaitik ~]# ls -altrh example

total 28K
-rw-r–r–. 1 root root 41 Aug 16 08:42 test2.txt.gz
dr-xr-x—. 18 root root 4.0K Aug 21 07:53 ..
drwxr-xr-x. 2 root root 4.0K Aug 21 07:53 test
drwxr-xr-x. 2 root root 4.0K Aug 21 07:53 test2
drwxr-xr-x. 2 root root 4.0K Aug 21 07:53 test3
drwxr-xr-x. 2 root root 4.0K Aug 21 07:53 test4
-rw-r–r–. 1 root root 0 Aug 21 07:54 file.txt
-rw-r–r–. 1 root root 0 Aug 21 07:54 file2.txt
-rw-r–r–. 1 root root 0 Aug 21 07:54 file3.txt
drwxr-xr-x. 6 root root 4.0K Aug 21 07:54 .
[root@chaitik ~]# rm -r example
rm: descend into directory `example’? yes
rm: remove directory `example/test3′? yes
rm: remove directory `example/test’? yes
rm: remove regular empty file `example/file.txt’? yes
rm: remove regular file `example/test2.txt.gz’? yes
rm: remove regular empty file `example/file3.txt’? yes
rm: remove directory `example/test2′? yes
rm: remove directory `example/test4′? yes
rm: remove regular empty file `example/file2.txt’ ? yes
rm: remove directory `example’? yes
[root@chaitik ~]# ls -altrh example
ls: cannot access example: No such file or directory
[root@chaitik ~]#

២៨. ពាក្យបញ្ជា cp
ថតចំលងពី file1 ទៅ file2 ដោយរក្សា mode ដដែល ( ownership and timestamp) ៖

[root@chaitik ~]# ls -altrh file1

-rw-r–r–. 1 root root 20 Aug 21 07:59 file1
[root@chaitik ~]# cat file1
111111
hellow world
[root@chaitik ~]# cp -p file1 file2
[root@chaitik ~]# cat file2
111111
hellow world
[root@chaitik ~]# ls -altrh file*
-rw-r–r–. 1 root root 20 Aug 21 07:59 file2
-rw-r–r–. 1 root root 20 Aug 21 07:59 file1

ថតចំលងពី file1 ទៅ file2 ប៉ុន្ដែ file2 មានរួចស្រេច នៅលើប្រពន្ធ័ ៖

[root@chaitik ~]# cp -i file1 file2

cp: overwrite `file2′? yes
[root@chaitik ~]#

២៩. ពាក្យបញ្ជា mv
ប្ដូរឈ្មោះ ពី file1 to file2 ។ file2 មានរួចស្រេច នៅលើប្រពន្ធ័និងធ្វើការបញ្ជាក់មុនពេល overwritting ៖

[root@chaitik ~]# ls -altrh file

-rw-r–r–. 1 root root 20 Aug 21 07:59 file1
-rw-r–r–. 1 root root 20 Aug 21 08:10 file2
[root@chaitik ~]# mv -i file1 file2
mv: overwrite `file2′? yes
[root@chaitik ~]# ls -altrh file2
-rw-r–r–. 1 root root 20 Aug 21 07:59 file2
[root@chaitik ~]#

ជាមួយជំរើស mv -f និង ប្ដូរឈ្មោះ ដោយមិនបង្ហាញ prompting ៖

[root@chaitik ~]# ls -altrh file*

-rw-r–r–. 1 root root 20 Aug 21 07:59 file2
-rw-r–r–. 1 root root 20 Aug 21 08:14 file1
[root@chaitik ~]# mv -f file1 file2
[root@chaitik ~]# ls -altrh file2
-rw-r–r–. 1 root root 20 Aug 21 08:14 file2
[root@chaitik ~]#

ចំពោះជំរើស mv -v និងបង្ហាញពីអ្វីដែលកំពុងកើតឡើង ក្នុងពេលប្ដូរឈ្មោះ ឯកសារ ៖

[root@chaitik ~]# ls -altrh file*

-rw-r–r–. 1 root root 20 Aug 21 08:14 file2
-rw-r–r–. 1 root root 20 Aug 21 08:17 file1
[root@chaitik ~]# mv -v file1 file2
mv: overwrite `file2′? yes
`file1′ -> `file2′
[root@chaitik ~]# ls -altrh file2
-rw-r–r–. 1 root root 20 Aug 21 08:17 file2
[root@chaitik ~]#

៣០. ពាក្យបញ្ជា cat
បង្ហាញ ពហុឯកសារ នូវពេលតែមួយ ៖

[root@chaitik ~]# cat file1

1
2
3
4
5
6
7
8
9
10
[root@chaitik ~]# cat file2
111111
hellow world
[root@chaitik ~]# cat file1 file2
1
2
3
4
5
6
7
8
9
10
111111
hellow world
[root@chaitik ~]#

បង្ហាញខ្លឹមសារ នៃឯកសារ ជាមួយលេខរៀងនៃបន្ទាត់និមួយៗ ៖

[root@chaitik ~]# cat -n file2

1 111111
2 hellow world
[root@chaitik ~]#

៣១. ពាក្យបញ្ជា mount
ដើម្បី mount file system ជាដំបូង យើងត្រូវបង្កើត កន្សោមឯកសារ (directory) រួចហើយយើងធ្វើការ mount វា ៖

# mkdir /u01

# mount /dev/sdb1 /u01

យើងអាចបន្ថែមវា ទៅក្នុង ឯកសារ fstab សំរាប់ auto mount ពេលដែល system

/dev/sdb1 /u01 ext2 defaults 0 2

៣២. ពាក្យបញ្ជា chmod
ប្រើសំរាប់ប្ដូរ permissions របស់ file ឬក៍ directory ៖
ផ្ដល់សិទ្ធិពេញលេញ ជាមួយ user និង group ដូចជា read, write និង execute សំរាប់ file ៖

$ chmod ug+rwx file.txt

ដកសិទ្ធិ group ដូចជា read, write និង execute ចេញពី file ៖

$ chmod g-rwx file.txt

ផ្ដល់សិទ្ធិពេញលេញ ជាមួយ user និង group ដូចជា read, write និង execute សំរាប់ file នៅក្នុង sub-directories ៖

$ chmod -R ug+rwx file.txt

៣៣. ពាក្យបញ្ជា chown
ប្រើសំរាប់ប្ដូរ owner និង group របស់ file ៖
ប្ដូរ owner ជា oracle និង group ជា dba សំរាប់ហ្វាល dbora.sh ៖

$ chown oracle:dba dbora.sh

ជាមួយជំរើស -R ប្រើសំរាប់ប្ដូរ ownership នៃ file នៅក្នុង sub-directories ៖

$ chown -R oracle:dba /home/oracle

៣៤. ពាក្យបញ្ជា passwd
ប្រើសំរាប់ប្ដូរ ពាក្យសំងាត់ ៖

$ passwd

ជាមួយ Super user យើងអាចប្រើ passwd ដើម្បី reset ពាក្យសំងាត់ របស់ user ផ្សេងទៀត ៖

# passwd USERNAME

លុបពាក្យសំងាត់ពីuser ។ ចំពោះ root user ប្រើពាក្យបញ្ជានេះ ដើម្បីបិទពាក្យសំងាត់របស់ user ។ពេលដែលបិទ ពាក្យសំងាត់ user អាច Login ដោយមិនចាំបាច់ ប្រើពាក្យសំងាត់ ។

# passwd -d USERNAME

៣៥. ពាក្យបញ្ជា mkdir
ពាក្យបញ្ជានេះប្រើសំរាប់បង្កើតកន្សោមឯកសារ (directory) ៖

[root@chaitik ~]# mkdir test

[root@chaitik ~]# ls -latrh test/
total 8.0K
dr-xr-x—. 18 root root 4.0K Aug 23 08:54 ..
drwxr-xr-x. 2 root root 4.0K Aug 23 08:54 .
[root@chaitik ~]#

បង្កើតពហុកន្សោមឯកសារ នៅក្នុងកន្សោមឯកសារតែមួយ ដោយប្រើជំរើស -p ៖

[root@chaitik ~]# ls -latrh test

total 8.0K
dr-xr-x—. 18 root root 4.0K Aug 23 08:54 ..
drwxr-xr-x. 2 root root 4.0K Aug 23 08:54 .
root@chaitik ~]# mkdir -p test/test1/test2/test3/test4
[root@chaitik ~]# ls -altrh test/test1/test2/test3/test4/
total 8.0K
drwxr-xr-x. 3 root root 4.0K Aug 23 08:57 ..
drwxr-xr-x. 2 root root 4.0K Aug 23 08:57 .
[root@chaitik ~]#

៣៦. ពាក្យបញ្ជា ifconfig
ប្រើពាក្យបញ្ជានេះ ដើម្បីបង្ហាញនិង រៀបចំដំឡើង network interface នៅក្នុង ប្រពន្ធ័ លីនុច ។
បង្ហាញរាល់ interface ទាំងអស់ ៖

[root@chaitik ~]# ifconfig -a

eth0 Link encap:Ethernet HWaddr B8:AC:6F:1E:7C:AB
inet addr:203.223.42.61 Bcast:203.223.42.63 Mask:255.255.255.192
inet6 addr: fe80::baac:6fff:fe1e:7cab/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22778730 errors:0 dropped:2760 overruns:0 frame:0
TX packets:21459996 errors:281464 dropped:0 overruns:0 carrier:281464
collisions:791391 txqueuelen:1000
RX bytes:340798604 (325.0 MiB) TX bytes:1451199589 (1.3 GiB)
Interrupt:21 Memory:fe6e0000-fe700000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:457431 errors:0 dropped:0 overruns:0 frame:0
TX packets:457431 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:871810381 (831.4 MiB) TX bytes:871810381 (831.4 MiB)
[root@chaitik ~]#

យើងអាច stop និង start ជាមួយ interface ដោយប្រើពាក្យបញ្ជា up និង down ៖

$ ifconfig eth0 up

$ ifconfig eth0 down

៣៧. ពាក្យបញ្ជា uname
ប្រើពាក្យបញ្ជានេះ ដើម្បីបង្ហាញអំពីពត៌មានសំខាន់ របស់ប្រពន្ធ័ (system) ដូចជា Kernel name, Host name, Kernel release number ។
ឧទាហរណ៍ ប្រើពាក្យបញ្ជានេះនៅលើ centos 6.3 ៖

[root@chaitik ~]# uname -a

Linux chaitik.com 2.6.32-220.17.1.el6.i686 #1 SMP Tue May 15 22:09:39 BST 2012 i686 i686 i386 GNU/Linux
[root@chaitik ~]#

៣៨. ពាក្យបញ្ជា whereis
ពេលដែលអ្នកចង់ស្វែងរកពាក្យបញ្ជាណាមួយ ដែលនៅក្នុងកន្សោមឯកសារ អ្នកអាចប្រើ whereis ៖

[root@chaitik ~]# whereis ls

ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
[root@chaitik ~]#

អ្នកអាចស្វែងរកជាមួយជំរើស -B -u ៖

[root@chaitik ~]# whereis -u -B /tmp -f lsmk

lsmk: /tmp/lsmk
[root@chaitik ~]#

៣៩. ពាក្យបញ្ជា whatis
ប្រើដើម្បីបង្ហាញ ម្ដងមួយបន្ទាត់ នៃខ្លឺមសារ ៖

[root@chaitik ~]# whatis ls

ls (1) – list directory contents
ls (1p) – list directory contents
[root@chaitik ~]# whatis ifconfig
ifconfig (8) – configure a network interface
[root@chaitik ~]#

៤០. ពាក្យបញ្ជា locate
ប្រើពាក្យបញ្ជានេះ សំរាប់ស្វែងរក ទីតាំងនៃឯកសារ ( ឬ group of files) ។
ឧទាហរណ៍ខាងក្រោមនេះ និងបង្ហាញ ពីទីតាំង នៃពាក្យ crontab ដែលមាននៅក្នុងប្រពន្ធ័ ៖

[root@chaitik ~]# locate crontab
/etc/anacrontab
/etc/crontab
/usr/bin/crontab
/usr/lib/python2.6/site-packages/sos/plugins/crontab.py
/usr/lib/python2.6/site-packages/sos/plugins/crontab.pyc
/usr/lib/python2.6/site-packages/sos/plugins/crontab.pyo
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man1p/crontab.1p.gz
/usr/share/man/man4/crontabs.4.gz
/usr/share/man/man5/anacrontab.5.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/man/man8/crontab_selinux.8.gz
/usr/share/vim/vim72/syntax/crontab.vim
/var/lib/yum/yumdb/c/fa9c81dde7d8cd3b00448e73b8a2e7b1a3c91187-crontabs-1.10-33.el6-noarch
/var/lib/yum/yumdb/c/fa9c81dde7d8cd3b00448e73b8a2e7b1a3c91187-crontabs-1.10-33.el6-noarch/checksum_data
/var/lib/yum/yumdb/c/fa9c81dde7d8cd3b00448e73b8a2e7b1a3c91187-crontabs-1.10-33.el6-noarch/checksum_type
/var/lib/yum/yumdb/c/fa9c81dde7d8cd3b00448e73b8a2e7b1a3c91187-crontabs-1.10-33.el6-noarch/from_repo
/var/lib/yum/yumdb/c/fa9c81dde7d8cd3b00448e73b8a2e7b1a3c91187-crontabs-1.10-33.el6-noarch/from_repo_revision
/var/lib/yum/yumdb/c/fa9c81dde7d8cd3b00448e73b8a2e7b1a3c91187-crontabs-1.10-33.el6-noarch/from_repo_timestamp
/var/lib/yum/yumdb/c/fa9c81dde7d8cd3b00448e73b8a2e7b1a3c91187-crontabs-1.10-33.el6-noarch/installed_by
/var/lib/yum/yumdb/c/fa9c81dde7d8cd3b00448e73b8a2e7b1a3c91187-crontabs-1.10-33.el6-noarch/reason
/var/lib/yum/yumdb/c/fa9c81dde7d8cd3b00448e73b8a2e7b1a3c91187-crontabs-1.10-33.el6-noarch/releasever
[root@chaitik ~]#

៤១. ពាក្យបញ្ជាman
ប្រើដើម្បីបង្ហាញ ពីទំព័រ ដើម នៃពាក្យបញ្ជ ៖

[root@chaitik ~]# man crontab

ពេលដែលទំព័រ man នៃពាក្យបញ្ជា ស្ថិតនូវ ជាច្រើនផ្នែក អ្នកអាចបង្ហាញវាពីផ្នែកណាមួយ ។

$ man SECTION-NUMBER commandname

មានអថេរ ៨ នៃផ្នែក នៅក្នុងទំព័រ mane ( man page) ៖១. ពាក្យបញ្ជា General
២. System calls
៣. C library functions
៤. Special files (usually devices, those found in /dev) and drivers
៥. File formats and conventions
៦. Games and screensavers
៧. Miscellaneous
៨. System administration commands and daemons
ជាឧទាហរណ៍ យើងអាចប្រើ ពាក្យបញ្ជា whatis crontab អ្នកនិងឃើញ crontab មានពីរ man pages (ផ្នែក ១ និង ផ្នែក ៥)ដើម្បីបង្ហា្ញញ ផ្នែក ៥ត្រូវធ្វើដូចខាងក្រោម

[root@chaitik ~]# whatis crontab

crontab (1) – maintain crontab files for individual users
crontab (1p) – schedule periodic background work
crontab (5) – tables for driving cron (ISC Cron V4.1)
[root@chaitik ~]# man 5 crontab

៤២. ពាក្យបញ្ជា tail
បង្ហាញ ១០ បន្ទាត់ចុងក្រោយ នៃឯកសារ ៖

[root@localhost ~]# tail /var/log/qmail/current

@400000005036bd0304c3b424 delivery 83693: success: did_1+0+0/
@400000005036bd0304c46fa4 status: local 0/10 remote 0/20
@400000005036bd0304c4f85c end msg 46727633
@400000005036bf32228e3ac4 new msg 46727341
@400000005036bf32228edaec info msg 46727341: bytes 1008824 from <meang@camnet.com.kh> qp 18465 uid 503
@400000005036bf3222df1214 starting delivery 83694: msg 46727341 to local itm@tc-voip.com.kh
@400000005036bf3222df1dcc status: local 1/10 remote 0/20
@400000005036bf3223a46d84 delivery 83694: success: did_1+0+0/
@400000005036bf3223a62304 status: local 0/10 remote 0/20
@400000005036bf3223a66d3c end msg 46727341

បង្ហាញ n បន្ទាត់ចុងក្រោយ នៃឯកសារ filename.txt ៖

$ tail -n N filename.txt

ប្រើ tail -f បង្ហាញខ្លឹមសារនៃឯកសារ តាមពេលវេលាជាក់ស្ដែង (real time) ៖

[root@localhost ~]# tail -f /var/log/qmail/current

@400000005036cb13069f1f2c new msg 46727633
@400000005036cb13069f6d4c info msg 46727633: bytes 863 from <root@mail.tc-voip.com.kh> qp 18932 uid 504
@400000005036cb1306b87f44 starting delivery 83696: msg 46727633 to local sokun@mail.tc-voip.com.kh
@400000005036cb1306b88714 status: local 2/10 remote 0/20
@400000005036cb1306b8e0ec delivery 83695: success: did_0+1+0/qp_18932/
@400000005036cb1306b9d704 status: local 1/10 remote 0/20
@400000005036cb1306ba6b74 end msg 46727341
@400000005036cb1306e5c904 delivery 83696: success: did_1+0+0/
@400000005036cb1306e6809c status: local 0/10 remote 0/20
@400000005036cb1306e718f4 end msg 46727633

ប្រើ CTRL+C ដើម្បីចាកចេញ ។
សូមរង់ចាំអាន នៅអត្ថបទខាងក្រោយ។
៤៣. ពាក្យបញ្ជា less
less ពាក្យបញ្ជានេះ មានភាពងាយស្រួយ ក្នុងការបង្ហាញ ពី log files ៖

[root@localhost ~]# less /var/log/qmail/current

ពេលដែលអ្នកប្រើ less ដើម្បីបើកឯកសារ មាន២ ពាក្យ សំខាន់ប្រើជាមួយ ៖

CTRL+F – forward one window
CTRL+B – backward one window

សូមរង់ចាំអាន នៅអត្ថបទខាងក្រោយ។
៤៤. ពាក្យបញ្ជា su
ប្រើពាក្យនេះ សំរាប់ផ្លាស់ប្ដូរ ពីគណនីមួយ ទៅកាន់ គណនីមួយទៀត នៃអ្នកប្រើប្រាស់ ។ ពី supper user អាច ផ្លាស់ប្ដូរ ទៅកាន់គ្រប់ គណនី ។
ប៉ុន្ដែ ពីគ្រប់គណនី ប្ដូរទៅកាន់ supper user វាតម្រូវអោយវាយ ពាក្យសំងាត់ ៖

[root@localhost ~]# su sokun

[sokun@localhost root]$ su root
Password:
[root@localhost ~]#

ជាមួយ ពាក្យបញ្ជា su តែមួយ យើងអាចប្រើពាក្យបញ្ជា ពីគណនីផ្សេង តែមិនផ្លាស់ប្ដូរគណនីទេ ៖

[root@localhost ~]# su – sokun -c ‘ls’
Desktop Maildir TraceLog
[root@localhost ~]#

Login ជាមួយគណនីណាមួយ ដោយកំណត់ shell ៖

$ su -s ‘SHELLNAME’ USERNAME

៤៥. ពាក្យបញ្ជា mysql
mysql ត្រូវបានគេប្រើប្រាស់យ៉ាងទូលមទូលាយ ជាមួយ open source database នៅក្នុង លីនុច ។ទោះបីជាអ្នក មិនប្រើ mysql database នៅលើ server តែអ្នកអាច ប្រើពាក្យបញ្ជា mysql ដើម្បី ភ្ជាប់ទៅកាន់ mysql database ដែលដំណើរការ នៅលើ remote server ៖

$ mysql -u root -p -h 192.168.1.2

ភ្ជាប់ទៅកាន់ local mysql database ៖

$ mysql -u root -p

៤៦. ពាក្យបញ្ជា yum
ជាឧទាហរណ៍ ប្រើ yum ដើម្បីដំឡើង apache ធ្វើជា web server ៖

$ yum install httpd

ឬក៍ប្រើពាក្យនេះដើម្បី update ៖

$ yum update httpd

ឬក៍ ប្រើ ដើម្បី​ uninstall/remove ៖

$ yum remove httpd

៤៧. ពាក្យបញ្ជាrpm
​​យើងអាចដំឡើង apache ដោយប្រើ rpm ៖

# rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm

ដើម្បី upgrade apache ប្រើ ៖

# rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm
ដើម្បី uninstall/remove apache ប្រើ ៖

# rpm -ev httpd

៤៨. ពាក្យបញ្ជាping
ប្រើ ping ទៅកាន់ host ពីចំងាយ ដោយផ្ញើត្រឹមតែ ៥ packets ៖

$ ping -c 5 gmail.com

៤៩. ពាក្យបញ្ជាdate
ដំឡើងប្រតិទិន របស់ប្រពន្ធ័ ៖

# date -s “01/31/2010 23:59:53”

ពេលដែលអ្នកផ្លាស់ប្ដូរ ប្រតិទិនរបស់ប្រពន្ធ័ យើងគួរតែធ្វើការ syncronize ជាមួយ hardware clock ៖

# hwclock –systohc

# hwclock –systohc –utc

៥០. ពាក្យបញ្ជា wget
យើងអាចទាញយក ដូចជា software, music, video ពី internet ដោយប្រើ wget ៖

$ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz

ទាញយកនិងរក្សាទុក​ ដោយប្ដូរឈ្មោះ ៖

$ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701