Quản lý file và thư mục Một số tính năng của bash shell Một số lệnh hữu ích... /proc thông tin process pseudo-filesystem /sbin các lệnh quản trị /tmp dữ liệu tạm /usr ứng dụ
Trang 1Hệ điều hành Linux
Lê Đình Long
longld@yahoo.com
Trang 2Chương 4
Các lệnh cơ bản
Trang 3 Quản lý file và thư mục
Một số tính năng của bash shell
Một số lệnh hữu ích
Trang 5Shell là gì?
Bộ thông dịch dòng lệnh
Một chương trình ứng dụng đặc biệt
Tương tác với hệ điều hành
Cung cấp khả năng lập trình đơn giản
Trang 6● Linux phân biệt ký tự hoa - thường
● Shell mặc định trên Linux là bash (GNU Bourne-Again SHell)
HCMUNS
Trang 7 /home thư mục dữ liệu người dùng
/lib thư viện dùng chung (shared lib)
/mnt thư mục để mount floppy, cdrom,
/proc thông tin process (pseudo-filesystem)
/sbin các lệnh quản trị
/tmp dữ liệu tạm
/usr ứng dụng và thư viện
/var dữ liệu biến động
Trang 8Kiểu file
Linux Fundamentals
4 kiểu file cơ bản
File thông thường (program, text, library, )
Thư mục (container)
File đặc biệt (device, socket, pipe, )
Liên kết symbolic links (symlinks)
HCMUNS
Trang 9Quy ước đặt tên file
Tối đa 225 ký tự
Có thể sử dụng bất kỳ ký tự nào (kể cả các ký tự đặc biệt)
"very ? long - file + name.test"
File/thư mục ẩn được bắt đầu bằng một dấu chấm
“.”
.bash_history bash_profile bashrc
.desktop/ kde/ mozilla/
Trang 10Đường dẫn (path)
Linux Fundamentals
Đường dẫn tuyệt đối: bắt đầu bằng “/”
/ /bin /usr /usr/bin
Đường dẫn tương đối: không bắt đầu bằng “/”
bin usr/local/bin /sbin /
Đường dẫn đặc biệt
- thư mục cha
- thư mục làm việc hiện tại
HCMUNS
Trang 12Các lệnh cơ bản
Linux Fundamentals
passwd – đổi mật khẩu đăng nhập
pwd – in thư mục làm việc hiện tại
cd – chuyển đổi thư mục làm việc
ls – liệt kê nội dung thư mục
HCMUNS
Trang 13passwd – đổi mật khẩu
[student]$ passwd
Changing password for student
(current) UNIX password:
New pasword:
Retype new pasword:
Lưu ý:
Mật khẩu phân biệt chữ hoa-thường
“root” có quyền thay đổi mật khẩu cho user bất kỳ
[root]# passwd student
Trang 15cd – chuyển đổi thư mục
Trang 16HCMUNS
Trang 17ls – liệt kê thư mục
bin etc games include lib
libexec man sbin share src
Trang 18 Tuỳ chọn thường bắt đầu bằng “-” hoặc “ ”
Nhiều tuỳ chọn có thể kết hợp bằng một dấu “-”
Tuỳ chọn và cú pháp lệnh xem trong “man page”
Lệnh có thể không tuân theo quy tắc trên
Linux cho phép tuỳ chọn có thể theo sau tham số
HCMUNS
Trang 19Tìm trợ giúp về lệnh
man hướng dẫn dòng lệnh (manual)
info manual ở dạng Info
Trang 20 ^U xoá lùi đến đầu dòng
^K xoá lùi đến cuối dòng
Arrow di chuyển trên dòng lệnh
HCMUNS
Trang 21Quản lý file và thư mục
Trang 23rmdir – xoá thư mục rỗng
rmdir [OPTIONS] DIRECTORY
$ rmdir dir1
$ rmdir dir1 dir2
-p: xoá tất cả các thư mục tạo nên đường dẫn
$ rmdir -p dir3/dir4 (<=> $ rmdir dir3/dir4 dir3)
Trang 25$ cp -r dir1 dir5
Trang 27$ rm -r dir5
KHÔNG: # rm -rf /
Trang 28ln – tạo liên kết (link)
Linux Fundamentals
ln [OPTIONS] TARGET [LINKNAME]
-f: xoá file đích nếu đã tồn tại -s: tạo symbolic link thay vì hard link
$ ln -s /usr/local/bin
$ ln -s dir1 firstdir
$ ln -s lib.so.0 lib.so.1
HCMUNS
Trang 29ls – xem nội dung thư mục
ls [OPTIONS] FILE -a: liệt kê tất cả gồm cả thư mục ẩn -l: hiển thị kết quả dạng đầy đủ
-R: liệt kê cả trong thư mục con
$ ls -l /boot
-rw-r r 1 root root 5824 Jan 25 2003 boot.b
-rw-r r 1 root root 612 Jan 25 2003 chain.b
-rw-r r 1 root root 44882 Aug 18 22:43 config-2.4.20-20.9
drwxr-xr-x 2 root root 4096 Aug 30 14:49 grub
-rw-r r 1 root root 147149 Aug 30 14:49 initrd-2.4.20-20.9.img
-rw-r r 1 root root 473 Oct 21 22:48 kernel.h
-rw-r r 1 root root 23108 Feb 25 2003 message
-rw-r r 1 root root 21282 Feb 25 2003 message.ja
lrwxrwxrwx 1 root root 23 Aug 30 14:49 module-info -> 2.4.20-20.9
module-info rw-r r 1 root root 15438 Aug 18 22:43 module-info-2.4.20-20.9
-rw-r r 1 root root 640 Jan 25 2003 os2_d.b
lrwxrwxrwx 1 root root 22 Oct 21 22:48 System.map ->
Trang 31Hiển thị nội dung file
Trang 33bên trong ngoặc
\ loại bỏ ý nghĩa đặc biệt của các ký tự *,?,)
Trang 34Ví dụ về ký tự thay thế
Linux Fundamentals
ls a* liệt kế tất cả các tên bắt đầu bằng “a”
ls a?.txt liệt kê tất cả tên dạng a?.txt với ? là ký tự bất kỳ
ls [aei]* liệt kê tất cả các tên bắt đầu bằng a,e, hoặc i
ls [a-d]*[0-9]liệt kê tất cả tên bắt đầu từ a đến d và kết
thúc từ 0 đến 9
ls [!L-T]* liệt kê tất cả các tên không bằng đầu từ L đến T
HCMUNS
Trang 35Tự động điền dòng lệnh
Nhấn <Tab> để tự động điền đầy đủ dòng lệnh
username, hostname, command, filename
liệt kê tất cả khả năng có thể
Trang 36 !string: thực thi lại dòng lệnh ngay trước đó bắt
Trang 37Định hướng lại xuất/nhập
> định hướng lại xuất (overwrite)
>> định hướng lại xuất (append)
2> định hướng lại báo lỗi (overwrite)
2>> định hướng lại báo lỗi (append)
2>&1 định hướng lại lỗi/xuất chung
Trang 38$ ls -lR /var > varlist.txt 2>&1
(<=> $ ls -lR /var &> varlist.txt)
HCMUNS
Trang 40Quyền truy cập file
Linux Fundamentals
Sở hữu và quyền truy cập
Biểu diễn quyền truy cập
Thay đổi quyền truy cập
HCMUNS
Trang 41Sở hữu và quyền truy cập
Tất cả file và thư mục thuộc sở hữu user tạo ra chúng
Quyền truy cập file được chia làm 3 nhóm
● User chủ sở hữu file (owner)
● Group nhóm có user là thành viên
● Others các user khác còn lại trên hệ thống
Xem quyền truy cập với lệnh “ls -l”
Trang 43Định danh và tác vụ
Định danh quyền truy cập
● u user, chủ sở hữu file
● g group, nhóm có user là thành viên
● o others, các user khác trên hệ thống
● a all, tất cả user (u, g và o)
Tác vụ trên quyền truy cập
Trang 44o-rwx loại bỏ tất cả các quyền của others
u+x thêm quyền thực thi cho user
+x thêm quyền thực thi cho tất cả
a+rw thêm quyền ghi cho tất cả
ug+r thêm quyền đọc cho user và group
o=x chỉ cho phép thực thi với others
HCMUNS
Trang 45chmod – một số ví dụ
$ chmod -x *.php
$ chmod -R ug+rw lecture
$ chmod u=rwx,ug=r desktop.jpg
$ chmod 644 homelist.txt
$ chmod 755 myprogram
$ chmod 777 /tmp/tmp
Trang 46head, tail, cut, sort, uniq, tr, tac, wc
Thao tác trên hệ thống file
file, dd, du, df, sync, find, grep
Tiện ích khác
w, date, dmesg, dirname, basename, id, who, uname, tee, whereis, which, locate, sleep, xargs
HCMUNS
Trang 47tar – tiện ích lưu trữ
tar [OPTIONS] [DIRECTORY/FILE]
-c: tạo mới một archive
-x: trích file từ một archive
-z: nén/giải nén archive bằng gzip
-j: nén/giải nén archive bằng bzip2
-f: sử dụng archive được chỉ định bởi file
$ tar zcvf dir1.tar.gz dir1/
$ tar zcvf alldir.tgz dir1 dir2 dir3
$ tar zxvf source.tar.gz
$ tar jxvf kernel.tar.bz2
Trang 48$ find /usr/local -type f -print
$ find /usr/X11R6 -type d
$ find -perm 755 -a -type f
$ find -type d | xargs chmod +x
HCMUNS
Trang 49grep – tìm trong file
grep [OPTION] PATTERN [FILE]
-i: không phân biệt hoa thường -n: kèm theo số thứ tự dòng khi xuất kq -r: tìm lặp lại trong thư mục con
-v: tìm nghịch đảo
$ grep -n sv /etc/passwd
$ grep -n false /etc/passwd
$ grep -ri LANG /etc/X11
$ grep -H network /etc/sysconfig/*
Trang 50Q & A