Các lệnh cơ bản trong linux
2 posters
Trang 1 trong tổng số 1 trang
Các lệnh cơ bản trong linux
Các lệnh cơ bản trong linux
Chào các bạn đây là một số lệnh cơ bản trong họ hệ điều hành LINUX. Khi nào chúng ta dùng những lệnh này? Đó là khi chúng ta thực hiện Remote config, làm việc trên máy nhưng mà qua giao diện Command line qua cửa sổ Terminal, hay đơn giản là những ai thích làm việc qua CLI. Các lệnh này là các lệnh phổ biến nhưng mà tùy vào OS mà chúng sẽ có đôi chỗ khác nhau. Chúng ta sẽ điểm qua một số lệnh sau:
Các Lệnh Về Khởi Tạo
rlogin: dùng để điều khiển hoặc thao tác lệnh trên một máy khác
exit : thoát khỏi hệ thống (Bourne-Shell)
logout: thoát khỏi hệ thống C-Shell
id : chỉ danh của người sử dụng
logname: tên người sử dụng login
man : giúp đỡ
newgrp: chuyển người sử dụng sang một nhóm mới
psswd: thay đổi password của người sử dụng
set : xác định các biến môi trường
tty : đặt các thông số terminal
uname: tên của hệ thống (host)
who : cho biết những ai đang thâm nhập hệ thống
Lệnh Về Trình Báo Màn Hình
echo: hiển thị dòng ký tự hay biến
setcolor: đặt màu nền và chữ của màn hình
Lệnh Về Desktop bc: tính biểu thức số học
cal : máy tính cá nhân
date: hiển thị và đặt ngày
mail: gửi - nhận thư tín điện tử
mesg : cấm/cho phép hiển thị thông báo trên màn hình (bởi write/ hello)
spell : kiểm tra lỗi chính tả
vi : soạn thảo văn bản
write/hello: cho phép gửi dòng thông báo đến những người sử dụng trong hệ thống
Lệnh Về Thư Mục cd : đổi thư mục
cp : sao chép 2 thư mục
mkdir: tạo thư mục
rm : loại bỏ thư mục
pwd: trình bày thư mục hiện hành
Lệnh về tập tin more: trình bày nội dung tập tin
cp : sao chép một hay nhiều tập tin
find: tìm vị trí của tập tin
grep : tìm vị trí của chuỗi ký tự trong tập tin
ls: trình bày tên và thuộc tính của các tập tin trong thư mục
mv : di chuyển/đổi tên một tập tin
sort: sắp thứ tự nội dung tập tin
wc : đếm số từ trong tập tin
cat: hiển thị nội dung moat tập tin
vi: soạn thảo hoặc sửa đổi nội dung tập tin
Lệnh về quản lý quá trình: kill: hủy bỏ một quá trình
ps : trình bày tình trạng của các quá trình
sleep: ngưng hoạt động một thời gian
Các Lệnh Về Phân Quyền chgrp: chuyển chủ quyền tập tin, thư mục từ một nhóm sang một nhóm khác
chmod : thay đổi quyền sở hữu của tập tin hay thư mục
chown : thay đổi người sở hữu tập tin hay thư mục
Lệnh Về Kiểm Soát In cancel : ngưng in
lp : in tài liệu ra máy in
Lệnh về hệ thống
top: Xem trạng thái về hệ thống và các process đang chạy tương tự như Task Manager trong Windows.
shutdown -h now tắt máy tính
shutdown -r now : khởi động lại
Riêng cho RedHat Theo tôi được biết thì ở Việt Nam hiện nay HDH Linux phổ biến nhất là Redhat nên ở đây chúng xin trình bày thêm về rpm
Để install một package:
rpm -ivh
Để upgrade một package:
rpm -Uvh
Để uninstall một package:
rpm -e
Để biết một package đã được install hay chưa
rpm -q
filename ở đây có thể là 1 file hoặc nhiều file với format rpm
Các lệnh thường có thêm rất nhiều các thông số đi theo. Để biết thêm và chi tiết về chúng các bạn có thể dùng lệnh
man command hoặc command --help với command là lệnh cần xem.
Chào các bạn đây là một số lệnh cơ bản trong họ hệ điều hành LINUX. Khi nào chúng ta dùng những lệnh này? Đó là khi chúng ta thực hiện Remote config, làm việc trên máy nhưng mà qua giao diện Command line qua cửa sổ Terminal, hay đơn giản là những ai thích làm việc qua CLI. Các lệnh này là các lệnh phổ biến nhưng mà tùy vào OS mà chúng sẽ có đôi chỗ khác nhau. Chúng ta sẽ điểm qua một số lệnh sau:
Các Lệnh Về Khởi Tạo
rlogin: dùng để điều khiển hoặc thao tác lệnh trên một máy khác
exit : thoát khỏi hệ thống (Bourne-Shell)
logout: thoát khỏi hệ thống C-Shell
id : chỉ danh của người sử dụng
logname: tên người sử dụng login
man : giúp đỡ
newgrp: chuyển người sử dụng sang một nhóm mới
psswd: thay đổi password của người sử dụng
set : xác định các biến môi trường
tty : đặt các thông số terminal
uname: tên của hệ thống (host)
who : cho biết những ai đang thâm nhập hệ thống
Lệnh Về Trình Báo Màn Hình
echo: hiển thị dòng ký tự hay biến
setcolor: đặt màu nền và chữ của màn hình
Lệnh Về Desktop bc: tính biểu thức số học
cal : máy tính cá nhân
date: hiển thị và đặt ngày
mail: gửi - nhận thư tín điện tử
mesg : cấm/cho phép hiển thị thông báo trên màn hình (bởi write/ hello)
spell : kiểm tra lỗi chính tả
vi : soạn thảo văn bản
write/hello: cho phép gửi dòng thông báo đến những người sử dụng trong hệ thống
Lệnh Về Thư Mục cd : đổi thư mục
cp : sao chép 2 thư mục
mkdir: tạo thư mục
rm : loại bỏ thư mục
pwd: trình bày thư mục hiện hành
Lệnh về tập tin more: trình bày nội dung tập tin
cp : sao chép một hay nhiều tập tin
find: tìm vị trí của tập tin
grep : tìm vị trí của chuỗi ký tự trong tập tin
ls: trình bày tên và thuộc tính của các tập tin trong thư mục
mv : di chuyển/đổi tên một tập tin
sort: sắp thứ tự nội dung tập tin
wc : đếm số từ trong tập tin
cat: hiển thị nội dung moat tập tin
vi: soạn thảo hoặc sửa đổi nội dung tập tin
Lệnh về quản lý quá trình: kill: hủy bỏ một quá trình
ps : trình bày tình trạng của các quá trình
sleep: ngưng hoạt động một thời gian
Các Lệnh Về Phân Quyền chgrp: chuyển chủ quyền tập tin, thư mục từ một nhóm sang một nhóm khác
chmod : thay đổi quyền sở hữu của tập tin hay thư mục
chown : thay đổi người sở hữu tập tin hay thư mục
Lệnh Về Kiểm Soát In cancel : ngưng in
lp : in tài liệu ra máy in
Lệnh về hệ thống
top: Xem trạng thái về hệ thống và các process đang chạy tương tự như Task Manager trong Windows.
shutdown -h now tắt máy tính
shutdown -r now : khởi động lại
Riêng cho RedHat Theo tôi được biết thì ở Việt Nam hiện nay HDH Linux phổ biến nhất là Redhat nên ở đây chúng xin trình bày thêm về rpm
Để install một package:
rpm -ivh
Để upgrade một package:
rpm -Uvh
Để uninstall một package:
rpm -e
Để biết một package đã được install hay chưa
rpm -q
filename ở đây có thể là 1 file hoặc nhiều file với format rpm
Các lệnh thường có thêm rất nhiều các thông số đi theo. Để biết thêm và chi tiết về chúng các bạn có thể dùng lệnh
man command hoặc command --help với command là lệnh cần xem.
Các lệnh cơ bản trong linux
ệnh thống kê dung lượng thư mục Linux
[root@unix1 webhostings]# du -sh *
Bài viết này không nói về cách cài đặt mà đi vào chi tiết, sau khi cài đặt xong sử dụng như thế nào.Đầu tiên bạn cần login vào hệ thống, bạn login vào với user root, mật khẩu do bạn đặt lúc cài đặt.User root là user có quyền tối cao (hay quyền cao nhất đối với một hệ thống Unix).Để xử dụng dòng lệnh bạn cần bật command shell lên, cái này tương tự như MS DOS của windows.
[root@hautp ~]#
Bạn xem thông tin về user mình đang login bằng lệnh: id
[root@hautp ~]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=root:system_r:unconfined_t:SystemLow-SystemHigh
Các chỉ số uid và gid sẽ cho biết quyền hạn của bạn trên hệ thống. 0 là quyền cao nhất rồi.Bây giờ bạn muốn login với user mới bạn sử dụng lệnh : useradd
[root@hautp ~]# useradd quantrihethong
vậy là bạn đã có user mới là quantrihethong trong hệ thống.Lệnh useradd có rất nhiều tham số khác nhau, để xem chi tiết bạn dùng lệnh man
[quantrihethong@hautp root]$ man useradd
Lúc trước khi tạo user quantrihethong chúng ta chưa tạo mật khẩu, bây giờ tạo mật khẩu cho user này, bằng lệnh passwd.
[root@hautp ~]# passwd quantrihethong
Changing password for user quantrihethong .
New UNIX password:
Sau đó nhập mật khẩu vào.Để chuyển sang user này bạn dùng lệnh : su
[root@hautp ~]# su quantrihethong
bạn kiểm tra lại bằng cách đánh lệnh : id
[quantrihethong@hautp root]$ id
uid=501(quantrihethong) gid=501(quantrihethong) groups=501(quantrihethong) context=root:system_r:unconfined_t:SystemLow-SystemHigh
Tiếp theo là các lệnh cơ bản với thư mục :Bạn cần biết hiện tại đang ở thư mục nào bạn dùng : pwd
[quantrihethong@hautp root]$ pwd
/root
Vậy là user quantrihethong đang ở thư mục /root.Các lệnh về thư mục ở trên unix tương tự như trên MS DOS của windows, chỉ có một số điểm khác biệt.Lệnh ls sẽ tương đương với dir.
rm : xóa file
rmdir : xóa thư mục
mv : di chuyển hoặc đổi tên file
cp : copy file, thư mục
cd : chuyển thư mục
Thực hành :
[quantrihethong@hautp root]$ ls
ls: .: Permission denied
Vậy là lỗi rồi, user quantrihethong không có quyền sử dụng lệnh ls. Lúc trước khi tạo user tôi chưa thêm shell cho user nên user sẽ không có quyền sử dụng lệnh này. Bây giờ tôi sẽ thêm shell cho user.Trước tiên cần chuyển về user root bằng lệnh : su root, nó sẽ hỏi mật khẩu --> nhập mật khẩu của root vào.Bạn dùng lệnh : usermod để thay đổi thông tin người dùng, cú pháp như sau:
SYNTAX
usermod [options] [user]
Bạn chưa biết shell nằm ở đâu, nên cần dùng lệnh whereis để xem vị trí của shell
[root@hautp ~]# whereis bash
bash: /bin/bash /usr/share/man/man1/bash.1.gz
[root@hautp ~]# usermod -s /bin/bash quantrihethong
Tiếp theo lại su về user quantrihethong
[quantrihethong@hautp root]$ ls
ls: .: Permission denied
a ah, vẫn bị lỗi. Vậy là không phải rồi, lúc này ta đã hiểu sai. Không phải user quantrihethong không có quyền dùng shell,vì vẫn dùng được lệnh pwd,... Mà là user quantrihethong không có quyền đối với thư mục /root
Đây là điểm rất khác biệt với windows, ở Unix phân quyền rất chặt chẽ dựa theo các quyền :
Read - Write - Execute (Đọc - Ghi - Thực thi)
Các quyền này được thể hiện bằng ký hiệu : r - w - x hoặc 4 - 2 -1
Và với một thư mục quyền sẽ được phân cho : Owner - Group - others (người sử hữu - nhóm - người khác)
Để xem quyền của thư mục root ta dùng lệnh ls với tham số al:
[root@hautp /]# ls -al...drwxr-x--- 20 root root 4096 Nov 28 14:35 root...
Nhìn vào dòng trên ta sẽ nhận được thông tin như sau :
Owner là root
Group là root
drwxr-x--- : quyền đối với người dùng, chữ d ở đầu có nghĩa đây là thư mục, tiếp theo là quyền của owner :
rwx :--> owner có toàn quyền trên thư mục này, owner là root nên user root có toàn quyền trên thư mục này.
r-x :--> group có quyền đọc và chạy file, không có quyền ghi vào thư mục này.
--- :--> others không có quyền gì đối với thư mục này.
quantrihethong không thuộc group root nên không có quyền gì.
Nói thêm về cách thể hiện quyền đối với thư mục, như ở trên cói nói về cách thể hiện các quyền.drwxr-x--- sẽ tương đương 740, khi thư mục để quyền tự do nhất là rwxrwxrwx - 777 tức là bất kỳ ai cũng có đầy đủ các quyền với thư mục đó.Để thay đổi quyền bạn dùng lệnh CHMOD, để thay đổi owner bạn dùng lệnh chown, để thay đổi group bạn dùng lệnh chgroup.Việc đặt quyền hạn đúng sẽ là cực kỳ quan trọng đối với một hệ thống, không chỉ UNIX.
Hệ thống thư mục trên * NIX, bài này tôi lấy ví dụ cụ thể là Fedora 6.
Khi ở thư mục gốc / bạn đánh ls sẽ nhận được:
[root@hautp ~]# cd /
[root@hautp /]# ls
bin boot dev etc home lib lost+found media misc mnt
net opt proc root sbin selinux srv sys tmp usr var
Đó là các thư mục trên một hệ thống Unix.
* Thư mục /bin
Đây là thực mục cực kỳ quan trong của 1 hệ thống unix, thư mục này chứa gần như tất cả các lệnh của hệ thống.
* Thư mục /etc
Thư mục này chứa các các file con file của hệ thống, cũng như chứa thông tin về các service cần khỏi động khi hệ điều hành chạy.
Đối với hệ điều hành Linux thì các service chạy lúc khởi động sẽ được đặt trong thư mục init.d.
Đối với hệ điều hành SUN Solaris thì các service chạy lúc khởi động sẽ được đặt trong thư mục rc2.d.
Các thư mục trên sẽ thay đổi tùy hệ thống.
*Thư mục /usr
Thư mục này chứa file và chương trình của các user trên hệ thống.
Một điều thú vị trên hệ thống Unix là tất cả đều là file, kể cả cái gọi là thư mục cũng là file.smile_regular
*Thư mục /dev
Khi vào thư mục này đánh lệnh ls bạn sẽ thấy rất nhiều file màu vàng.
Đó chính là tất cả các thiết bị phần cứng mà hệ điều hành dùng, trên hệ thống Unix tất cả đều là file, như tôi đã nói ở trên.
Ví dụ : ổ cứng sẽ là /dev/hda, có thể có 2 loại ổ cứng IDE và SCSI, ổ ở nhà bạn dùng thông thường là IDE, ổ SCSI thường được dùng cho các máy chủ và dung lượng thường là 36GB, 72GB,...
*Thư mục /boot
Thư mục này chứa "lõi" của hệ điều hành hay còn gọi là kernel. Ví dụ đây là kernel máy của tôi :
Trên hệ điều hành SUN nó sẽ không phải là thư mục /boot, nó là thư mục /platform
Để biết thông tin về kernel bạn dùng lệnh : uname -an
[root@hautp /]# uname -an
Linux hautp 2.6.17-1.2157_FC5 #1 Tue Jul 11 22:55:46 EDT 2006 i686 i686 i386 GNU/Linux
* Thư mục root - thư mục của user root
Khi bạn dùng một user khác truy nhập vào thư mục này, bạn sẽ không có quyền gì với thư mục này, giống như user quantrihethong ở phần trước.
Đây chính là "Users home directory" thư mục riêng của user. Trên hệ thốnh Unix khi một user mới tạo ra nó sẽ tạo kèm theo 1 thư mục cho user đó. Thông thường các thư mục này sẽ nằm trong thư mục /home. Nhân tiện đây tôi nói luôn về thư mục /home.
Thư mục /home là thư mục chứa các thư mục của người dùng:
* Thư mục /sbin
Thư mục này là một thư mục giới hạn quyền hạn, nó chứa các chương trình kiểu như thư mục /bin. Nhưng bạn không thể làm gì đến nó được. Chỉ những user có quyền root mới có thể Shutdown các chương trình ở đây.
* Thư mục /tmp
Thư mục này đúng như tên của nó, nó chứa các file tạm do hệ thống sinh ra. Vì để chia sẻ cho bất kỳ chương trình nào nên thư mục này được đặt quyền hạn rất thoải mái :
drwxrwxrwt 11 root root 4096 Nov 29 04:05 tmp
Chức năng của nó cũng giống như thư mục temp của windows.
* Thư mục /var
Thư mục này để chứa các file có thể thay đổi kích thước (variable size), nên thông thường trong thư mục này sẽ chứa các database như : mysql,.. hay mail server,...
* Thư mục /lib
Lib là viết tắt của library. Thư mục /lib chứa các file thư viện chương trình. Mỗi một chương trình sẽ có thư viện riêng của mình.
* Các thư mục khác :
- /mnt
- /cdrom
- /floppy
Ban đầu tất cả các thư mục này đều rỗng. Khi bạn cắm USB vào nó sẽ nằm trong /mnt hoặc bạn cần mount nó vào trong /mnt (cái này nói sau happy). Khi cho đĩa CDROM vào thì dữ liệu sẽ được tự động mount vào thư mục /cdrom. Tương tự đối với floppy.
Phần này nói về cách : tắt máy như thế nào ? khởi động như thế nào ?
* Lệnh : shutdown
Sử dụng lệnh : man shutdown để xem thông tin về lệnh này
SYNTAX
shutdown [options] when [message]
OPTIONS
-c Cancel a shutdown that is in progress.
-f Reboot fast, by suppressing the normal call to fsck
when rebooting.
-h Halt the system when shutdown is complete.
-k Print the warning message, but suppress actual shutdown.
-n Perform shutdown without a call to init.
-r Reboot the system when shutdown is complete.
-t sec
Ví dụ :
Tắt ngay lập tức :
shutdown -h now
Khởi động lại ngay lập tức:
shutdown -r now
Tắt máy vào lúc 8 tối (pm):
shutdown -h 20:00
Sau 10 phút thì tắt máy:
shutdown -h +10
* Lệnh : halt, reboot, poweroff
Từ kernel 2.74 trờ về sau này, lệnh halt, reboot không được gọi trực tiếp mà nó đã được tích hợp vào trong lệnh shutdown như bạn thấy ở trên. Nếu bạn dùng các kernel cũ thì vẫn dùng được các lệnh này.
rình soạn thảo văn bản.
Trên windows có rất nhiều trình soạn thảo khác nhau như office, wordpad, notepad... Trên *nix cũng vậy, nhưng trình soạn thảo ưa thích có lẽ là vi.
Trình soạn thảo này có lẽ là phổ biến nhất và thông dụng nhất trên các hệ thống Unix cũng tương tự như notepad của windows.
Để truy nhập vi trong của sổ terminal bạn đánh : vi
[root@hautp /]# vi
Trình soạn thảo sẽ hiện ra. Như bản Fedora tôi đang dùng thì nó đã thay thế vi bởi VIM :
VIM soạn thảo "thuận tay hơn" vi happy bạn dùng thử mà xem big grin
Để tạo 1 file mới bạn đánh : vi <tên file>
[root@hautp /]# vi hello
Bạn nhấn phím "i" để kích hoạt chế độ Insert, sau đó bạn đánh "Hello world!"
Để ghi lại file bạn bấm phím "ESC" để thoát khỏi chế độ Insert. Sau đó đánh ":qw" để lưu lại và thoát ra khỏi vi.
"hello" [New] 1L, 14C written
[root@hautp /]# more hello
hello world !
[root@hautp /]#
Chi tiết các lệnh của vi có lẽ phải thực hành nhiều một chút mới nhớ được.
Tham khảo :
http://www.ss64.com/bash/vi.html
http://www.eng.hawaii.edu/Tutor/vi.html
VI Editor Commands
Switch to Text or Insert mode:
Open line above cursor
O
Insert text at beginning of line
I
Insert text at cursor
i
Insert text after cursor
a
Append text at line end
A
Open line below cursor
o
Switch to Command mode:
Switch to command mode
<ESC>
Cursor Movement (command mode):
Scroll Backward 1 screen
<ctrl>b
Scroll Up 1/2 screen
<ctrl>u
Go to beginning of line
0
Go to line n
nG
Go to end of line
$
Scroll Down 1/2 screen
<ctrl>d
Go to line number ##
:##
Scroll Forward 1 screen
<ctrl>f
Go to last line
G
Scroll by sentence f/b ( )
Scroll by word f/b w b Move left, down, up, right h j k l
Left 6 chars
6h
Directional Movement Arrow Keys
Go to line #6
6G
Deleting text (command mode):
Change word
cw
Replace one character
r
Delete word
dw
Delete text at cursor
x
Delete entire line (to buffer)
dd
Delete current to end of line
D
Delete 5 lines (to buffer)
5dd
Delete lines 5-10
:5,10d
Editing (command mode):
Copy line
yy
Copy n lines
nyy
Copy lines 1-2/paste after 3
:1,2t 3
Paste above current line
P
Paste below current line
p
Move lines 4-5/paste after 6
:4,5m 6
Join previous line
J
Search backward for string
?string
Search forward for string
/string Find next string occurrence n
% (entire file) s (search and replace) /old text with new/ c (confirm) g (global - all)
:%s/oldstring/newstring/cg
Ignore case during search
:set ic
Repeat last command
.
Undo previous command
u
Undo all changes to line
U
Save and Quit (command mode):
Save changes to buffer
:w
Save changes and quit vi
:wq
Save file to new file
:w file
Quit without saving
:q!
Save lines to new file
:10,15w file
Shells là gì ?
Bạn có thể hiểu nôm na shell là 1 cách để computer giao tiếp với người dùng hay nói cách khác là cách để computer nhận lệnh từ người dùng. Thồn thường trên Linux dùng "bash" shell.
Shell là giúp người dùng làm việc với máy tính dễ dàng hơn với những câu lệnh "thân thiện" mang tính chất gợi nhớ.
Ví dụ : cần copy tất cả các file trong thư mục A vào thư mục B cậu lệnh là : cp /A/* /B
* File '.bashrc'
Mỗi một user khi được tạo ra sẽ có 1 shell cho nó như tôi đã nói phần trước, định nghĩa shell cho user nằm trong file .bashrc trong thư mục /home/<tên user>, ví dụ ở đây là /home/hautp
[root@hautp /]# cd /home/
[root@hautp home]# cd quantrihethong/
[root@hautp quantrihethong]# ls -al
total 56
drwxr-xr-x 2 quantrihethong quantrihethong 4096 Nov 29 06:00 .
drwxr-xr-x 4 root root 4096 Nov 28 14:49 ..
-rw-r--r-- 1 quantrihethong quantrihethong 24 Nov 28 14:49 .bash_logout
-rw-r--r-- 1 quantrihethong quantrihethong 191 Nov 28 14:49 .bash_profile
-rw-r--r-- 1 quantrihethong quantrihethong 124 Nov 28 14:49 .bashrc
-rw-r--r-- 1 quantrihethong quantrihethong 120 Nov 28 14:49 .gtkrc
-rw------- 1 quantrihethong quantrihethong 35 Nov 29 06:00 .lesshst
[root@hautp quantrihethong]# more .bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
[root@hautp quantrihethong]# more .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
Trong file .bashrc có nói đến các alias do người dùng định nghĩa. # User specific aliases and functions
Alias là gì ?
alias thông thường được hiểu là một cái tên khác. Alias ở đây cũng gần như thế.
ví dụ tôi thêm dòng :
alias rm='rm -i'
Thì điều này có nghĩa là khi tôi đánh lệnh rm trong terminal thì lệnh này sẽ được hiểu là rm -i đây chính là alias của rm.
[root@unix1 webhostings]# du -sh *
Bài viết này không nói về cách cài đặt mà đi vào chi tiết, sau khi cài đặt xong sử dụng như thế nào.Đầu tiên bạn cần login vào hệ thống, bạn login vào với user root, mật khẩu do bạn đặt lúc cài đặt.User root là user có quyền tối cao (hay quyền cao nhất đối với một hệ thống Unix).Để xử dụng dòng lệnh bạn cần bật command shell lên, cái này tương tự như MS DOS của windows.
[root@hautp ~]#
Bạn xem thông tin về user mình đang login bằng lệnh: id
[root@hautp ~]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=root:system_r:unconfined_t:SystemLow-SystemHigh
Các chỉ số uid và gid sẽ cho biết quyền hạn của bạn trên hệ thống. 0 là quyền cao nhất rồi.Bây giờ bạn muốn login với user mới bạn sử dụng lệnh : useradd
[root@hautp ~]# useradd quantrihethong
vậy là bạn đã có user mới là quantrihethong trong hệ thống.Lệnh useradd có rất nhiều tham số khác nhau, để xem chi tiết bạn dùng lệnh man
[quantrihethong@hautp root]$ man useradd
Lúc trước khi tạo user quantrihethong chúng ta chưa tạo mật khẩu, bây giờ tạo mật khẩu cho user này, bằng lệnh passwd.
[root@hautp ~]# passwd quantrihethong
Changing password for user quantrihethong .
New UNIX password:
Sau đó nhập mật khẩu vào.Để chuyển sang user này bạn dùng lệnh : su
[root@hautp ~]# su quantrihethong
bạn kiểm tra lại bằng cách đánh lệnh : id
[quantrihethong@hautp root]$ id
uid=501(quantrihethong) gid=501(quantrihethong) groups=501(quantrihethong) context=root:system_r:unconfined_t:SystemLow-SystemHigh
Tiếp theo là các lệnh cơ bản với thư mục :Bạn cần biết hiện tại đang ở thư mục nào bạn dùng : pwd
[quantrihethong@hautp root]$ pwd
/root
Vậy là user quantrihethong đang ở thư mục /root.Các lệnh về thư mục ở trên unix tương tự như trên MS DOS của windows, chỉ có một số điểm khác biệt.Lệnh ls sẽ tương đương với dir.
rm : xóa file
rmdir : xóa thư mục
mv : di chuyển hoặc đổi tên file
cp : copy file, thư mục
cd : chuyển thư mục
Thực hành :
[quantrihethong@hautp root]$ ls
ls: .: Permission denied
Vậy là lỗi rồi, user quantrihethong không có quyền sử dụng lệnh ls. Lúc trước khi tạo user tôi chưa thêm shell cho user nên user sẽ không có quyền sử dụng lệnh này. Bây giờ tôi sẽ thêm shell cho user.Trước tiên cần chuyển về user root bằng lệnh : su root, nó sẽ hỏi mật khẩu --> nhập mật khẩu của root vào.Bạn dùng lệnh : usermod để thay đổi thông tin người dùng, cú pháp như sau:
SYNTAX
usermod [options] [user]
Bạn chưa biết shell nằm ở đâu, nên cần dùng lệnh whereis để xem vị trí của shell
[root@hautp ~]# whereis bash
bash: /bin/bash /usr/share/man/man1/bash.1.gz
[root@hautp ~]# usermod -s /bin/bash quantrihethong
Tiếp theo lại su về user quantrihethong
[quantrihethong@hautp root]$ ls
ls: .: Permission denied
a ah, vẫn bị lỗi. Vậy là không phải rồi, lúc này ta đã hiểu sai. Không phải user quantrihethong không có quyền dùng shell,vì vẫn dùng được lệnh pwd,... Mà là user quantrihethong không có quyền đối với thư mục /root
Đây là điểm rất khác biệt với windows, ở Unix phân quyền rất chặt chẽ dựa theo các quyền :
Read - Write - Execute (Đọc - Ghi - Thực thi)
Các quyền này được thể hiện bằng ký hiệu : r - w - x hoặc 4 - 2 -1
Và với một thư mục quyền sẽ được phân cho : Owner - Group - others (người sử hữu - nhóm - người khác)
Để xem quyền của thư mục root ta dùng lệnh ls với tham số al:
[root@hautp /]# ls -al...drwxr-x--- 20 root root 4096 Nov 28 14:35 root...
Nhìn vào dòng trên ta sẽ nhận được thông tin như sau :
Owner là root
Group là root
drwxr-x--- : quyền đối với người dùng, chữ d ở đầu có nghĩa đây là thư mục, tiếp theo là quyền của owner :
rwx :--> owner có toàn quyền trên thư mục này, owner là root nên user root có toàn quyền trên thư mục này.
r-x :--> group có quyền đọc và chạy file, không có quyền ghi vào thư mục này.
--- :--> others không có quyền gì đối với thư mục này.
quantrihethong không thuộc group root nên không có quyền gì.
Nói thêm về cách thể hiện quyền đối với thư mục, như ở trên cói nói về cách thể hiện các quyền.drwxr-x--- sẽ tương đương 740, khi thư mục để quyền tự do nhất là rwxrwxrwx - 777 tức là bất kỳ ai cũng có đầy đủ các quyền với thư mục đó.Để thay đổi quyền bạn dùng lệnh CHMOD, để thay đổi owner bạn dùng lệnh chown, để thay đổi group bạn dùng lệnh chgroup.Việc đặt quyền hạn đúng sẽ là cực kỳ quan trọng đối với một hệ thống, không chỉ UNIX.
Hệ thống thư mục trên * NIX, bài này tôi lấy ví dụ cụ thể là Fedora 6.
Khi ở thư mục gốc / bạn đánh ls sẽ nhận được:
[root@hautp ~]# cd /
[root@hautp /]# ls
bin boot dev etc home lib lost+found media misc mnt
net opt proc root sbin selinux srv sys tmp usr var
Đó là các thư mục trên một hệ thống Unix.
* Thư mục /bin
Đây là thực mục cực kỳ quan trong của 1 hệ thống unix, thư mục này chứa gần như tất cả các lệnh của hệ thống.
* Thư mục /etc
Thư mục này chứa các các file con file của hệ thống, cũng như chứa thông tin về các service cần khỏi động khi hệ điều hành chạy.
Đối với hệ điều hành Linux thì các service chạy lúc khởi động sẽ được đặt trong thư mục init.d.
Đối với hệ điều hành SUN Solaris thì các service chạy lúc khởi động sẽ được đặt trong thư mục rc2.d.
Các thư mục trên sẽ thay đổi tùy hệ thống.
*Thư mục /usr
Thư mục này chứa file và chương trình của các user trên hệ thống.
Một điều thú vị trên hệ thống Unix là tất cả đều là file, kể cả cái gọi là thư mục cũng là file.smile_regular
*Thư mục /dev
Khi vào thư mục này đánh lệnh ls bạn sẽ thấy rất nhiều file màu vàng.
Đó chính là tất cả các thiết bị phần cứng mà hệ điều hành dùng, trên hệ thống Unix tất cả đều là file, như tôi đã nói ở trên.
Ví dụ : ổ cứng sẽ là /dev/hda, có thể có 2 loại ổ cứng IDE và SCSI, ổ ở nhà bạn dùng thông thường là IDE, ổ SCSI thường được dùng cho các máy chủ và dung lượng thường là 36GB, 72GB,...
*Thư mục /boot
Thư mục này chứa "lõi" của hệ điều hành hay còn gọi là kernel. Ví dụ đây là kernel máy của tôi :
Trên hệ điều hành SUN nó sẽ không phải là thư mục /boot, nó là thư mục /platform
Để biết thông tin về kernel bạn dùng lệnh : uname -an
[root@hautp /]# uname -an
Linux hautp 2.6.17-1.2157_FC5 #1 Tue Jul 11 22:55:46 EDT 2006 i686 i686 i386 GNU/Linux
* Thư mục root - thư mục của user root
Khi bạn dùng một user khác truy nhập vào thư mục này, bạn sẽ không có quyền gì với thư mục này, giống như user quantrihethong ở phần trước.
Đây chính là "Users home directory" thư mục riêng của user. Trên hệ thốnh Unix khi một user mới tạo ra nó sẽ tạo kèm theo 1 thư mục cho user đó. Thông thường các thư mục này sẽ nằm trong thư mục /home. Nhân tiện đây tôi nói luôn về thư mục /home.
Thư mục /home là thư mục chứa các thư mục của người dùng:
* Thư mục /sbin
Thư mục này là một thư mục giới hạn quyền hạn, nó chứa các chương trình kiểu như thư mục /bin. Nhưng bạn không thể làm gì đến nó được. Chỉ những user có quyền root mới có thể Shutdown các chương trình ở đây.
* Thư mục /tmp
Thư mục này đúng như tên của nó, nó chứa các file tạm do hệ thống sinh ra. Vì để chia sẻ cho bất kỳ chương trình nào nên thư mục này được đặt quyền hạn rất thoải mái :
drwxrwxrwt 11 root root 4096 Nov 29 04:05 tmp
Chức năng của nó cũng giống như thư mục temp của windows.
* Thư mục /var
Thư mục này để chứa các file có thể thay đổi kích thước (variable size), nên thông thường trong thư mục này sẽ chứa các database như : mysql,.. hay mail server,...
* Thư mục /lib
Lib là viết tắt của library. Thư mục /lib chứa các file thư viện chương trình. Mỗi một chương trình sẽ có thư viện riêng của mình.
* Các thư mục khác :
- /mnt
- /cdrom
- /floppy
Ban đầu tất cả các thư mục này đều rỗng. Khi bạn cắm USB vào nó sẽ nằm trong /mnt hoặc bạn cần mount nó vào trong /mnt (cái này nói sau happy). Khi cho đĩa CDROM vào thì dữ liệu sẽ được tự động mount vào thư mục /cdrom. Tương tự đối với floppy.
Phần này nói về cách : tắt máy như thế nào ? khởi động như thế nào ?
* Lệnh : shutdown
Sử dụng lệnh : man shutdown để xem thông tin về lệnh này
SYNTAX
shutdown [options] when [message]
OPTIONS
-c Cancel a shutdown that is in progress.
-f Reboot fast, by suppressing the normal call to fsck
when rebooting.
-h Halt the system when shutdown is complete.
-k Print the warning message, but suppress actual shutdown.
-n Perform shutdown without a call to init.
-r Reboot the system when shutdown is complete.
-t sec
Ví dụ :
Tắt ngay lập tức :
shutdown -h now
Khởi động lại ngay lập tức:
shutdown -r now
Tắt máy vào lúc 8 tối (pm):
shutdown -h 20:00
Sau 10 phút thì tắt máy:
shutdown -h +10
* Lệnh : halt, reboot, poweroff
Từ kernel 2.74 trờ về sau này, lệnh halt, reboot không được gọi trực tiếp mà nó đã được tích hợp vào trong lệnh shutdown như bạn thấy ở trên. Nếu bạn dùng các kernel cũ thì vẫn dùng được các lệnh này.
rình soạn thảo văn bản.
Trên windows có rất nhiều trình soạn thảo khác nhau như office, wordpad, notepad... Trên *nix cũng vậy, nhưng trình soạn thảo ưa thích có lẽ là vi.
Trình soạn thảo này có lẽ là phổ biến nhất và thông dụng nhất trên các hệ thống Unix cũng tương tự như notepad của windows.
Để truy nhập vi trong của sổ terminal bạn đánh : vi
[root@hautp /]# vi
Trình soạn thảo sẽ hiện ra. Như bản Fedora tôi đang dùng thì nó đã thay thế vi bởi VIM :
VIM soạn thảo "thuận tay hơn" vi happy bạn dùng thử mà xem big grin
Để tạo 1 file mới bạn đánh : vi <tên file>
[root@hautp /]# vi hello
Bạn nhấn phím "i" để kích hoạt chế độ Insert, sau đó bạn đánh "Hello world!"
Để ghi lại file bạn bấm phím "ESC" để thoát khỏi chế độ Insert. Sau đó đánh ":qw" để lưu lại và thoát ra khỏi vi.
"hello" [New] 1L, 14C written
[root@hautp /]# more hello
hello world !
[root@hautp /]#
Chi tiết các lệnh của vi có lẽ phải thực hành nhiều một chút mới nhớ được.
Tham khảo :
http://www.ss64.com/bash/vi.html
http://www.eng.hawaii.edu/Tutor/vi.html
VI Editor Commands
Switch to Text or Insert mode:
Open line above cursor
O
Insert text at beginning of line
I
Insert text at cursor
i
Insert text after cursor
a
Append text at line end
A
Open line below cursor
o
Switch to Command mode:
Switch to command mode
<ESC>
Cursor Movement (command mode):
Scroll Backward 1 screen
<ctrl>b
Scroll Up 1/2 screen
<ctrl>u
Go to beginning of line
0
Go to line n
nG
Go to end of line
$
Scroll Down 1/2 screen
<ctrl>d
Go to line number ##
:##
Scroll Forward 1 screen
<ctrl>f
Go to last line
G
Scroll by sentence f/b ( )
Scroll by word f/b w b Move left, down, up, right h j k l
Left 6 chars
6h
Directional Movement Arrow Keys
Go to line #6
6G
Deleting text (command mode):
Change word
cw
Replace one character
r
Delete word
dw
Delete text at cursor
x
Delete entire line (to buffer)
dd
Delete current to end of line
D
Delete 5 lines (to buffer)
5dd
Delete lines 5-10
:5,10d
Editing (command mode):
Copy line
yy
Copy n lines
nyy
Copy lines 1-2/paste after 3
:1,2t 3
Paste above current line
P
Paste below current line
p
Move lines 4-5/paste after 6
:4,5m 6
Join previous line
J
Search backward for string
?string
Search forward for string
/string Find next string occurrence n
% (entire file) s (search and replace) /old text with new/ c (confirm) g (global - all)
:%s/oldstring/newstring/cg
Ignore case during search
:set ic
Repeat last command
.
Undo previous command
u
Undo all changes to line
U
Save and Quit (command mode):
Save changes to buffer
:w
Save changes and quit vi
:wq
Save file to new file
:w file
Quit without saving
:q!
Save lines to new file
:10,15w file
Shells là gì ?
Bạn có thể hiểu nôm na shell là 1 cách để computer giao tiếp với người dùng hay nói cách khác là cách để computer nhận lệnh từ người dùng. Thồn thường trên Linux dùng "bash" shell.
Shell là giúp người dùng làm việc với máy tính dễ dàng hơn với những câu lệnh "thân thiện" mang tính chất gợi nhớ.
Ví dụ : cần copy tất cả các file trong thư mục A vào thư mục B cậu lệnh là : cp /A/* /B
* File '.bashrc'
Mỗi một user khi được tạo ra sẽ có 1 shell cho nó như tôi đã nói phần trước, định nghĩa shell cho user nằm trong file .bashrc trong thư mục /home/<tên user>, ví dụ ở đây là /home/hautp
[root@hautp /]# cd /home/
[root@hautp home]# cd quantrihethong/
[root@hautp quantrihethong]# ls -al
total 56
drwxr-xr-x 2 quantrihethong quantrihethong 4096 Nov 29 06:00 .
drwxr-xr-x 4 root root 4096 Nov 28 14:49 ..
-rw-r--r-- 1 quantrihethong quantrihethong 24 Nov 28 14:49 .bash_logout
-rw-r--r-- 1 quantrihethong quantrihethong 191 Nov 28 14:49 .bash_profile
-rw-r--r-- 1 quantrihethong quantrihethong 124 Nov 28 14:49 .bashrc
-rw-r--r-- 1 quantrihethong quantrihethong 120 Nov 28 14:49 .gtkrc
-rw------- 1 quantrihethong quantrihethong 35 Nov 29 06:00 .lesshst
[root@hautp quantrihethong]# more .bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
[root@hautp quantrihethong]# more .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
Trong file .bashrc có nói đến các alias do người dùng định nghĩa. # User specific aliases and functions
Alias là gì ?
alias thông thường được hiểu là một cái tên khác. Alias ở đây cũng gần như thế.
ví dụ tôi thêm dòng :
alias rm='rm -i'
Thì điều này có nghĩa là khi tôi đánh lệnh rm trong terminal thì lệnh này sẽ được hiểu là rm -i đây chính là alias của rm.
nguyenhuunhu- Tổng số bài gửi : 35
Join date : 14/02/2012
Similar topics
» Các lệnh căn bản về Network trong linux
» Khái niệm cơ bản về Linux
» Tạo USB chạy hệ điều hành Linux với LiveUSB Install
» Wireshark - phần mềm phân tích gói dữ liệu trong hệ thống mạng
» Khái niệm cơ bản về Linux
» Tạo USB chạy hệ điều hành Linux với LiveUSB Install
» Wireshark - phần mềm phân tích gói dữ liệu trong hệ thống mạng
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|