linux注意严格区分大小写总结一 linux的安装及ip目录介绍{/bin :系统命令目录/dev :系统设备目录/home :用户的家 /home/lau/lib :系统库文件 .so 动态库 .a静态库/media :系统多媒体目录 (软驱、光驱)/mnt :系统挂载目录 (外置u盘) /mnt/usb/proc :系统内存目录/sbin :超级管理员root命令目录/tmp :系统缓存目录 /var :系统临时目录(经常变动) 数据库文件,网页文件,日志文件/boot :系统启动目录/etc :系统配置文件目录/lost+found :失物认领处/opt :第三方程序目录(qq、wps)/root :超级管理员的家/usr :系统程序目录(apache、php、mysql)}1设置ipvi /etc/sysconfig/network-scripts/ifcfg-eth0(*) BOOTPROTO=static(手动) 获取ip的方式 nono 上网方式 static手动 bootp/dhcp自动获取DEVICE=eth0 第一块网卡ONBOOT=yes 启动系统是是否开启网卡IPADDR=192.168.1.155 ip地址NETMASK=255.255.255.0 子网掩码GATEWAY=192.168.1.1 网关地址DNS1=8.8.8.8 DNS服务器HWADDR 物理地址2关闭防火墙 iptables -F (service iptables stop) 查看防火墙 iptables -L 设置开机自启 chkconfig iptables off 3关闭selinux setenforce 0 开启selinux setenforce 1 查看 getenforce Enforcing 代表开启的意思查看当前ip ifconfig4重启网卡 service network restart 5ping ip地址 看看网络是否通畅6 vi/etc/rc.local 是开机系统自动执行的命令 在里面写 {iptables -Fsetenforce 0service network restartservice httpd restart service mysqld restart//service iptables status1 关闭防火墙-----service iptables stop 2 启动防火墙-----service iptables start 3 重启防火墙-----service iptables restart 4 查看防火墙状态--service iptables status 5 永久关闭防火墙--chkconfig iptables off 6 永久关闭后启用--chkconfig iptables on}7搭建本地yum环境 (快速地解决依赖关系)1挂载 mount /dev/cdrom /mnt (路径随便) df 查看是否挂载 umount /(必须是挂载过的)路径随便 2将 /etc/yum.repos.d/ 目录里全部删除 并且新建一个 以.repo结尾的文件(vi name.repo) 并且对于这个文件在修改 [name]name=man(内容随便写)baseurl=file:///mnt (是挂载的路径/路径随便)enable=1gpgckeck=0第一行:[henry_repo] yum仓库名字,任意。第二行:name 名字任意。第三行:baseurl 配置路径,由于是本地yum所以是file://(在线形式http://和ftp://等)。第四行:gpgcheck 关闭rpm包的校验功能。个人环境建议关闭0,生产环境建议启用1。3.清除yum缓存 yum clean all (yum makecache)4.看看yum搭建是否成功 yum list5.cd /mnt(是挂载的路径/路径随便)/Packages 进行查看 ls 6.安装软件 yum install 软件名称 重新安装软件 yum reinstall 软件名称 卸载软件 yum remove 软件名称举例说明 yum install httpd* mysql* php* (*代表关于软件名称的所有的)7.查看安装的软件 rpm -qa|grep 软件名称 (|)代表先执行前面的后执行后面的 8.如果安装不了 首先查看一下 ls 软件名称 在进行安装8.lamp环境的搭建1.Apache 重启Apache service httpd restart 自启动 chkconfig httpd on(off)查看端口号 netstat -nlp|grep httpd 端口号80配置文件 /etc/httpd/站点/var/www/html如果不想让Apache的欢迎界面出来 删除/etc/httpd/conf.d/welcom.cof 文件 注意重启Apache{1.进入配置文件把NameVirtualHost * :80把#去掉(好像在最后几行)加入下面几行2.{<VirtualHost *:80> ServerAdmin 771186913@qq.com(随便写) DocumentRoot /mangge (根目录) ServerName www.mangge.com (域名) ErrorLog logs/dummy-host.example.com-error_log (日志) CustomLog logs/dummy-host.example.com-access_log common</VirtualHost>(下面的就是给他权限呢)<Directory "/mangge">(网站的根目录) Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all</Directory>}} vim /etc/hosts linux下面的hosts文件2.php php只是apache下的一个模块,不是独立的一个服务,所以我们重启下apache就行 只要更改配置文件重启Apache才生效3.MySQL 我们想要操作MySQL需要借助客户端的软件如 navcate phpmyadmin cmd黑窗口 重启mysql的服务 service mysqld restart 端口号3306 在linux上密码默认为空 登录数据库 mysql -hlocalhost -uroot -p; 查看数据库 show databases; 备份数据库 mysqldump -uroot -p 数据库的名称 >/路径(是文件)9.项目上线1.sshd(端口号22)或者vsfptd(端口号21/20)服务器将项目用filezilla软件传到Apache的站点下 (如果上传不了就是网不通的原因或者……) {1.vsftpd有两个用户可以连接 第一个是匿名用户 第二个非root用户2.如果上传严重失败 是没有给这个用户的权限 vsftpd 匿名用户的根是在 /var/ftp/ 配置文件没有打开扩展(在配置文件里打开扩展到这里位置#connect_from_port_20=YES)}2.上传完后 不能访问以为是权限的问题 修改项目权限 chown apache:apache /Runtime -R 或者(chmod 755 /Runtime -R)3.修改项目的数据库的配置1.如果想用Windows的数据库 Windows必须给linux权限 grant all on *.* to 'user'@'host' IDENTIFIED by 'password'; 说明一下(user代表的是用户 all代表的是所有的权限 host代表客户端(你想写谁ip或者%代表所有) password代表你个他的密码2.相反Linux或者windows都是一样的设置权限的 操作完成之后记住要刷新一下权限 flush privileges; 因为权限这张表是载入内存中的 3.(你访问我)你就是客户端(我访问你)我就是客户端这点必须懂10.svn使用{1.安装 yum install subversion* -y 2.在/usr/local 创建文件 |mkdir /usr/local/svn3.在/usr/local/svn/ 下创建版本库 代码这样写 svnadmin create /usr/local/svn/(名字随便)4.进入配置文件 /usr/local/svn/是上一步的名字/conf 温馨提示{authz 用户权限配置文件passwd 设置用户配置文件svnserve.cof 设置svnd基本配置文件}5.vim /usr/local/svn/你创建的名字/conf/svnserve.conf {①anon-access = none(不允许匿名访问)②auth-access = write(允许写入)③password-db = passwd(访问时需要输入密码)④authz-db = authz #访问权限设置把这行的注释全部关闭 (必须顶格)}6.vim /usr/local/svn/你创建的名字/conf/authz { 1.创建一个组,组里面有多少组员自己定是几个就创建几个 代码例子[groups]下面 名字自定义(1412phpb)1412phpb=zhangman,zhangge(名字随便)用户1412phpb=zhangman,zhangge[/]下面自定义这个用户的权限|(@1412phpb)=rw @1412phpb=rw其他用户的权限|*=r*=r7.vim /usr/local/svn/你创建的名字/conf/passwd 写上你在上一步的组中组员名字 例如:zhangsan=123 lisi=123 wangwu=123 }8.svn启动如 svnserve -d -r /usr/local/svn/查看是否启动 ps -aux|gerp svn9.以上步骤在安装linux进行操控 在来几个常用的命令{1.svn的检出 svn checkout svn://liunx的ip/你创建的目录 2.svn的更新 svn up3.svn的自动更新{1.在linux的网站根目录里svn check svn://linux的ip/你创建的目录 (windows更新代码linux自动更新)2.vim /usr/local/svn/自己创建的版本库/hooks/(post-commit)创建文件写入以上命令{ #!/bin/shexport LANG=en_US.UTF-8/usr/bin/svn update 网站的根目录/自己创建的版本库 --username u1(自己创建的用户) --password 123(创建用户的密码) }3.给这个文件的权限 chmod 755 -R post-commit}}10.window作为客户端 使用svn{svn://ip/版本库的名称} }总结二linux的命令格式 1指令 选项 参数2指令 选项 参数3指令 参数4指令4 ls 查看当前路径的信息5 ll 查看文件的详细信息 (ls -l)6 pwd 查看当前的路径7 cd 进入目录8 cd .. 进入上一级9 clear 清屏 (Ctrl+l)10.#代表root$普通
11.ssh root@ip地址 远程连接 exit退出
12 shutdown 关机命令 -h 多分钟之后关机 shutdown -h 3
shutdown -r 多分钟之后重启 shutdown -r 3
shutdown -k 多分钟之后进行重启 shutdown -k 3
ctrl+c 终止关机命令
13 halt 关机 只关闭系统 不管电源
14 reboot 重启
15 su 切换用户
16 改变文件的属性与权限 r(4) w(2) x(1) 可读 可写 可执行
17 vi 创建文件 touch创建文件并不打开文件 有三种模式: 命令模式 ,编辑模式,末行模式
模式切换用(a,i,0:esc)
{1移动光标
h :光标左移一个字符
j :光标下移一个字符
k :光标上移一个字符
l :光标右移一个字符
0 :光标移至行首
$ :光标移至行尾
H :光标移至屏幕首行
M :光标移至屏幕中间
L :光标移至屏幕最末行
2插入文本
i :在光标前插内内容
a :在光标后插入内容
o :在所在行的下一行插入新行
O :在所在行的上一行插入新行
3删除文本
x:删除光标后面的字符
X:删除光标前面的字符
nx:删除光标后面n个字符
nX:删除光标前面的n个字符
d0:删除光标至行首的内容
d$:删除光标至行尾的内容
dd :删除整行
ndd :向下删除n行
4复制文本
yy :复制整行
nyy :复制n行
p :在所在行下一行粘贴
P :在所在行上一行粘贴
dd :剪切
5查找文本
/ :向下查找
? :向上查找
n :顺序查找
N :反向查找
:s/p1/p2/g :在当前行,将p1替换成p2
:n1,n2s/p1/p2/g :将n1至n2行之间的p1替换成p2
6屏幕翻滚
ctrl+u:向文件首翻半屏
ctrl+d:向文件尾翻半屏
ctrl+f:向文件尾翻一屏
ctrl+b:向文件首翻一屏
7末行命令
:n1,n2 co n3 :将n1至n2行复制到n3行的下面
:n1,n2 m n3:将n1至n2行剪切至n3行的下面
:n1,n2 d :将n1至n2行删除
:w 保存
:q 退出
:x 保存并退出
:q! 强制退出
:w! 强制保存
:数字 定位到指定行
:set nu 显示行号
:set nonu 取消行号
u:取消上一次操作
}
18 cp 源文件 目标文件 -r递归复制 -p保持原有的文件属性 -v显示复制的进度 (cp -rpv) 参数多个的是这用的
19 mv 源文件 目标文件 mv可以重名 mv 原文件 新文件
20 rm -rf 目标文件 -r递归删除 -f强制删除 用是-rf需谨慎
21 grep 管道符 grep 字符串 源文件 -n显示行号 -c匹配行号 -i忽略大小写
22 find 查找 find 路径 目标文件 -name 匹配字符
23
> 重定向(覆盖原文件) echo 11 > a.txt
>> 重定向(追加原文件)echo 11 > a.txt
tar zcvf man.tar.gz man.php 打包 解压 tar zxvf man.tar.gz tar zcvj man.tar.bz 1.php 打包 解压 tar zxvf man.tar.bz
24 tab 命令补全键25 man 帮助 (命令 --help)26 路径 相对路径 相对自己叫相对路径 相对于根叫绝对路径 ./本级 (可以忽略不写)../上一级 /下一级 27 wc 文件统计 (wc -c 文件名)-c:统计文件字节数 (wc -l 文件名)-l:统计文件的总行数 (wc -w 文件名)-w:统计文件的单词数 28 进入文件的有 vi vim cat(正序显示) tac(反序显示) 29 用户和组相关的配置文件{1.vi /etc/group 管理用户组的信息{第1列 : 组的名称第2列: 组的密码(X代表密码隐藏,真正在密码是放在/etc/gshadow)第3列:组的ID(编号)第4列:组附属成员列表}2.vi /etc/gshadow 管理组密码信息{第1列 组名第2列 密码(没有说明无密码)现在基本建立组不需要密码 }3.vi /etc/passwd 查看系统所有用户的信息{ 第1列 用户名第2列 密码 (X隐藏,真正的密码保存在/etc/shadow)第3列 用户ID (0代表root用户,1-499代表系统用户ID,500以后代表自定义用户的ID)组也是一样第4列 用户所属组的ID第5列 用户的备注信息(它的一些功能)第6列 用户的家 管理员的家/root 用户的家/home第7列 shell命令的目录}4. /etc/shadow 查看用户密码{第1列 用户名第2列 密码(加密)当我们使用系统用户登陆Linux系统时,系统要求用户必须具有密码,否则无法登陆只有有密码的用户登录}5.添加组 groupadd 组名 (-g指定id)6.修改组 groupmod -n(修改组名称) 原来的组 新组 (-g修改组id) 7.查看组vi /etc/group8.删除组groupdel 组名9.用户相关命令{1.添加用户 useradd 用户名 -g(指定用户所属的用户组) -d(指定用户的家)2.删除用户 userdel -r(删除用户,同时删除用户的家)3.修改用户 usermod -c(用户的备注信息) -l(修改用户名) -d(修改用户的家) -g(修改用户的所属组 ID)4.查看用户 vi /etc/passwd}10.passwd {passwd [选项] 用户 :设置用户口令-S【status】:查看当前用户口令状态-l【lock】:锁定当前用户(无法登陆系统)-u【unlock】:解除用户锁定-d【delete】:删除用户口令}11.更改主机名1.hostname 新名 2.vi /etc/sysconfig/network3.NETWORKING=yesHOSTNAME=Aming.localdomain}30.进程管理{1.查看进程命令 ps (top)实时监听服务器的运行状况 2.看看那个服务所占的端口号用 netstat -nlp|grep (mysqld随便写)3.查看那个端口号被那个服务给占了 lsof -i:80(端口号随便写)-a 与终端相关的进程-x 与终端无关的进程-u 显示运行进程的用户常用组合选项:ps aux|grep httpd* (apache)PID 进程idUSER 目前启动程序的用户%CPU使用cpu的占有率%MEM 链接数量级 并发量(了解)2.杀死程序{1.常用到的杀死方式 kill -9 id(进程的id) -9强制杀死pkill httpd 代表是关于httpd全部杀死}}31.源码安装 (缺点是步骤太多了 步骤大部分都一样)1安装编译工具 gcc2获得apache 压缩包 httpd-2.3-3.6.gzip3解压4进入解压后的目录 执行 ./configuie5make 编译6make install 安装7查看有多少个安装的包 ls|grep 包的名称|wc -l32.在Linux中用命令传参个脚本后面直接写参数 php脚本接受用$argv这是一个数组35.init[0123456] 切换用户级别36.runlevel 查看用户级别37:sync保存内存的数据到磁盘中38.tail -3 文件名 显示后三行39.head -3 文件名 显示前三行40.find 目录 -name '*.php'41.find 目录 -name '*.php' | xargs grep 你查找的数据42.who 看看谁在线 who am i 我是谁43.free 查看内存44.定时任务的创建: crontab -e 进入任务编辑状态 (*****)分时日月周