ลีนุกซ์ (Linux)
Linux #ls
คำสั่ง ls

คำสั่ง ls ย่อมาจาก List คือ คำสั่งสำหรับแสดงรายชื่อแฟ้ม ขนาดแฟ้ม และข้อมูลเบื้องต้นของแต่ละแฟ้ม ที่จัดเก็บในห้องเก็บข้อมูล (Directory หรือ Folder)

ls - list directory contents
List information about the FILEs (the current directory by default).

การแสดงรายชื่อแฟ้ม ทางจอภาพ หรือ console เป็นความสามารถปกติของคำสั่งนี้ ที่ใช้ประจำ แต่อีกการประยุกต์ใช้ที่ชอบ คือ การแสดงรายชื่อแฟ้มไปสร้างแฟ้มใหม่ เพื่อใช้ทดสอบเกี่ยวกับการจัดการแฟ้ม โดยสร้างแฟ้มขึ้นทันที เช่น คำสั่ง ls > a เพื่อให้ได้แฟ้มชื่อ a อย่างรวดเร็ว ถ้าต้องการเพิ่มขนาดหรือข้อมูลในแฟ้ม ก็จะใช้ ls >>a เพื่อเพิ่มต่อท้ายแฟ้มเดิม ซึ่งเป็นความรู้ที่ทราบมาจากระบบ DOS

การแสดงขนาดของแฟ้ม ด้วยคำสั่ง ls -l ซึ่งเป็นขนาดข้อมูลที่อยู่ในแฟ้ม เช่น แฟ้มที่มีตัวอักษร 3 ตัวก็จะใช้ 3 bytes แต่ระบบปฏิบัติการส่วนใหญ่ไม่ได้ใช้พื้นที่ในดิสก์ (disk) เพียง 3 bytes แต่ใช้เท่าขนาดกล่อง (block) ซึ่งอุปกรณ์แต่ละประเภทจะมีขนาดกล่อง (block) ไม่เท่ากัน

การแสดงการใช้พื้นที่ในดิสก์ สามารถใช้คำสั่ง ls -s ซึ่งแฟ้มจะใช้พื้นที่ในดิสก์เริ่มที่จำนวน 8 sectors ต่อกล่อง แม้แฟ้มเหล่านั้นจะมีขนาดเล็กกว่า แต่เป็นไปตามข้อกำหนดของระบบแฟ้มในแต่ละอุปกรณ์ บางอุปกรณ์ที่มี IO Block = 4096 bytes แต่บางอุปกรณ์อาจเป็น 2048 bytes หรือ 4 sectors สามารถใช้คำสั่ง $blockdev --getbsz /dev/sda หรือ $stat [file-name] ตรวจดูขนาดของ IO Block ได้ ซึ่ง 8 sectors = 8 * 512 bytes = 4096 bytes โดยแฟ้มที่มีขนาดไม่ถึง 4096 จะใช้พื้นที่ในดิสก์เป็น 4096 bytes หรือ 8 sectors ถ้าขนาดของแฟ้มเป็น 4100 bytes จะใช้พื้นที่ในดิสก์เป็น 16 sectors หรือ 8192 bytes หากต้องการทราบว่าระบบแฟ้มในเครื่องแบ่งระบบแฟ้มไว้อย่างไรให้ใช้คำสั่ง $df -a และ $df -i แล้วสามารถใช้คำสั่งแสดงจำนวน block หรือพื้นที่เก็บข้อมูลของแต่ละ device

เช่น $blockdev --getsz /dev/sda
208,782 sectors = 1 disk = 106,896,384 KB = 101.9 MB
71,132,000 sectors = 1 disk = 36,419,584,000 KB = 34,732.4 MB

ต.ย. ตัวเลือก (options)
-a, --all = show hidden and unhidden
-l = use a long listing format
-s, --size = print size of each file, in blocks
-S = sort by file size (not show size)

ตัวอย่างการใช้คำสั่ง
ls -altแสดงรายชื่อแฟ้ม และจัดเรียงตามเวลา (a=all, l=long listing, t=sort by modification time)
ls -alt | moreแสดงรายชื่อแฟ้มทั้งหมด แต่หยุดทีละหน้า ถ้ามีจำนวนแฟ้มเกินที่จะแสดงได้ ใน 1 หน้า
ls -al --sort=time | moreแสดงรายชื่อแฟ้มเรียงตามเวลา แยกทีละหน้า แบบ long listing
ls -R | moreแสดงรายชื่อในทุก directory ในห้องปัจจุบัน (R=Recursive)
ls -alSR | grep Trash | moreแสดงข้อมูลแฟ้ม Trash จากทุก Sub directory
ls -alS | moreแสดงรายชื่อแบบจัดเรียงตามขนาดแบบ Descending ใช้ดูขนาด mail box ใน /var/mail ได้ดี
ถ้าสังเกตจะพบว่า แฟ้มที่มี . หน้าชื่อแฟ้ม หมายถึง แฟ้มที่ซ่อนไว้ ถ้าใช้คำสั่ง ls หรือ ls -l จะไม่เห็นแฟ้มเหล่านี้
ถ้ามีอักษร D ที่ Column แรก ในส่วนแสดงรายชื่อแฟ้ม ด้วยคำสั่ง ls -al จะหมายถึง directory
Android Testing
in Terminal Emulator
$ls
$ls -al
lrwxrwxrwx root root 2013-02-22 20:41 sdcard -> /mnt/sdcard
-rw-r--r-- root root 145 1970-01-01 07:00 default.prop
บทเรียนที่แนะนำ Super User :: BusyBox :: ปัญหาที่พบในอดีต :: Linux SIS by ภัทระ เกียรติเสวี :: Linux Sim. by bellard ::
คลิ๊ปใช้ Term. Emu. ใน Tab10.1 :: บทเรียนการใช้คำสั่งพื้นฐาน :: Manual :: archive.org
สารบัญ
บทที่ 1 : คำสั่งพื้นฐานของลีนุกซ์ (android)
คำสั่ง id
คำสั่ง pwd
คำสั่ง ls
คำสั่ง ping
คำสั่ง netstat
คำสั่ง df
คำสั่ง du
คำสั่ง ps
คำสั่ง kill
คำสั่ง top
คำสั่ง date
คำสั่ง set (env)
คำสั่ง service
คำสั่ง mount, umount
คำสั่ง cd, mkdir, rmdir
คำสั่ง cp, rm, mv
คำสั่ง cat
คำสั่ง chmod
คำสั่ง chown
คำสั่ง grep

แม้ linux จะถูกริเริ่มโดย Linus Benedict Torvalds จาก University of Helsinki ที่พัฒนาในส่วนของ Linux Kernel แต่ปัจจุบันได้มีนักพัฒนาจากทั่วโลกเข้ามาร่วมเติมเต็มเขี้ยวเล็บ และยกระดับเป็นซอฟท์แวร์เชิงพาณิชย์ด้วยชื่อทางการค้าของตน แต่ก็มีอีกกลุ่มที่มุ่งมั่นพัฒนาสนับสนุนให้เป็น Open Source Operating System ที่เปิดให้ Download ไปติดตั้ง และใช้งานได้ฟรี รวมถึงการปรับปรุงเพิ่มประสิทธิภาพ และประยุกต์ใช้งานได้ โดยไม่หวังผลกำไร

ดังนั้น การใช้คำสั่งบน Bash Shell เพื่อสั่งงานระบบปฏิบัติการ จึงมีคำสั่งใหม่เพิ่มขึ้น คำสั่งเก่าหายไป หรือเปลี่ยนแปลงอยู่เสมอ ในหัวข้อนี้เป็นคำสั่งที่มักพบได้ใน Linux ทั่วไป โดยเฉพาะบน Android OS ที่เผยแพร่โดย Google ให้เป็นระบบปฏิบัติการสำหรับสมาร์ทโฟน (Smart Phone) มีส่วนแบ่งตลาดถึง 70% ใน Q4 ของปี 2013 ขณะที่ iOS มีส่วนแบ่ง 21.7% หากอุปกรณ์จะใช้คำสั่งบน Bash Shell หรือ Linux command line ก็เพียงแต่ Download Application เช่น Android Terminal Emulator

os/ebook
FundaOfUnix.pdf

บทที่ 2 : คำสั่งเกี่ยวกับระบบ
คำสั่ง man
คำสั่ง tail
คำสั่ง su sudo
คำสั่ง fsck
คำสั่ง lspci
คำสั่ง whereis
คำสั่ง find
คำสั่ง vi
คำสั่ง pico
คำสั่ง gzip
คำสั่ง tar
คำสั่ง last
คำสั่ง useradd
คำสั่ง userdel
คำสั่ง usermod
คำสั่ง chgrp
คำสั่ง crontab
คำสั่ง reboot, shutdown
ถ้าทำ root เครื่องสำเร็จ หมายถึง การทำให้อุปกรณ์ใช้คำสั่งข้ามข้อจำกัดที่ระบบปฏิบัติการออกแบบไว้ ก็จะสามารถติดตั้งโปรแกรมพิเศษได้ อาทิ busybox เป็นการเพิ่มคำสั่งให้เรียกใช้บน command line ได้อีกมาก
คำสั่งในหัวข้อนี้ มีให้ใช้ในอุปกรณ์ที่ root แล้ว และติดตั้ง busybox แต่ถ้าเป็นระบบปฏิบัติการอื่น อาทิ Fedora หรือ CentOS หรือ Debian หรือ Mint ก็จะใช้คำสั่งเหล่านี้ได้ ไม่จำเป็นต้องทำ root เหมือนบน Android
บทที่ 3 : คำสั่งเกี่ยวกับเครือข่าย
คำสั่ง nslookup
คำสั่ง telnet
คำสั่ง ifconfig
คำสั่ง route
คำสั่ง traceroute, tracert

Screen: JSLinux ที่เห็นก็คล้ายกับที่เราใช้ Terminal Emulator App
ที่พบใน Android ซึ่งใช้งานผ่าน Command Line ได้เหมือนกัน
ใช้คำสั่ง Whoami เพื่อให้รู้ตัวว่า "เราคือใคร" เหมือนชื่อหนังของเยอรมัน
บทที่ 4 : คำสั่งอื่น ๆ
คำสั่ง lynx
คำสั่ง emacs
คำสั่ง mkbootdisk
คำสั่ง rpm
คำสั่ง ntsysv
คำสั่ง chkconfig
คำสั่ง netcfg
คำสั่ง xinetd
คำสั่ง runlevel
คำสั่ง nmap
บทที่ 5 : Shell Script
5.1 สคริปท์บน Android การเลือกแบบ if
5.2 สคริปท์ การเลือกแบบ case
5.3 สคริปท์ ทำซ้ำแบบ while
5.4 สคริปท์ ทำซ้ำแบบ for
5.5 สคริปท์ ทำซ้ำแบบ until
5.6 สคริปท์ ฟังก์ชันที่สร้างเอง
บทที่ 6 : แนะนำเครื่องบริการ
6.1 slowaris.labs.pulltheplug.com (u:guest p:guest) 
6.2 academic.cmri.ac.th
6.71 se-ed.net (จดหมายแจ้งปรับปรุงระบบ)
6.72 thcity.com (เปลี่ยน Linux เป็น Windows)
บทที่ 7 : การใช้ application
7.1 วิธีใช้โปรแกรม FTP ส่งแฟ้มเข้าเครื่อง isinthai.com
7.2 การติดตั้งโปรแกรม .rpm ใน Redhat เพิ่มเติม
7.3 การติดตั้ง Secure Shell
บทที่ 8 : ระบบ file และ directory
8.1 การกำหนดค่าในแฟ้มต่าง ๆ
8.2 แฟ้มต่าง ๆ ที่ควรรู้จัก
8.98 การติดตั้ง Linux Redhat
8.99 การติดตั้ง Linux Redhat เมื่อแผ่น 2 ใช้ไม่ได้

http://goo.gl/72BPC