基礎(chǔ)命令
1. SSH鏈接CentOS服務(wù)器
$ ssh root@123.45.67.89
// 用root這個(gè)用戶名使用ssh的方法登錄IP為123.45.67.89的服務(wù)器上
$ pwd (Print Working Directory)
// 顯示當(dāng)前的工作目錄
$ exit / logout
// 退出
2. ls 列出目錄里的內(nèi)容
$ ls
// 顯示出當(dāng)前文件夾里的內(nèi)容
$ ls -l
// 使用較長(zhǎng)格式顯示文件包雀,這里會(huì)顯示文件的權(quán)限湿滓、所屬用戶酿箭、用戶組森渐、文件大小类腮、日期等
$ ls -lh
// 比較友好的顯示文件的大小
$ ls -lha
// 顯示所有的文件臊泰,包含隱藏的文件;Linux系統(tǒng)使用點(diǎn)開始的文件蚜枢,都會(huì)當(dāng)成是隱藏文件
$ ls --help
// 顯示ls命令的使用說明
Ctrl+l
清理終端顯示缸逃,滾動(dòng)還可以查看到
2. cat 創(chuàng)建文件和瀏覽文件內(nèi)容
$ cat >> hello.txt
// 新建文本文件,并把輸入的字符追加到指定文件里厂抽,如果使用一個(gè)>需频,會(huì)把輸入的字符替換指定文件里的內(nèi)容
Ctrl+d
// 退出
$ cat hello.txt
// 查看指定文件
$ cat lnmp-install.log | less
// 添加less過濾器,cat命令每一次只為我們顯示一屏的內(nèi)容筷凤,
// 向后翻頁使用空格鍵
// 向前翻頁使用b鍵
// 退出使用q鍵
3. vim 編輯與修改文件內(nèi)容
$ vim install.log
// 使用vim修改指定文件
Ctrl+f
// 向后翻頁
Ctrl+b
// 向前翻頁
i
// 進(jìn)入編輯模式
esc
// 退出編輯模式
:q!
// 不保存所做修改并退出
:wq
// 保存修改并退出
4. mkdir 創(chuàng)建目錄
** mkdir = make directory**
$ mkdir hello
// 創(chuàng)建hello目錄
$ mkdir -p hello/world
// 同時(shí)創(chuàng)建父文件夾hello和子文件夾world
$ ls -l hello
// 查看hello文件夾的內(nèi)容
5. cd 更改工作目錄
** cd = change directory**
$ cd hello
// 改變目錄
$ cd ../
// 返回上一級(jí)目錄
6. cp 復(fù)制文件
cp = copy
$ cp hello.txt hello-copy.txt
// cp后面加上想要復(fù)制的文件昭殉,空格,輸入復(fù)制版本的文件名稱藐守,也就是目標(biāo)文件的名稱
$ cp -t hello hello.txt hello-copy.txt
// -t = target directory 目標(biāo)目錄
// -t后面輸入目標(biāo)目錄的名稱挪丢,空格,指定想要復(fù)制的源文件
$ cp -r hello hello2
// -r = recursive 遞歸
// 復(fù)制源目錄卢厂,以及源目錄所包含的所有內(nèi)容
7. rm 刪除文件或目錄
** rm = remove**
$ rm hello-copy.txt
// 刪除文件
$ rm -r hello2
// 刪除目錄乾蓬,提示是否進(jìn)入目錄里面去刪除其他內(nèi)容,輸入yes...
$ rm -rf hello2
// r = recursive
// f = force
// 刪除hello目錄的所有內(nèi)容
8. mv 移動(dòng)文件或目錄
** mv = move**
$ mv hello.txt hello
// hello.txt是想移動(dòng)的源文件慎恒,后面的hello是移動(dòng)的目標(biāo)目錄
$ mv install.log install.bak
// mv后加上想要重命名的文件或文件夾任内,空格,新的文件或文件夾名稱
$ mv hello/* .
// 將hello文件夾下所有文件移動(dòng)到當(dāng)前工作的目錄里面
// .表示當(dāng)前目錄
// ..表示當(dāng)前目錄的父級(jí)目錄
文件和目錄權(quán)限
9. 權(quán)限
文件和目錄的權(quán)限控制了什么樣的用戶可以對(duì)文件和目錄做什么樣的事融柬。
系統(tǒng)把用戶可以做的事情分成三類:查看死嗦、寫入、執(zhí)行粒氧。
r = 4 = read 查看權(quán)限
w = 2 =write 寫入權(quán)限
x = 1 = execute 執(zhí)行權(quán)限
$ ls -l
drwxr-xr-x 3 root root 4096 Nov 22 20:19 hello
-rw-r--r-- 1 root root 17 Nov 22 20:00 hello.txt
// 開頭是“-”代表是一個(gè)文件越走,開頭是“d”代表是一個(gè)目錄
// rwx和rw-是目錄的擁有者的權(quán)限(前三位)
// r-x和r--是目錄所屬的用戶組的權(quán)限(中間三位)
// r-x和r--是除目錄所有者和所屬用戶組以外的任何人所擁有的權(quán)限(最后三位)
// 3表示這個(gè)目錄里面包含的目錄數(shù)
// root是文件或目錄的擁有者
// root是文件或目錄所屬的用戶組的名稱
10. 用戶和用戶組
文件或目錄的擁有者就是系統(tǒng)里的某個(gè)用戶,每個(gè)用戶可以屬于一個(gè)或多個(gè)用戶組靠欢。如果我們?cè)O(shè)置了某個(gè)目錄的所屬用戶組擁有寫入的權(quán)限廊敌,那么屬于這個(gè)用戶組的所有用戶在這個(gè)目錄上都會(huì)繼承這個(gè)寫入權(quán)限。
root用戶是系統(tǒng)的超級(jí)管理員
$ useradd yizihan
// 為系統(tǒng)添加新用戶
$ userdel yizihan
// 刪除用戶
$ passwd yizihan
******
******
// 為用戶創(chuàng)建密碼
$ groups yizihan
// 查看用戶所屬用戶組
$ usermod -g root yizihan
// 將yizihan改到root用戶組
$ groupadd admin
// 創(chuàng)建新的用戶組
$ useradd -G admin yizihan
// G為用戶添加一個(gè)指定的替補(bǔ)用戶組
$ usermod -aG research yizihan
// 將yizihan追加到research用戶組
$ usermod -G root yizihan
// 只把yizihan保留在root用戶組
11. 理解文件的權(quán)限
$ su yizihan
// su = switch user
// 切換用戶
$ ls -l
-rw-r--r-- 1 root root 17 Nov 22 20:00 hello.txt
// rw-:root用戶擁有讀取和寫入權(quán)限
// r--:root用戶組擁有讀取權(quán)限
// 因?yàn)閔ello.txt這個(gè)文件所屬的用戶組是root门怪,而yizihan這個(gè)用戶所屬的用戶組里面包含root用戶組骡澈;所以,hello.txt這個(gè)文件對(duì)于yizihan這個(gè)用戶的權(quán)限就應(yīng)該是文件所屬用戶組的權(quán)限掷空。也就是只有一個(gè)查看權(quán)限肋殴。
12. chown 修改文件或目錄的所有者與所屬用戶組
chown = change owner
// 當(dāng)前是root用戶
$ chown yizihan hello.txt
// 在chown的后面加上文件或目錄的新的擁有者的名稱囤锉,在擁有者的后面再加上冒號(hào),可以再輸入用戶組的名稱护锤。
// 這行命令的意思是更換hello.txt這個(gè)文件的擁有者為yizihan
// 使用chown修改目錄擁有者的時(shí)候官地,可以使用一個(gè)r參數(shù),就是遞歸參數(shù)烙懦,這樣所設(shè)置的權(quán)限會(huì)應(yīng)用到目錄下面的所有內(nèi)容
13. chmod 修改文件或目錄的權(quán)限
chmod = change mode
// 使用權(quán)限的數(shù)字表示形式
$ chmod 664 hello.txt
// 6 = 4(read) + 2(write) 擁有者的權(quán)限
// 6 = 4(read) + 2(write) 所屬用戶組的權(quán)限
// 4 = 4(read) 其他用戶的權(quán)限
// 使用字母的形式修改權(quán)限
$ chmod g+w hello.txt
// 文件所屬用戶組添加寫入權(quán)限
// u = 擁有者
// g = 用戶組
// o = 其他用戶
// a = 所有用戶
// + = 添加權(quán)限
// - = 去掉權(quán)限
14. 目錄的權(quán)限
對(duì)于目錄來說驱入,查看的權(quán)限就是查看目錄里面都有什么樣的文件和目錄;目錄的寫入權(quán)限和執(zhí)行權(quán)限會(huì)經(jīng)常配合在一起使用氯析,執(zhí)行權(quán)限就是允許用戶進(jìn)入到目錄里面亏较,比如使用cd命令進(jìn)入到目錄;寫入權(quán)限可以允許用戶在目錄里面添加掩缓、刪除或重命名文件雪情。
drwxr--r-x 3 root root 4096 Nov 22 20:19 hello
// root 用戶組在hello目錄內(nèi)只有查看權(quán)限不能添加或刪除文件
-rw-rw-r-- 1 root root 17 Nov 22 20:00 hello.txt
// root 用戶組可以查看和寫入hello.txt文件
配置服務(wù)器
15. 分區(qū) 格式化 掛載阿里云服務(wù)器的磁盤空間
** df = disk free **
$ df -h
// 查看當(dāng)前系統(tǒng)里的磁盤使用情況
16. 安裝與配置Apache服務(wù)
如果想讓我們的服務(wù)器稱為一臺(tái)Web服務(wù)器,我們需要安裝一個(gè)Web服務(wù)器軟件你辣,比如Apache或Nginx巡通。
$ yum install httpd
// 安裝Apache服務(wù)器
$ service httpd start
// 啟動(dòng)httpd服務(wù)
$ service httpd stop
// 停止httpd服務(wù)
$ service httpd restart
// 重啟httpd服務(wù)
$ service mysql start
// 啟動(dòng)mysqlfuwu
$ service httpd status
// 查看httpd服務(wù)的狀態(tài)
$ chkconfig httpd on
// 服務(wù)器重啟以后,自動(dòng)運(yùn)行httpd服務(wù)
瀏覽器訪問ip地址
14. 網(wǎng)站的發(fā)布目錄
如果想讓用戶通過瀏覽器訪問放在服務(wù)器上的文件舍哄,我們需要把這些文件放在一個(gè)特定的目錄里面扁达,這個(gè)目錄就是網(wǎng)站的根目錄。
這個(gè)目錄的位置在Apache的配置文件里設(shè)置蠢熄。默認(rèn)情況下跪解,Apache的配置文件在 /etc/httpd/conf/httpd.conf 這個(gè)文件。
/var 包含系統(tǒng)一般運(yùn)行時(shí)要改變的數(shù)據(jù)
/etc 包含各種系統(tǒng)配置文件
$ cp httpd.conf httpd.bak
// 備份配置文件
DocumentRoot "/var/www/html"
// Apache默認(rèn)根目錄
15. 創(chuàng)建虛擬主機(jī)
Apache的虛擬主機(jī)功能可以讓我們?cè)谝慌_(tái)服務(wù)器上運(yùn)行多個(gè)網(wǎng)站签孔。
// httpd.conf
NameVirtualHost *:80
// 開啟虛擬主機(jī)功能叉讥,監(jiān)聽服務(wù)器所有IP的80端口
ServerAdmin guosk@yizihan.cn
// 虛擬主機(jī)管理員的 E-mail 地址
DocumentRoot /mnt/www/yizihan
// 是發(fā)布目錄的位置
ServerName yizihan.cn
// 這里是虛擬主機(jī)的域名
ServerAlias www.yizihan.cn
// 域名別名
16. 讓網(wǎng)站程序可以使用地址重寫功能
WordPress有地址重寫功能,可以讓網(wǎng)站的地址變得更簡(jiǎn)單饥追,這樣有利于搜索引擎優(yōu)化图仓。
如果想要使用這個(gè)功能,需要確定Apache加載了 rewrite 模塊但绕,然后還要配置一下救崔,讓網(wǎng)站程序所在的目錄可以使用這個(gè)重寫的功能。
$ apachectl -M
// 查看Apache是否加載了rewrite模塊
// httpd.conf
<Directory "/mnt/www">
// 配置指定目錄
AllowOverride All
// 所有指定目錄下的網(wǎng)站程序都可以使用重寫功能
17. 安裝與配置MySQL數(shù)據(jù)庫
$ yum install mysql-server
// 安裝mysql數(shù)據(jù)庫
$ service mysqld start
// 啟動(dòng)mysql數(shù)據(jù)庫服務(wù)
$ chkconfig mysqld on
// 設(shè)置服務(wù)器重啟后自動(dòng)運(yùn)行mysql數(shù)據(jù)庫服務(wù)
18. 安裝與配置PHP
一個(gè)可以運(yùn)行PHP語言的網(wǎng)站的環(huán)境的基本組成是:Web服務(wù)器捏顺、PHP解釋器六孵、數(shù)據(jù)庫管理系統(tǒng)。
epel:是yum的一個(gè)軟件源幅骄,里面包含了許多基本源里沒有的軟件
ius:一個(gè)第三方軟件庫劫窒,提供上有最新版本的PHP、Python拆座、MySQL
rpm:由Redhat公司開發(fā)的軟件包管理方式主巍,使用rpm我們可以方便的進(jìn)行軟件的安裝等工作
yum:(Yellow dog Updater, Modified)是一個(gè)Shell前端軟件包管理器冠息。能夠從指定的服務(wù)器上下載RPM包并安裝,可以自動(dòng)處理依賴性關(guān)系孕索,并且一次安裝所有依賴的軟件包逛艰。
添加epel和ius兩個(gè)倉庫
$ yum install php56u-fpm
// 安裝php fpm同時(shí)安裝依賴度的php版本
$ service php-fpm start
// 啟動(dòng)PHP-FPM
19. 安裝與配置FTP服務(wù)器
$ yum install vsftpd
// 安裝vsftpd
$ vim /etc/vsftpd/vsftpd.cof
anonymous_enable NO
// 設(shè)置不允許匿名連接
$ chkconfig vsftpd on
// 設(shè)置vsftpd自動(dòng)啟動(dòng)
應(yīng)用
20. 用phpMyAdmin管理MySQL
phpMyAdmin是一套可以通過瀏覽器來管理mysql數(shù)據(jù)庫的軟件。