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

bài giảng tổng quan về linux chương 2 system access, shell, commands and navigation

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 (15.49 MB, 21 trang )

System Access, Shell, System Access, Shell,
Commands and Commands and
NavigationNavigation
Giới thiệu shellGiớ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 usersThự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 sessionCustomizing user’s login session
–– ProgrammingProgramming
Tính chất Tính chất
–– Case sensitiveCase sensitive
Các shell phổ biến: bash shell, c shell Các shell phổ biến: bash shell, c shell
Shell MetacharactersShell Metacharacters
* : String wildcard* : String wildcard
? : character wildcard? : character wildcard
[] : character set.[] : character set.
–– Ví dụ: ls Ví dụ: ls ––al rc[15] sẽ hiển thị tất cả các file có chứa 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, rc5các ký tự 1, 5 trong dấu ngoặc vuông: rc1, rc5
[[ ]: character range]: character range
–– Ví dụ: ls Ví dụ: ls ––al rc[15] sẽ hiển thị tất cả các file trong 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, rc5rc2, rc3, rc4, rc5
{} : string set. {} : string set.
–– ls ls ––al {rc1, rc3}.d sẽ liệt kê hết các file bắt đầu bằng 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 .drc1 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 multiuserHĐ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 Unixmột hệ thống Unix Linux: 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ấpTài khoản được cấp


–– Mật khẩu đăng nhậpMậ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 i686Kernel 2.4.18 on an i686
Login:Login:
Dấu nhắc hệ thốngDấu nhắc hệ thống
Trong hệ thống UnixTrong hệ thống Unix Linux, thường có 2 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 Dấu nhắc $ : Các user thường , có quyền hạn
chế trong hệ thốngchế trong hệ thống
–– Dấu nhắc # : Dành cho user root, user có Dấu nhắc # : Dành cho user root, user có
quyền cao nhất trong hệ thống. quyền cao nhất trong hệ thống.
Tính năng history and TabTính năng history and Tab completion completion
trong shelltrong 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 
–– TabTab completion: Dùng phím 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 netstat ––n | grep 8080 | more n | grep 8080 | more
more /var/log/maillog | grep tuannamore /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 lsman ls
Di chuyển trong LinuxDi 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ànhhành

Thư mục hiện hành: pwdThư 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ề Lệnh cd không tham số sẽ giúp user về
homedir của mìnhhomedir của mình
Thao tác files trong LinuxThao tác files trong Linux
Các lệnh thao tác file thông dụngCác lệnh thao tác file thông dụng
–– lsls
–– cpcp
–– mvmv
–– rmrm
Các tham số phổ biếnCác tham số phổ biến
–– f : Forcef : Force
–– R: recursiveR: recursive
–– i : Prompt before executei : 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ốckhô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 linkHard 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 directoryKhô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 LinuxHardlink 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 linkLệnh ln cho phép tạo một file link
Ví dụ: tạo symbolic link Ví dụ: tạo symbolic link
–– ln ln s myfile.txt thesis.txts myfile.txt thesis.txt
–– thesis.txt thesis.txt  myfile.txtmyfile.txt
Ví dụ: tạo symbolic link Ví dụ: tạo symbolic link
–– ln ln s /home/Lqtuan/hello.txt s /home/Lqtuan/hello.txt
/tmp/hello.txt/tmp/hello.txt
–– ls ls l /tmp/l /tmp/
–– Hello.txt Hello.txt  /home/Lqtuan/hello.txt/home/Lqtuan/hello.txt
Biến môi trườngBiế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 $PATHecho $PATH
Xem tất cả các biến môi trường envXem 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.0export 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 aliasShell alias
[root@pascal root]# alias [root@pascal root]# alias
alias cp='cp alias cp='cp i'i'
alias l.='ls alias l.='ls d .* d .* color=tty'color=tty'
alias ll='ls alias ll='ls l l color=tty'color=tty'
alias ls='ls alias ls='ls color=tty'color=tty'
alias mc='. /usr/share/mc/bin/mcalias mc='. /usr/share/mc/bin/mc wrapper.sh'wrapper.sh'
alias mv='mv alias mv='mv i'i'
alias rm='rm alias rm='rm i'i'
alias vi='vim'alias vi='vim'
alias which='alias | /usr/bin/which alias which='alias | /usr/bin/which ttytty only only readread alias alias
showshow dot dot showshow tilde'tilde'
[root@pascal root]# [root@pascal root]#
Command PromptCommand Prompt
Customizing command promptCustomizing command prompt
[lqtuan@gateway lqtuan]$ OLDPROMPT=$PS1[lqtuan@gateway lqtuan]$ OLDPROMPT=$PS1
[lqtuan@gateway lqtuan]$ echo $PS1[lqtuan@gateway lqtuan]$ echo $PS1
[[\\u@u@\\h h \\W]W]\\$$
[lqtuan@gateway lqtuan]$ PS1="[lqtuan@gateway lqtuan]$ PS1="\\u u \\W$"W$"
lqtuan lqtuan$lslqtuan lqtuan$ls
Khảo sát biến môi trườngKhả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 [root@database root]# uname aa
Linux database 2.4.18Linux database 2.4.18 14smp #1 SMP 14smp #1 SMP

Wed Sep 4 12:34:47 EDT 2002 i686 Wed Sep 4 12:34:47 EDT 2002 i686
i686 i386 GNU/Linuxi686 i386 GNU/Linux
[root@database root]#[root@database root]#
Thoát khỏi hệ thống: exit, logout hoặc CtrlThoát khỏi hệ thống: exit, logout hoặc Ctrl DD
Virtual TerminalsVirtual Terminals
Alt F1, Alt F2, …, Alt F6Alt 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 loginRemote 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 Dùng dịch vụ nào an toàn hơn : telnet hay
Secure shell ? Secure 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 telnetservice telnet
{{
disable = yesdisable = yes
flags = REUSEflags = REUSE
socket_type = stream socket_type = stream

wait = nowait = no
user = rootuser = root
server = server =
/usr/sbin/in.telnetd/usr/sbin/in.telnetd
log_on_failure += USERIDlog_on_failure += USERID
}}
Secure shellSecure 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:3e6:bf:7d:40:a3:98:87:75:c7:a6:cb:03:49:3
f:f7:47.f:f7:47.
Are you sure you want to continue Are you sure you want to continue
connecting (yes/no)? yesconnecting (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 2003Last login: Sat Sep 13 11:50:34 2003
[root@gateway root]#[root@gateway root]#
Shell scriptsShell scripts
#!/bin/sh#!/bin/sh
case "$1" incase "$1" in
'start')'start')
/squid/sbin/squid /squid/sbin/squid ––f /squid/etc/squid.conff /squid/etc/squid.conf
touch /var/lock/subsys/squidtouch /var/lock/subsys/squid
;;;;
'stop')'stop')
/squid/sbin/squid /squid/sbin/squid k shutdownk shutdown
rm rm f /var/lock/subsys/squidf /var/lock/subsys/squid

;;;;
*)*)
echo "Usage: $0 { start | stop }"echo "Usage: $0 { start | stop }"
;;;;
esacesac
exit 0exit 0

×