Bài giảng Hệ điều hành linux: Chương 3 Linux Fundamentals Ngô Văn Công biên soạn cung cấp các kiến thức cơ bản như: Các câu lệnh cơ bản của Linux, các thành phân của hệ thống linux, đăng nhập và dấu đợi lệnh, thoát khỏi trình Shell, các kiểu tập tin trong linux,...
Linux Fundamentals Ngô Văn Công Các câu lệnh Linux Các thành phần linux Cơ dấu nhắc Shell Cấu trúc thư mục linux Một số câu lệnh thông dụng Quản lý tập tin thư mục Các đặc tính Shell Một số câu lệnh hữu dụng Các thành phân hệ thống linux Kernel Shell Applications and Utilities Shell gì? Trình thơng dịch dòng lệnh Giống ứng dụng bình thường khác Tương tác trực tiệp với hệ điều hành Cung cấp mơi trường lập trình đơn giản Đăng nhập dấu đợi lệnh localhost login: Password: [root prompt]# [normal user prompt]$ Chú ý: Linux xử lý ký tự có phân biệt chữ thường hoa Shell mặc định linux "bash" (GNU Bourne-Again SHell) Thốt khỏi trình Shell ^D (Ctrl + D) exit logout Các kiểu tập tin linux kiểu tập tin bản: Tập tin bình thường(Ordinary files) Thư mục Tập tin đặc biệt (devices, sockets, pipes, ) liên kết (Symlinks) Quy ước đặt tên tập tin Tên tập tin dài tới 255 ký tự Bất kỳ ký tự dùng để đặt tên(bao gồm ký tự đặc biệt) Tập tin/thư mục ẩn bắt đầu "." bash_history bash_profile bashrc kde gnome mozilla Đường dẫn(Path) Đường dẫn tuyệt đối - bắt đầu vơi "/" / /usr /bin /usr/local/bin Đường dẫn tương đối - không bắt đầu "/" bin /usr/local /bin Đường dẫn đặc biệt: - parent directory - current (working) directory Chạy câu lệnh linux $ command $ /full/path/to/command $ relative/path/to/command Examples: $ ls $ /bin/ls $ /bin/ls $ /ls Ngươi sở hưu quyền tập tin Tất tập tin thư mục sở hưu người tạo Quyền truy cập tập tin chia thành nhóm User - người sở hưu tập tin/thư mục Group - Nhóm mà người sở hữu thuộc Others - Người dùng khác Để xem quyền tập tin dùng lệnh "ls -l" Cách trình bày quyền usr | grp | others rwx rwx rwx dang ký hiệu r readable - tệp đọc w writeable - tệp ghi x executable - tệp chạy (program) - quyền không cấp 0: 1: x dạng số 2: -wr=4 3: -wx 4: r-w=2 5: r-x x=1 6: rw7: rwx -=0 Đối tượng cấp quyền thao tác quyền Đối tượng cấp quyền u user, người dùng sở hữu tập tin g group, nhóm mà người dùng thuộc o others, người khác (không phải người sở hữu nhóm người sở hữ thuộc về) a all, tất người (u, g, and o) Các thao tác quyền + thêm quyền - bỏ quyền = gán quyền chmod - thay đổi quyền chmod [OPTION] MODE FILE -R: thay đổi quyền thư mục cách đệ quy ví dụ cách sử dụng chmod: g+w thêm quyền ghi cho nhóm o-rwx xóa tất quyền người dùng khác u+x thêm quyền chạy cho người dùng a+rw thêm quyền r w cho tất người ug+r thêm quyền đọc cho người dùng nhóm g=rx gán nhóm có quyền đọc chạy (not write) ví dụ cách dùng chmod chmod u-x header.php chmod -R a+rw lecture chmod u=rwx,go=r myhome.jpg chmod 644 dirlist.txt chmod 755 myprogram Một số quyền đặc biệt Trong linux, có quyền đặc biệt: setuid - thường dùng cho ứng dụng, quyền ứng dụng chạy với quyền người sở hữu khơng chạy với người chạy chương trình ký tự s vị trí x người sở hữu tập tin người sở hưu tập tin không co quyền x, ký tự S hoa dùng để phản ánh điều setgid - thường dùng cho ứng dụng, quyền ứng dụng chạy với quyền nhóm sở hữu ma khơng chạy với quyền nhóm người dùng chạy ứng dụng ký tự s vị trí x quyền nhóm Nếu nhóm người sở hưu tập tin khơng co quyền x, ký tự S hoa dùng để phản ánh điều sticky bit - thường dụng cho thư mục, bit tập tin tạo thư mục xóa người dùng tạo nó ký tự t vị trí x đối tượng người dùng khác, đối tượng người dùng khác khơng có quyền x, ký tự T dùng để phản ánh điều Cách thiết lập userid, groupid, sticky bit Octal digit Binary value Meaning 000 setuid, setgid, sticky bits are cleared 001 sticky bit is set 010 setgid bit is set 011 setgid and sticky bits are set 100 setuid bit is set 101 setuid and sticky bits are set 110 setuid and setgid bits are set 111 setuid, setgid, sticky bits are set Thể ký tự SUID SGID Sticky -rws quyền chạy SUID owner thiết lập -r-S SUID thiết lập, quyền chạy onwer khơng -rwxrws - quyền chạy SGID nhóm thiết lập -rwxr-S - SGID thiết lập, quyền chạy nhóm khơng -rwxrwxrwt quyền chạy sticky bit người dùng khác thiết lập -rwxrwxr-T sticky bit thiết lập, quyền chạy người dùng khác khơng Thay đổi người sở hữu nhóm $chown [-R] Thay đổi người sở hữu file $chgrp Thay đổi nhóm file Có thể sử dụng tùy chọn –R để lặp lại việc thực lệnh (ví dụ thực việc thay đổi quyền sở hữu nhóm file thư mục) Các lệnh dành cho người sử dụng có quyền root Một số lệnh hữu dụng khác Nén giải nén gzip/gunzip/zcat, bzip2/bunzip2/bzcat, tar Xử lý văn head, tail, cut, sort, uniq, tr Thao tác với tập tin file, dd, du, df, sync, find, grep số lệnh shell date, dirname, basename, id, whoami, who, logname, uname, hostname, tee, nohup, su, wc số lệnh khác which, whereis, whatis,locate diff hiển thị khác tập tin Ex: diff file1 file2 : tìm khác file1 & file2 gzip/gunzip/zcat - Nén giải nén tập tin gzip [OPTION] [NAME] -d: decompress -c: write output to stdout, keep original files unchanged -1: fastest (less compression) -9: slowest (best compression) gunzip = gzip -d zcat = gunzip -c $ gzip file1 $ gunzip -c file1.gz tar - Nén giải nén thư mục tar [-] [OPTION] [DIRECTORY] -c: create a new archive -x: extract files from an archive -z: filter the archive through gzip -j: filter the archive through bzip2 -f file: use archive file $ tar -czvf dir1.tar.gz dir1/ $ tar -czvf dir2.tar.gz dir2/ $ tar -zxvf dir3.tar.gz find - tìm kiếm tập tin find [PATH] [EXPRESSION] $ find / -name "*.txt" -ls $ find /usr/local -type f -print $ find /usr/local -type d $ find -perm 755 -type f $find / -size 2000 -print Tìm tất file có kích thước lớn GB (= 2000 block 512 KB) grep - tìm kiếm bên nội dung tập tin grep [OPTION] PATTERN [FILE] -i: ignore case distinctions -n: prefix line number when output -r, -R: recursively through directories -v: invert matching, select non-matching lines $ grep -n nobody /etc/passwd $ grep false /etc/passwd $ grep -r LANG /etc/X11 Q&A ... Các câu lệnh chương trình, đoạn script, hay lênh có sẵn shell passwd - Thay đổi mật đăng nhập pwd - hiển thị thư mục hành làm việc cd - thay đổi thư mục hành làm việc ls - liệt kê nội... DIRECTORY -p: Xoá tất thư mục đường dẫn E.g., ’rmdir -p a/b/c’ giống ’rmdir a/b/c a/b a’ $ rmdir -p dir3/dir4 touch, cat - Tạo tệp $ touch file1 $ touch file2 file3 $ cat > file4 ^D cp - Sao chép... /tmp -f: force overwrite -i: interactive mode -r,-R: copy recursively $ cp -r dir1 dir5 DEST mv - Di chuyển(đổi tên) tập tin mv [OPTION] SOURCE $ mv file5 file6 $ mv file6 /tmp $ mv dir1 dir2 -f: