--
ctrl+alt+backspace 登出
使用者
|
|
bash 終端相當於是bash的介面和工具
|
|
核心kernel 1,系統介面調用
|2,記憶體管理
|3,檔案系統管理
|4,進程管理
|5,硬體驅動
|
物理硬體
linux 基本命令
命令的分類:
內部命令--bash內建的內部命令50個左右
man type
bash, :, ., [, alias, bg, bind, break, builtin, cd, command, compgen,
complete, continue, declare, dirs, disown, echo, enable, eval, exec,
exit, export, fc, fg, getopts, hash, help, history, jobs, kill, let,
local, logout, popd, printf, pushd, pwd, read, readonly, return, set,
shift, shopt, source, suspend, test, times, trap, type, typeset, ulimit,
umask, unalias, unset, wait - bash built-in commands, see bash(1)
外部命令--外部程式帶的執行檔案
[root@station221 ~]# type cd
cd is a shell builtin
[root@station221 ~]# type mount
mount is /bin/mount
linux的命令協助
man info -h --help help+命令
--man 注重於應用
ls /usr/share/man/man的協助文檔所在的位置
man1普通使用者可執行檔命令和二進位檔案
man2系統核心調用的函數工具
man3常用的一些函數與函數庫
man4裝置檔案的說明
man5設定檔案與一些其它格式的檔案
man6遊戲相關
man7協議有關,網路通訊協定等
man8管理員可操作的命令
man9系統核心相關的檔案
--info注重於介紹
/usr/share/info
命令 -h 簡便的列出命令的參數使用列表
命令 --help 同-h這兩個只針對外部命令
help 命令 對內部命令的簡單介紹
-------------------------------------------------------------------------------
檔案命令:
ls 列出目錄的內容同dos裡的dir
ls -a 列出隱藏檔案(就是以.開頭的檔案,包括.和..)
ls -l 詳細列表
ls -l -a
ls -la
ls -ld /etc
-rw------- 1 root root 1112 Mar 27 03:14 anaconda-ks.cfg
檔案屬性 許可權 硬串連數屬主 屬組 大小 最後修改時間 檔案名稱
檔案的分類:
-普通檔案
d目錄
l連結檔案
p管道檔案
bblock檔案,塊裝置
c字元
s通訊端檔案socket
ls 列出的檔案顏色:
白色普通檔案
藍色目錄
暗紅壓縮檔
紫色通訊端檔案
目錄淺綠色背景目錄有t位
草綠色連結檔案
檔案淺綠色可執行檔
touch 建立一個空的普通檔案
touch {1,2,3}aa{4,5,6}bb{7,8,9}--建立了27個檔案
touch "{1,2,3}aa{4,5,6}bb{7,8,9}"--建立了一個檔案
----------------------------
目錄命令:
pwdcd mkdirrmdir
pwd查看當前所在目錄的路徑
[root@station221 mail]# pwd -P
/var/spool/mail
[root@station221 mail]# pwd
/var/mail
cd切換當前所在目錄
注意相對路徑和絕對路徑的區別
cd /root/test/
cd /root/cd test/
每個目錄下都有一個.和一個..
.代表當前所在目錄
..代表上一級目錄
cd ../../etc/httpd/conf
mkdir建立空目錄
ls -l列出的檔案的第三列的數字,當mkdir一個空目錄時就包括了.和.. 這個數就為2
如果在此空目錄裡再多mkdir一個目錄,此數值就加1;如果是touch多一個檔案,此數值不加
rmdir刪除一個空目錄
--------------------------------
閱讀命令:
catmorelessheadtail
cat 查看檔案內容
-n加行號
nl !$nl 命令直接加行號
-- !$ 代表上一個命令後面接的參數
more一頁一頁的看
用空格鍵向下翻頁q鍵退出
less一頁一頁的看 支援page up和page down 上下翻頁
head預設查看檔案的前十行
head -n 3 /etc/rc.sysinit 查看前N行
tail查看檔案的後十行
tail -n 3 /etc/rc.sysinit 查看後N行
-------------------------------------
操作命令
cpmvrm
cp複製檔案 (格式為 : cp 源 目標)
-r複製目錄
-a複製時保留原檔案的屬主和屬組
mv移動或者重新命名 ,檔案或目錄都適用
rm 刪除檔案或目錄
-r 刪除目錄 (無論是否為空白,但要求使用者確認)
-f不要求使用者確認
-rf 一起使用,但此非常危險
bash的萬用字元功能
rm 1aa* -rf刪除以1aa開頭的,包括1aa
rm *7-rf刪除以7結尾的,包括7
bash的逸出字元功能
rm /{1/,2/,3/}aa/{4/,5/,6/}bb/{7/,8/,9/}
注意檔案裡的空格也要用/ 來轉義 ,多用bash的TAB鍵,自動補全功能
---------------------------------------------------------------------------------------
管道--一條命令完成不了的任務或者要多條複雜的命令來實現的任務,可以用管道來實現
cat /etc/rc.sysinit |more
cat /etc/rc.sysinit |grep fi |wc -l
重新導向
cat /etc/rc.sysinit |grep fi |wc -l|cat >> /root/test/1--追加
echo aa > /root/test/1--覆蓋
0標準輸入----- 終端 --------標準輸出 1
|
|
錯誤輸出
2
echo 'hello' > /dev/pts/2重新導向到pts/2
echo 'hello' 1> /dev/pts/2隻把標準輸出重新導向到pts/2
cat /sagasgaws 2> /dev/pts/3把錯誤輸出重新導向到pts/3
cat /sagasgaws 2> /dev/null /dev/null指的是bit桶,或者叫垃圾箱,或者叫黑洞
--------------------------------------------------------------
bash 的功能總結:
1, histroy 儲存曆史的功能
2, tab自動補全功能
3, shell script的強大編程功能
4, 變數功能
5, 萬用字元功能
-------------------------------------------------------------------------------------
vi vim (增強版vi,現在基本各種linux版本都帶有vim)
vi 有三種模式:
1,一般普通模式:
2,編輯模式:i I o O a A r R
3,命令列模式: : / ?
移動相關:
--ctrl+b 向上翻頁 = page up
--ctrl+f 向下翻頁= page down
ctrl+d 向下移動半頁
ctrl+u 向上移動半頁
--G移動到頁末 =shift +g
--gg移動到頁頭
--0移動到行頭
--$移動到行末
n(代表數字)+斷行符號 向下移動N行
刪除,複製,粘貼
x向後刪除一個字元 = delete
X往前刪除一個字元 = backspace
--dd直接刪除游標所在行ndd (n代表數字,刪除n行)
--yy複製游標所在行nyy(n代表數字,複製n行)
--p粘貼
--u回退上一次操作 按一次u只能回退一次
ctrl+r重做上一次操作
進入編輯模式:
--i當前insert
I行頭insert
a向後一個字元insert
A行末insert
o下一行insert
O上一行insert
r替換游標所在的字元
R從游標處向後一直替換
--ESC從編輯模式回退到一般模式
尋找與替換:
-- /word尋找單詞 n 向下尋找 N 向上尋找
-- :1,$s/old/new/g從第一行到最後一行都用new替換old
-- :%s/old/new/g從第一行到最後一行都用new替換old
-- :n1,n2s/old/new/g 從n1行到n2行用new替換old
-- :1,$s/old/new/gc從第一行到最後一行都用new替換old,多加了一個c就可以要求使用者確認哪些換哪些不換
--:set number 或者 : set nu 把每一行都加上行號
--:set nonumber 或者 : set nonu去掉每一行前的行號
:n(代表數字)+斷行符號直接把游標定位到n行
--:w儲存 (write)
--:q退出(quit)
--:wq儲存並退出 =shift+zz
--+!表示強制儲存或者退出
:split橫分布局
:vsplit豎分布局
--------------------------------------------------------------------------------
使用者管理
作業系統的分類:
單使用者單任務作業系統:DOS
單使用者多任務作業系統:windows 95 windows 98 windows 2000
多使用者多任務作業系統:windows 2003 server windows 2008 server
linuxunix
基於多使用者的基礎上,引出的使用者的分類:
管理員 root uid=0
系統帳號 uid 1-499 65534
普通使用者帳號 uid 500-65535(2.6.xxx的核心支援的uid數量為 2^32-1個)
id 命令 查看當前使用使用者的使用者資訊和組資訊
[root@station221 ~]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
使用者管理相關的檔案
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
--vim /etc/passwd
root:x:0:0:root:/root:/bin/bash
第一列: 使用者名稱
第二列:密碼 老版本這裡放的就是密碼,為了安全性考慮,密碼放到了/etc/shadow的第二列
x代表/etc/shadow的第二列生效,去掉x就表示此使用者登入的時候沒有密碼
第三列:uid 使用者識別ID值,系統是通過這個值來確認是哪個使用者
第四列:gid組識別ID值
第五列:描述項comment
第六列:家目錄
第七個:bash 目前使用者使用的bash
cat /etc/shells
/bin/sh淘汰
/bin/bash現在大多數支援的
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh
--vim /etc/shadow
root:$1$.1RfCu/n$ModWntxLJRC6SpgAXSDO81:14694:0:99999:7:::
與/etc/passwd相對應 (但這裡有九列)
第一列: 使用者名稱
第二列:密碼 (這裡以*號開頭或!開頭預設是不能登陸的)
第三列:上一次修改密碼的時間 linux以1970年1月1日到現在的天數來算的
第四列:修改密碼後幾天內不允許再修改如果這裡為5,那改過密碼後5天內不能再修改 0代表不限制
第五列:多少天內必須要求你改99999代表不限制
第六列:到期前幾天給你一個警示資訊
第七列:密碼到期後還給的一個寬限天數
第8列: 這裡可以寫一個到期天數 這裡也是以1970年1月1日到現在的天數來計算的,多用於收費系統
第九列: 保留,留著以後功能擴充
使用者相關的命令
useradd
usermod
userdel
passwd
useradd 增加一個普通使用者
-c comment
-u uid
-g gid
-e 到期時間
..........找man
usermod 修改一個使用者資訊
參數基本與useradd相同
userdel 刪除一個使用者
-r 參數 連同家目錄與郵件目錄全刪除
passwd 修改密碼
--------------------------------------------
使用者資訊相關的命令:
finger
chfn
[root@station221 ~]# finger user1--查看一個使用者的相關資訊
Login: user1 Name: (null)
Directory: /home/user1 Shell: /bin/bash
Never logged in.
No mail.
No Plan.
[root@station221 ~]# chfn user1--修改一個使用者的相關資訊
Changing finger information for user1.
Name []: li
Office []: uplooking
Office Phone []: 123456
Home Phone []: 88888
Finger information changed.
[root@station221 ~]# finger user1
Login: user1 Name: li
Directory: /home/user1 Shell: /bin/bash
Office: uplooking, 123456 Home Phone: x8-8888
Never logged in.
No mail.
No Plan.
---------------------------------------------------------------
組管理
vim /etc/group
bin:x:1:root,bin,daemon
第一列:組名
第二列:與/etc/passwd第二列一樣
第三列:gid
第四列:哪些使用者屬於這個組
vim /etc/gshadow
bin:::root,bin,daemon
組管理的相關命令:
groupadd
groupdel
groupmod
gpasswd
groupadd 增加一個組
groupdel 刪除一個組
groupmod 修改組資訊
gpasswd 修改組登陸密碼
--$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
--關於有效組和初始組的討論
[root@station221 ~]# id user3
uid=502(user3) gid=502(user3) groups=502(user3),501(user2)
[root@station221 ~]# id user2
uid=501(user2) gid=501(user2) groups=501(user2)
gid=那個組就是你的初始組
[user3@station221 ~]$ groups --user3使用者用此命令查看 靠前的是有效組
user3 user2
--那麼此使用者現在建立目錄或者檔案的屬組為 有效組user3
[user3@station221 ~]$ touch 1
[user3@station221 ~]$ ll
total 0
-rw-rw-r-- 1 user3 user3 0 Mar 28 15:19 1
[root@station221 ~]# gpasswd user2--用root使用者給user2加一個組登陸密碼
Changing the password for group user2
New Password:
Re-enter new password:
[user3@station221 ~]$ newgrp user2--user3使用者用此命令切換有效組
Password:
[user3@station221 ~]$ groups --切換有效組之後,再用user3使用者查看發現有效組改變
user2 user3
[user3@station221 ~]$ touch 3
-rw-r--r-- 1 user3 user2 0 Mar 28 15:21 3使用者建立的檔案,屬組為新的有效組user2
--$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
切換使用者
su 非完全切換繼承上一個使用者的環境變數
[user3@station221 root]$ echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
su - 完全切換不繼承上一個使用者的環境變數
[user3@station221 ~]$ echo $PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/user3/bin
-----------------------------------------------------------------------------
sudo
root一個人忙不過來,把一些許可權給普通使用者幫忙管理,但就是不想給他root密碼的情況
vim /etc/sudoers
76 root ALL=(ALL) ALL
77 user3 ALL=(ALL) ALL--這一行是加的 ,意思是把所有的許可權給了sudo情況下的user3
儲存退出
[root@station221 ~]# su - user3--完全切換到user3使用者
[user3@station221 ~]$ mkdir /root/user3--在root使用者的家目錄下建立目錄是被許可權拒絕的
mkdir: cannot create directory `/root/user3': Permission denied
[user3@station221 ~]$ sudo mkdir /root/user3 --用sudo 可以建立,但密碼是user3自己的密碼
Password:
----------------------------------------------------------------------------
虛擬機器vmware安裝與介紹
[root@station221 ~]# showmount -e 10.1.1.221
Export list for 10.1.1.221:
/share/iso *
/share/soft *
/share/install *
mount 10.1.1.221:/share/soft /mnt 拷到自己的機器上去
rpm -ivh VMware-workstation-6.0.2-59824.i386.rpm
[root@station221 VMware-workstation]# vmware-config.pl
[root@station221 VMware-workstation]# /usr/bin/vmware-config.pl
--用上面兩種方法都可以配置虛擬機器 用預設配置一路斷行符號下來
vmware &用此命令啟動虛擬機器
輸入序號 註冊
WC5FW-V0CFX-4804A-4WTNL
虛擬機器的功能:
suspend 掛起目前狀態
snapshot 快照功能