1、安装系统
linux
虚拟机
CentOS: linux系统,【注】windows系统要是64位的系统
putty : windows下面远程连接的工具
xshell : windows下面远程连接的工具
virtualbox : 虚拟机软件
vmware :虚拟机软件
-
vmware安装linux系统步骤
-
(1)点击加号,新建虚拟机
-
(2)选择典型安装
-
(3)选择稍后安装操作系统
-
(4)选择linux,选择CentOS 64
-
(5)虚拟机的名称和位置,可以自己指定,也可以使用默认
-
(6)给个硬盘大小,选择单个文件
-
(7)点击自定义硬件
-
(8)选择左边栏,网络配置,选择桥接网络
-
(9)选择
cd/dvd,点击使用ISO镜像文件,选择给你的那个操作系统 .iso
-
(10)点击完成,开启此虚拟机
2、连接服务器
ifconfig
在你的linux服务器中
vi /etc/sysconfig/network-scripts/ifcfg-eth0
输入i
将ONBOOT=no 修改为 ONBOOT=yes
按esc,输入 :wq 敲enter退出
输入service network restart
通过ifconfig查看ip地址
通过shell连接你的服务器
day01-linux指令
输入:uname -r 得到的一串信息
例:2.6.32-642.el6.x86_64
2:主板本号
6:次版本号 如果是奇数则是开发版,偶数则是稳定版
32:该版本修复次数
发行版本之间,基本指令一样 只不过安装软件方式不一样
Redhat CentOS 使用yum
Ubuntu 用apt-get
镜像源:
当linux安装好了之后,默认的镜像源是国外的
阿里源
清华源
搜狐源
网易源
中科大源
[root@localhost ~]#
root:当前登陆的账号是root 超级管理员
拍快照,类似于系统备份
localhost:主机名
~:代表当前操作的目录 代表的是当前用户的home目录 每一个用户都有一个自己的home目录,你在这个目录下可以肆意妄为。但是root用户可以在系统中肆意妄为。
:普通管理员在执行指令如果八戒用户登陆进来就是:[bajie@localhost ]:普通管理员在执行指令如果八戒用户登陆进来就是:[bajie@localhost ]
简单命令:cd、ls、pwd、ifconfig、ping
ping:用来查看网络是否接通 例:ping www.baidu.com
control + c 结束当前进程
ifconfig:用来查看IP地址 在windows下是ipconfig
目录:目录就是文件夹,文件夹就是目录,只不过文件夹是在windows里面的称呼
cd:跳转到指定路径 后面跟目录的路径 例:cd / 转到根目录 cd ../转到上一级目录
ls:查看当前所在目录下的子文件和子目录
pwd:输出当前所在目录
history:历史命令
clear:清屏
ctrl + l:清屏
ctrl + a:将光标移到指令的最前面(ahead)
ctrl + e:将光标移到指令的最后面(end)
ssh远程访问
ssh是一个协议,也是一个指令,linux都是通过ssh协议远程链接的
如果windows想连接linux,需要安装基于ssh协议的软件,如xshell
如果linux链接linux 直接通过ssh指令进行链接即可
指令格式:
ssh 用户名@ip地址 例:ssh [email protected]
输入密码即可登录
关机:poweroff、halt
重启:reboot
date:查看当前时间
shutdown:
shutdown -h now 立马关机
shutdown -r now 立马重启
shutdown -h +5 五分钟后关机
shutdown -h 16:30 指定到16:关机
day02-linux指令
1、目录结构
/bin 二进制文件,指令存放的地方 binary
/dev 设备文件,比如 /dev/sda device
/home 普通用户的家目录存放到这里
假如你有一个普通用户bajie,那么bajie的家目录就在 /home/bajie
/lib64 库文件存放的地方
linux系统中,库文件的后缀名为.so,windows系统中,库文件后缀名为 .dll
/media 媒体设备,用来挂载一些设备到这里,现在基本不用了
/opt 可选的附加程序,有一些软件会按照到这里
/root 就是root用户的家目录,就是root用户~
/selinux
是linux的一套安全机制,这玩意还挺复杂,一般都关闭,不用
关掉selinux的指令: setenforce 0 getenforce 查看selinux状态
/sys 和windows里面的sys一样,存放硬件设备的驱动信息
/usr 它并不是user的缩写。unix system resource的缩写
后续自己安装的软件都安装到 /usr/local
/boot 里面存放的都是和启动相关的东西
/etc 系统配置文件存放的地方
/lib 库文件存放的地方
/lost+found 里面是空的,如果你的文件格式是linux系统格式,里面默认会有这么一个文件夹
/mnt 我们以后挂载的地方
/proc process 进程信息存放的地方
/sbin 只有超级管理员才能执行的指令存放在这 service iptables stop 关闭防火墙
/srv 服务相关存放地方
/tmp 临时文件存放地方
/var 日渐增长的文件存放的地方,比如日志
2、ls
ls : 显示当前目录下所有的文件
ls 目录的路径(绝对、相对) : 显示指定目录下的所有文件
-a 显示指定目录下所有文件(包括隐藏文件),以点开头就是隐藏文件
-l 以列表的形式显示文件的详细信息
-R 递归显示目录下所有文件
ll之后列表每一列的含义
第一列 : 文件类型
- : 文件
d : 目录
l : 连接
-
c : 字符设备
-
b : 块设备
-
第二列-第十列 : 文件权限
-
第十一列 : 不用知道,无意义,开启selinux之后,目录就会带这个点
-
第十二列 : 如果是文件,代表的是文件的硬链接个数
-
如果是目录,代表的是子目录的个数
-
第十三列 : 这个文件的所属用户
-
第十四列 : 这个文件的所属组
-
第十五列 : 代表文件大小 ls -lh
-
第十六列-第十八列 : 文件的创建或者修改时间
-
第十九列 : 文件名称
-
命令模式===》编辑模式
-
i :在光标处进入编辑模式
-
I :从光标所在行的第一个非空字符开始编辑
-
a :从光标下一个字符开始进入编辑模式
-
A :从光标所在行行尾开始进入编辑模式
-
o :在光标所在行的下一行,新建一行开始编辑
-
O :在光标所在行的上一行,新建一行开始编辑
-
s :删除光标所在字符并且进入编辑模式
-
S :删除光标所在行并且进入编辑模式
-
-
命令模式下的快捷键
-
gg :快速的将光标移动到第一行行首
-
G : 快速的将光标移动到末行行首
-
ngg :将光标快速的移动第n行行首
-
^ : 将光标快速的移动到该行行首
-
$ : 将光标快速的移动到该行行尾
-
dd : 删除光标所在行
-
u :撤销刚才的操作
-
ndd : 删除光标下n行(包括光标所在行)
-
yy : 复制光标所在行
-
p : 粘贴刚才复制的行
-
np :粘贴刚才复制的行n次
-
nyy :复制光标下n行(包括光标所在行)
-
10000dd : 删除所有行
-
-
ctrl + f :下一页 forward
-
ctrl + b :上一页 backup
-
ctrl + d :下翻半页 down
-
ctrl + u : 上翻半页 up
-
zt :将光标所在行顶行显示 top
-
zb :将光标所在行底行显示 bottom
-
zz :将光标所在行居中显示 zhongjian
-
-
底行模式指令
-
:set nu 显示行号
-
:set nonu 取消显示行号
-
查找字符串
-
:
/美女 敲enter,然后n代表下一个,N代表上一个 从上往下找
-
:?美女 敲enter,然后n代表下一个,N代表上一个 从下往上找
-
字符串替换
-
光标所在行
-
:s/美女/八戒 将光标所在行第一个美女替换为八戒
-
:
s/美女/靓妹/g 将光标所在行所有美女替换为靓妹
-
指定行替换
-
:n,ms/美女/八戒 只替换第一个
-
:n,ms/美女/八戒/g 替换所有
-
所有行
-
:%s/美女/八戒 所有行只替换第一个
-
:%s/美女/八戒/g 所有行替换所有美女
-
:wq 保存并且退出
-
:
x 保存并且退出
-
shift+zz 保存并且退出
-
:
q! 不保存强制退出
-
-
简便操作
-
vi
1.txt +
5 打开文件将光标定位到第
5行
-
vi
1.txt + 打开文件将光标定位到末行
-
注意事项
-
非法关闭的时候,会产生一个交换文件 .
1.txt.swp
-
vi -r
1.txt 会将上次写的内容直接写到文件中
-
但是每次打开还有一个attention,消除attention,只需要将交换文件删除即可
-
rm -f .
1.txt.swp
-
配置文件
-
.vimrc
-
vi ~
/.vimrc
-
打开后在里面写入set nu
-
立即生效 source ~/.vimrc
-
之后在用vi编辑的时候就会显示行号
4、文件相关指令
涉及到文件、目录的创建、删除、拷贝、移动、查看
创建
文件
vi 文件路径 文件不存在就会创建
touch 文件路径 可以同时创建多个
目录
mkdir 目录的路径
mkdir -p maodao/shidan/fendan 递归的创建目录,中间目录一并创建
删除
文件
rm 文件路径
-f 不提示,强制删除
【友情提示】rm之后,永远找不回来,在rm的时候,要慎重
一般都会先备份一份,在文件名.backup
通配符
rm *.txt 删除所有的txt文件
rm * 删除所有的文件
目录
rmdir 目录路径 这个指令只能删除空目录
rm -rf 目录路径 强制递归删除非空目录
拷贝
文件
cp 源路径 目标路径
cp 4.mp3 /
cp 4.mp3 /5.mp3 拷贝的时候修改文件名字
目录
cp -r 源路径 目标路径 需要添加-r选项
拷贝的同时可以修改名字
移动
mv /1000.txt ./
mv /4.mp3 ./3.mp3
mv /maomi ./ 这个不需要加-r选项,还可以修改名字
从当前移动到当前,可以间接实现修改文件名的修改
查看
cat 文件名
-n 显示行号
tac 文件名 倒着看文件
head 文件名 默认显示前10行
-n 指定显示前几行
tail 文件名 默认显示后10行
-n 指定显示后几行
如果文件比较大,使用cat查看并不方便 more 文件名 按enter向下走一行 按空格向下走一页 不能向上看 按q退出查看 less 文件名 按enter向下走一行 按空格向下走一页 pageup:上翻页 pagedown:下翻页 q退出 /赵薇 查找 n下一个
5、文件系统
文件系统就是文件管理系统的简称,不同的文件管理系统其存储数据的方式,读取数据的方式都是不同的,所以存同样的东西,不同的文件管理系统,存储的大小也不一样
常见的文件系统
windows
fat
fat16(不用了)
fat32(大多见于u盘,单个文件不能超过4G)
fat64(exfat) 挺好的,在mac下,windows都能读写
ntfs
windows系统默认的文件格式,移动硬盘,在mac电脑上对ntfs格式是只读,如果想要写入,需要安装插件
linux
ext
ext2
ext3
ext4
mac
hfs
hfs+
apfs
day03-linux指令
1、用户和组
用户
创建
useradd bajie
系统用户在 cat /etc/passwd 里面存放
查看组信息 cat /etc/group 里面存放
-d : 指定家目录,如果不指定,那么系统就会在/home下面自动的为该用户创建一个和用户名相同的目录放到这里作为该用户的家目录
useradd -d /home/test wukong
-u : 指定用户id,一般情况不指定
useradd -u 666 xuanzhuang
-g : 指定主组,如果不指定,那么系统会自动为这个用户创建一个主组,该主组的名字和用户名一模一样,一般不指定
useradd -g 666 guanyu
修改
usermod
-g : 修改主组
usermod -g 501 guanyu
-u : 修改用户id
usermod -u 888 guanyu
-l : 修改用户名
将xuanzhuang用户名修改为xiaobai
usermod -l xiaobai xuanzhuang
-d : 修改家目录(一般不用)
删除
userdel 用户名
仅仅会删除/etc/passwd里面的记录,不会删除家目录
如果想都删除,添加 -r 选项
【了解】如果删除用户的时候,家目录没有被同时删除掉,那么手动删除即可
组
cat /etc/group
创建组
groupadd
-g :指定组id(一般不指定)
修改组
groupmod
-g : 修改组id
-n : 修改组名 groupmod -n test demo 将demo组重命名为test组
删除组
groupdel 组名
如果一个组是某个用户的主组,那么这个组是删除不了的,需要首先删除这个用户才行
如果一个组是系统自动为某个用户创建的,而且和用户名同名,那么删除这个用户的时候,系统就会自动将这个组也给删除掉
将用户添加到组里
一个用户必须有一个主组,还可以有很多附加组
usermod -a -G 组名 用户名
从组中删除一个用户
gpasswd -d 用户名 组名
切换用户
su bajie 切换到bajie用户目录
whoami 查看当前用户名
exit 退出当前切换的用户
sudo 指令 :临时使用超级管理员执行这条指令,需要输入密码
2、文件权限
权限的表示法 r===可读 w===可写 x===可执行 -===没有这个权限
rwx 111 7 可读可写可执行
rw- 110 6 可读可写不可执行
r-x 101 5 可读不可写可执行
r– 100 4 只读
-wx 011 3 可写可执行
-w- 010 2 只写
–x 001 1 只执行
— 000 0 啥也没有
-
rwx r-
x r-
x
-
所属用户权限 组内用户权限 组外用户权限
-
文件权限表示方式:
755
-
abc.txt
645 bajie wukong
-
guanyu--->wukong
-
zhangfei 不属于悟空组
-
修改用户权限
chmod
-
格式
chmod 权限 文件路径
-
文件权限修改
-
chmod
644
1.txt
-
chmod
0755
1.txt 以
0开头的是八进制
-
所属用户: user====》u
-
组内:group===》g
-
组外:other===》o
-
chmod u+r,g-
x yiqian.txt
-
目录权限修改
-
chmod -R
777 test
-
递归的test目录以及子目录、子文件权限全部修改为
777
-
修改用户
-
chown 用户名 文件路径
-
chown bajie
1.txt
-
chown bajie:bajie
1.txt
-
冒号后面的是组名,在修改用户的同时还可以修改组
-
chown :bajie
1.txt
-
只修改组
-
目录的修改
-
和上面的一样,如果想要递归修改,加一个 -R 选项
-
修改组
-
chgrp 组名 文件路径
-
umask
-
问:哥们,linux里面创建的目录和文件默认权限是什么?
-
默认文件权限:
644
-
默认目录权限:
755
-
umask就决定了文件和目录的默认权限,通过
umask -S 可以查看默认权限,linux系统中,文件默认都没有可执行权限,所以计算文件的默认权限,需要在默认权限上面减去一个
111即可
-
umask
0011
-
那么默认权限就是
0777-
0011=
0766
3、文件搜索
find 在指定目录查找你想找的文件
格式: find [目录] [选项] [选项值]
目录:去哪找,默认是当前目录
选项:怎么找
-name : 按照名字查找
-size : 按照大小进行查找
单位可以 kmg
10k : 大小等于10k的文件
+10k :大于10k的文件
-10k :小于10k的文件
-user : 根据用户名进行查找
-group : 根据组名进行查找
-maxdepth -mindepth : 默认是递归的查找指定文件,使用这两个选项可以限制查找的目录层级
选项值:找什么
用法:
find -name 1.mp3
find / -name *.txt
find / -size +10k
find / -mindepth 6 -name *.txt 找层级大于6的所有txt文件
find / -mindepth 5 -maxdepth 6 -name *.txt
find / -name ifcfg*
4、文件内容搜索
grep 内容 文件路径
参数
-r : 递归的查找字符串
–color=auto : 自动显示颜色
配置输入grep=grep –color=auto
vi ~/.bashrc
alias grep=’grep –color=auto’
source ~/.bashrc
-n : 显示行号
-l : 只显示文件名
-c : 显示查找到的次数
-i : 不区分大小写查找
使用
grep ‘王者荣耀’ 1.txt
grep ‘王者荣耀’ ~/*.txt
grep ‘王者荣耀’ ~/*
grep -r ‘王者荣耀’ ~/*
grep –color=auto -r ‘王者荣耀’ ~/*
正则表达式
\w :
\W :
\d :
\s :
* : 任意多次
+ : 1次或者多次
? : 0次或者1次
[email protected] [email protected] [email protected]
[\w-]+@\w+.\w+
\w [0-9a-zA-Z_]
http://www.cnblogs.com/DengGao/p/5935730.html
-E
-P 后面写正则表达式,正则表达式使用 ” 括起来
grep -P ‘[\w-]+@\w+.(com|net|cn)’ 1.txt
5、管道
生活中的管道结合到指令中:
前一个指令的输出,作为后一个指令的输入,后一个指令处理后显示到屏幕上
格式:
指令1 | 指令2
常用的管道指令
ls -l /etc | less
ls -l /etc | head -5
ls -l /etc | tail -6
ls -l /etc/ | head -10 | tail -5
ls -l /etc | grep cron
查看进程相关
ps -ef | grep ssh
6、搭建主机信任
密码学,存在加密的过程,就有解密
在加密和解密的过程中使用到一个东西,称之为密钥
加密和解密的使用的密钥是不是同一个密钥?
是:对称加解密
不是:非对称加解密
涉及到一对儿密钥:公钥和私钥,成对儿出现的
私钥自己保存,公钥发给大家
ssh协议(免密码登录)
主机1登录主机2实现免密码登录
(1)在主机1上面生成公钥和私钥
ssh-keygen 一路敲enter即可
就会在 ~/ 生成两个文件 id_rsa(私钥) id_rsa.pub(公钥)
(2)将公钥给主机2,并且写到主机2中一个固定的文件中
vi ~/.ssh/authorized_keys
将公钥粘贴进来(注意不能将空格等粘贴进去)
chkconfig –list查看服务
(3)实现免密码登录
7、重定向
标准输入(stdin, 键盘)、标准输出(stdout, 屏幕)
输出重定向
ls -l / > 1.txt 打开这个文件,清空,然后写入
ls -l / >> 1.txt 向文件中追加内容
错误重定向
ls /100 2>error.txt 清空,写入
ls /200 2>>error.txt 错误追加
8、挂载
挂载是什么意思
买了一台windows,装吧,分几个区,随便, c d e f
系统自动为你做好了盘符,当你打开盘符的时候,就是往c盘中写内容
如果给windows电脑插了一个u盘,想往u盘里面写内容,打开u盘,还是系统自动为你弹出一个盘符,双击打开操作这个u盘
-
linux下面
-
这个时候就要使用挂载,挂载的意思就是将你的u盘这个盘符和你的linux里面的一个目录对应的过程就是挂载。以后操作这个目录就是操作你这个u盘,这个目录我们称之为挂载点。
-
如果现在使用完毕,取消挂载即可
-
-
(
1)准备好挂载点
-
mkdir /mnt/usb
-
(
2)找到设备
-
fdisk -l
-
(
3)挂载
-
mount -t [文件类型] -o [字符集] 设备 挂载点
-
mount /dev/sdb1 /mnt/usb
-
mount -o iocharset=utf8 /dev/sdb1 /mnt/usb 设置字符集的挂载
-
(
4)取消挂载
-
如下三种方式都可以
-
umount /dev/sdb1 /mnt/usb
-
umount /dev/sdb1
-
umount /mnt/usb
day04-linux指令
命令行快捷键:
shift + pgup:上翻页
shift + pgdn:下翻页
1、磁盘管理
mount
-t 指定文件类型
vfat===》fat32
nfs===》网络文件系统
auto===》自动识别
ntfs-3g===>ntfs格式
du 显示指定目录的使用情况
-h 以人性化显示大小
du -h /
df 查看当前磁盘设备的使用情况
-h 人性化方式显示
fdisk -l 显示所有的设备
/dev/sda 就是你当前系统的第一块硬盘
/dev/sda1 该硬盘的第一个分区
/dev/sda2 该硬盘的第二个分区
/dev/sdb 就是你的第二块硬盘
给自己的虚拟机添加一块硬盘(1G的硬盘)
先关机才能添加
virtualbox:设置===》存储===》第二控制器===》方格加号===》创建新的虚拟硬盘===》选择VDI===》分配个大小===》完成
vmware:设置===》添加===》选择硬盘===》添加===》创建新的硬盘===》类型不用懂,下一步====》分配大小===》完成
添加完成之后,开机
输入fdisk -l 查看你的设备信息
会多出一个 /dev/sdb
给这个/dev/sdb进行分区
了解分区的常识
主分区、扩展分区、逻辑分区
一个硬盘必须至少要有一个主分区,系统必须安装到主分区中
扩展分区:不是用来使用的,需要将这个扩展分区分成多个逻辑分区,来使用逻辑分区
逻辑分区:就是平常使用的分区
主分区最多只能分4个,扩展分区一般就一个
逻辑分区可以随便分
一般分区:一个主分区,一个扩展分区,多个逻辑分区
开始分区
两个主分区,一个200M,一个扩展分区(600M),两个逻辑分区(300M)
(1)fdisk /dev/sdb
n : 新建一个分区
e : 创建扩展分区(1-4)
p : 创建主分区(1-4)
l : 创建逻辑分区(5 or over)
给大小的时候,开始的位置使用默认即可,结束的位置使用+200M进行给其分配大小
p : 打印分区信息
w : 写入分区信息
(2)格式化
mkfs.ext4 /dev/sdb1
(3)挂载
mount /dev/sdb1 /mnt/usb
挂载成功之后,使用df -h 查看该硬盘使用情况
(4)配置开机挂载
vi /etc/fstab
/dev/sdb1 /mnt/usb ext4 defaults 0 0
设备 挂载点 格式 默认 默认
mount -a 让配置文件生效
删除分区
fdisk /dev/sdb
d 写分区号即可删除分区
2、scp
基于ssh协议cp,在两台linux之间进行拷贝着玩
格式:
scp 源路径 目的路径
scp wang.txt 用户@ip地址:路径
scp 用户@ip地址:路径 ./laowang.txt
拷贝的时候可以换名字
每次都需要输入密码。可以配置主机信任,省去每次输密码的麻烦
-r 拷贝目录的时候使用
windows给linux通过ssh协议发东西
winscp软件
3、软硬连接
在linux系统中,以软连接使用的居多,硬链接可以作为了解,以及软硬链接底层的实现机制,可以了解一下
硬链接
格式 : link 源文件 目标文件
硬链接相当于给源文件起了一个别名,修改其中一个文件,另外一个文件肯定也被修改
当创建了一个硬链接之后,文件的硬链接的个数就会加一,当删除其中一个文件的时候,文件的硬链接的个数就减一
【注】硬链接不能给目录创建
【注】创建出来的硬链接,其用户和组的信息不变
软链接(soft)
格式 : link -s 源文件 目标文件
软链接,修改其中一个,另外一个也被修改,其实是同一个
如果目标文件被删除,那么该链接就会变为死链接。当新建了一个和目标文件同名文件的时候。该死链接立马原地复活。
可以理解为windows里面的快捷方式
【注】软链接可以给目录创建
【注】创建出来的软链接。其用户和组信息就是创建时候的用户和组信息
底层实现方式:
在linux里面,一个文件由三部分组成,第一部分就是文件名(给用户看的),第二部分就是索引节点,inode(给linux系统看的),第三部分是数据部分,内容部分
详见 清明上河图
4、压缩解压
在linux里面,常见的压缩格式有两种,一种是gz,一种是bz2
gzip\gunzip(后缀名为.gz)
弊端1:压缩之后,没有了源文件
弊端2:不能打包压缩
bzip2\bunzip2(后缀名为.bz2)
-k 压缩的时候保留源文件
弊端:不能打包压缩
tar(压缩解压全部包了)
-c :打包文件
-z :使用gzip格式压缩
-j :使用bzip2格式压缩
-f :一般放最后面,用来指定压缩过后的文件名
-v :压缩和解压缩的时候显示过程
-x :表示解压缩
这些参数组合到一块一起使用
如果采用gzip格式压缩,那么压缩后的文件名后缀为.tar.gz
如果采用bzip2格式压缩,那么压缩后的文件名后缀为.tar.bz2
-
(1)使用
gzip
-
压缩:
tar
-zcvf
haha
.tar
.gz
goudan
.mp3
maomi
.avi
-
解压缩:
tar
-zxvf
haha
.tar
.gz
-
(2)使用
bzip2
-
压缩:
tar
-jcvf
haha
.tar
.bz2
goudan
.mp3
maomi
.avi
-
解压缩:
tar
-jxvf
haha
.tar
.bz2
5、服务和进程
linux的运行等级 vi /etc/inittab
0 : 关机模式
1 :单用户模式
2 :无网络的多用户模式
3 :有网络的多用户模式
4 :保留模式
5 :图形界面模式
6 :重启模式
虚拟机还可以克隆
关机之后,右键有个克隆,但是克隆出来之后,有一个小问题,就是两个系统的mac地址相同,上网搜解决方案,然后修改一下配置文件就可以搞定
切换等级
init 等级号
init 0 也是关机指令
init 6 也是重启指令
查看当前等级
runlevel
who -r
查看随开机启动的服务
chkconfig –list
服务后面的d daemon linux中随开机启动的服务我们叫做守护进程,所以服务的后一般都有个xxxd
控制服务的开启与关闭(通过脚本控制)
比如防火墙的脚本在 /etc/init.d/iptables
控制防火墙 /etc/init.d/iptables start | stop | restart
如果这个脚本放在了 /etc/init.d/中
控制服务另外一种方式 service iptables start | stop | restart
自己的安装的服务
需要找到控制服务的脚本
脚本 start | stop | restart
这种方式需要时刻牢记脚本的位置,太麻烦
我们一般都将这个脚本 放到 /etc/init.d/ 中,然后通过service指令来控制
service nginx start
service mysqld start
自己的服务需要开机启动
chkconfig nginx on 默认是在2345模式下开机启动
通过 chkconfig –list 来进行查看有没有开机启动
进程相关指令
top :实时的查看有关系统的运行状况
输入M按照内存使用情况给你排序
按q退出查看
w :查看当前登录系统的所有用户
free :-h 内存的使用情况
ps :查看进程相关信息
ps -ef | grep ssh
ps aux | grep ssh
kill : 杀死一个进程
kill -9 进程号
netstat -lnp : 查看网络和端口使用情况
netstat -lnp | grep nginx
6、下载
(1)curl(自带)
curl -O 下载地址
(2)wget(需要安装,专业)
安装完之后我们测试
7、软件安装
yum安装
说明:yum是什么?
yum就是你的360软件中心,就是你的腾讯的应用管家,就是小米手机里面的应用商店,说白了,它就是一个软件中心
在linux里面安装软件的特点:a软件—>b软件—>c软件—-》d软件
软件中心称之为yum源,yum源就为大家解决了依赖关系
常见的yum源:
网易源、阿里源、中科大源、清华源、搜狐源、千锋源。。。
配置yum源:
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.backup
curl -O http://mirrors.aliyun.com/repo/Centos-6.repo
mv Centos-6.repo CentOS-Base.repo
yum clean all
yum makecache 生成缓存
安装软件:
yum install wget
yum install -y wget 中间一路yes
卸载软件:
yum remove wget
yum remove -y wget
搜索软件:
yum search wget
常用选项:
-y : 一路yes
–downloadonly : 只下载不安装
–downloaddir : 指定下载目录
yum install -y –downloadonly –downloaddir=./ wget
day05-各种服务搭建
1、软件安装
(1)rpm安装
rpm安装是redhat系列的安装方式,rpm不仅仅是软件包的后缀名,还是一个指令,安装.rpm包的时候要使用rpm指令
缺点:要自己手动解决依赖关系,这个东西目前世界上没人会
安装
rpm -ivh 包名
卸载
rpm -e wget
其它选项
-ql : 查询包的安装路径
-qa :查询系统中所有的软件
-qi :查询包的详细信息
(2)源码安装
源码安装要比rpm安装要稳定的多,因为有一个编译的过程
在linux里面,几乎所有的软件都是使用c、c++语言来进行编写的。这种语言有个特点,需要编译,然后生成一个可执行文件,再执行可执行文件
非常出名的编译器,叫做gcc,所以要想源码安装,首先安装编译器
yum install -y gcc gcc-c++
-
源码安装还需要源码,源码从哪来呢?从网上下载,下载的包都是.tar.gz .tar.bz2
-
源码安装三部曲:
-
解压缩
-
(
1)配置
-
./configure --prefix=安装路径
-
(
2)编译
-
make
-
(
3)安装
-
make install
-
安装ntfs
-3g包
-
tar -zxvf ntfs
-3g_ntfsprogs
-2017.3
.23.tgz
-
cd ntfs
-3g_ntfsprogs
-2017.3
.23
-
./configure
-
配置完毕之后,输入echo $? 来查看是否配置成功,如果输出
0,代表成功,其它代表失败
-
make &&
make install
2、shell简介
shell就是一个命令解释器,将用户输入的指令给解析一下,将结果显示给你
两种交互形式
(1)指令交互式
就是平常一直在敲的玩意
(2)脚本交互式
需要先写脚本,然后执行这个脚本,shell脚本后缀一般都为.sh
#!/bin/bash
#bash 是linux默认的shell解释器 sh csh
cd /
ls -l
执行这个脚本
在当前目录下: ./test.sh
不在当前目录下: /root/usb/test.sh
shell编程(工作碰到之后可以简单学学)
3、screen(装x神器)
是一个软件,需要手动安装。
你以后会经常远程登录到你的服务器,执行一些程序,或者安装一些软件,这些步骤有可能耗时非常的长,这个时候你在电脑前面坐着就不知道干啥了,你得等,所以引入了一款非常优秀的软件,screen
安装
yum install -y screen
使用
新建会话 : screen -S baby
去往会话 : screen -r baby
查看会话 : screen -ls
会话中快捷键(ctrl + a)
退出会话 : d
新建窗口 : c
所有窗口 : w
上一个窗口 : p
下一个窗口 : n
干掉窗口 : k
当关闭掉所有窗口的时候,这个会话就被关闭了
4、samba服务搭建
搭建samba服务器可以实现windows和linux目录之间的共享
搭建之前:
关闭防火墙,关闭selinux
关掉selinux指令:setenforce 0 查看selinux状态:getenforce
关闭防火墙:service iptables stop
安装软件 : yum install samba samba-client
(1)将linux目录共享给windows
不带密码的共享
vi /etc/samba/smb.conf
来到101行
#security = user
#passdb backend = tdbsam
security = share
来到第248行
[xiaoji]
browseable = yes
writable = yes
path = /smb
public = yes
-
说明:
-
xiaoji : 共享的名字
-
path : 实际共享的目录
-
创建共享的目录用来共享
-
mkdir /smb
-
vi /smb/goudan.txt
-
哈哈
-
chmod -R o+w /smb
-
-
开启服务
-
service smb
start
-
-
在windows下面访问
-
\\
10.0
.144
.156
-
就可以看见共享目录xiaoji
-
带密码的共享
-
vi /etc/samba/smb.conf
-
来到
101行
-
security =
user
-
passdb backend = tdbsam
-
#
security =
share
-
添加用户
-
useradd
test
-
给这个用户添加访问密码
-
pdbedit -a
test
-
在windows下面访问 \\
10.0
.144
.156
-
输入用户名和密码即可
-
(
2)将windows目录共享给linux
-
windows下面新建一个目录
-
右键目录===》属性===》共享===》共享===》添加everyone===》设置读写==》完成
-
来到linux系统下
-
yum
install -y cifs-utils
-
mount -t cifs //windowsIP地址/共享名字 /mnt/usb
-
mount -t cifs //
10.0
.144
.254/haha /mnt/usb
5、nfs搭建
nfs : network file system(网络文件系统)
至少得有两台,linux1和linux2,linux1作为nfs客户端,linux2作为nfs服务器
服务器上操作
关闭防火墙:service iptables stop
1、yum install -y nfs-utils
2、编辑配置文件
vi /etc/exports
/nfstest 10.0.144.0/24(rw, sync)
要共享的目录 网段
3、创建目录
mkdir /nfstest
vi /nfstest/lala.txt
4、启动服务
nfs是基于rpc协议的,所以首先启动rpc
service rpcbind start
service nfs start
客户端上操作
1、yum install -y nfs-utils
2、查看对应ip地址上面共享的目录
showmount -e 10.0.144.156
3、挂载nfs
mount -t nfs 10.0.144.156:/nfstest /mnt/usb
4、配置开机挂载
6、ftp服务搭建
见搭建教程
7、nginx安装
1、关闭防火墙和selinux
2、安装依赖软件
yum install -y gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre pcre-devel
3、tar -zxvf nginx-1.11.5.tar.gz
4、创建www用户,不允许以www用户登录系统
useradd www -s /sbin/nologin
5、./configure –prefix=/usr/local/nginx –without-http_memcached_module –user=www –group=www –with-http_stub_status_module –with-http_ssl_module
6、make && make install
7、cp nginx /etc/init.d/
8、开启服务
service nginx start
9、设置开机启动
chkconfig nginx on
chkconfig –list 查看是否开机启动
10、查看网络和端口使用情况
netstat -lnp | grep nginx
nginx默认监听的端口为80端口
-
nginx的web根目录
-
cd /usr/
local/nginx
-
conf目录 : 里面存放的是nginx的配置文件
-
html目录 : 就是网站默认的根目录
-
本地域名映射
-
C:\Windows\System32\drivers\etc\hosts
-
以管理员身份打开这个文件
-
10.0.
144.156 www.sb.com
-
虚拟主机
-
多个域名都往这个ip地址解析,不用的域名访问的是服务器中不同的网站
-
配置nginx的配置文件
-
vi /usr/
local/nginx/conf/nginx.conf
-
http模块被称为服务器的核心配置文件
-
每一个server模块就是一个虚拟主机
-
第
116行,添加
-
include vhost/*.conf;
-
cd /usr/
local/nginx/conf/
-
mkdir vhost
-
vi vhost/www.woyun.com.conf
-
server
-
{
-
server_name www.woyun.com;
-
root html/woyun;
-
index index.html;
-
}
-
cd /usr/
local/nginx/html/
-
mkdir woyun
-
vi woyun/index.html
-
-
修改完配置文件,要记得重启nginx服务
-
service nginx restart
--------------------- 本文来自 haeasringnar 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/haeasringnar/article/details/81771680?utm_source=copy