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
21 trang |
Chia sẻ: lylyngoc | Lượt xem: 1774 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu System Access, Shell, Commands and Navigation, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 = REUSE
socket_type = stream
wait = no
user = root
server =
/usr/sbin/in.telnetd
log_on_failure += 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:49:3
f: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.
root@172.16.10.10's password:
Last login: Sat Sep 13 11:50:34 2003
[root@gateway root]#
Shell scripts
#!/bin/sh
case "$1" in
'start')
/squid/sbin/squid –f /squid/etc/squid.conf
touch /var/lock/subsys/squid
;;
'stop')
/squid/sbin/squid -k shutdown
rm -f /var/lock/subsys/squid
;;
*)
echo "Usage: $0 { start | stop }"
;;
esac
exit 0