32
LINUX SHELL (1) 357362 – Special Problems in Electronics Asst. Prof. Dr. Choopan Rattanapoka

Linux Shell (1)

  • Upload
    hunter

  • View
    52

  • Download
    3

Embed Size (px)

DESCRIPTION

Linux Shell (1). 357362 – Special Problems in Electronics Asst. Prof. Dr. Choopan Rattanapoka. Introduction. การใช้งาน Linux ด้วย command line สามารถเข้าถึงได้ 3 วิธี Virtual Terminal Graphical Terminal Remote Terminal (Telnet, SSH) - PowerPoint PPT Presentation

Citation preview

Page 1: Linux Shell (1)

LINUX SHELL (1)357362 – Special Problems in Electronics

Asst. Prof. Dr. Choopan Rattanapoka

Page 2: Linux Shell (1)

Introduction

การใช้�งาน Linux ด้�วย command line สามารถเข้�า ถ�งได้� 3 ว�ธี�

Virtual Terminal Graphical Terminal Remote Terminal (Telnet, SSH)

คำ�าส��งทุ�กคำ�าส��งใน command line จะทุ�างานผ่�านส��ง “แวด้ล้�อมทุ��เร�ยกว�า Shell”

ใน Linux ม� shell ให้�เล้$อกใช้�งานห้ล้ายช้น�ด้ แต่�ช้น�ด้ทุ�� ได้�ร�บคำวามน�ยมแล้ะใช้�ก�นมากก'คำ$อ BASH (Bourne-

again shell)

Page 3: Linux Shell (1)

Linux Shell

เม$�อเปิ)ด้ terminal ข้�*นมาจะม� command prompt ซึ่��งเปิ,น Linux shell

Prompt จะม�รายล้ะเอ�ยด้ด้�งน�*[choopan@localhost ~]$

ช้$�อบ�ญช้�ผ่.�ใช้�งานช้$�อเคำร$�องทุ��ใช้�งานPath ทุ��ก�าล้�งทุ�างาน

ส�ทุธี�ข้องผ่.�ใช้�$ = ผ่.�ใช้�ทุ� �วไปิ# = ผ่.�ด้.แล้ระบบ

Page 4: Linux Shell (1)

คำ�าส��ง whoami

ใน Linux ม�คำ�าส��งทุ��ใช้�ต่รวจสอบว�า ข้ณะน�*ผ่.�ใช้�เปิ,นใคำร คำ�าส��งน�*นคำ$อwhoami

Page 5: Linux Shell (1)

คำ�าส��งส�าห้ร�บเปิล้��ยนผ่.�ใช้�งาน ปิกต่�จะปิล้อด้ภั�ยในการ Login เข้�า Linux เปิ,นผ่.�ใช้�ธีรรมด้า

มากกว�าเปิ,น root เน$�องจาก บางทุ�อาจไปิล้บแฟ้2มข้�อม.ล้ระบบโด้ยไม�ได้�ต่�*งใจได้�

แต่�ผ่.�ใช้�ก'สามารถเข้�าทุ�างานเปิ,น root ในภัายห้ล้�งได้�ห้ล้�ง จากทุ�� Login “เข้�ามาเปิ,นผ่.�ใช้�ธีรรมด้า ด้�วยคำ�าส��ง su”

กด้ Ctrl+D ห้ร$อพิ�มพิ5 exit แล้�ว Enter เพิ$�อออกจากshell ข้อง root

Page 6: Linux Shell (1)

คำ�าส��งจ�ด้การ Directory

คำ�าส��งทุ��ใช้�จ�ด้การแฟ้2มข้�อม.ล้ แล้ะ Directory ทุ��ส�าคำ�ญม�ด้�งน�* pwd แสด้งต่�าแห้น�ง directory ปิ6จจ�บ�น cd เปิล้��ยนต่�าแห้น�งข้อง directory ทุ��ทุ�างาน mkdir สร�าง Directory ข้�*นให้ม� mv เปิล้��ยนช้$�อ ห้ร$อ เปิล้��ยนต่�าแห้น�งแฟ้2มข้�อม.ล้ห้ร$อ directory ls ด้.รายช้$�อแฟ้2มข้�อม.ล้ แล้ะ directory rm ล้บแฟ้2มข้�อม.ล้ rmdir ล้บ directory

ทุด้ล้องใช้�คำ�าส��งจ�ด้การ Directory สร�าง directory ช้$�อ Hello ทุ��อย.�ภัายใน directory ช้$�อ Test ทุ��อย.�

ภัายใต่� home directory (รอต่รวจ) ล้บ directory ทุ��เพิ��งสร�างออก

Page 7: Linux Shell (1)

Linux Filesystem (1)

แฟ้2มข้�อม.ล้ในคำอมพิ�วเต่อร5 ปิกต่�จะใช้�เก'บข้�อม.ล้ต่�างๆ รวมถ�งโปิรแกรม ฐานข้�อม.ล้ ภัาพิ ห้น�ง เพิล้ง

ซึ่��งแฟ้2มข้�อม.ล้ข้องระบบใน Linux จะถ.กรวมก�นอย.�ใน directory ( ห้ร$อ folder) ต่�างๆ Directory ทุ��ส�าคำ�ญๆ ข้อง Linux ม�ด้�งน�*

root เปิ,น home directory ข้องผ่.�ด้.แล้ระบบ home เปิ,น directory ทุ��เก'บ home ข้องผ่.�ใช้� bin เปิ,นทุ��เก'บคำ�าส��งพิ$*นฐานข้อง Linux sbin เปิ,นทุ��เก'บคำ�าส��งเฉพิาะข้องผ่.�ด้.แล้ระบบ lib ทุ��เก'บ library ส�าคำ�ญข้องระบบ usr เก'บโปิรแกรมทุ��ต่�ด้ต่�*ง

usr/bin คำ�าส��งทุ��เร�ยกใช้�งานโปิรแกรม usr/sbin คำ�าส��งเฉพิาะข้องผ่.�ด้.แล้ระบบ usr/lib library ทุ��จ�าเปิ,นข้องโปิรแกรม

Page 8: Linux Shell (1)

Linux Filesystem (2)

var เก'บข้�อม.ล้ต่�างๆเช้�น log, database, web, mail boot เก'บแฟ้2มข้�อม.ล้ส�าคำ�ญในการ boot ระบบ etc เก'บแฟ้2มข้�อม.ล้ config ต่�างๆ ข้องโปิรแกรมระบบ lost+foundเก'บแฟ้2มข้�อม.ล้ทุ��ก.�คำ$นห้ล้�งจากระบบล้�มเห้ล้ว media ต่�าแห้น�งการเช้$�อมต่�อข้องอ�ปิกรณ5แบบ dynamic อ�ต่โนม�ต่�(USB

key, CD-rom) misc ต่�าแห้น�งทุ��วไปิต่อนเช้$�อมต่�อก�บ NFS srv ทุ��เก'บข้�อม.ล้ข้อง web, ftp, cvs mnt ต่�าแห้น�งเช้$�อมต่�ออ�ปิกรณ5 (CD-ROM, remote file) opt ทุ��ต่�ด้ต่�*งโปิรแกรม 3rd-party proc เก'บแฟ้2มข้�อม.ล้เก��ยวก�บข้�อม.ล้ข้องระบบทุ��ก�าล้�งทุ�างาน dev ต่�าแห้น�งเช้$�อมต่�อก�บ hardware (HDD, network card) selinux เก'บการปิร�บแต่�งคำ�าข้อง SELinux tmp เก'บแฟ้2มข้�อม.ล้ช้��วคำราว

Page 9: Linux Shell (1)

ส�ทุธี�การเข้�าใช้�งานแฟ้2มข้�อม.ล้ เม$�อใช้�คำ�าส��ง “ls -l” เพิ$�อแสด้ง list รายล้ะเอ�ยด้ข้อง

แฟ้2มข้�อม.ล้ห้ร$อ Directory ส��งทุ��จะเห้'นในคำอล้�มแรกคำ$อส�ทุธี�การเข้�าใช้�งานข้องแฟ้2มข้�อม.ล้

ใน Linux จะม�ส�ทุธี�ด้�วยก�น 3 ระด้�บ เจ�าข้องแฟ้2มข้�อม.ล้ กล้��มข้องเจ�าข้องแฟ้2มข้�อม.ล้ ทุ�กคำน

Page 10: Linux Shell (1)

รายล้ะเอ�ยด้แฟ้2มข้�อม.ล้

drwxrwxrwx all

group user directory

rwx r = read w = write x = execute จ�านวน link ห้ร$อแฟ้2มข้�อม.ล้ทุ��อย.�ใน directory

เจ�าข้องแฟ้2มข้�อม.ล้

กล้��มข้องแฟ้2มข้�อม.ล้

ข้นาด้ข้องแฟ้2มข้�อม.ล้

ว�นเวล้าทุ��สร�างแฟ้2มข้�อม.ล้ช้$�อแฟ้2มข้�อม.ล้

Page 11: Linux Shell (1)

ช้น�ด้ข้องแฟ้2มข้�อม.ล้ (File types)

- แฟ้2มข้�อม.ล้ปิกต่� d แฟ้2มข้�อม.ล้ปิระเภัทุ directory l แฟ้2มข้�อม.ล้ปิระเภัทุ soft link b block device (HDD, CD-ROM) c character device (modem) s socket เช้$�อมต่�อแบบ network p แฟ้2มข้�อม.ล้ปิระเภัทุ pipe

Page 12: Linux Shell (1)

การปิร�บส�ทุธี�การเข้�าถ�งข้องแฟ้2ม ข้�อม.ล้ (1)

คำ�าส��ง “chmod” (change mode) ใช้�ส�าห้ร�บแก�ไข้ส�ทุธี�การเข้�าถ�งแฟ้2มข้�อม.ล้

ส�ทุธี�ข้องแฟ้2มข้�อม.ล้ม� 3 ช้�*นคำ$อ ผ่.�ใช้� (user) u กล้��ม (group) g ทุ�กคำน (all) a

การเข้�าถ�งแฟ้2มข้�อม.ล้ม� 3 แบบคำ$อ อ�าน (read) r เข้�ยน (write) w เร�ยกใช้�งาน (execute) x

ต่�วอย�าง ต่�องการเข้�ยนแฟ้2มข้�อม.ล้ช้$�อ myfile.txt ให้�คำนในกล้��มเข้�ยนได้� chmod g+w myfile.txt

Page 13: Linux Shell (1)

การปิร�บส�ทุธี�การเข้�าถ�งข้องแฟ้2ม ข้�อม.ล้ (2)

การปิร�บส�ทุธี�การเข้�าถ�งแฟ้2มข้�อม.ล้บางคำร�*งทุ�าสะด้วกกว�าเม$�อใช้�เปิ,นต่�วเล้ข้

ต่�วเล้ข้จะถ.กแบ�งออกเปิ,น 3 ช้�ด้ ข้อง ผ่.�ใช้�, กล้��ม, แล้ะ ทุ�กคำน ซึ่��งแต่�ล้ะช้�ด้จะม�ส�ทุธี�ในการอ�าน, เข้�ยน, เร�ยกใช้�งาน ด้�งน�*

r w x4 2 1

ต่�วอย�าง ถ�าต่�องการปิร�บส�ทุธี�การเข้�าถ�งแฟ้2มข้�อม.ล้ myfile.txt ให้� ผ่.�ใช้� ม�ส�ทุธี�ทุ�กอย�างคำ$อ อ�าน เข้�ยน แล้ะเร�ยกใช้�งาน กล้��ม ม�ส�ทุธี�ในการการอ�าน ทุ�กคำน ไม�ม�ส�ทุธี�ใด้ๆในแฟ้2มข้�อม.ล้น�*เล้ย chmod 740 myfile.txt

Page 14: Linux Shell (1)

แบบฝึ;กห้�ด้ คำ�าส��ง “touch” ใน Linux ม�ไว�เพิ$�อสร�างแฟ้2มข้�อม.ล้ว�างข้�*นมา

ว�ธี�ใช้� : touch <ช้$�อแฟ้2มข้�อม.ล้> ให้�สร�างแฟ้2มข้�อม.ล้ว�างข้�*นมา 2 แฟ้2มข้�อม.ล้ช้$�อ

testpriv1 แล้ะ testpriv2

ให้�ปิร�บส�ทุธี�แฟ้2มข้�อม.ล้ testpriv1 ให้� ผ่.�ใช้�ม�ส�ทุธี�ทุ�กอย�าง กล้��ม แล้ะ ทุ�กคำน สามารถเร�ยกใช้�งานได้�อย�างเด้�ยว

ให้�ปิร�บส�ทุธี�แฟ้2มข้�อม.ล้ testpriv2 ให้� ผ่.�ใช้� ม�ส�ทุธี�ทุ�กอย�าง กล้��ม ม�ส�ทุธี�ทุ�กอย�าง ทุ�กคำน สามารถอ�านแล้ะเร�ยกใช้�งานได้�

Page 15: Linux Shell (1)

Text Editor : vi

การใช้�งานสร�างแล้ะแก�ไข้แฟ้2มข้�อม.ล้ใน Linux ถ�าทุ�า ผ่�าน command line จะม� text editor ทุ��น�ยมมาก

คำ$อ vi การใช้�งานข้องโปิรแกรม vi คำ�อนข้�างจะซึ่�บซึ่�อนส�าห้ร�บ

ผ่.�เร��มต่�นใช้�งาน แต่�เม$�อใช้�งานคำล้�องแล้�วจะสามารถ ทุ�างานได้�ม�ปิระส�ทุธี�ภัาพิมากข้�*นกว�า text editor ต่�ว

อ$�น โปิรแกรม vi เปิ,นโปิรแกรมมาต่รฐานใน Linux แล้ะ

Unix ต่�างๆ ทุ�าให้�สามารถทุ�างานก�บ Linux ได้�ทุ�กปิระเภัทุ

Page 16: Linux Shell (1)

โห้มด้การทุ�างานข้อง vi

โปิรแกรม vi จะแบ�งการทุ�างานออกเปิ,น 2 โห้มด้คำ$อ โห้มด้คำ�าส� �ง โห้มด้การแก�ไข้เอกสาร

เม$�อเร��มใช้�งาน vi ผ่�านคำ�าส��งvi ช้$�อแฟ้2มข้�อม.ล้

โปิรแกรมจะเร��มต่�นทุ��โห้มด้คำ�าส��ง ถ�าแฟ้2มข้�อม.ล้ทุ��ต่�องการไม�ม�อย.�ในระบบ vi จะสร�างแฟ้2มข้�อม.ล้น�*นข้�*นมา

ถ�าแฟ้2มข้�อม.ล้ทุ��ต่�องการม�อย.�ในระบบ vi จะเปิ)ด้แฟ้2มข้�อม.ล้น�*นข้�*นมาแก�ไข้

การเปิล้��ยนโห้มด้ใน vi ให้�กล้�บมาอย.�ในโห้มด้คำ�าส��ง จะต่�องกด้ ESC

Page 17: Linux Shell (1)

คำ�าส��งข้อง vi ในโห้มด้คำ�าส��งคำ��สั่��ง คำ��อธิบ�ย

Up arrow, k เล้$�อน cursor ข้�*นข้�างบน 1 บรรทุ�ด้Down arrow, j เล้$�อน cursor ล้งข้�างล้�าง 1 บรรทุ�ด้Left arrow, h เล้$�อน cursor ไปิทุางซึ่�าย 1 ต่�วอ�กษรRight arrow, l เล้$�อน cursor ไปิทุางข้วา 1 ต่�วอ�กษร:q ออกจากโปิรแกรม:q! บ�งคำ�บให้�ออกจากโปิรแกรม:w บ�นทุ�กแฟ้2มข้�อม.ล้:wq , ZZ บ�นทุ�กแฟ้2มข้�อม.ล้ แล้ะออกจากโปิรแกรมx ล้บต่�วอ�กษรทุ�� cursor ช้�*อย.�dw ล้บ 1 คำ�าทุ�� cursor ช้�*อย.�dd ล้บ 1 บรรทุ�ด้ทุ�� cursor ช้�*อย.�

Page 18: Linux Shell (1)

คำ�าส��งข้อง vi ในโห้มด้คำ�าส��ง (2)

คำ��สั่��ง คำ��อธิบ�ย/ <text> คำ�นห้าคำ�าในแฟ้2มข้�อม.ล้n คำ�นห้าคำ�าถ�ด้ไปิu undoyy Copy ข้�อคำวามบรรทุ�ด้ทุ�� cursor ช้�*อย.�yw Copy ข้�อคำวามห้น��งคำ�าทุ�� cursor ช้�*อย.�p Paste ข้�อม.ล้ทุ�� copy ไว�ล้งในแฟ้2มข้�อม.ล้i แทุรกข้�อม.ล้ล้งในแฟ้2มข้�อม.ล้ต่�าแห้น�งทุ�� cursor ช้�*อย.�I แทุรกข้�อม.ล้ต่�าแห้น�งทุ�ายส�ด้ข้องบรรทุ�ด้ทุ�� cursor ช้�*

อย.�<ต่�วเล้ข้>G ไปิทุ��บรรทุ�ด้ <ต่�วเล้ข้>

Page 19: Linux Shell (1)

แบบฝึ;กห้�ด้ ให้�สร�างแฟ้2มข้�อม.ล้ช้$�อ hello โด้ยพิยายามฝึ;กห้�ด้ใช้�โปิรแกรม vi ม�ข้�อคำวามด้�งน�*

Hello everybodyThis is my text file created by viTry to copy the following line 5 timesHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldTry to save this file with :welloXHelloWorldX

Page 20: Linux Shell (1)

ด้.เน$*อห้าในแฟ้2มข้�อม.ล้ คำ�าส��งทุ��ใช้�ด้.เน$*อห้าในแฟ้2มข้�อม.ล้

cat ช้$�อแฟ้2มข้�อม.ล้ เม$�อต่�องการด้.เน$*อห้าห้ล้ายแฟ้2มข้�อม.ล้ต่�อก�น

cat ช้$�อแฟ้2มข้�อม.ล้1 ช้$�อแฟ้2มข้�อม.ล้2

คำ�าส��งทุ��ใช้�ด้.แฟ้2มข้�อม.ล้ยาวๆ แต่�ต่�ด้ให้�เห้'นทุ��ล้ะห้น�าmore ช้$�อแฟ้2มข้�อม.ล้

ต่�วพิ�ฒนาต่�อจากคำ�าส��ง more ให้�ม�การทุ�างานทุ��สะด้วกมากข้�*น

less ช้$�อแฟ้2มข้�อม.ล้

Page 21: Linux Shell (1)

ด้.เน$*อห้าในแฟ้2มข้�อม.ล้บางส�วน คำ�าส��งทุ��ใช้�ด้.ข้�อม.ล้ส�วนห้�วข้องแฟ้2มข้�อม.ล้

head ช้$�อแฟ้2มข้�อม.ล้ คำ�าส��งทุ��ใช้�ด้.ข้�อม.ล้ส�วนทุ�ายข้องแฟ้2มข้�อม.ล้

tail ช้$�อแฟ้2มข้�อม.ล้ ทุ�*ง head แล้ะ tail ม� option ทุ��น�ยมใช้�คำ$อ -n จ�านวนบรรทุ�ด้ head -n 10 ช้$�อแฟ้2มข้�อม.ล้

แสด้งเน$*อห้าในแฟ้2มข้�อม.ล้ 10 บรรทุ�ด้เร��มน�บจากบรรทุ�ด้ทุ�� 1 tail -n 10 ช้$�อแฟ้2มข้�อม.ล้

แสด้งเน$*อห้าในแฟ้2มข้�อม.ล้ 10 บรรทุ�ด้น�บจากบรรทุ�ด้ส�ด้ทุ�ายข้องแฟ้2มข้�อม.ล้

Page 22: Linux Shell (1)

แฟ้2มข้�อม.ล้ปิระเภัทุ link

ใน Linux แฟ้2มข้�อม.ล้ปิระเภัทุ link จะม�ด้�วยก�น 2 ปิระเภัทุ คำ$อ Soft link Hard link

Soft link ทุ�าห้น�าทุ��เห้ม$อน shortcut ใน Windows คำ$อเปิ,นแคำ�ต่�วช้�*ไปิห้าแฟ้2มข้�อม.ล้ต่�นฉบ�บ ว�ธี�การสร�าง softlink “ทุ�าได้�โด้ยใช้�คำ�าส��ง ln –s TARGET link_name” ถ�าแฟ้2มข้�อม.ล้ต่�นฉบ�บถ.กล้บทุ�*ง softlink จะไม�สามารถคำ�นห้าแฟ้2มข้�อม.ล้ได้�

Hard link เปิ,นแฟ้2มข้�อม.ล้พิ�เศษข้อง Linux ซึ่��งเปิ,นการสร�างเน$*อห้า ข้�อม.ล้ร�วมก�น ถ�งแฟ้2มข้�อม.ล้ไห้นจะถ.กล้บถ�าย�งม�ต่�วช้�*อย.�ก'ย�งไม�ห้ายไปิ

จากระบบ ว�ธี�สร�าง hardlink “ทุ�าได้�โด้ยใช้�คำ�าส��ง ln TARGET link_name”

Page 23: Linux Shell (1)

ทุด้สอบการใช้�งานข้อง Link

สร�าง soft link ช้$�อ ect ช้�*ไปิห้าแฟ้2ม hello ทุ��สร�างข้�*น

สร�าง hard link ช้$�อ cit ช้�*ไปิห้าแฟ้2ม hello ทุ��สร�างข้�*น

ล้องด้.ข้�อม.ล้ภัายใน link ect แล้ะ cit ด้�วยคำ�าส��งcat

แก�ไข้แฟ้2มข้�อม.ล้ hello เพิ��ม รห้�สน�กศ�กษา ไปิทุ��บรรทุ�ด้ส�ด้ทุ�าย

ล้องด้.ข้�อม.ล้ภัายใน link ect แล้ะ cit ด้�วยคำ�าส��งcat

ล้บแฟ้2มข้�อม.ล้ hello ล้องด้.ข้�อม.ล้ภัายใน link ect แล้ะ cit ด้�วยคำ�าส��ง

cat

Page 24: Linux Shell (1)

คำ�าส��งเก��ยวก�บ text processing

Command

Usage Description

wc wc <ช้$�อแฟ้2มข้�อม.ล้> น�บจ�านวนคำ�าทุ��อย.�ในแฟ้2มข้�อม.ล้

grep grep <ข้�อคำวาม> <ช้$�อแฟ้2มข้�อม.ล้>

คำ�นห้าข้�อคำวามในแฟ้2มข้�อม.ล้

cut cut <ช้$�อแฟ้2มข้�อม.ล้> ต่�ด้คำ�าในแฟ้2มข้�อม.ล้sort sort <ช้$�อแฟ้2มข้�อม.ล้> เร�ยงคำ�าในแฟ้2มข้�อม.ล้

wc ม� option ทุ��ใช้�คำวบคำ.�ไปิด้�วยคำ$อ -l น�บจ�านวนบรรทุ�ด้ข้องแฟ้2มข้�อม.ล้ -w น�บจ�านวนคำ�าข้องเน$*อห้าในแฟ้2มข้�อม.ล้

-c น�บจ�านวนต่�วอ�กษรในแฟ้2มข้�อม.ล้

Page 25: Linux Shell (1)

คำ�าส��ง grep

grep เปิ,นคำ�าส��งทุ��ใช้�คำ�นห้าคำ�าในแฟ้2มข้�อม.ล้ การใช้�งานทุ��ง�ายทุ��ส�ด้เช้�น grep root /etc/passwd เปิ,นการคำ�นห้าบรรทุ�ด้ทุ��ม�คำ�าว�า root ในแฟ้2มข้�อม.ล้

/etc/passwd คำ�าส��ง grep สามารถใช้�ในการคำ�นห้าคำ�าทุ��ม�คำวามซึ่�บ

ซึ่�อนมากข้�*นได้� โด้ยจะม�การใช้�งานคำ.�ก�บ regular expression (option –r)

Regular expression ห้ร$อบางคำร�*งเราสามารถ เร�ยกได้�ว�าเปิ,น pattern ข้องข้�อคำวาม

Page 26: Linux Shell (1)

Regular expression

Pattern Usage

[aeiou] Matching 1 ต่�วอ�กษร a, e, i, o, ห้ร$อ u

[a-z] Matching ต่�วอ�กษร a ถ�ง z

[a-z][A-Z] Matching ต่�วอ�กษร a ถ�ง z แล้ะต่ามด้�วยต่�วอ�กษรA ถ�ง Z

^<pattern>

Matching บรรทุ�ด้ทุ��ข้�*นต่�นด้�วย pattern

<pattern>$ Matching บรรทุ�ด้ทุ��ล้งทุ�ายด้�วย pattern^[a-z][0-9]$ Matching บรรทุ�ด้ทุ��ม�ต่�วอ�กษร a ถ�ง z แล้ะต่ามด้�วย

ต่�วเล้ข้. Matching ต่�วอ�กษร 1 ต่�ว<pattern>+

Matching pattern ซึ่�*าก�น 1 ห้ร$อ มากกว�า

<pattern>* Matching pattern ซึ่�*าก�น 0 ห้ร$อ มากกว�า<pattern>? Matching pattern ซึ่�*าก�น 0 ห้ร$อ 1 คำร�*ง

Page 27: Linux Shell (1)

แบบฝึ;กห้�ด้ grep -r

ใช้�งานคำ�าส��ง grep บนแฟ้2มข้�อม.ล้ hello เพิ$�อแสด้งบรรทุ�ด้ทุ��ม� Hello เพิ$�อแสด้งบรรทุ�ด้ทุ��ข้�*นต่�นด้�วย Hello เพิ$�อแสด้งบรรทุ�ด้ทุ��ม� World เพิ$�อแสด้งบรรทุ�ด้ทุ��ล้งทุ�ายด้�วย World เพิ$�อแสด้งเฉพิาะบรรทุ�ด้ทุ��ทุ� *งบรรทุ�ด้ม�คำ�าว�า HelloWorld เพิ$�อแสด้งเฉพิาะบรรทุ�ด้ทุ��ม�ต่�วอ�กษร 4 ต่�ว

Page 28: Linux Shell (1)

คำ�าส��ง cut

cut เปิ,นคำ�าส��งส�าห้ร�บต่�ด้คำ�าม� option ทุ��ส�าคำ�ญคำ$อ -c เปิ,นการเล้$อกต่�ด้ล้�าด้�บต่�วอ�กษรทุ��ก�าห้นด้ -f เล้$อกฟ้)ล้ด้5ทุ��ต่�องการ -d เปิ,นการก�าห้นด้ต่�วอ�กษรทุ��ใช้�ในการต่�ด้คำ�า

(delimiter) โด้ยทุ�� -c แล้ะ -f จะม�การก�าห้นด้คำ�าได้� 5 ร.ปิแบบ

N ต่�ด้เฉพิาะต่�าแห้น�ง N N- ต่�ด้ต่�*งแต่� N ถ�งส�ด้บรรทุ�ด้ N-M ต่�ด้ต่�*งแต่� N ถ�ง M -M ต่�ด้ต่�*งแต่�ต่�*งบรรทุ�ด้ถ�ง M N,M,.. เอาเฉพิาะต่�าแห้น�งทุ�� N, M, … ออกมา

Page 29: Linux Shell (1)

การใช้�งานคำ�าส��ง cut

ล้องด้.ข้�อม.ล้ใน /etc/passwd ต่�วอย�าง : root:x:0:0:root:/root:/bin/bash

username:password:userID:groupID:name:HomeDirectory:shell

ใช้�คำ�าส��ง cut เพิ$�อเอาแต่� username ออกมา cut -d”:” -f1 /etc/passwd

ใช้�คำ�าส��ง cut เพิ$�อเอา username แล้ะ userID ออกมา cut -d”:” -f1,3 /etc/passwd

ใช้�คำ�าส��ง cut เอาต่�วอ�กษร 3 ต่�วแรกข้องแต่�ล้ะบรรทุ�ด้มาแสด้ง cut -c-3 /etc/passwd cut -c1-3 /etc/passwd

Page 30: Linux Shell (1)

การใช้�งานคำ�าส��ง sort

sort ใช้�ส�าห้ร�บเร�ยงข้�อคำวามห้ร$อต่�วเล้ข้ การใช้�งาน sort [option] ช้$�อแฟ้2มข้�อม.ล้ ต่�วอย�าง ต่�องการเร�ยงข้�อม.ล้ข้อง /etc/passwd ต่ามต่�วอ�กษร sort /etc/passwd

option -n ใช้�ส�าห้ร�บเร�ยงล้�าด้�บทุ��เปิ,นต่�วเล้ข้ sort -n ช้$�อแฟ้2มข้�อม.ล้

Page 31: Linux Shell (1)

Help ใน Linux

เน$�องด้�วยคำ�าส��งใน Linux น�*นม�มากมาย Linux จ�งม� help ช้�วยเห้ล้$อเอาไว�ให้�

คำ�าส��ง help ใน Linux “คำ$อ man” (manual) ต่�วอย�าง : อยากด้. help ข้องคำ�าส��ง ls

man ls

Page 32: Linux Shell (1)

แบบฝึ;กห้�ด้ (ทุ�าส�ง)

จงเข้�ยนคำ�าส��ง shell เพิ$�อแสด้งข้�อม.ล้ต่�อไปิน�* แสด้งข้�อม.ล้ในแฟ้2มข้�อม.ล้ a.txt เร�ยงต่�วเล้ข้จากน�อยไปิมาก แสด้งข้�อม.ล้ในแฟ้2มข้�อม.ล้ b.txt เร�ยงต่ามต่�วอ�กษร แสด้งข้�อม.ล้แสด้งฟ้)ล้ด้5ทุ�� 1 แล้ะ 3 ข้องแฟ้2มข้�อม.ล้ c.txt แสด้งข้�อม.ล้ในแฟ้2มข้�อม.ล้ b.txt เฉพิาะบรรทุ�ด้ทุ��ข้ล้งทุ�ายด้�วย ob แสด้งข้�อม.ล้ในแฟ้มข้�อม.ล้ a.txt เฉพิาะบรรทุ�ด้ทุ�� 3

ให้�สร�างแฟ้2มข้�อม.ล้ด้�งต่�อไปิน�*10504030

a.txt

BobAliceTomDavidb.txt

Bob:90:AAlice:40:FTom:60:C+David:74:B

c.txt