System Access, Shell,
Commands and
Navigation
Giới thiệu shell
Mục đích của shell:
Thực thi các lệnh của users
Tương tác với Kernel
Customizing user’s login session
Programming
Tính chất
Case sensitive
Các shell phổ biến: bash shell, c shell
Shell Metacharacters
* : String wildcard
? : character wildcard
[] : character set.
Ví
dụ: ls –al rc[15] sẽ hiển thị tất cả các file có chứa
các ký tự 1, 5 trong dấu ngoặc vuông: rc1, rc5
[-]: character range
Ví
dụ: ls –al rc[15] sẽ hiển thị tất cả các file trong
khoảng các ký tự 1, 5 trong dấu ngoặc vuông rc1,
rc2, rc3, rc4, rc5
{} : string set.
ls
–al {rc1, rc3}.d sẽ liệt kê hết các file bắt đầu bằng
rc1 hay rc3 và kết thúc bởi .d
Đăng nhập hệ thống
HĐH Linux là một hệ điều hành multiuser
Các thông tin cần xác định khi login vào một hệ thống Unix-Linux:
Tên hoặc địa chỉ máy mà ta sẽ login vào
Tài khoản được cấp
Mật khẩu đăng nhập
Ví dụ:
Red Hat Linux release 8.0 (Psyche)
Kernel 2.4.18 on an i686
Login:
Dấu nhắc hệ thống
Trong hệ thống Unix-Linux, thường có 2 loại dấu nhắc $ và #
Dấu nhắc $ : Các user thường , có quyền hạn chế trong hệ thống
Dấu nhắc # : Dành cho user root, user có quyền cao nhất trong hệ thống.
Tính năng history and Tab-completion trong shell
History: Dùng phím mũi tên lên xuống
Tab-completion: Dùng phím TAB
Cơ chế pipe và Trợ giúp
Cơ chế pipe cho phép ta lấy output của lệnh trước làm
input của lệnh sau:
Ví dụ:
netstat –n | grep 8080 | more
more /var/log/maillog | grep tuanna
Để được trợ giúp 1 lệnh nào đó, ta sử dụng lệnh man
Ví dụ
man ls
Di chuyển trong Linux
Đường dẫn tuyệt đối : bắt đầu từ root /
Đường dẫn tương đối: tính từ vị trí hiện hành
Thư mục hiện hành: pwd
Homedir: thư mục home mặc định của users.
Lệnh cd không tham số sẽ giúp user về homedir của mình
Thao tác files trong Linux
Các lệnh thao tác file thông dụng
ls
cp
mv
rm
Các tham số phổ biến
f : Force
R: recursive
i : Prompt before execute
Symbolic và hard links
Đây là tính năng đặc trưng của Linux
filesystem, ext2 và các hệ thống file của hầu
hết các Unix like OS khác. Các file link có thể
bị xoá mà không ảnh hưởng đến file gốc
Symbolic link: tương tự như Shotcut trong
Microsoft Windows. Nếu file gốc của file link
bị xoá thì file link sẽ có trạng thái được gọi là
đứt link ( màu đỏ nhấp nháy tại Console)
Hard link: giống như sumbolic link, nó cung
cấp một tham chiếu đến 1 file khác. Hard link
giống như 1 file thực thụ đối với các ứng
dụng.
Hard link
Một khi hard link được tạo ra, file chính có thể được xoá
nhưng nội dung của nó vẫn còn nằm trong file link.
Không được tạo hard link cho directory
Hard link có thể không được tạo ra với các file nằm ở
các partition khác nhau.
Hardlink hiếm khi được dùng trong Linux
Lệnh tạo link ln
Lệnh ln cho phép tạo một file link
Ví dụ: tạo symbolic link
ln -s myfile.txt thesis.txt
thesis.txt myfile.txt
Ví dụ: tạo symbolic link
ln -s /home/Lqtuan/hello.txt
/tmp/hello.txt
ls
-l /tmp/
Hello.txt
/home/Lqtuan/hello.txt
Biến môi trường
Để xem biến môi trường ta dùng
lệnh echo $tên_biến
Ví dụ:
echo $PATH
Xem tất cả các biến môi trường env
Tạo và gán một biến môi trường
export TÊN_BIẾN_MT= Giá trị
Ví dụ: export DISPLAY=10.1.2.3:0.0
Xoá biến môi trường: unset
Biến môi trường (tiếp)
Xét một ví dụ sau:
STRING=
good morning
echo $STRING
Điều gì sẽ xảy ra ?
STRING= “good morning”
echo $STRING
Điều gì sẽ xảy ra ?
Shell alias
[root@pascal root]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mc='. /usr/share/mc/bin/mc-wrapper.sh'
alias mv='mv -i'
alias rm='rm -i'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only
--read-alias --show-dot --show-tilde'
[root@pascal root]#
Command Prompt
Customizing command prompt
[lqtuan@gateway lqtuan]$ OLDPROMPT=$PS1
[lqtuan@gateway lqtuan]$ echo $PS1
[\u@\h \W]\$
[lqtuan@gateway lqtuan]$ PS1="\u \W$"
lqtuan lqtuan$ls
Khảo sát biến môi trường
Lệnh env: liệt kê tất cả các biến môi trường và
giá trị của nó
Lệnh uname : cho biết thông tin của hệ thống.
Ví dụ
[root@database root]# uname -a
Linux database 2.4.18-14smp #1 SMP Wed Sep 4 12:34:47 EDT 2002
i686 i686 i386 GNU/Linux
[root@database root]#
Thoát khỏi hệ thống: exit, logout hoặc Ctrl-D
Virtual Terminals
Alt F1, Alt F2, …, Alt F6
Lệnh tty
[root@database root]# tty
/dev/pts/1
[root@database root]#
[lqtuan@database /]$ tty
/dev/tty1
[lqtuan@database /]$
Remote login
Telnet : cho phép user login vào hệ thống dùng unencrypted
username/password để xác thực
SSH: Cũng cung cấp cơ chế cho ta login vào hệ thống nhưng các thông tin
trên đường truyền được mã hoá
câu hỏi:
Dùng dịch vụ nào an toàn hơn : telnet hay Secure shell ?
telnet
Tập tin cấu hình /etc/xinetd.d/telnet
service telnet
{
disable = yes
flags
socket_type
wait
user
server
/usr/sbin/in.telnetd
log_on_failure
}
=
=
=
=
=
REUSE
stream
no
root
+= USERID
Secure shell
[root@database root]# ssh 172.16.10.10
The authenticity of host '172.16.10.10
(172.16.10.10)' can't be established.
RSA key fingerprint is
e6:bf:7d:40:a3:98:87:75:c7:a6:cb:03:4
9:3f:f7:47.
Are you sure you want to continue
connecting (yes/no)? yes
Warning: Permanently added
'172.16.10.10' (RSA) to the list of
known hosts.
[email protected]'s password:
Last login: Sat Sep 13 11:50:34 2003
[root@gateway root]#