shutdown --helpmysql
shutdown --?linux
man shutdown (man 就是manual 手冊, 指南)正則表達式
怎麼知道服務的名字呢?用這個命令chkconfig:sql
chkconfig --list 會列出全部的服務項shell
啓動服務,例如啓動Mysql的服務數據庫
service mysql start 不是全部的命令都有這個d這個字母express
service iptables stop 關掉防火牆apache
service vsftpd start 啓動vsFTP服務器windows
service vsftpd stop 服務中止安全
service vsftpd restart 從新啓動
你不用再手動的再去啓動Mysql,vsftp,apache等等
用chkconfig這個命令,check configure 檢查配置
chkconfig --list | more
chkconfig --list | grep mysql
chkconfig --list | grep vsftpd
chkconfig mysql on 這幾個3 4 5級別都啓動
chkconfig --level 3 mysql on 只是在3這個級別啓動
chkconfig mysql off
Mysql數據庫的服務--------------mysql
vsFTP服務器的服務------------vsftpd
防火牆的服務------------iptables
ssh的服務------------sshd
http------------------httpd
修改那一個配置文件時,先備份
修改配置文件 /etc/inittab,將id:5:initdefault中的數字5改成3
3 純命令行界面,有網絡共享
5 圖形界面
下一回系統啓動的就不進入那個圖形界面了
# uname -a # 查看內核/操做系統/CPU信息
# head -n 1 /etc/issue # 查看操做系統版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看計算機名
# lspci -tv # 列出全部PCI設備
# lsusb -tv # 列出全部USB設備
# lsmod # 列出加載的內核模塊
# env # 查看環境變量資源
# free -m # 查看內存使用量和交換區使用量
# df -h # 查看各分區使用狀況
# du -sh # 查看指定目錄的大小
# grep MemTotal /proc/meminfo # 查看內存總量
# grep MemFree /proc/meminfo # 查看空閒內存量
# uptime # 查看系統運行時間、用戶數、負載
# cat /proc/loadavg # 查看系統負載磁盤和分區
# mount | column -t # 查看掛接的分區狀態
# fdisk -l # 查看全部分區
# swapon -s # 查看全部交換分區
# hdparm -i /dev/hda # 查看磁盤參數(僅適用於IDE設備)
# dmesg | grep IDE # 查看啓動時IDE設備檢測情況網絡
# ifconfig # 查看全部網絡接口的屬性
# iptables -L # 查看防火牆設置
# route -n # 查看路由表
# netstat -lntp # 查看全部監聽端口
# netstat -antp # 查看全部已經創建的鏈接
# netstat -s # 查看網絡統計信息進程
# ps -ef # 查看全部進程
# top # 實時顯示進程狀態用戶
# w # 查看活動用戶
# id # 查看指定用戶信息
# last # 查看用戶登陸日誌
# cut -d: -f1 /etc/passwd # 查看系統全部用戶
# cut -d: -f1 /etc/group # 查看系統全部組
# crontab -l # 查看當前用戶的計劃任務服務
# chkconfig –list # 列出全部系統服務
# chkconfig –list | grep on # 列出全部啓動的系統服務程序
# rpm -qa # 查看全部安裝的軟件包
cat /proc/cpuinfo :查看CPU相關參數
cat /proc/partitions :查看硬盤和分區
cat /proc/meminfo :查看內存信息
cat /proc/version :查看版本,相似uname -r
cat /proc/ioports :查看設備I/O端口
cat /proc/interrupts :查看中斷
cat /proc/pci :查看pci設備的信息
cat /proc/swaps :查看全部swap分區的信息
/var/log
/var/log/dmesg /核心啓動日誌
/var/log/messages /系統報錯日誌
/var/log/maillog /郵件系統日誌
/var/log/xferlog /FTP服務用日誌
/var/log/secure /安全信息 系統登錄與網絡鏈接的信息
/var/log/wtwp /登陸記錄
# tail -f /var/log/messages /查看最近發生的信息.
切換虛擬工做臺:
Alt鍵和一個功能鍵來實現,一般使用F1-F6 。
如用戶登陸後,按一下「Alt+F2」鍵,用戶就能夠看到上面出現的「login:」提示符,說明用戶看到了第二個虛擬控制檯。只需按「Alt+ F1」鍵,就能夠回到第一個虛擬控制檯。
一個新安裝的Linux系統容許用戶使用「Alt+F1」到「Alt+F6」鍵來訪問前六個虛擬控制檯。
虛擬控制檯最有用的是:當一個程序出錯形成系統死鎖時,能夠切換到其它虛擬控制檯工做,關閉這個程序。
關閉計算機
shutdown -h -t 30 30秒後安全地關機斷電
shutdown -c 取消關機命令執行
重啓計算機reboot
退出命令行 exit
運行級就是操做系統當前正在運行的功能級別。
這個級別從1 到6 ,具備不一樣的功能。這些級別在/etc/inittab 文件裏指定。這個文件是init 程序尋找的主要文件,最早運行的服務是那些放在/etc/rc.d 目錄下的文件。
大多數的linux 發行版本中,啓動腳本位於 /etc/rc.d/init.d。這些腳本被ln 命令來鏈接到 /etc/rc.d/rcn.d 目錄。(這裏的n 就是運行級0-6)例如/etc/rc.d/rc2.d 下面的S10network 就是鏈接到/etc/rc.d/init.d下的network 腳本的。
文件開頭的S 表明start 就是啓動服務的意思,後面的數字10 就是啓動的順序。例如,在同一個目錄下,你還能夠看到 S80postfix 這個文件,80 就是順序在 10 之後,由於沒有啓動網絡的狀況下,啓動postfix是沒有任何做用的。另外,在/etc/rc.d/rc2.d 還能夠看到那些K 開頭的文件,例如/etc/rc.d/rc2.d/K45named,K 表明 kill ,表示中止服務的意思。
標準的linux運行級爲3 或者5 ,若是是3 的話,系統就在多用戶狀態。若是是5的話,則是運行着X Window。
不一樣的運行級定義以下:
(能夠參考Red Hat linux 裏面的/etc/inittab)
# 0 - 停機
# 1 - 單用戶模式
# 2 - 多用戶,可是沒有 NFS
# 3 - 徹底多用戶模式
# 4 - 沒有用到
# 5 - X11
# 6 - 從新啓動 (千萬不要把initdefault 設置爲6 )
對各個運行級的詳細解釋:
0 爲停機,機器關閉。
1 爲單用戶模式。
2 爲多用戶模式,可是沒有NFS 支持。
3 爲完整的多用戶模式,是標準的運行級。
4 通常不用,在一些特殊狀況下能夠用它來作一些事情。
5 就是 X11 ,進到 X Window 系統了。
6 爲重啓,運行 init 6 機器就會重啓。
安裝 RPM 包
# rpm -ivh package.rpm
升級 RPM 包
# rpm -Uvh package.rpm
卸載 RPM 包
# rpm -ev package
查詢 RPM 包中包含的文件列表
# rpm -qlp package
查詢 RPM 包中包含的文件列表
# rpm -qlp package
查詢 RPM 包中包含的內容信息
# rpm -qip package
查詢系統中全部已安裝 RPM 包
# rpm -qa
who:查詢當前在線的用戶
groups:查詢用戶所屬的組
id:顯示當前用戶信息
finger:查詢用戶信息
添加新的用戶 useradd username
更改用戶密碼 passwd username
改變用戶home目錄 usermod -d /home/username username
usermod -e "2009-01-01" username 給用戶設置密碼過時時間
usermod -G root(組) username (用戶) 將一個用戶添加到一個組裏
usermod -g root username 更改用戶的gid
usermod -s /bin/csh username 更改用戶的默認shell
usermod -u 504 username 更改用戶的uid,改成504
usermod -L username 鎖定用戶,鎖定後用戶不能登錄linux系統
usermod -U username 解鎖用戶
passwd -s username 看用戶是否被鎖定
userdel 用戶名 僅刪除用戶註冊信息
userdel -r 用戶名 刪除屬於該用戶的的家目錄和郵件
查看新的硬盤 # fdisk -l
建立pv # pvcreate /dev/sdb
建立vg # vgcreate datavg /dev/sdb /dev/sdc
注:在使用vgcreate 在建立卷組時,還能夠指定PE的大小,須要加上-s參數來實現,PE大小範圍爲8 KB 到 16GB,而且必須老是2的倍數。一個卷組裏面最多容許65534個PE存在。默認設置的PE大小爲4 MB,這表示卷組上建立的全部邏輯卷都以 4 MB 爲增量單位來進行擴充或縮減,因此4 MB 的PE決定了單個邏輯卷最大容量爲 256 GB,若要建立更大的邏輯卷則建立卷組時須要指定更大的PE。
建立lv # lvcreate -L 180M -n lvdata01 datavg
注:使用剩餘的空間來建立邏輯卷時,應先經過「vgdisplay」命令可查看當前卷組剩餘的空間。
在建立邏輯卷的時候,還能夠指定邏輯塊與物理塊映射的模式,邏輯卷的映射模式共有以下兩種:
線性模式――按照順序把必定範圍內的物理塊與邏輯塊映射,這也是默認的映射方式。例如,把邏輯卷中1-25的LE映射到PV1,把26-50的LE映射到PV2上。
條帶模式――將把邏輯塊以條帶的形式映射到不一樣的物理卷中,這種方式與前面講到的RAID 0有些相似,這種方式能夠提升邏輯卷讀寫的性能。例如,將邏輯卷的LE 1映射爲PV1的PE1,LE 2映射爲PV2的PE1,LE 3映射爲PV3的PE1。
# lvcreate -i 3 -I 4 -L 180M -n lvtest1 vgtest
參數的說明以下:
-i:採用條帶模式的映射方式建立邏輯卷,該參數的值用於指定所建立的邏輯卷將映射在幾個PV上。
-I:指定使用條帶模式時所採用塊的大小,單位爲KB,其值必須是:2N(N≥2)。
-L:指定建立邏輯卷的大小,單位的能夠用K、M、G、T表示KB、MB、GB及TB。
-n:用來指定所建立的邏輯卷名稱,該名稱可根據須要隨便定義。
-l:用於指定邏輯卷的PE數量,默認爲4MB爲單位計算總容量。
在使用「-i」參數指定PV的個數時,必定要確認所指定的這些PV是沒有徹底被分配給任何邏輯卷的,不然將建立失敗,其次若這些PV的大小不等,那麼所建立的邏輯卷只能取最小值。
建立文件系統
# mkfs.ext3 /dev/datavg/lvdata01
掛載文件系統
# mkdir /data01
# mount /dev/datavg/lvdata01 /data01
手動激活卷組 # vgchange -a y datavg
手動去激活卷組 # vgchange -a n datavg
注:卷組若不被激活,卷組和邏輯卷是不能被訪問的,在LVM 2裏建立的卷組默認是激活的。
爲卷組增長新的物理卷
當卷組空間不足時,能夠加入新的物理捲來擴大卷組容量,這時可用「vgextend」命令來實現。
# vgextend datavg /dev/sde
移除物理卷
要從一個卷組中移除一個物理卷,首先要確認要移除的物理卷沒有被任何邏輯卷正在使用,經過「pvdisplay」命令可查看到該物理卷信息,以下:
# pvdisplay /dev/sde
--- Physical volume ---
PV Name /dev/sde
VG Name vgtest
PV Size 100.00 MB / not usable 0
Allocatable yes
PE Size (KByte) 4096
Total PE 25
Free PE 25
Allocated PE 0
PV UUID ee2IFC-UHUq-Xg67-icwt-AhdJ-7kRz-JdDjiq
若其中的「Total PE」與「 Free PE」相等,代表該物理卷沒有被使用,若是某個物理卷正在被邏輯卷所使用,就須要將該物理卷的數據轉移到其它地方,而後再移除。移除物理卷的命令爲「vgreduce」。
# vgreduce datavg /dev/sde
在物理卷間轉移數據
當發現邏輯卷下的某個磁盤有錯誤,或有其它需求要轉移其中物理卷的數據時(如,更換大容量或更高速的物理設備),那麼可經過「pvmove」來實如今物理卷之間轉移數據。
# modprobe dm-mirror
在使用「pvmove 」前須要用 「modprobe dm-mirror」命令來加載dm-mirror模塊,由於「pvmove」在轉移數據時須要用到該模塊,而默認系統是不加載該模塊的。# pvmove /dev/sdd /dev/sde
擴展邏輯卷
# lvextend -L +300M /dev/datavg/lvdata01 在原有的基礎上,增長300MB空間大小
# lvextend -L 300M /dev/datavg/lvdata01 擴展到300MB空間大小
邏輯卷擴展後並不立刻生效,需使用「resize2fs」命令從新加載邏輯卷的大小,該命令只針對ext2/ext3的文件系統(如果reiserfs的文件系統,則使用「resize_reiserfs」命令),若是該邏輯卷正在使用中,就應該先將該邏輯卷卸載後再執行「resize2fs」命令。
# umount lvdata01
# resize2fs /dev/datavg/lvdata01
# mount /dev/datavg/lvdata01 lvdata01
注:以上這些操做能夠經過「ext2online」命令直接來實現,這樣就不用作卸載邏輯卷等操做了。
# ext2online /dev/datavg/lvdata01
刪除邏輯卷:刪除邏輯卷前首先須要將其卸載,再執行如下命令:
# lvremove /dev/datavg/lvdata01
移除卷組:在移除卷組前首先要確認該卷組中已沒有任何的邏輯捲了,或者可以使用「vgchange」手工將卷組中止,移除卷組的具體操做以下:# vgremove datavg
刪除物理卷:刪除物理卷前,須確認該物理卷已從卷組中移除了。
# pvremove /dev/sde
可使用 system-config-network-tui (文本模式) 、system-config-network-gui (圖像模式),netconfig(文本模式)等網絡配置工具。這些工具都會直接修改Linux系統中關於網絡接口的設置文件;
這是 ifconfig 命令所不能比的;其中 redhat-config-network 和system-config-network工具不只僅是設置網卡的工具,更有設置ISDN和普通貓、ADSL的工具、網絡硬件的添加、主機名字的設置、DNS各客戶端的設置等。例如:
# /usr/sbin/system-config-network-tui
# /usr/sbin/system-config-network-gui
netconfig 工具是個在文本模式比較好的工具。
# netconfig -d eth0 /設置eth0
# netconfig -d eth1 /設置eth1
設置網卡的DHCP模式自動得到IP
# netconfig -d eth0 --bootproto=dhcp
手動設置網卡的IP等
# netconfig -d eth0 -ip=192.168.1.33 -netmask=255.255.255.0 -gateway=192.168.1.1
(1) 配置eth0的IP地址, 同時激活該設備。
#ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up
(2) 配置eth0別名設備eth0:1的IP地址,並添加路由。
#ifconfig eth0:1 192.168.1.3
#route add –host 192.168.1.3 dev eth0:1
(3) 激活設備。 #ifconfig eth0:1 up
(4) 禁用設備。 #ifconfig eth0:down
(5) 查看指定的網絡接口的配置。 #ifconfig eth0
(6) 查看全部的網絡接口配置。 #ifconfig
(7) 查看網絡接口的鏈接狀態:# ethtool eth0
(1) 添加到主機的路由。
#route add –host 192.168.1.2 dev eth0:0
#route add –host 10.20.30.148 gw 10.20.30.40
(2) 添加到網絡的路由。
#route add –net 10.20.30.40 netmask 255.255.255.248 eth0
#route add –net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
#route add –net 192.168.1.0/24 eth1
(3) 添加默認網關。 #route add default gw 192.168.1.1
(4) 查看內核路由表的配置。
#route
(5)刪除路由。
#route del –host 192.168.1.2 dev eth0:0
#route del –host 10.20.30.148 gw 10.20.30.40
#route del –net 10.20.30.40 netmask 255.255.255.248 eth0
#route del –net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
#route del –net 192.168.1.0/24 eth1
#route del default gw 192.168.1.1
對於1和2兩點可以使用下面的語句實現:
Ifconfig eth0 172.16.19.71 netmask 255.255.255.0
Route 0.0.0.0 gw 172.16.19.254
Service network restart
(1) 顯示網絡接口狀態信息。 #netstat –i
(2) 顯示全部監控中的服務器的Socket和正使用Socket的程序信息。 #netstat –lpe
(3) 顯示內核路由表信息。
#netstat –r
#netstat –nr
(4) 顯示TCP/UDP傳輸協議的鏈接狀態。
#netstat –t
#netstat –u
hostname更改主機名
#hostname myhost
clear是清屏幕,windows是cls
cat tac head tail more
cat 3.txt 正序 從第一行開始
tac 3.txt 倒序 從倒數第一行開始
head 3.txt 頭
head -3 3.txt 列出前3行
head能夠帶參數 -lines
尾 tail -1 3.txt 最後一行
more 3.txt ------more默認是能夠分頁的,因此不少管道用到了他
ls 橫着排顯示,這一行顯示滿了接着下一行
ls -l 一行只顯示一個文件或者目錄的詳細信息
ls -m 橫着排顯示,這一行顯示滿了接着下一行
ls -R 有點像樹狀展現
cp copy 拷貝 mv move 移動
cp 1 2 把1這個文件拷貝一份,名字叫2
cp -r d1 d2 拷貝目錄必須帶參數 r
刪出一個目錄,先要刪去目錄下面的東西。要用遞歸,拷貝也是
mv d2 d1 把d2目錄移到d1,若是不行,加遞歸 mv –r
Mv除了能夠移動外,還能夠更名字
Mv 3.txt 4.txt 把3.txt的名字改成4.txt
顯示當前的用戶,是root仍是其餘用戶
按5下 ESC,會出現能夠不少使用的命令
display all 2091 possiblities,即RedHat Linux有2000多個命令。
mount point 掛載點
mount /dev/cdrom /mnt/cdr 將dev目錄下的cdrom設備與
根目錄下的mnt目錄下的cdr目錄關聯起來,這就是掛載
掛載點------cdr 設備-----CDROM
卸載umount /dev/cdrom 或者 umount /mnt/cdr
Vi:命令模式與編輯模式,剛開始進入的命令模式,不能輸入內容。
敲a進入編輯模式,底下會出現insert這個單詞 append 追加
敲esc 退出編輯模式,進入命令模式
在命令模式敲冒號 : ,而後再敲命w 是存盤
q 是退出 q!是不存盤退出 wq是存盤退出(最經常使用)
wq是存盤退出 w是否是write的意思
查找某個文件的名字(前提是你記得大概的名字),查找它的路徑路徑路徑。能夠根據建立日期查找,查找rc.local
find / -name *local 從根目錄下面開始查找,指定一個位置,從那裏開始查
find /etc -name *local
find /etc | grep local 系統回去找含有local這幾個字母的全部文件或者目錄
find / -name MySQL系統只是回去找名字叫MySQL的文件或者目錄
find / -name MySQL*找名字叫前幾個字母是MySQL(後面任意)的文件或者目錄,名字沒必要寫全
whereis ls 查找ls這個命令在哪裏
/bin bin 目錄下面有各類命令 vi cat ls pwd 等等
/usr/bin 目錄下面也有各類命令
在DOS下面看環境變量
echo %path%
echo %classpath%
Linux下面 echo $PATH PATH 必須大寫
ln 3.txt 4 more 4
連接:改了3.txt,4的內容也會自動跟着改,前提是你沒有修改4
ln 3.txt 4 硬連接,至關於複製了一份,而後再在兩個文件之間創建了快捷方式,修改3.txt,4也會變
ln -s 3.txt 5 軟鏈接,至關於windows的快捷方式,修改3.txt,5也變
兩種連接的不一樣之處:
將3.txt刪去,5不存在了,鏈接斷掉了,4還存在。
wc -l lines 這個文件有多少行
global regular expressions print 全局正則表達式版本
在文本文件中查找指定的字符串,而且把包含的那一行給顯示出來, grep student 4
在4這個文本文件中找student這個字符串,哪一行包含它,顯示出來
^在正則表達式中,表明一行的開頭
ls -l | grep '^d' 只把目錄列出來,/etc下面的文件與目錄不少
^ 這個字符在數字6上面
rpm –qa 把全部的包都列出來,
rpm -qa | grep MySQL 查找含有MySQL這幾個詞的全部包,只要包名裏面有MySQL這幾個字母,就會被找出來
find / -name MySQL*
find / | grep MySQL
fdisk -l l顯示當前的磁盤信息
列出開機的啓動信息 全稱是------d message
dmesg | grep eth0 看第一塊網卡啓動正常嗎
warning all 通知全部人,警告全部人
wall helloworld
wall `date` 警告的字符是當前的時間,把date當作一個命令,把這個命令執行的結果警告出去(` 這個字符是數字1左邊那個字符)
wall date 警告的字符是 date
Java原來的一個程序,把out替換掉.
System.out.println() 把命令輸出到了文件中
ls
ls > cmd.txt 把剛纔ls執行的命令的結果輸入到cmd.txt這個文件中
錯誤輸出重定向---------
lssss > cmd.txt 不行 , lsss這個命令不存在
lssss 2> cmd.txt
重定向輸入 wall < cmd.txt 把cmd.txt裏面的內容警告出去
分頁顯示,/etc下面的內容不少
ls -R
ls -R | more 把上一個命令執行的結果交給下一個命令
ls -l /etc | more
more默認是能夠分頁的,可是ls -l 不會分頁,有時候顯示的內容巨多無比,用more將結果。分頁豈不很好。
ls -l | grep '^d' 只把目錄列出來,/etc下面的文件與目錄不少
最左邊的一共有10位
- (表明文件) d(表明目錄) l(是L表明連接)
把最左邊的那一個去掉,就剩下9個了,能夠劃分紅3組。
Linux文件的權限分爲4種---------
read write execute none(什麼也沒有)
9位分紅3組:
第一組表明這個文件的全部者有什麼權限
第二組表明這個文件的全部者同組的人所擁有的權限
第三組表明剩下的人具備什麼權限
x--------------execute
r-------------read
w---------------write
- 表明什麼也沒有 none
change mode
chmod +x 4 給4這個文件加上可執行權限,其餘兩組也具有
chmod -x 4 取消權限
chmod u+x 4 只給本身加上可執行權限,只給第一組加上權限
怎樣讓同組的其餘人也有這個權限:
chmod g+x 4 只給第二組加上權限 group
chmod o+x 4 只給第三組加上權限 other
chmod 755 4
chmod 777 4
7表示權限都齊了 5表示沒有寫的權限
在Linux(Unix)內部表示權限,是用3個八進制數來表示的
000 =====0 111 ======7
chown testuser1 4 -------------change owner
當一個用戶登陸的時候,默認的路徑是這個用戶的主目錄
useradd testuser
adduser testuser
passwd testuser 給這個用戶設置密碼
按了退格鍵 無效,由於密碼不顯示
增長一個用戶後,系統有兩個位置會有變化:/home 、 /etc
cd /home ls #home目錄會有一個自動生成的目錄,叫作testuser
cd /etc more passwd 打開 passwd這個文件
passwd這個文件沒有存密碼,存的是全部的用戶testuser:x:501:502::/home/testuser:/bin/bash
這句話的意思:這個用戶 id號---501 所位於的組:502
用戶的主目錄爲----/home/testuser
這個用戶用到的shell -------- /bin/bash
用戶組------------------------------------------------
組的信息在group這個文件中 /etc/group
添加一個用戶不指定組的時候,會添加一個和你用戶名同樣的組
groupadd testg
useradd testuser2 -g testg 添加用戶的時候指定組
修改用戶所屬組 usermod -g testuser testuser2新的組 用戶名
usermod---------user modify
刪除用戶分兩步---刪掉用戶 刪掉他的目錄
userdel testuser
cd /home
rm -rf testuser
組的刪除 groupdel testg
switch user
su testuser2
內核外面有一層,叫作shell,shell會解釋你在Linux下面敲的命令,而後再與內核打交道。shell有不一樣的形式,有不一樣的shell,c shell -------c 語言形式的shell,不一樣的shell執行的命令是不同的,一樣的命令在不一樣的shell底下不能通用,經常使用的命令,能夠通用。
我們用的shell叫作 bash,之前叫作bsh,名字的由來,是由一個叫作bone的人,寫的,因此叫作bsh,後來他又寫了一遍,bone again shell ,因此叫作 bash。
bash ------ 切換到bash
csh --- 切換到 C shell
ksh ----- 切換到k shell
sh 最原始最原始的shell
bsh ------ 切換到bsh