linux--nu01
常见的linux系统
Redhat ,ubuntu ,centOs
linux特点 :稳定性 ,安全性 ,开源
linux目录功能
bin目录:bin里面存放可以执行程序,其中的程序任何用户都可以执行;
etc目录:系统的配置文件目录
home目录:所有用户的家目录;
root目录:是root用户的家目录;
sbin目录:里面
存放了可以执行的程序,只有
root才有权限去执行;
tmp目录:临时目录,相当于windows下的tmp目录;
usr目录:存放了系统或用户自己安装的软件;
var目录:是系统的日志目录
常见的远程登录工具 Putty ,xshell,secureCRT
常见功能命令
ls [路径]:显示目录文件 ls -a,ls-l详细信息,显示隐藏,ls -d当前目录属性,ls -i节点,ls -ld当前目录权限
详细信息dr-xr-xr-x. 2 root root 4096 Mar 17 20:28 bin
clear:用于清除屏幕
init:用于切换linux运行模式 init 3命令行,init 5桌面
su:切换用户 su -c ls root当前用户切换到root执行完ls自动切换回来
cd:用户切换目录,相对和绝对目录,/根目录cd /,Root用户的家目录在:/root;cd ~
pwd:显示当前所在的工作目录
shutdown -h now和halt和poweroff和init 0立刻关机,shutdown -h 10是10分钟后关机
目录命令
mkdir:创建新目录, -p 递归创建mkdir -p cd ./aa/ab/ac/a.txt,其中a.txt也是目录
-m 创建的时候并分配权限
mkdir -m 777 test 创建目录test指定权限为 777
文件命令
touch :创建空文件或vim一个不存在文件
cp:复制文件或者目录
cp
-R [源文件或目录][目的目录], cp -R dir1 dir2 将dir1下的所有文件及子目录复制到dir2
-p 保留时间值 不改变时间值
mv:移动文件,更名
mv /test/test.php /test/testOne.php移动同时修改文件名
rm:删除目录 或文件 rm -rf /*千万不要这样做,删库清空根目录
linux--nu02-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
编辑文件vim 文件名 //打开指定文件(有则打开无则新建),vim +n 文件名,vim +/string 文件名
退出:q
退出编辑,:q!强制退出,:x或:wq保存退出,区别:x只在文件修改了才会改变文件最后编辑时间,但是
注意不能写成X,会导致文件加密
Linux中
vim3种模式:
命令模式---英文【:】--》---《--esc两下或删除末行命令----
末行模式--【i,a,o】---》---《---【esc】---
编辑模式
保存:w/:w 文件名 //保存/另存
查找:【/string 】
查找并高亮string内容【 n/N】 向前切换搜索结果/向后切换
替换
①
:s/
需要替换的字符
/
替换成的字符---替换当前行首字
②
:s/
需要替换的字符
/
替换成的字符
/g
---替换当前行全部
③
:%s/
需要替换的字符
/
替换成的字符
---替换当前行至文尾部首字
④
:%s/
需要替换的字符
/
替换成的字符
/g
---替换当前行至文尾部全部
光标移动
【G】文档末行行头,【gg】首行首位,上下移n行【数字↑/↓】,
指定行:
【数字G】,
【数字gg】,
【:数字】
删除
【dd】,
【数字dd】,【dd】,
【D数字】大D删除留空
复制
【yy】,
【数字yy】,
【yG】复制当前行至文尾
粘贴【p】,
进入编辑模式:按下键盘上的【
i】
(
insert
)键或者【
a】
(
after insert
)键。
退出编辑模式:按下
esc
键。
重做(撤销)
输入【
:
数字
u
】数字表示撤销的步骤数,或者输入【
:u
】表示撤销前一步
显示行号 set nu,不显示set nonu
默认设置显示行号,Vim
的配置文件位于每个用户的家目录中,文件名叫做
.vimrc
(
可能不存在,如果不存在则需要自己创建
)。创建.vimrc然后编辑set nu保存退出
别名机制,
需要设置别名文件
.bashrc
(位于用户的家目录中)。修改后
重新登录
去掉异常关闭的提示,则需要删除交换文件,交换文件名一般都是【
.
原始文件名
.swp
】,只需要删除即可
rpm软件管理工具
查找:rpm –qa | grep 关键词
卸载:rpm –e 软件名 [--nodeps 强制删除关联]
安装:rpm –ivh 软件名
①先将
iso
光盘文件插入到虚拟机的光驱中
②打开光盘中的
Packages
目录,
通过
ls
和
grep
的配合,过滤出火狐浏览器的名称:ls|grep firefox
③在
Packages
目录打开终端
rpm
命令进行安装,也可以:rpm -ivh `ls|grep firefox`
linux运行模式,
文件的位置位于
/etc/inittab
。
0:停机
1:单用户模式
2:多用户模式,没有 NFS 支持。
3:完整的多用户模式
4:未定义模式,一般不用,在一些特殊情况下可以用它来做一些事情。
5:X11 控制台,登陆后进入图形 GUI 模式
6:重启。
用户管理vim /etc/passwd,参数-d指定用户主目录,-g指定组,-u指定用户ID号
1添加用户:useradd
2添加密码;passwd------passwd参数:-S大写查看密码状态,-d删,-u解锁用户,-l锁定用户
Passwd–l user 锁定用户user1
3编辑用户:usermod
修改用户名:
usermod -l
新的用户名
之前的用户名
修改用户组id:
usermod -g
用户组
id
之前的用户名
4删除用户:userdel,参数
-r
删除用户的同时也删除它的主目录
用户组管理vim /etc/group
注意:普通用户是
没有用户和用户组的管理权限的。只有超级用户才有这个权限
。
1添加用户组:groupadd,参数-g或-G指定组id, groupadd –g 600 test2 添加名为test2的组且gid为600
2编辑用户组:groupmod,参数-g或-n
修改用户组的名字,
groupmod -n
新的组名
旧的组名
3删除用户组:groupdel,删除用户组前需移除组内用户
文件权限
ls -l查看 -rwxrwxrwx
l 表示软连接文件link,-文件
- rwx rwx ---
档案类型,d为目录,档案拥有者,档案所属组拥有者,其他人对此档案权限
修改权限:chmod
语法:
chmod
权限信息
[-R]
文件或者文件夹名
权限含义:r--可读(4) w--可写(2) x--可执行(1),-R递归赋予权限
①将权限设置成某个状态
#chmod u=rwx,g=rwx,o=rwx
文件
②给某个部分添加权限
#chmod u+wx
文件名
③给某个部分删除权限
#chmod g-wx
通过数字形式来设置权限:如
chmod 777 文件名,
4
:表示读权限,
2
:表示写权限,
1
:表示执行权限
在设置权限的时候需要注意的是,读权限是最基本的权限,如果一个文件或者文件夹有写权限,则其必须要有读权限,
也就是说以后不要出现在设置权限的时候看到类似于“
-wx
”、“
-w-
”的奇葩权限
。chmod -R 777 qrcode
drwxr-xr-x 2 root root 4096 12-01 20:52 bin
硬链接数或目录子目录数 所有者 所属组 文件大小 文件创建或最后修改的时间 文件
文件目录权限总结:
代表字符 权限 对文件的含义 相关命令 对目录的含义 相关命令
r 读权限 可以查看文件的内容 cat,more,hrad,tail
可以列出目录中的内容 ls
w 写权限 可以修改文件的内容 echo,vi ,vim
可以在目录中创建,删除文件 rm mkdir touch
x 执行权限 可以执行文件
脚本命令
可以进入目录 cd
chown nobody file 改变文件file 的所有者为nobady
chgrp[用户组][文件或目录]
功能描述:改变文件或目录的所属组
补充命令:
ps -ef | grep 服务 查看服务进程
cat 查看文件内容
find:find 路径 查找类型 目标文件 -print 例
find / -name test -print
shutdowm:-h关机 -r重启 -c取消 -k提示,now或后跟单个数字如10,则10分钟后关机,完整时间则到时关机
tail -f 目标文件 -----
动态打印,例tail -f /var/log/cron或在日历里输出
>>重定向,追加写
>重定向,覆盖写
Linux Crontab
定时任务
linux内置的cron进程能帮我们实现这些需求,cron搭配shell脚本,非常复杂的指令也没有问题。
例:crontab -e;
* * * * * echo "1234567890" >> /home/good/abcd.txt
tail -f /home/good/abcd.txt能动态显示输出
tail -f /var/log/cron或在日历里输出
cron
介绍,配置命令在
/var/spool/cron
的
root
(或其他用户)文件里
- /var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名
- /etc/crontab这个文件负责调度各种管理和维护任务。
- /etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
- 我们还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。
crontab的使用,我们常用的命令如下:
查看所有用户的定时任务 /var/spool/cron需要在此目录下
crontab[-u username] //省略用户表表示操作当前用户的crontab
-e (编辑工作表)
-l (列出工作表里的命令)
-r (删除工作作)
crontab -e进入当前用户的工作表编辑,是常见的vim界面。每行是一条命令。
crontab的命令构成为时间+动作,其时间有
分、时、日、月、周五种,
操作符有*,
/每过多少数字,-从x-z,
,散列数字
注意时间与星期不能同时设置
,
例如下面就是一个错误的写法
:
30 12 11 9 5 command,因为9月11日不一定是周五
实例1:* * * * * myCommand 每1分钟执行一次myCommand
实例2:3,15 * * * * myCommand 每小时的第3分钟和第15分钟执行
实例3:3,15 8-11 * * * myCommand 在每天上午8点到11点的第3分钟和第15分钟执行
实例4:3,15
8-11 */2 * *
myCommand
每两天
的上午
8
点到
11
点的第
3
分钟和第
15
分钟
执行
实例5:3,15 8-11 * * 1 myCommand 每周一上午8点到11点的第3分钟和第15分钟执行
实例6:30 21 * * * /etc/init.d/ Apache restart 每晚的21:30重启Apache
实例7:45 4 1,10,22 * * /etc/init.d/Apache restart 每月1、10、22日的4 : 45重启Apache
实例8:10 1 * * 6,0 /etc/init.d/Apache restart 每周六、周日的1 : 10重启Apache
实例9:0,30 18-23 * * * /etc/init.d/Apache restart 每天18 : 00至23 : 00之间每隔30分钟重启Apache
实例10:0 23 * * 6 /etc/init.d/Apache restart 每星期六的晚上11 : 00 pm重启Apache
实例11:* */1 * * * /etc/init.d/Apache restart 每一小时重启Apache
实例12:* 23-7/1 * * * /etc/init.d/Apache restart 晚上11点到早上7点之间,每隔一小时重启Apache
linux之 LAMP编程
一、ssh协议
22
端口号就是
ssh
协议使用的端口号
二、光盘挂载
挂载:就是指系统给外接设备(包括但不限于U盘,光盘)分配盘符的这么一个过程。
lsblk(list block devices)
1查看【lsblk】找到iso-dvd1光驱设备(或其他), 2然后创建一个dvd目录mkdir /mnt/dvd
3挂载【
mount 块状设备的位置 挂载的位置】---例mount /dev/sr0 /mnt/dvd,
4再lsblk检查挂载情况,MOUNTPOINT下有目录则成功
三、LAMP安装
1、准备工作---修改文件前先备份
1.1、关闭防火墙,必须,这样才能使用ssh,apache,mysql服务,远程
方法1#service 服务名 start/stop/restart 关闭防火墙服务
方法2rpm -e iptables-1.4.7-14.e16.i868 --nodeps 删除防火墙
方法3vim /etc/sysconfig/iptables,打开修改保存,复制并粘贴2句,将允许的端口设置为
22,80,3306
例:-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT设置22端口允许
1.2linux中的解压命令
命令
1
:
gz
格式文件
#tar -zxvf
压缩包路径
命令
2
:
bz2
格式文件
#tar -jxvf
压缩包路径
2开始编译模式安装LAMP
2.1安装
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 //编译&&安装
2.2安装apache,先卸载系统中默认安装的Apache,防止80端口被占用
2.2.1rpm -e `rpm -qa|grep httpd`
2.2.2开始安装配置过程,注意配置
#./configure --prefix=/usr/local/http2 --enable-modules=all --enable-mods-shared=all --sysconfdir=/etc/httpd --enable-so
2.2.3修改
Apache
配置文件(
148
行左右),去掉
ServerName
前的
#
注释:
shell>#vim +148 /etc/httpd/httpd.conf
|
2.2.4
Apache
启动
/
停止
/
重启命令:
shell>#/usr/local/http2/bin/apachectl start/stop/restart
|
2.2.5测试访问,可以在
windows
主机的浏览器中输入
linux
服务器的
ip
地址来访问
2.3安装
libxml2,2.4
安装
jpeg8,2.5
安装
libpng,2.6
安装
freetype
(字体库软件),2.7安装GD库(处理图片的扩展),2.8
安装
php,2.9
安装
cmake,2.10
安装
ncurses-devel,2.11
安装
mysql
详见Linux-安装LAMP详解
apache安装路径
/usr/local/http2,配置文件
/etc/httpd/httpd.conf
/usr/local/http2/bin/apachectl start/stop/restart
Apache
的站点目录位于:
/usr/local/http2/htdocs
php安装路径
--prefix=/usr/local/php
#cd /root/data,
#cp php.ini-development /usr/local/php/lib/php.ini配置文件
#vim +355 /etc/httpd/httpd.conf
重启apache:
#/usr/local/http2/bin/apachectl restart
mysql安装路径:
/usr/local/mysql
mysql默认数据存储位置
/usr/local/mysql/data
mysql配置文件路径/etc/my.cnf
后台开启运行mysql服务
/usr/local/mysql/bin/mysqld_safe --user=mysql &
root用户登录数据库/usr/local/mysql/bin/mysql -u root
设置数据库密码:
mysql>use mysql;
mysql>UPDATE user SET Password=password('123456') WHERE user='root';
mysql>flush privileges; //刷新权限信息
开启允许远程连接:
更新下
user
表中的
host
字段,更新成
%
(表示允许在任何地方连接):
update user set host= '%' where user ='root' limit 1;
注意:在开启允许远程连接修改host字段为%前,需新建一xxx@hostlocal字段
-------------------------------------------------------------------------
-------------------------------------------------------------------------
-------------------------------------------------------------------------
use mysql;
insert into user(host, user, password) values("%", "root", password("zhumysql"));#创建一个远程连接账号
grant all privileges on *.* to 'root'@'%' with grant option; #赋予任何主机访问数据库权限
flush privileges;
-------------------------------------------------------------------------
-------------------------------------------------------------------------
-------------------------------------------------------------------------
相关函数:
查找软件rpm -qa | grep iptables
rpm -ql XXXX查看软件安装路径
ps -ef | grep xxx;查看软件服务和ID
启动/关闭/重启服务:service 服务名 start/stop/restart/status
查看系统外接设备lsblk(list block devices)
linux中的解压命令
命令1:gz格式文件 #tar -zxvf 压缩包路径
命令2:bz2格式文件 #tar -jxvf 压缩包路径
./configure //对当前的程序安装进行配置
make && make install //编译&&安装
Apache启动/停止/重启命令:
shell>#/usr/local/http2/bin/apachectl start/stop/restart