LAMP课程
上次课回顾:
ls -a:查看全部目录内容
若文件名以“.”开头,则认为是隐藏的文件。
ls-l:可以直接用命令
ll命令:ls -l 的别名。
ls -m:横向显示文件和目录
ls -d:只显示目录
ls -R:递归显示
cd:切换目录
pwd:显示当前目录
mkdir:创建一个目录
rm:删除目录或者是文件
rmdir:删除一个空的目录
查看文件信息:
more /proc/cpuinfo:查看cpu的信息
more /proc/meminfo:查看内存信息
more /proc/version:查看Linux
一.链接文件
Linux中创建的软链接,相当于我们在windows当中创建一个快捷方式。
1.1 创建硬链接文件(ln)
命令格式说明
语法: ln 源文件 硬链接
功能描述:创建硬链接
具体实例1:创建一个硬链接
具体实例2:向源文件中填写内容,硬链接文件同步也有内容
具体实例3:显示源文件和链接文件的节点数
具体实例4:源文件删除
八哥总结说明:
硬链接,在源文件删除的时候,硬链接的内容我们还可以访问,因为的它们有相同的节点数。
关于inode节点:
inode :索引节点。每个存储设备被格式化为文件系统后,有两部份,一部份是inode,另一部份是Block,Block是用来存储数据的,而inode就是用来存储这些数据的信息,这些信息包括文件大小、属主、属组、读写权限等。
好比一本书,存储设备或分区就相当于这本书,Block相当于书中的每一页,inode 就相当于这本书前面的目录。
1.2 创建软链接文件
命令格式说明
语法: ln 选项 源文件 软链接
选项:-s
-s:软链接
功能描述:创建软链接
具体实例1:创建一个软连接
具体实例2:向源文件中添加内容
具体实例3:查看源文件和软链接文件的节点数
具体实例4:删除源文件,我们是否能访问软链接文件里面的内容
八哥总结说明:
当源文件删除的时候,我们不能访问软链接文件的内容,因为他们没有共同的节点数。
二.文件查找
2.1 find查找
有时候,我们查找所需要的文件,比如对文件进行编辑,修改配置等。
(1)按-name(文件名)查找,实例如下:
(2)按-size(大小)查找,实例如下:
显示文件的大小,以kb,mb,gb来显示,
ls -hl:
-h:human readable以kb,mb,gb来显示
(3)按-type(类型)查找,实例如下:
(4)找到文件之后直接删除文件,实例如下:
find /a1 -name t3.php -exec rm {} ;
命令格式说明
语法:find 查找目录 查找规则 要查找文件 查找完成后的action。
常用的查找规则选项:
-name:按姓名查找。
-size:按大小进行查找。
-type:按类型进行查找。
功能描述:查找文件。
2.2 grep查找
grep(global search regular expression and print out the line),全面搜索正则表达式搜索文本并把行打印出来是一种强大的文本搜索工具。
命令格式说明:
语法:grep 选项 ‘搜索的字符串’ 目录文件名
选项:
-n:查看行号
功能作用描述:查找指定文件中的字符串
具体实例1:
具体实例2:-n,打印文件的行数
2.3 locate命令
find对于大批量的搜索而言,还是慢,这时候,Locate命令会比较快。在数据库查找文件,locate指令预设的数据库位于/var/lib/mlocate目录里(依据/var/lib/mlocate/mlocate.db内的资料库记载)
命令格式说明
语法: locate 选项 文件名
功能描述:快速的查找文件
具体实例1:
具体实例2:查看数据库中的数据
/var/lib/mlocate/mlocate.db
2.4 whereis 命令
和find命令相比较,whereis 查找的速度非常快,当使用whereis也会从数据库中查找数据,whereis命令只能用于程序名的搜索,而且只搜索二进制文件、man说明文件和源代码文件。
命令格式说明
语法:whereis 选项 文件名
功能描述:快速的查找文件
具体实例:
2.5 which命令
Linux which命令用于查找文件。
which命令是查找命令是否存在,以及命令的存放位置在哪儿。
which指令也会在环境变量$PATH设置的目录里查找符合条件的文件。
命令格式说明
语法:which 选项 文件名
功能描述:快速的查找文件
具体实例1:输出变量$PAHT
具体实例2:查找一个文件
2.6 type 命令
type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。
总结说明:
这几个查找文件的区别:
find:在整个的硬盘里面来查找文件。
grep:在文字查找某个字符
locate:在数据库中查找文件。
whereis:也在数据库中查找,查找范围小,只查找一部分文件。
which:查找命令所在的位置,或者在环境变量¥PATH目录中查找。
三.用户管理
Linux系统是一个多用户多任务的分时操作系统,
Linux用户主要是分为三类:
第一类:root(超级管理员),UID为0,这个用户有极大的权限,包括读写执行的权限。所以使用要小心,因为他的权限太大了。
第二类:系统用户,UID为1~499。一般是不会被登入的。
第三类:就是普通用户,UID范围一般是500~65534。这类用户的权限会受到基本权限的限制,也会受到来自管理员的限制。
~:在linux中代表用户的主目录(home)
对于一般用户,~表示:/home/用户名
对于root用户,~表示:/root
3.1 添加用户
命令参数说明
语法:useradd 选项 用户名
常用选项:
-d:目录 指定用户主目录。
-g:指定用户所属的用户组。
-s:指定用户的登录shell。
-u:指定用户的用户号。
-r :建立系统帐号。
具体实例1:建立一个普通用户
具体实例2:建立一个系统用户
具体实例3:查看你建立的用户
功能作用描述:增加用户账户就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件,如/et/shadow,/etc/group等。
/et/shadow:密码信息
/etc/group:组信息
具体实例4:查看用户组信息
需要注意:是linux在创建用户的同时,又创建了同名的用户组。要避免创建用户的同时又创建同名组。我们可以在创建用户的同时,让它归属于某个组。
具体实例5:让某个用户zhaoyun归属于admin组
它的格式
用户名:密码:UID:GID:用户描述:主目录:登录的shell
UID:0:代表系统管理员,1-499:代表的是系统用户使用的
500-65534:是普通用户使用的。
每行记录又被冒号(:)分隔为7个字段
具体实例6:查看用户的结构
3.2 删除用户
命令格式说明
语法:userdel 选项 用户名
常用的选项是:
-r:把用户的主目录一起删除。
功能描述:删除一个用户,就是从/etc/passwd中删除一个用户记录。
具体实例1:删除用户zhaoyun
3.3 修改用户
命令格式说明
语法:usermod 选项 用户名
常用的选项和useradd选项一样,-d,-s,-g,-G,-u等。
-l:将原来的用户名改成新用户名
功能描述:修改用户
具体实例1:修改用户的主目录
具体实例2:修改用户的userid
3.4 修改密码
命令格式说明:
语法:passwd 选项 用户名
常用的选项是:
-l:锁定口令,即禁用账号。
-u:口令解锁。
-d:使账号无口令(取消密码)
-f:强迫用户下次登录时修改口令。
功能描述:修改用户密码
具体实例1:修改guanyu的密码
四.组管理
4.1 添加组
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。查看组内成员:/etc/group
命令格式说明
语法:groupadd 选项 用户组
常用的选项:
-g:指定新用户组的标识号
功能描述:为用户添加一个数组
具体实例1:
4.2 删除组
命令格式说明:
语法:groupdel 选项 用户组
功能描述:删除用户组
具体实例1:
4.3 修改组
命令格式说明:
语法:groupmod 选项 用户组
选项:
-n:修改组的名称
-g:修改组的ID
功能描述:修改用户组
具体实例1:修改的组名称
具体实例2:修改的组id
4.4 查看用户
查看本地的服务器有多少用户
方法1:cat /etc/passwd
方法2:who -m
方法3:who am i
方法4:id
4.5 cut 命令详解
用法:cut -c m-n filename
说明:显示每行从开头算起 m 到 n 的文字。
选项:
-c :以字符为单位进行分割。
-c m-n 表示显示每一行的第m个字元到第n个的字符。
具体实例1:
我们经常会遇到需要取出分字段的文件的某些特定字段,例如 /etc/password就是通过":"分隔各个字段的。可以通过cut命令来实现。
选项:
-d用来定义分隔符,默认为tab键,
-f表示需要取得哪个字段
具体实例1:查看所有用户
cut -d: -f1 /etc/passwd
五.文件和目录权限设置操作
5.1 改变属主
命令格式说明:
语法:chown 选项 文件名
常用选项:
-R:代表的是递归调用目录,目录中的子目录和子目录中的文件都会应用
功能描述:改变文件的属于哪个用户。
具体实例1:
具体实例2:
chown -R 属主名:属组名 文件名
具体实例3:递归改变,通过选项:-R
chown -R 属组名 文件名
5.2 改变属组
命令格式说明
语法:chgrp -R 属组名 文件名
功能描述:改变文件属于哪个组。
具体实例:
5.3 改变文件的权限(重点)
先介绍一下文件的类型:
d :目录文件。
l :符号链接(指向另一个文件,类似于windows下的快捷方式)。
s :套接字文件(/var/run)。
b: 块设备文件,二进制文件(/dev/sda)。
c:字符设备文件(/dev目录)。
p : 命名管道文件。
- :普通文件,或者更准确地说,不属于以上几种类型的文件。
具体实例1:查看文件类型
文件的扩展名:
扩展名类型
Linux的文件是没有所谓的扩展名的,一个Linux文件能不能被执行,与他的第一栏的十个属性有关。这个跟Windows的情况不相同,在Windows底下, 能被执行的文件扩展名通常是 .com .exe .bat等等,而在Linux底下,只要你的权限当中具有x的话,
文件的详细显示信息:ll或是 ls -lh
Linux文件属性有两种设置权限的方法,一种是数字,一种是字符。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
命令格式说明
语法:chmod 权限 文件名
权限:
一种是数字:
r(读):4,
w(写):2,
x(执行):1
具体实例1:文件的权限全部是rwx,就读写课执行。
具体实例2:520:(属主:rx,属组:w,其他人:什么权限都没有)
一种是字符:
u(user:用户),g(group:组),o(other:其他人),a(all:所有用户),
+(添加),-(删除),=(设置)
u+rwx,g=rw,o=wx
功能描述:改变文件权限。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
具体实例1:
具体实例2:使用a
具体实例3:添加,减去相应的权限
六.vim编辑操作(重点)
vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。而vim则是高级版的vi,不但可以用不同颜色显示文字内容,还能进行诸如shell脚本、C语言程序编辑等功能,可以作为程序编辑器。
6.1 vi/vim 的使用
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),插入模式(Insert mode)和底线命令模式(Last line mode)。
6.2 命令模式的切换
ESC:进入命令模式
:, 进入底行命令模式
【i, I】 进入编辑模式:
i 为【从目前光标所在处插入】
I 为【在目前所在行的第一个非空格字符处开始插入】
【a, A】 进入编辑模式(Insert
mode):
a 为【从目前光标所在的下一个字符处开始插入】
A 为【从光标所在行的最后一个字符处开始插入】
【o, O】 进入编辑模式:
o 为【在目前光标所在的下一行处插入新的一行】
O 为【在目前光标所在处的上一行插入新的一行】
【r, R】 进入取代模式:
r 只会取代光标所在的那一个字符一次
R会一直取代光标所在的文字,直到按下 ESC 为止
插入模式(编辑模式):i,I,a,A,o,O,s,S,r,R
s:删除添加
r:修改/替换添加
6.3进入和退出vi/vim
(1)进入:vi filename或者vim filename,如果filename不存在,则创建它,存在打开。
(2)退出vi/vim
:w filename 另存为filename
:q 退出
:q! 强制退出
:wq 保存并退出
:wq! 强制保存并退出
:x 如果有改动则保存并退出, 否则直接退出
ZZ: 若文件没有更动,则不保存离开,若文件已经被更改过,则保存后离开
6.5命令光标移动
kjhl:上下左右
space:光标右移一个字符
Backspace:光标左移一个字符
Enter :光标下移一行
文档的第一行:gg
文档的最后一行:G
某一行开头:^,0(零)
某一行结尾:$
5j或者是5+Enter(回车键): 向下移动5行
5G:移动到第5行行首
ctrl+b:上一页
ctrl+f:下一页
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
w:下一个单词
b:上一个单词
6.6 拷贝
缓冲区:复制或删除的内容总是先存放在缓冲区中,缺省是放在匿名缓冲区中。
拷贝1行, yy
拷贝5行, 5yy
拷贝1个单词, yw
拷贝5个单词, 5yw
拷贝到文件尾行, yG
拷贝到行尾,y$
6.7 粘贴
p(小写):当前位置粘贴
P(大写):当前位置向前粘贴
6.8 删除
删除1行 dd
删除3行 3dd
删除1个单词 dw
删除5个单词 5dw
删除到文件尾行, dG
删除到文件首行, dgg
删除到行首, d^
删除到行尾, d$
6.9 搜索
/:向下找
?:向上找
n:查找方向的下一处匹配
N:查找方向的上一处匹配
6.10 替换
行内替换一处,:s/search/replace
search:你要查找的字符串
replace:你要修改的字符串
行内替换全部, :s/search/replace/g
global:全部替换
全部行内一处替换, :%s/search/replace
全部替换, :%s/search/replace/g
6.11 其他命令
u: 恢复前一个操作
Ctrl+r:重做上一个操作
.:是重复前一个操作
set nu:设置行号
:set nonu:取消行号
:数字:定位哪一行
6.12 vi/vim的配置
系统配置
/etc/virc, 主(默认)配置文件, 会影响全部的linux的用户.
家目录配置
~/.vimrc, 家目录下的.vimrc, 配置家目录
具体实例1:
第一步:新建一个文件.vimrc
第二步:.vimrc内容如下:
第三步:查看一个文件,下次再打开一个文件,这个文件默认就有行号。
七.压缩解压操作
Linux压缩文件的格式有:.gz,.zip,.bz2,.tar,.tar.gz等
7.1.gzip压缩命令
我们先看一个具体应用的实例:
命令格式说明:
语法:gzip 选项 参数
选项:
-d:解压缩功能。
功能描述:压缩文件,它压缩后的扩展名是.gz。
压缩后的格式:.gz
命令所在的路径:bin/gzip
具体实例1:压缩一个文件,压缩后源文件消失
具体实例2:解压缩使用选项-d
7.2 gunzip解压缩命令
命令格式说明:
语法:gunzip 压缩后的名称
作用描述:解压缩文件
命令所在的路径:bin/gunzip
具体实例1:
7.3 tar压缩命令(重点)
tar(tape archive):
tar命令压缩:
命令名称:tar
执行权限:所有用户
语法:tar 选项[cvf] [目录]
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
功能描述:打包目录
压缩后文件格式:.tar.gz
具体实例1:
tar命令解压缩:
-x 解包.tar文件
-v 显示详细信息
-f 指定解压文件
-z 解压缩
具体实例2:
具体实例3:查看压缩包内容
7.4 zip压缩命令
实例:
压缩后原文件保留。
命令说明
语法:zip 选项 参数
选项如下:
-r:压缩目录,递归处理,将指定目录下的所有文件和子目录一并处理。
功能描述:压缩文件和目录
压缩后的格式是:.zip
具体格式:zip -r 压缩的文件名 文件名
具体实例1:压缩文件
具体实例2:压缩目录,使用选项 -r
7.5 unzip解压缩命令
命令说明
语法:unzip 选项 参数
选项如下:
功能描述:解压缩文件和目录
压缩后的格式是:.zip
具体实例1:解压缩文件
7.6 bzip2压缩命令
命令说明
语法:bzip2 选项 参数
选项如下:
-k:压缩后原文件保留
功能描述:压缩文件和目录
具体格式:bzip2 -k 文件名
具体实例1:默认压缩后源文件不保留
具体实例2:默认压缩后源文件保留,使用选项 -k
7.7 bunzip2解压缩命令
命令说明
语法:bunzip2 选项 参数
选项如下:
功能描述:解压缩文件和目录
具体实例1:
八.网络管理操作
8.1 查看网络地址
命令:ifconfig
自定义一个ip地址:
第一步:查看windows下的地址(ipconfig)
第二步:到linux配置目录中配置一个Ip地址:
cd /etc/sysconfig/network-scripts
第三步:配置内容如下:
第四步:开启网卡
第五步:ping 192.168.29.150
第六步:使用xshell客户端连接远程服务器
网络配置的关键。进入到网卡所在目录:
cd /etc/sysconfig/network-scripts,
可以查看到很多和网络有关的设备;有ifcfg-eth0和ifcfg-lo这个两个文件,就是对应ifconfig出来的eth0和lo网卡设备的。
进入到ifcfg-eth0文件中
DEVICE=eth0 // 这是网卡的名称
TYPE=Ethernet // 网卡类型
ONBOOT=yes // 是否随着开机自启动
BOOTPROTO=static // static表示固定ip地址,dhcp表示随机获取ip
IPADDR=192.168.29.150 // 手动设置的固定ip地址
NETMASK=255.255.255.0 // mask地址,就是掩码
NETWORD=192.168.29.1 // 网络地址
8.2 禁止网卡
命令:ifdown ifcfg-eth0
8.3 激活网卡
命令:ifup ifcfg-eth0
8.4 网络服务的管理
重启网络服务:
service network restart
或/etc/init.d/network restart
九.进程管理(服务管理)
一、进程的定义
进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,
二、进程与程序的区别
程序是静态的,它是一些保存 在磁盘上得指令的有序集合,没有任何执行的概念。
进程是一个动态的概念,它是程序执行的过程,包括创建、调度和消亡。
启动级别:对应的文件是:initab。
启动进程:对应的文件是:init.d,开启进程。
查看linux的进程:
在 /etc/init.d/下, 执行脚本,才被叫做守护进程
许多程序需要开机启动,他们在windows中叫做服务(service)。
在linux中叫做守护进程(daemon)。
守护进程就是运行在后台的特殊进程。
例如:iptables:防火墙守护进程。
9.1 service服务命令
service命令用于对系统服务的管理。比如:start(开始),stop(停止),restart(重启),status(状态)等
service 文件名 启动状态
具体实例1:关闭防火墙进程和开启防火墙进程
9.2 chkconfig命令
chkconfig主要用来是更新(启动和停止)和查看系统服务的运行级别信息。
主要是查看我们的守护进程在不同启动级别中是否关闭还是启动
查看所有的进程:cd /etc/init.d
查看某一个守护进程 --list:
设置某个进程的启动级别--level:
具体实例1:关闭运行级别(off)
具体实例2:开启运行级别(on)
/etc/rc.local, 设置一个进程开机启动脚本
9.3启动级别
linux提供了7中启动级别
等级0:表示关机模式(init 0)
等级1:表示单用户模式
等级2:表示无网络多用户命令模式
等级3:表示有网络多用户命令模式
等级4:不可用模式
等级5:表示带图像界面的多用户命令模式
等级6:表示重启模式(init 6)
默认的启动级别可用配置:/etc/initab中
具体实例1:查看启动级别,vim /etc/inittab
runlevel:查看启动级别
9.4 查看进程
进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。
PS命令和top命令
ps -aux:详细的查看进程
ps -e:简易的查看进程
top:查看实时进程
top命令相当于我们windows中的任务管理器
具体实例1:实时查看运行进程(top),退出使用q
十.bash的使用
10.1.输出重定向
>:覆盖输出
>>:追加输出
10.2 && 和 ||的区别
10.3管道命令(|)
第一个命令的输出会作为第二个命令的输入。
十一.切换用户(su)
命令说明
su:switch user
语法:su 选项 参数
功能描述:切换用户
简单切换:su 用户
深度切换:su - 用户