1 查看Linux系统版本号
cat /etc/centos-release
cat /etc/issue
2 查看内核版本号
cat /proc/version 或者 username -r
3查看计算机主机名
hostnamephp
查看主机ip的几种方法html
hostname -i 查看主机的ip
ip a 查看主机的ip
ifconfig 查看主机的ip前端
windows的盘符能够比喻一颗颗树,
linux 的盘符是一颗倒立的大叔,全部的路径都是从/根目录开始node
/bin binary 二进制可执行命令,经常使用的linux操做命令在此文件夹下
/boot linux操做系统的目录,linux的核心,通常不要去操做它
/dev 硬件信息的目录
/etc 系统的或者软件的配置文件目录
/home 家目录 相似于win 下个人文档
/media 默认光盘挂载的目录 光盘的信息从这里查看
/root root用户的家目录
/sbin super binary 须要超级权限的命令
/usr 用户操做目录 /usr/local安装软件会选择这里
/var /var/log 通常系统等软件的日志信息在这里mysql
windows 下cmd命令行 dos命令行linux
ipconfigc++
Linux shell命令行sql
pwd 显示当前工做目录
shell
Linux基本经常使用的命令数据库
pwd print work directory 显示当前目录的路径
ls 短信息格式显示目录结构
ls -l 长信息格式显示目录结构
ll ================= >ls -l
运行模式
linux 默认拥有7种运行模式
语法 : init 模式编号
shell> init 0|3|5|6
0表示关机
1 表示单用户模式
2 表示多用户模式
3 表示切换到命令行模式 服务通常处于这种模式
4 表示未被使用的模式
5表示切换到桌面模式
6 表示重启
用户切换
经过某一个用户登陆,可使用su命令切换另外的用户身份
语法: su switch user 切换用户
用户当前身份
whoami 用户当前身份
————————————————————————————————————————
who am i 用户真实身份
目录切换
cd 切换目录 配合pwd使用
./当前目录
../上级目录
绝对路径 从/根目录开始的完整路径
相对路径 当前操做目录开始
① 绝对路径方式 cd /root
② 相对路径 cd ../../root
列: 当前操做目录为/usr/local 须要切换到/usr/local/mysql
① 绝对路径方式 cd /usr/local/mysql
② 相对路径 cd mysql
文件/文件夹操做
linux的文件夹操做
① 建立 添加 新建
语法 :mkdir 路径及其名称
②移动 重命名
语法 :mv 现路径 移动到的路径
③复制
语法 : cp 复制路径 复制到的路径
-R递归进行操做
④ 删除
语法 :rm 删除路径
-r 递归删除目录
文件操做
①建立 添加 新建
语法 : touch 路径名称
touch it.txt
②移动 重命名
mv 移动路径 移动到的路径
mv it.txt itphp.txt
③ 复制
语法:cp 复制路径 复制到的路径
cp it.txt it.txt
④删除
语法:rm 路径名称
-f 强制删除 不提示
其余命令
shell> ctrl+c 终结当前操做
shell> ctrl+a 回到命令行的首部
shell> ↑+↓ 进行翻看以前执行过的命令
shell>history //查看以前执行过的命令
shell> Tab 补全命令 能够节省写入字符的长度
文件操做
shell >覆盖写 会写在同一行,把原来的内容替换掉
echo 1 > 1.txt
shell>> 追加写 不会覆盖之前原有的内容
echo 4 >> 1.txt
cat 查看文件全部的内容
more filename //回车方式逐行查看文件的内容
less filename //上下左右键 查看文件的各个部份内容
head -n filename //查看文件前n行的内容
tail -n filename //查看文件最末尾n行的内容
tail -f filename //查看文件末尾最后10行的内容
tailf filename //查看文件末尾最后10行的内容
wc -l filename //计算文件行数 word count
vim 编辑器
vim 编辑器里不要使用数字小键盘 ,会出现不同的效果
vim编辑器三种模式
命令行模式
① vim 文件路径 直接打开文件
②vim +行号 打开文件的指定行号
光标移动
最简单的操做 能够经过键盘的上下左右方向键进行操做
① 字符级 上k 下j 左 h 右 l
② 单词级 b上个单词首字母 w下个单词首字母 e 下个单词的尾字母
③ 行级 0 行首 $ 行尾
④段落级 {段落首部 }段落尾部
⑤屏幕级 H屏幕首部 L屏幕尾部
⑥ 文档级 G 文档尾行 1G文件首行 nG文档第n行
删除
dd 删除光标所在行
n+ dd 删除光标所在行的如下几行
删除相似于剪切操做,能够经过p命令把删除的内容再粘贴出来
复制
yy 复制光标所在行
n+yy 复制光标所在行的如下几行
p 粘贴出来
编辑模式
从命令模式进入到编辑模式
① a 光标所在行字符后
② i 光标所在行
③ o 光标所在行的另起一行
④ s 光标作在行,并删除光标所在行的字符
从编辑模式回到命令模式 经过键盘左上角的ESC键
尾行模式
保存文件 退出编辑器,都须要在末行模式进行
编辑模式不可以直接进入尾行模式,须要经过命令模式进行中转。
命令模式进入尾行模式:
① shift+; : 保存退出
② / 查找替换
查找
① :/内容/
② /内容 查找内容(小写n 下一个/大写N上一个)
取消高亮
:nohl
:set nohls
替换
①:s/cont1/cont2/ 光标所在行的第一个cont1替换为cont2
②:s/cont1/cont2/g 光标所在行的所有cont1 替换为cont2
③:%s/cont1/cont2/g 文档中所有cont1替换为cont2
默认开启vim行号
:set nu //显示行号
:set nonu //去掉行号
若是想要永久设置用户的vim编辑器的行号,能够在用户的家目录中建立一个vim的配置文件
①在/root家目录建立.vimrc文件
vim打开文件 当打开文件会自动建立
编辑文件里的内容
set nu
开启行号
x 和 X
:x 保存并退出 能够代替wq
:X 加密文件
注意不要随意加密系统文件 ,可能会出现系统不能操做的文件
重作和撤销
①当文件进行修改以后,若是想撤销/重作,则能够在末行模式中输入:u,来撤销上一步的操做。(win下的ctrl+z)undo
②若是这个时候想取消撤销,能够在命令模式中按下组合键ctrl+r。(win下的ctrl+y)
若是想撤销多步,则能够在末行模式中输入:数字u。
用户 用户组的管理
RBACj基于角色的权限控制管理
角色就至关于用户组
用户和用户组管理,就是为了方便操做系统,进行权限的分配操做
用户管理 用户相关信息的记录文件 /etc/passwd
①打开并查看用户管理文件
vim /etc/passwd
第一列 天蓝色 用户名称
第二列 粉色密码的占位符
第三列 红色 用户id 用户组id
用户id 默认500 以前都是系统保留的 若是想自行设定也可使用-u参数指定
第四列 蓝色 备注 -c 参数指定
第五列 绿色 用户的家目录地址
第六列 黄色 使用shell命令的方式 nologin 不容许登陆 (常见于须要用户执行软件,可是不须要登陆的状况)
增长用户
useradd 增长用户 默认会建立一个同名组
-g 组编号 -u 自己编号 -d 家目录 用户名称 //组别,编号 家目录都进行设置
①建立一个用户
shell>useradd itphp
②查看配值文件里的用户
shell>useradd -u666 -c itphp -g500 itphp
指定用户id,指定用户组id,添加用户备注
修改用户
shell> usermod 用户名称
-l 修更名称
usermod -l 新名 原名
shell> usermod -g 501 -c modify itphp
删除
userdel 用户名称
-r 同时删除家目录
shell> userdel itphp若是删除用户及其用户组时,有其余用户在用户组下,就不会删除用户组,只删除用户
用户组管理
用户组管理文件 /etc/group
①使用vim编辑器打开/etc/group
shell>vim /etc/group
②查看内容及每一个参数的意义
第一列 天蓝色 用户组名称
第二列 紫色 占位符
第三列 红色 组id 500 钱为系统保留id
需求:在公司团队中,有几下几个部门须要使用服务器操做系统。根据需求进行创建用户组,来区别不一样用户。
server 后端 xiaoming xiaohei
client 前端 xiaohua xiaolv
app 手机端 tom jerry
设计实现:须要先把用户组建立出来
增长用户组
groupadd 添加用户组
-g 组 id
①创建三个用户组
shell > groupadd server
shell > groupadd client
shell > groupadd app -g 768
②查看组配置文件
③ 建立用户并给用户指定对应的分组
经过添加用户命令的方式,进行指定新用户的分组
shell > useradd xiaoming -g 502
xiaoming被添加到502的server组
修改
groupmod 用户组名称
-g 修改gid
-n 修改组名称
shell>groupmod server -g 520 -n Server
删除
groupdel 用户组名称
groupdel Server
若是用户组下面存在用户,用户组不可以删除
删除用户以后,再进行用户组的删除操做
设置用户密码及其用户切换
①给建立的新用户增长密码
在添加密码以后,用户能够正常登录了。
用户之间的切换,可使用su命令进行操做。
普通用户没有操做root家目录的权限
①经过ls -l 或者ll 查看文件夹或者文件的权限
权限通常分为三种
①读权限 read 4
②写权限 write 2
③执行权限 x 1
第1列 文档的类型 表示是文件仍是文件夹 -表明文件 d表明文件夹
第2-4列 文件全部者的权限
第5-7列 文件全部者同组用户的权限
第8-10列 其余用户 既不是用户自己,有不一样和文件的用户是同组
chmod 字符形式设置|数字形式设置
ugo方式设置
增长权限+
取消权限-
同时能够直接从新设置权限
user文件全部者 group文件全部者所在组 other 其余用户
给root目录,其余用户增长rx权限
shell > chmod o+rx /root
给root目录,全部用户增长写权限
shell > chmod ugo+w /root
数字形式设置
把对应的权限表明的数字进行相加,而后三位数字进行设置
第1位 文件全部者
第2位 文件全部者用户组
第3位 其余用户
r 4 w 2 x 1
问:777 664 674权限?
777 全部用户具备全部权限
664 文件全部者及其组用户具备读写权限,其余用户具备读权限
764 文件全部者具备全部权限,用户组具备读写权限,其余用户具备读权限
①给/root目录全部权限
shell > chmod 777 /root
②恢复原来root目录的原始权限
原来root目录是drwxr-x—
shell > chmod 750 /root
chown 用户.用户组 文件路径chow名称
chown 用户名 文件
chown .组 文件
chown 用户.组 文件
①使用root用户身份在/根目录下创建itcast文件夹
文件全部者具备全部权限 组用户和其余用户具备读和执行权限
②切换到ithm5用户,进行在itcast目录里建立文件
没有权限进行操做
③经过root用户身份把/itcast文件夹的文件所属交付给ithm5
文件夹及其子文件夹和文件的权限或者所属关系都改变,须要在命令后加入-R 参数
语法:
chmod -R 权限数字 文件夹路径名称
chown -R 用户用户组 文件夹路径名称
5、系统经常使用命令 —-> 了解下
1 . grep
文本搜索命令,能够帮助用户快速查看文件内容中,是否存在查询的字符
搜索文本里是否存在某个字符
2
shell>du -h
查看文件所占空间大小
最小单位为4
3
shell >date & cal
查看系统的时间
4__
df -lh
查看系统的硬盘使用状况
5
free
free 空闲 内存使用显示
6
管道pipe
| 管道命令符 前边的结果,做为后面的参数
7
find
find 查询路径 【参数】 查找文件名称
-name 文件名称 经过文件名称找文件所在的路径
注意在搜索中,路径尽可能使用较小范围的,不然会特别慢
ssh 协议
协议就是数据传输的规范和标准
http 80 https 加密(ssl)的http 443 mysql 3306
pop3(邮局协议版本3)110 smtp(简单邮件传输协议) 25
ssh协议 基于ssl加密的远程链接协议。 端口22
telnet 是以前用到的远程链接协议。
使用某种服务 须要协议和端口号 IP 启动一个服务
①查看服务状态
语法
service 服务名称 操做 [start|stop|status] 启动|关闭|状态 sshd shell>service sshd status
查看ip地址链接ssh远程服务
ifconfig
ps 查看系统进程
ps -A|grep 查询的进程
语法格式(windows中文件传输到linux中)
pscp windows中的文件路径 用户名@主机地址:文件的保存路径
②打开cmd命令行并拖入软件
注意必定要使用root用户登陆操做
cmd > H:\系统镜像\程序\PSCP.EXE E:\itcast\ithm5\linux\day2\软件\amp* root@192.168.127.126:/root/data
同类工具备filezilla winscp
sftp 基于ssh加密的文件传输协议 更加安全 端口22
ftp 文件传输协议 端口是21
使用支持sftp的工具进行软件的上传操做
安装的软件:filezilla
光盘挂载及其软件安装方式
光盘挂载
默认光盘挂载目录 /media
挂载windows系统下,若是放入光盘会自动分配一个盘符
linux 系统下,命令行模式下不会自动分配,须要手动进行挂载光盘[U盘、移动硬盘]到一个目录,相似于一个快捷方式,使可以获取到光盘的内容信息
虚拟机里的linux,想要使用centos光盘里的软件,须要挂载
操做步骤:
①将光盘放入光驱中
②查看是否自动挂载
图形界面下,会自动进行光盘的挂载,可是服务器是命令行模式的,它须要进行手动挂载
③查看光盘的挂载点及其光驱设备
shell > lsblk
④卸载光盘并进行手动挂载
umout /dev/sr0
建立/dvd目录
mkdir dvd
挂载到目录/dvd下
语法:mount 设备名称 挂载路径
shell > mount /dev/sr0 /dvd
①rpm 安装方式 二进制安装包 经过安装包进行软件安装
②yum安装 云安装方式 相似于软件管家
③源码编译方式 编程语言C++ 编写的软件
redhat系列 .rpm
debian ubuntu的软件安装包 .deb
macos .dmg
①查询软件
语法 :
rpm -qa[|grep] 须要查询的关键词
参数解释:
-q:表示query,查询
-a:表示所有,all
|:管道命令
grep:表示从结果中进行过滤
②卸载软件
语法:
rpm –e 须要卸载的软件名称(软件完整名称,即经过查询获得的名称) [–nodeps]
参数说明:
-e:表示卸载
–nodeps:表示忽略依赖关系
③安装软件
语法:
rpm -ivh 须要安装的软件完整名称
参数说明:
-i:表示安装,install
-v:表示显示进度条
-h:表示进度条以“#”显示
跳入安装包目录并查看要安装软件的安装包名称
yum方式 直接从网络源下载,自动解决依赖问题
相似于在win下的360软件管家或者腾讯软件管家等,会自动帮助更新安装软件
同类类型软件:
ubuntu系统的apt-get
macos 系统的 howbrew ruby语言开发
一些状况下可能没有网络资源,须要把软件源修改到本地。
①配置yum软件源为本地
cd /etc/yum.repos.d
关闭网络源,配置光盘源
注意执行命令的路径
/etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo_bak
先备份 linux下先备份
cp CentOS-Media.repo CentOs-Media.repbak
而后在编辑
vim CentOS-Media.repo
②测试完成安装firefox的操做
语法: yum -y install 安装
remove 卸载
list 安装的软件列表
c或者c++语言编写的,须要编译生成可执行的软件
gcc工具 是GNU组织的编译c语言的工具
源码编译安装的特色
①编译时间长
②能够针对软件进行定制修改 能够可以更好的发挥软件的性能
③最新版本的软件 rpm都是比较延后的 若是想使用最新版的软件 就须要编译安装
安装步骤:
①./configure 收集设置配置文件信息
./configure –help 能够查看配置参数
②make 编译生成软件
③make install 把生成的软件安装到指定目录
源码编译的软件,相似于绿色软件,不须要的时候,能够直接删除安装的软件目录,及其已经解压编译过的安装包目录便可。从新安装。
windows下压缩格式rar zip 7zip
tar 是linux下压缩包格式
tar也是一个压缩、解压缩命令
.gz tar zxvf filename
.bz tar jxvf filename
安装zlib压缩库
shell>#cd /root/data
shell>#tar -zxvf zlib-1.2.5.tar.gz
shell>#cd zlib-1.2.5
shell>#./configure //对当前的程序安装进行配置
shell>#make && make install //编译&&安装
安装apache
在安装Apache以前先卸载掉当前系统中已经默认安装的Apache:
注意el6,是字母l,不是数字1
rpm -qa|grep httpd
rpm -e httpd-2.2.15
命令
shell>#cd /root/data
shell>#tar -jxvf httpd-2.2.19.tar.bz2
shell>#cd httpd-2.2.19
shell>#./configure –prefix=/usr/local/http2 –enable-modules=all –enable-mods-shared=all –sysconfdir=/etc/httpd –enable-so
shell>#make && make install
–prefix:指定软件的安装目录,若是指定的目录存在,则自动建立;
–enable-modules:指定加载的模块;
–enable-mods-shared:表示模块以静态共享的方式进行安装
–sysconfdir:指定软件的配置文件的存放位置;
修改Apache配置文件(148行左右),去掉ServerName前的#注释:
shell>#vim +148 /etc/httpd/httpd.conf
Apache启动/中止/重启命令:
shell>#/usr/local/http2/bin/apachectl [start|stop|restart]
编写测试文件,测试apache的网站目录
默认apache编译安装的网站目录:/usr/local/http2/htdocs
shell > vim /usr/local/http2/htdocs/ithm5.html
inux能够经过ps命令查看进程信息,进程启动了,软件也在运行。
ps -A|grep 软件名称
关闭进程:kill 参数 进程pid号
-9 强制杀死
-11 进程正常使用进行操做不杀死,等空闲时杀死
批量经过进程名称杀死进程 killall httpd
TIP:卸载删除从新编译安装的软件
注意中止软件以后,再删除软件目录
问题:可能在安装好apache以后,经过ps进程命令查看,apache也是正常启动的,可是就是不能过访问,能够测试判断是否为防火墙问题,选择临时关闭或者在防火墙设置开启http协议。
解决:在防火墙设置经过http规则
①使用setup进行系统设置
安装libxml2
shell>#cd /root/data
shell>#tar -zxvf libxml2-2.7.2.tar.gz
shell>#cd libxml2-2.7.2
shell>#./configure –prefix=/usr/local/libxml2 –without-zlib
shell>#make && make install
–without-zlib:不须要zlib依赖
安装jpeg8
shell>#cd /root/data
shell>#tar -zxvf jpegsrc.v8b.tar.gz
shell>#cd jpeg-8b
shell>#./configure –prefix=/usr/local/jpeg –enable-shared –enable-static
shell>#make && make install
安装libpng
shell>#cd /root/data
shell>#tar -zxvf libpng-1.4.3.tar.gz
shell>#cd libpng-1.4.3
shell>#./configure
shell>#make && make install
安装freetype(字体库软件)
shell>#cd /root/data
shell>#tar -zxvf freetype-2.4.1.tar.gz
shell>#cd freetype-2.4.1
shell>#./configure –prefix=/usr/local/freetype
shell>#make && make install
安装GD库(处理图片的扩展)
shell>#cd /root/data
shell>#tar -zxvf gd-2.0.35.tar.gz
shell>#cd gd-2.0.35
shell>#./configure –prefix=/usr/local/gd –with-jpeg=/usr/local/jpeg/ –with-png –with-zlib –with-freetype=/usr/local/freetype
shell>#make && make install
–with-jpeg:说明须要jpeg扩展
–with-png:说明须要png扩展
安装openssl
Openssl是php的一个扩展,做用是支持加密(加密套件),用于https协议。
shell>#cd /root/data
shell>#tar -zxvf openssl-1.0.1t.tar.gz
shell>#cd ./openssl-1.0.1t
shell>#./config –prefix=/usr/local/openssl
shell>#make && make install
安装php
把php5.4安装包上传到以前的服务器安装包目录
shell>#cd /root/data
shell>#tar zxvf php-5.4.45.tar.gz
shell>#cd php-src-php-5.4.45/
此包为开发者包,没有configure,须要经过buildconf生成configure
shell>#./buildconf –force
shell>#./configure –prefix=/usr/local/php –with-apxs2=/usr/local/http2/bin/apxs –with-mysql=mysqlnd –with-pdo-mysql=mysqlnd –with-mysqli=mysqlnd –with-freetype-dir=/usr/local/freetype –with-gd=/usr/local/gd –with-zlib –with-libxml-dir=/usr/local/libxml2 –with-jpeg-dir=/usr/local/jpeg –with-png-dir –enable-mbstring=all –enable-mbregex –enable-shared –with-openssl-dir=/usr/local/openssl –with-openssl –without-pear
shell>#make && make install
–without-pear pear包管理工具 默认会联网下载,若是没有网络的话,就可能不能继续执行,加入此参数,不进行此pear包的安装
经过网络查询,找到解决方案,修改gb类库文件解决此问题
shell > vim /usr/local/gd/include/gd_io.h
继续make && make install,等待编译以后的显示效果
配置php使用
复制php配置文件到指定目录:
shell>#cp php.ini-development /usr/local/php/lib/php.ini
修改apache配置文件:
添加apache的mime类型(355行左右):
shell>#vim +355 /etc/httpd/httpd.conf
在mime类型模块中添加:
AddType application/x-httpd-php .php //让Apache支持解析php文件
在dir_modul模块添加默认文档声明(218行左右):
DirectoryIndex index.php index.html
重启apache:
shell>#/usr/local/http2/bin/apachectl restart
须要关闭apache再启动apache生效,由于有时候重启可能会不起做用
vim +/date php.ini
安装cmake
Cmake是一款新的c语言编译器,相似于前面说起gcc、gcc-c++,mysql从5.5以后的版本再也不使用别的编译器,只能使用cmake进行编译:
shell>#cd /root/data
shell>#tar -zxvf cmake-3.6.0-rc1.tar.gz
shell>#cd ./cmake-3.6.0-rc1
shell>#./bootstrap //此处使用的是bootstrap,不是configure
shell>#gmake
shell>#gmake install
能够直接执行cmake查看是否安装成功:
cmake
安装ncurses-devel
这个是mysql的依赖文件,若是不安装会报一个错误
这个是mysql的依赖文件,若是不安装会报一个错误
yum -y install ncurses-devel
shell>#cd /root/data
shell>#tar -zxvf mysql-5.5.17.tar.gz
shell>#cd mysql-5.5.17
shell>#cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
shell>#make && make install
第一个参数 mysql安装到目录
第二个参数 mysql存储数据文件的位置
第三个参数 默认字符串编码
第四个参数 链接时的字符编码排序方式
配置mysql相关
生成mysql配置文件(下述命令必须在mysql的解压目录中执行):
shell>#cp support-files/my-medium.cnf /etc/my.cnf
若是提示是否覆盖,输入y,而后按下回车
>
Mysql用户组及权限设置:
shell>#useradd mysql
shell>#chown -R mysql.mysql /usr/local/mysql (设置全部者)在linux下装好mysql以后自己没有一些默认的数据,如test数据库。因此须要进行数据库的初始化操做。
数据库初始化:
shell>#/usr/local/mysql/scripts/mysql_install_db \
–user=mysql \
–basedir=/usr/local/mysql \
–datadir=/usr/local/mysql/data &&符号,表示所在的命令后台执行。
卡屏时,按下回车。
把mysql安装文件(除data)的全部者都改成root,避免数据库恢复为出厂设置:
shell>#chown -R root /usr/local/mysql #将mysql安装目录递归所有改为root全部
shell>#chown -R mysql /usr/local/mysql/data #除了mysql/data目录以外
后台运行mysql服务,命令完成按下回车:
shell>#/usr/local/mysql/bin/mysqld_safe –user=mysql &
查看mysql是否启动: shell>#ps -A | grep mysql -A:all grep表示过滤