基础命令
1. SSH链接CentOS服务器
$ ssh [email protected]
// 用root这个用户名使用ssh的方法登录IP为123.45.67.89的服务器上
$ pwd (Print Working Directory)
// 显示当前的工作目录
$ exit / logout
// 退出
2. ls 列出目录里的内容
$ ls
// 显示出当前文件夹里的内容
$ ls -l
// 使用较长格式显示文件,这里会显示文件的权限、所属用户、用户组、文件大小、日期等
$ ls -lh
// 比较友好的显示文件的大小
$ ls -lha
// 显示所有的文件,包含隐藏的文件;Linux系统使用点开始的文件,都会当成是隐藏文件
$ ls --help
// 显示ls命令的使用说明
Ctrl+l
清理终端显示,滚动还可以查看到
2. cat 创建文件和浏览文件内容
$ cat >> hello.txt
// 新建文本文件,并把输入的字符追加到指定文件里,如果使用一个>,会把输入的字符替换指定文件里的内容
Ctrl+d
// 退出
$ cat hello.txt
// 查看指定文件
$ cat lnmp-install.log | less
// 添加less过滤器,cat命令每一次只为我们显示一屏的内容,
// 向后翻页使用空格键
// 向前翻页使用b键
// 退出使用q键
3. vim 编辑与修改文件内容
$ vim install.log
// 使用vim修改指定文件
Ctrl+f
// 向后翻页
Ctrl+b
// 向前翻页
i
// 进入编辑模式
esc
// 退出编辑模式
:q!
// 不保存所做修改并退出
:wq
// 保存修改并退出
4. mkdir 创建目录
** mkdir = make directory**
$ mkdir hello
// 创建hello目录
$ mkdir -p hello/world
// 同时创建父文件夹hello和子文件夹world
$ ls -l hello
// 查看hello文件夹的内容
5. cd 更改工作目录
** cd = change directory**
$ cd hello
// 改变目录
$ cd ../
// 返回上一级目录
6. cp 复制文件
cp = copy
$ cp hello.txt hello-copy.txt
// cp后面加上想要复制的文件,空格,输入复制版本的文件名称,也就是目标文件的名称
$ cp -t hello hello.txt hello-copy.txt
// -t = target directory 目标目录
// -t后面输入目标目录的名称,空格,指定想要复制的源文件
$ cp -r hello hello2
// -r = recursive 递归
// 复制源目录,以及源目录所包含的所有内容
7. rm 删除文件或目录
** rm = remove**
$ rm hello-copy.txt
// 删除文件
$ rm -r hello2
// 删除目录,提示是否进入目录里面去删除其他内容,输入yes...
$ rm -rf hello2
// r = recursive
// f = force
// 删除hello目录的所有内容
8. mv 移动文件或目录
** mv = move**
$ mv hello.txt hello
// hello.txt是想移动的源文件,后面的hello是移动的目标目录
$ mv install.log install.bak
// mv后加上想要重命名的文件或文件夹,空格,新的文件或文件夹名称
$ mv hello/* .
// 将hello文件夹下所有文件移动到当前工作的目录里面
// .表示当前目录
// ..表示当前目录的父级目录
文件和目录权限
9. 权限
文件和目录的权限控制了什么样的用户可以对文件和目录做什么样的事。
系统把用户可以做的事情分成三类:查看、写入、执行。
r = 4 = read 查看权限
w = 2 =write 写入权限
x = 1 = execute 执行权限
$ 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
// 开头是“-”代表是一个文件,开头是“d”代表是一个目录
// rwx和rw-是目录的拥有者的权限(前三位)
// r-x和r--是目录所属的用户组的权限(中间三位)
// r-x和r--是除目录所有者和所属用户组以外的任何人所拥有的权限(最后三位)
// 3表示这个目录里面包含的目录数
// root是文件或目录的拥有者
// root是文件或目录所属的用户组的名称
10. 用户和用户组
文件或目录的拥有者就是系统里的某个用户,每个用户可以属于一个或多个用户组。如果我们设置了某个目录的所属用户组拥有写入的权限,那么属于这个用户组的所有用户在这个目录上都会继承这个写入权限。
root用户是系统的超级管理员
$ useradd yizihan
// 为系统添加新用户
$ userdel yizihan
// 删除用户
$ passwd yizihan
******
******
// 为用户创建密码
$ groups yizihan
// 查看用户所属用户组
$ usermod -g root yizihan
// 将yizihan改到root用户组
$ groupadd admin
// 创建新的用户组
$ useradd -G admin yizihan
// G为用户添加一个指定的替补用户组
$ usermod -aG research yizihan
// 将yizihan追加到research用户组
$ usermod -G root yizihan
// 只把yizihan保留在root用户组
11. 理解文件的权限
$ su yizihan
// su = switch user
// 切换用户
$ ls -l
-rw-r--r-- 1 root root 17 Nov 22 20:00 hello.txt
// rw-:root用户拥有读取和写入权限
// r--:root用户组拥有读取权限
// 因为hello.txt这个文件所属的用户组是root,而yizihan这个用户所属的用户组里面包含root用户组;所以,hello.txt这个文件对于yizihan这个用户的权限就应该是文件所属用户组的权限。也就是只有一个查看权限。
12. chown 修改文件或目录的所有者与所属用户组
chown = change owner
// 当前是root用户
$ chown yizihan hello.txt
// 在chown的后面加上文件或目录的新的拥有者的名称,在拥有者的后面再加上冒号,可以再输入用户组的名称。
// 这行命令的意思是更换hello.txt这个文件的拥有者为yizihan
// 使用chown修改目录拥有者的时候,可以使用一个r参数,就是递归参数,这样所设置的权限会应用到目录下面的所有内容
13. chmod 修改文件或目录的权限
chmod = change mode
// 使用权限的数字表示形式
$ chmod 664 hello.txt
// 6 = 4(read) + 2(write) 拥有者的权限
// 6 = 4(read) + 2(write) 所属用户组的权限
// 4 = 4(read) 其他用户的权限
// 使用字母的形式修改权限
$ chmod g+w hello.txt
// 文件所属用户组添加写入权限
// u = 拥有者
// g = 用户组
// o = 其他用户
// a = 所有用户
// + = 添加权限
// - = 去掉权限
14. 目录的权限
对于目录来说,查看的权限就是查看目录里面都有什么样的文件和目录;目录的写入权限和执行权限会经常配合在一起使用,执行权限就是允许用户进入到目录里面,比如使用cd命令进入到目录;写入权限可以允许用户在目录里面添加、删除或重命名文件。
drwxr--r-x 3 root root 4096 Nov 22 20:19 hello
// root 用户组在hello目录内只有查看权限不能添加或删除文件
-rw-rw-r-- 1 root root 17 Nov 22 20:00 hello.txt
// root 用户组可以查看和写入hello.txt文件
配置服务器
15. 分区 格式化 挂载阿里云服务器的磁盘空间
** df = disk free **
$ df -h
// 查看当前系统里的磁盘使用情况
16. 安装与配置Apache服务
如果想让我们的服务器称为一台Web服务器,我们需要安装一个Web服务器软件,比如Apache或Nginx。
$ yum install httpd
// 安装Apache服务器
$ service httpd start
// 启动httpd服务
$ service httpd stop
// 停止httpd服务
$ service httpd restart
// 重启httpd服务
$ service mysql start
// 启动mysqlfuwu
$ service httpd status
// 查看httpd服务的状态
$ chkconfig httpd on
// 服务器重启以后,自动运行httpd服务
浏览器访问ip地址
14. 网站的发布目录
如果想让用户通过浏览器访问放在服务器上的文件,我们需要把这些文件放在一个特定的目录里面,这个目录就是网站的根目录。
这个目录的位置在Apache的配置文件里设置。默认情况下,Apache的配置文件在 /etc/httpd/conf/httpd.conf 这个文件。
/var 包含系统一般运行时要改变的数据
/etc 包含各种系统配置文件
$ cp httpd.conf httpd.bak
// 备份配置文件
DocumentRoot "/var/www/html"
// Apache默认根目录
15. 创建虚拟主机
Apache的虚拟主机功能可以让我们在一台服务器上运行多个网站。
// httpd.conf
NameVirtualHost *:80
// 开启虚拟主机功能,监听服务器所有IP的80端口
ServerAdmin [email protected]
// 虚拟主机管理员的 E-mail 地址
DocumentRoot /mnt/www/yizihan
// 是发布目录的位置
ServerName yizihan.cn
// 这里是虚拟主机的域名
ServerAlias www.yizihan.cn
// 域名别名
16. 让网站程序可以使用地址重写功能
WordPress有地址重写功能,可以让网站的地址变得更简单,这样有利于搜索引擎优化。
如果想要使用这个功能,需要确定Apache加载了 rewrite 模块,然后还要配置一下,让网站程序所在的目录可以使用这个重写的功能。
$ apachectl -M
// 查看Apache是否加载了rewrite模块
// httpd.conf
// 配置指定目录
AllowOverride All
// 所有指定目录下的网站程序都可以使用重写功能
17. 安装与配置MySQL数据库
$ yum install mysql-server
// 安装mysql数据库
$ service mysqld start
// 启动mysql数据库服务
$ chkconfig mysqld on
// 设置服务器重启后自动运行mysql数据库服务
18. 安装与配置PHP
一个可以运行PHP语言的网站的环境的基本组成是:Web服务器、PHP解释器、数据库管理系统。
epel:是yum的一个软件源,里面包含了许多基本源里没有的软件
ius:一个第三方软件库,提供上有最新版本的PHP、Python、MySQL
rpm:由Redhat公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装等工作
yum:(Yellow dog Updater, Modified)是一个Shell前端软件包管理器。能够从指定的服务器上下载RPM包并安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
添加epel和ius两个仓库
$ yum install php56u-fpm
// 安装php fpm同时安装依赖度的php版本
$ service php-fpm start
// 启动PHP-FPM
19. 安装与配置FTP服务器
$ yum install vsftpd
// 安装vsftpd
$ vim /etc/vsftpd/vsftpd.cof
anonymous_enable NO
// 设置不允许匿名连接
$ chkconfig vsftpd on
// 设置vsftpd自动启动
应用
20. 用phpMyAdmin管理MySQL
phpMyAdmin是一套可以通过浏览器来管理mysql数据库的软件。