Tải bản đầy đủ (.ppt) (21 trang)

Chương 2: Giới thiêu Shell

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (784.03 KB, 21 trang )

System Access, Shell,
System Access, Shell,
Commands and
Commands and
Navigation
Navigation
Giới thiệu shell
Giới thiệu shell
Mục đích của shell:
Mục đích của shell:

Thực thi các lệnh của users
Thực thi các lệnh của users

Tương tác với Kernel
Tương tác với Kernel

Customizing user’s login session
Customizing user’s login session

Programming
Programming
Tính chất
Tính chất

Case sensitive
Case sensitive
Các shell phổ biến: bash shell, c shell
Các shell phổ biến: bash shell, c shell
Shell Metacharacters
Shell Metacharacters


* : String wildcard
* : String wildcard
? : character wildcard
? : character wildcard
[] : character set.
[] : character set.

Ví dụ: ls –al rc[15] sẽ hiển thị tất cả các file có chứa
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
các ký tự 1, 5 trong dấu ngoặc vuông: rc1, rc5
[-]: character range
[-]: character range

Ví dụ: ls –al rc[15] sẽ hiển thị tất cả các file trong
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,
khoảng các ký tự 1, 5 trong dấu ngoặc vuông rc1,
rc2, rc3, rc4, rc5
rc2, rc3, rc4, rc5
{} : string set.
{} : string set.

ls –al {rc1, rc3}.d sẽ liệt kê hết các file bắt đầu bằng
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
rc1 hay rc3 và kết thúc bởi .d
Đăng nhập hệ thống
Đăng nhập hệ thống
HĐH Linux là một hệ điều hành multiuser

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
Các thông tin cần xác định khi login vào
một hệ thống Unix-Linux:
một hệ thống Unix-Linux:

Tên hoặc địa chỉ máy mà ta sẽ login vào
Tên hoặc địa chỉ máy mà ta sẽ login vào

Tài khoản được cấp
Tài khoản được cấp

Mật khẩu đăng nhập
Mật khẩu đăng nhập
Ví dụ:
Ví dụ:
Red Hat Linux release 8.0 (Psyche)
Red Hat Linux release 8.0 (Psyche)
Kernel 2.4.18 on an i686
Kernel 2.4.18 on an i686
Login:
Login:
Dấu nhắc hệ thống
Dấu nhắc hệ thống
Trong hệ thống Unix-Linux, thường có 2
Trong hệ thống Unix-Linux, thường có 2
loại dấu nhắc $ và #
loại dấu nhắc $ và #

Dấu nhắc $ : Các user thường , có quyền hạn chế

Dấu nhắc $ : Các user thường , có quyền hạn chế
trong hệ thống
trong hệ thống

Dấu nhắc # : Dành cho user root, user có quyền cao
Dấu nhắc # : Dành cho user root, user có quyền cao
nhất trong hệ thống.
nhất trong hệ thống.
Tính năng history and Tab-completion
Tính năng history and Tab-completion
trong shell
trong shell

History: Dùng phím mũi tên lên xuống
History: Dùng phím mũi tên lên xuống
↑↓
↑↓



Tab-completion: Dùng phím TAB
Tab-completion: Dùng phím TAB
Cơ chế pipe và Trợ giúp
Cơ chế pipe và Trợ giúp
Cơ chế pipe cho phép ta lấy output của
Cơ chế pipe cho phép ta lấy output của
lệnh trước làm input của lệnh sau:
lệnh trước làm input của lệnh sau:

Ví dụ:

Ví dụ:
netstat –n | grep 8080 | more
netstat –n | grep 8080 | more
more /var/log/maillog | grep tuanna
more /var/log/maillog | grep tuanna
Để được trợ giúp 1 lệnh nào đó, ta sử
Để được trợ giúp 1 lệnh nào đó, ta sử
dụng lệnh man
dụng lệnh man

Ví dụ
Ví dụ
man ls
man ls
Di chuyển trong Linux
Di chuyển trong Linux
Đường dẫn tuyệt đối : bắt đầu từ root /
Đường dẫn tuyệt đối : bắt đầu từ root /
Đường dẫn tương đối: tính từ vị trí hiện
Đường dẫn tương đối: tính từ vị trí hiện
hành
hành
Thư mục hiện hành: pwd
Thư mục hiện hành: pwd
Homedir: thư mục home mặc định của
Homedir: thư mục home mặc định của
users.
users.

Lệnh cd không tham số sẽ giúp user về homedir của

Lệnh cd không tham số sẽ giúp user về homedir của
mình
mình
Thao tác files trong Linux
Thao tác files trong Linux
Các lệnh thao tác file thông dụng
Các lệnh thao tác file thông dụng



ls
ls



cp
cp



mv
mv



rm
rm
Các tham số phổ biến
Các tham số phổ biến




f : Force
f : Force



R: recursive
R: recursive



i : Prompt before execute
i : Prompt before execute
Symbolic và hard links
Symbolic và hard links
Đây là tính năng đặc trưng của Linux filesystem,
Đâ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
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à
like OS khác. Các file link có thể bị xoá mà
không ảnh hưởng đến file gốc
không ảnh hưởng đến file gốc
Symbolic link: tương tự như Shotcut trong
Symbolic link: tương tự như Shotcut trong
Microsoft Windows. Nếu file gốc của file link bị
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
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)
link ( màu đỏ nhấp nháy tại Console)
Hard link: giống như sumbolic link, nó cung cấp
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
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.
như 1 file thực thụ đối với các ứng dụng.
Hard link
Hard link
Một khi hard link được tạo ra, file chính có
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
thể được xoá nhưng nội dung của nó vẫn
còn nằm trong file link.
còn nằm trong file link.
Không được tạo hard link cho directory
Không được tạo hard link cho directory
Hard link có thể không được tạo ra với các
Hard link có thể không được tạo ra với các
file nằm ở các partition khác nhau.
file nằm ở các partition khác nhau.
Hardlink hiếm khi được dùng trong Linux
Hardlink hiếm khi được dùng trong Linux
Lệnh tạo link ln
Lệnh tạo link ln
Lệnh ln cho phép tạo một file link
Lệnh ln cho phép tạo một file link
Ví dụ: tạo symbolic link
Ví dụ: tạo symbolic link




ln -s myfile.txt thesis.txt
ln -s myfile.txt thesis.txt



thesis.txt
thesis.txt


myfile.txt
myfile.txt
Ví dụ: tạo symbolic link
Ví dụ: tạo symbolic link



ln -s /home/Lqtuan/hello.txt
ln -s /home/Lqtuan/hello.txt
/tmp/hello.txt
/tmp/hello.txt



ls -l /tmp/
ls -l /tmp/

Hello.txt

Hello.txt


/home/Lqtuan/hello.txt
/home/Lqtuan/hello.txt
Biến môi trường
Biến môi trường
Để xem biến môi trường ta dùng lệnh echo
Để xem biến môi trường ta dùng lệnh echo
$tên_biến
$tên_biến
Ví dụ:
Ví dụ:



echo $PATH
echo $PATH
Xem tất cả các biến môi trường env
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
Tạo và gán một biến môi trường



export TÊN_BIẾN_MT= Giá trị
export TÊN_BIẾN_MT= Giá trị

Ví dụ:
Ví dụ:

export DISPLAY=10.1.2.3:0.0
export DISPLAY=10.1.2.3:0.0


Xoá biến môi trường: unset
Xoá biến môi trường: unset
Biến môi trường (tiếp)
Biến môi trường (tiếp)
Xét một ví dụ sau:
Xét một ví dụ sau:
STRING= good morning
STRING= good morning


echo $STRING
echo $STRING




Điều gì sẽ xảy ra ?
Điều gì sẽ xảy ra ?
STRING= “good morning”
STRING= “good morning”


echo $STRING
echo $STRING





Điều gì sẽ xảy ra ?
Điều gì sẽ xảy ra ?
Shell alias
Shell alias
[root@pascal root]# alias
[root@pascal root]# alias
alias cp='cp -i'
alias cp='cp -i'
alias l.='ls -d .* color=tty'
alias l.='ls -d .* color=tty'
alias ll='ls -l color=tty'
alias ll='ls -l color=tty'
alias ls='ls color=tty'
alias ls='ls color=tty'
alias mc='. /usr/share/mc/bin/mc-wrapper.sh'
alias mc='. /usr/share/mc/bin/mc-wrapper.sh'
alias mv='mv -i'
alias mv='mv -i'
alias rm='rm -i'
alias rm='rm -i'
alias vi='vim'
alias vi='vim'
alias which='alias | /usr/bin/which tty-only read-alias
alias which='alias | /usr/bin/which tty-only read-alias
show-dot show-tilde'
show-dot show-tilde'
[root@pascal root]#
[root@pascal root]#

Command Prompt
Command Prompt
Customizing command prompt
Customizing command prompt
[lqtuan@gateway lqtuan]$ OLDPROMPT=$PS1
[lqtuan@gateway lqtuan]$ OLDPROMPT=$PS1
[lqtuan@gateway lqtuan]$ echo $PS1
[lqtuan@gateway lqtuan]$ echo $PS1
[\u@\h \W]\$
[\u@\h \W]\$
[lqtuan@gateway lqtuan]$ PS1="\u \W$"
[lqtuan@gateway lqtuan]$ PS1="\u \W$"
lqtuan lqtuan$ls
lqtuan lqtuan$ls
Khảo sát biến môi trường
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à
Lệnh env: liệt kê tất cả các biến môi trường và
giá trị của nó
giá trị của nó
Lệnh uname : cho biết thông tin của hệ thống. Ví
Lệnh uname : cho biết thông tin của hệ thống. Ví
dụ
dụ
[root@database root]# uname -a
[root@database root]# uname -a
Linux database 2.4.18-14smp #1 SMP Wed
Linux database 2.4.18-14smp #1 SMP Wed
Sep 4 12:34:47 EDT 2002 i686 i686 i386
Sep 4 12:34:47 EDT 2002 i686 i686 i386

GNU/Linux
GNU/Linux
[root@database root]#
[root@database root]#


Thoát khỏi hệ thống: exit, logout hoặc Ctrl-D
Thoát khỏi hệ thống: exit, logout hoặc Ctrl-D
Virtual Terminals
Virtual Terminals
Alt F1, Alt F2, …, Alt F6
Alt F1, Alt F2, …, Alt F6
Lệnh tty
Lệnh tty
[root@database root]# tty
[root@database root]# tty
/dev/pts/1
/dev/pts/1
[root@database root]#
[root@database root]#
[lqtuan@database /]$ tty
[lqtuan@database /]$ tty
/dev/tty1
/dev/tty1
[lqtuan@database /]$
[lqtuan@database /]$
Remote login
Remote login
Telnet : cho phép user login vào hệ thống
Telnet : cho phép user login vào hệ thống

dùng unencrypted username/password để
dùng unencrypted username/password để
xác thực
xác thực
SSH: Cũng cung cấp cơ chế cho ta login
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
vào hệ thống nhưng các thông tin trên
đường truyền được mã hoá
đường truyền được mã hoá
câu hỏi:
câu hỏi:

Dùng dịch vụ nào an toàn hơn : telnet hay Secure
Dùng dịch vụ nào an toàn hơn : telnet hay Secure
shell ?
shell ?
telnet
telnet
Tập tin cấu hình
Tập tin cấu hình
/etc/xinetd.d/telnet
/etc/xinetd.d/telnet
service telnet
service telnet
{
{


disable = yes

disable = yes


flags = REUSE
flags = REUSE


socket_type = stream
socket_type = stream


wait = no
wait = no


user = root
user = root


server =
server =
/usr/sbin/in.telnetd
/usr/sbin/in.telnetd


log_on_failure += USERID
log_on_failure += USERID
}
}
Secure shell

Secure shell
[root@database root]# ssh 172.16.10.10
[root@database root]# ssh 172.16.10.10
The authenticity of host '172.16.10.10
The authenticity of host '172.16.10.10
(172.16.10.10)' can't be established.
(172.16.10.10)' can't be established.
RSA key fingerprint is
RSA key fingerprint is
e6:bf:7d:40:a3:98:87:75:c7:a6:cb:03:49:
e6:bf:7d:40:a3:98:87:75:c7:a6:cb:03:49:
3f:f7:47.
3f:f7:47.
Are you sure you want to continue
Are you sure you want to continue
connecting (yes/no)? yes
connecting (yes/no)? yes
Warning: Permanently added '172.16.10.10'
Warning: Permanently added '172.16.10.10'
(RSA) to the list of known hosts.
(RSA) to the list of known hosts.
's password:
's password:
Last login: Sat Sep 13 11:50:34 2003
Last login: Sat Sep 13 11:50:34 2003
[root@gateway root]#
[root@gateway root]#
Shell scripts
Shell scripts
#!/bin/sh

#!/bin/sh
case "$1" in
case "$1" in
'start')
'start')


/squid/sbin/squid –f /squid/etc/squid.conf
/squid/sbin/squid –f /squid/etc/squid.conf


touch /var/lock/subsys/squid
touch /var/lock/subsys/squid


;;
;;
'stop')
'stop')


/squid/sbin/squid -k shutdown
/squid/sbin/squid -k shutdown


rm -f /var/lock/subsys/squid
rm -f /var/lock/subsys/squid


;;

;;
*)
*)


echo "Usage: $0 { start | stop }"
echo "Usage: $0 { start | stop }"


;;
;;
esac
esac
exit 0
exit 0

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×