01-Linux基础
一、Linux系统介绍
Linux常见发现版本:
RedHat Linux
SuSE Linux
Ubuntu Linux
Mandrake Linux
Caldera Linux
Turbolinux
Debian GNU/Linux
Gentoo Linux
Linpus Linux
Linux优点:开源、免费、稳定、安全、高性能
二、系统安装、密码破解
1、Linux内核版本
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Oct 29 17:29:29 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
Linux内核版本号命名规则:XX.YY.ZZ
其中,XX为主版本号,YY为此版本号,ZZ为修订版本号。YY为奇数代表开发版,YY为偶数代表稳定版。一般奇数先发布,进行公测,不是很稳定。
[root@localhost ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.2 (Maipo)
2、硬盘和分区结构
[root@localhost ~]# fdisk -l
Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00022832
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 616447 307200 83 Linux
/dev/sda2 616448 4810751 2097152 82 Linux swap / Solaris
/dev/sda3 4810752 41943039 18566144 83 Linux
[root@localhost ~]#
Linux中将硬盘、分区等设备均表示为文件
示例:/dev/hda5
其中dev代表硬件设备文件所在的目录。
hd表示IDE设备、sd表示SCSI设备。
硬盘的顺序号,以字母a、b、c...表示。
分区的顺序号,以数字1、2、3...表示。
查看当前硬盘使用情况:
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 xfs 18G 1.3G 17G 7% /
devtmpfs devtmpfs 904M 0 904M 0% /dev
tmpfs tmpfs 913M 0 913M 0% /dev/shm
tmpfs tmpfs 913M 8.7M 904M 1% /run
tmpfs tmpfs 913M 0 913M 0% /sys/fs/cgroup
/dev/sda1 xfs 297M 113M 185M 38% /boot
tmpfs tmpfs 183M 0 183M 0% /run/user/0
mount和umont代表挂载和卸载命令。
Linux中默认使用的文件系统类型:EXT4(第3代扩展文件系统)、SWAP(交换文件系统)
Linux支持的其他文件系统类型:FAT16、FAT32、NTFS、XFS、JFS
3、Linux系统登陆密码破解
1)、在开机自检后,出现grub引导界面时,按E键进入编辑模式
2)、把光标移到带有“kernel”字样的那一行,然后按E键编辑
回车然后输入b,修改密码,重启。
4、Linux目录结构
[root@localhost /]# ls /
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[root@localhost /]#
bin目录:存放的执行命令,执行程序。绿色都是可执行程序。
boot:引导分区,用来装在开机启动项。
dev:存储介质。
etc:存放系统和服务的配置文件。
home:用户目录。
lib64:库文件。
media和mnt:挂载用。
opt:外围应用程序。
proc:系统开机前不存在,随着开机存放系统生产的临时文件。
root:管理员目录。
sbin:存放root账号执行的命令。
sys:系统存放的文件。
tmp:对源代码有编译权限。
usr:存放源代码安装程序。
var:存放日志文件。一般网站根目录也在这里面。
网站默认文件夹:/var/www/html,有的也在/home/xxx/www,/www,/wwwroot
#代表当前是root权限。
三、Linux常用命令
1、Linux命令分类
Linux命令:用于实现某一类功能的指令或程序命令的执行依赖于解释器程序(例如:/bin/bash)
Linux命令的分类:
内部命令:属于Shell解释器的一部分
外部命令:独立于Shell解释器之外的程序文件
2、Linux命令行格式
Linux命令的通用命令格式
命令字 [选项] [参数]
选项及参数含义
选项:用于调节命令的具体功能
以 “-”引导短格式选项(单个字符),例如“-l”
以“--”引导长格式选项(多个字符),例如“--color”
多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”
参数:命令操作的对象,如文件、目录名等
3、获得命令帮助
内部命令help
查看Bash内部命令的帮助信息
命令的“--help”选项
适用于大多数外部命令
使用man命令阅读手册页
使用“.”、“.”方向键滚动文本
使用Page Up和Page Down键翻页
按Q或q键退出阅读环境、按“/”键后查找内容
[root@localhost /]# ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all do not ignore entries starting with .
-A, --almost-all do not list implied . and ..
--author with -l, print the author of each file
-b, --escape print C-style escapes for nongraphic characters
--block-size=SIZE scale sizes by SIZE before printing them; e.g.,
4、Linux系统命令
uname 查看系统内核信息 -r查看内核版本号 -a 显示详细信息
hostname 查看或临时修改主机名称
ifconfig 查看系统ip信息
cat /proc/cpuinfo 查看系统cpu信息
cat /proc/meminfo 查看系统内存信息
halt 关机
reboot 重启
pwd 查看工作目录
cd 切换目录
du 统计目录及文件空间占用情况 -sh统计目录大小
[root@localhost ~]# cd /
[root@localhost /]# cd -
/root
[root@localhost ~]# cd ..
[root@localhost /]# cd home
[root@localhost home]#
查看home目录多大,如下:
[root@localhost ~]# du -sh /home
12K /home
目录操作命令——ls
ls命令
用途:列表(List)显示目录内容
格式:ls [选项]... [目录或文件名]
常用命令选项
-l :以长格式显示
-a:显示所有子目录和文件的信息,包括隐藏文件
-A:类似于“-a”,但不显示“.”和“..”目录的信息
-d:显示目录本身的属性
-h:以更易读的字节单位(K、M等)显示信息
-R:递归显示内容
--color:以颜色区分不同类型文件
1 [root@localhost /]# ls -l 2 total 32 3 lrwxrwxrwx. 1 root root 7 Nov 28 23:41 bin -> usr/bin 4 dr-xr-xr-x. 3 root root 4096 Nov 28 23:50 boot 5 drwxr-xr-x. 19 root root 3160 Nov 29 22:51 dev 6 drwxr-xr-x. 92 root root 8192 Nov 29 22:51 etc 7 drwxr-xr-x. 3 root root 17 Nov 28 23:49 home 8 lrwxrwxrwx. 1 root root 7 Nov 28 23:41 lib -> usr/lib 9 lrwxrwxrwx. 1 root root 9 Nov 28 23:41 lib64 -> usr/lib64 10 drwxr-xr-x. 2 root root 6 May 25 2015 media 11 drwxr-xr-x. 2 root root 6 May 25 2015 mnt 12 drwxr-xr-x. 3 root root 15 Nov 28 23:45 opt 13 dr-xr-xr-x. 424 root root 0 Nov 29 22:50 proc 14 dr-xr-x---. 4 root root 4096 Nov 29 00:02 root 15 drwxr-xr-x. 26 root root 800 Nov 29 22:51 run 16 lrwxrwxrwx. 1 root root 8 Nov 28 23:41 sbin -> usr/sbin 17 drwxr-xr-x. 2 root root 6 May 25 2015 srv 18 dr-xr-xr-x. 13 root root 0 Nov 29 22:50 sys 19 drwxrwxrwt. 9 root root 4096 Nov 29 22:51 tmp 20 drwxr-xr-x. 13 root root 4096 Nov 28 23:41 usr 21 drwxr-xr-x. 20 root root 4096 Nov 29 22:50 var 22 [root@localhost /]#
文件属性 文件数 拥有者 所属的group 文件大小 建档日期 文件名(七个栏位)
drwxr-xr-x. 3 root root 17 Nov 28 23:49 home
第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如 lrwxrwxrwx;如果是以一横"-"表示,则表示这是文件。其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):
rwx(Owner)r-x(Group)r-x(Other)
这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是x,而是s,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。
第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。
第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的home,那这一栏大概都是它的账号名称。
第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls -k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。
第六个栏位,表示创建日期。以"月,日,时间"的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
第七个栏位,表示文件名。我们可以用ls -a显示隐藏的文件名。
权限设置命令chmod
u 是所有者用户,g 是组, o其他人, a所有人
r读 ,w写, x可执行
用法:
chmod u+w 给所有者用户添加写入权限
chmod g-r 给所在分组去掉读取权限
权限用数字代替
r=4 w=2 x=1 权限值等于每个权限数字相加
chmod 777 给所有权限设置为可读可写可执行
chown 设置所有者和所在分组用户
chown Apache:Apache test 登录吧test目录所有者和所组设置为Apache用户
[root@localhost snow]# ll total 4 -rw-r--r--. 1 root root 4 Nov 29 23:17 1.txt [root@localhost snow]# chmod u+x 1.txt [root@localhost snow]# ll total 4 -rwxr--r--. 1 root root 4 Nov 29 23:17 1.txt [root@localhost snow]# chmod 755 1.txt [root@localhost snow]# ll total 4 -rwxr-xr-x. 1 root root 4 Nov 29 23:17 1.txt
[root@localhost snow]# useradd test
[root@localhost snow]# chown test:test 1.txt
[root@localhost snow]# ll
total 4
-rwxr-xr-x. 1 test test 4 Nov 29 23:17 1.txt
touch 创建文件或跟新文件时间标记,touch *更新文件时间标记为当前时间。
mkdir 创建目录命令 -p递归创建目录
cp 复制文件或目录 -r递归复制 -f强制覆盖 -p保持源文件属性不变 -i覆盖文件目录提醒
rm 删除文件或目录 -r递归删除 -f 强制删除不提醒 -i 删除时用户提醒
mv 移动文件或目录
wc 统计文件中出现的单词数量字节数量和行数
cat 查看文件内容命令
[root@localhost snow]# ll total 4 -rwxr-xr-x. 1 test test 4 Nov 29 23:17 1.txt -rw-r--r--. 1 root root 0 Nov 29 23:33 2.txt -rw-r--r--. 1 root root 0 Nov 29 23:34 3.txt -rw-r--r--. 1 root root 0 Nov 30 15:39 4.txt [root@localhost snow]# touch * [root@localhost snow]# ll total 4 -rwxr-xr-x. 1 test test 4 Nov 30 15:39 1.txt -rw-r--r--. 1 root root 0 Nov 30 15:39 2.txt -rw-r--r--. 1 root root 0 Nov 30 15:39 3.txt -rw-r--r--. 1 root root 0 Nov 30 15:39 4.txt
[root@localhost snow]# touch 5.txt
文件或目录查找命令
find命令
用途:用于查找文件或目录
格式:find [查找范围] [查找条件]
常用查找条件
-name:按文件名称查找
-size:按文件大小查找
-user:按文件属主查找
-type:按文件类型查找
[root@localhost snow]# find /etc -name "resol*.conf"
/etc/resolv.conf
vi编辑器
vi是一个较大的UNIX命令,在启动的时候也有它自己的选项和参数
基本语法:
vi [-options] [+[n]] [file]
常用选项有:-r, -R
-r用于恢复系统突然崩溃时正在编辑的文件
-R用于以只读方式打开文件
+n用来指明进入vi后直接位于文件的第n行,如果不指定n,则位于最后一行
按住shift和输入冒号:进入底行模式:
输入set nu设置行号。
输入2光标会进入第2行
:2
输入2d删除第2行
:2d
vi文本插入:
在命令方式下使用某些命令会导致vi马上进入文本插入方式,这些命令包括:i,I,a,A,o,O等
在这种方式下用户的任何输入都被当作是文件的内容看待,并将其显示在屏幕上。
搜索字符串"是"
重复前一命令:.
取消上一命令:u
退出vi:行方式下使用q命令将退出vi,如果文件作过改动但还没有保存,系统将作出提示并取消此次退出动作。行命令x相当于:wq命令。在命令方式下使用命令ZZ等效于:x命令。
如果由于读写权限或是更新方面的问题,导致vi拒绝执行保存文件或退出vi的命令,那么可以在命令后加一个!号表示强制执行。
压缩命令 gzip bzip2
只针对单个文件压缩或
-9 显示高压缩比
-d 释放压缩文件
gzip 文件名 压缩文件 格式为后缀有.gz
bzip2 文件名 压缩成的文件名 格式为 文件名.bz2 它相对与gzip 压缩率更高
压缩文件 [root@localhost snow]# gzip 2.txt 2.txt.gz gzip: 2.txt.gz already has .gz suffix -- unchanged [root@localhost snow]# ll total 8 -rwxr-xr-x. 1 test test 4 Nov 30 15:41 1.txt -rw-r--r--. 1 root root 55 Nov 30 15:50 2.txt.gz -rw-r--r--. 1 root root 0 Nov 30 15:41 3.txt -rw-r--r--. 1 root root 0 Nov 30 15:41 4.txt -rw-r--r--. 1 root root 0 Nov 30 15:41 5.txt drwxr-xr-x. 2 root root 18 Nov 30 15:45 test
解压缩
[root@localhost snow]# gzip -d 2.txt.gz
归档命令 tar
tar 归档命令 释放归档文件 没有压缩功能
格式 tar 选项 归档文件名 源文件或目录
-c 创建归档文件 扩展名为.tar
-v 输出详细信息 -f 表示使用归档文件 如 -cvf 创建归档文件
tar -cvf 4.tar 1 2 3 将文件1 2 3 打包归档为4.tar
tar -xvf 4.tar 解包归档文件4.tar -xvf 解包归档文件
-x 解开归档文件 -t 列表查看包内的文件(不释放解包)
tar -tvf 4.tar -r 追加TAR文件至归档结尾
tar -rvf 4.tar 5 把5加入4.tar
-p 解包时保留原始文件及目录的权限
-C (大) 解包时指定释放的目标文件夹
-z 调用gzip 程序 进行解压或压缩 -j 调用bzip2 程序进行压缩或解压
tar -cvzf test.tar.gz 被压缩的文件1 被压缩的文件2 创建归档压缩文件 后缀为gz
tar -cvjf test.tar.bz2 被压缩的文件1 被压缩的文件2 创建归档压缩文件 后缀为bz2
tar -xvzf test.tar.gz -C /usr/src 解压释放归档到 /usr/src 里面
tar -xvjf test.tar.bz2 -C /usr/src 解压释放归档到 /usr/src 里面
打包: root@localhost snow]# cp 2.txt a [root@localhost snow]# cp 2.txt b [root@localhost snow]# cp 2.txt c [root@localhost snow]# ll total 20 -rwxr-xr-x. 1 test test 4 Nov 30 15:41 1.txt -rw-r--r--. 1 root root 28 Nov 30 15:50 2.txt -rw-r--r--. 1 root root 0 Nov 30 15:41 3.txt -rw-r--r--. 1 root root 0 Nov 30 15:41 4.txt -rw-r--r--. 1 root root 0 Nov 30 15:41 5.txt -rw-r--r--. 1 root root 28 Nov 30 16:07 a -rw-r--r--. 1 root root 28 Nov 30 16:07 b -rw-r--r--. 1 root root 28 Nov 30 16:07 c drwxr-xr-x. 2 root root 18 Nov 30 15:45 test [root@localhost snow]# tar -cvf x.tar a b c a b c [root@localhost snow]# ll total 32 -rwxr-xr-x. 1 test test 4 Nov 30 15:41 1.txt -rw-r--r--. 1 root root 28 Nov 30 15:50 2.txt -rw-r--r--. 1 root root 0 Nov 30 15:41 3.txt -rw-r--r--. 1 root root 0 Nov 30 15:41 4.txt -rw-r--r--. 1 root root 0 Nov 30 15:41 5.txt -rw-r--r--. 1 root root 28 Nov 30 16:07 a -rw-r--r--. 1 root root 28 Nov 30 16:07 b -rw-r--r--. 1 root root 28 Nov 30 16:07 c drwxr-xr-x. 2 root root 18 Nov 30 15:45 test -rw-r--r--. 1 root root 10240 Nov 30 16:07 x.tar [root@localhost snow]# gzip x.tar x.tar.gz
[root@localhost snow]# ll
total 24
-rwxr-xr-x. 1 test test 4 Nov 30 15:41 1.txt
-rw-r--r--. 1 root root 28 Nov 30 15:50 2.txt
-rw-r--r--. 1 root root 0 Nov 30 15:41 3.txt
-rw-r--r--. 1 root root 0 Nov 30 15:41 4.txt
-rw-r--r--. 1 root root 0 Nov 30 15:41 5.txt
-rw-r--r--. 1 root root 28 Nov 30 16:07 a
-rw-r--r--. 1 root root 28 Nov 30 16:07 b
-rw-r--r--. 1 root root 28 Nov 30 16:07 c
drwxr-xr-x. 2 root root 18 Nov 30 15:45 test
-rw-r--r--. 1 root root 183 Nov 30 16:07 x.tar.gz
解压缩:
[root@localhost snow]# rm -rf a b c
[root@localhost snow]# ls
1.txt 2.txt 3.txt 4.txt 5.txt test x.tar.gz
[root@localhost snow]# tar zxvf x.tar.gz
a
b
c
[root@localhost snow]# ls
1.txt 2.txt 3.txt 4.txt 5.txt a b c test x.tar.gz
[root@localhost snow]#
添加用户账号
useradd命令
格式:useradd [选项]... 用户名
常用命令选项
-u:指定 UID 标记号
-d:指定宿主目录,缺省为 /home/用户名
-e:指定帐号失效时间
-g:指定用户的基本组名(或UID号)
-G:指定用户的附加组名(或GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录Shell
[root@localhost ~]# useradd -d /ftphome/mike -g mike -G ftpuser -s /sbin/nologin mike
root:x:0:0:root:/root:/bin/bash UID和GID为0就是管理员。
添加账号 [root@localhost snow]# user add xy -bash: user: command not found [root@localhost snow]# useradd xy [root@localhost snow]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin systemd-network:x:998:996:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:997:995:User for polkitd:/:/sbin/nologin libstoragemgmt:x:996:993:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin abrt:x:173:173::/etc/abrt:/sbin/nologin tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:995:992::/var/lib/chrony:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin snow:x:1000:1000:RedHat:/home/snow:/bin/bash test:x:1001:1001::/home/test:/bin/bash xy:x:1002:1002::/home/xy:/bin/bash [root@localhost snow]#
/sbin/nologin代表没法调用shell
删除用户账号——userdel
userdel命令
格式:userdel [-r] 用户名
添加 -r 选项时,表示连用户的宿主目录一并删除
[root@localhost ~]# userdel -r stu01
[root@localhost ~]# ls -ld /home/stu01/
ls: /home/stu01/: 没有那个文件或目录
[root@localhost snow]# ls /home snow test xy [root@localhost snow]# userdel -r xy [root@localhost snow]# ls /home snow test
查看进程
ps -aux 查看系统进程
top 动态查看系统进程,q退出
kill 1234 杀死进程1234
软件安装
安装或升级RPM软件
格式:rpm [选项] RPM包文件...
用法:不同选项适用于不同情况
-i:安装一个新的rpm软件包
-U:升级某个rpm软件,若原本未装,则进行安装
-F:更新某个rpm软件,若原本未装,则放弃安装
卸载指定的RPM软件
格式:rpm -e 软件名
安装软件包:可能出现依赖关系,安装A必须先安装B等。
配置yum源
1、挂着系统安装盘
2、配置yum配置文件
Vi /etc/yum.repos.d/rhel*
3、导入yum密钥
4、yum clean all 清空yum缓存
5、yum -y install httpd 使用yum安装httpd软件包
6、yum –y remove httpd 使用yum移除httpd软包
启动mysql
授权
安装网站
Deb软件包安装
Dpkg –i xxx.deb 安装软件包
Dpkg –r xxx.deb 移除软件包
源代码安装
步骤1:tar解包
用途:解压并释放源代码包到指定的目录
步骤2:./configure 配置
用途:设置安装目录、安装模块等选项
步骤3:make 编译
用途:生成可执行的二进制文件
步骤4:make install 安装
用途:复制二进制文件到系统,配置应用环境
网络配置命令
Ifconfig eth0 192.168.1.20/24 临时修改eth0 网卡ip
Route –n 查看系统路由信息
Netstat 查看网络连接情况
netstat命令
查看系统的网络连接状态、路由表、接口统计等信息
格式:netstat [选项]
常用选项:
-a:显示所有活动连接
-n:以数字形式显示
-p:显示进程信息
-t:查看TCP协议相关信息
-u:查看UDP协议相关信息
-r:显示路由表信息
查看内网其他服务器
[root@localhost snow]# netstat -tnlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1500/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1811/master tcp6 0 0 :::22 :::* LISTEN 1500/sshd tcp6 0 0 ::1:25 :::* LISTEN 1811/master [root@localhost snow]# netstat -an Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 52 192.168.225.137:22 192.168.225.1:65428 ESTABLISHED tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 ::1:25 :::* LISTEN udp 0 0 0.0.0.0:68 0.0.0.0:* udp 0 0 0.0.0.0:7345 0.0.0.0:* udp 0 0 127.0.0.1:323 0.0.0.0:* udp6 0 0 :::56006 :::* udp6 0 0 ::1:323 :::* raw6 0 0 :::58 :::* 7 Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 16 [ ] DGRAM 8192 /dev/log unix 2 [ ACC ] STREAM LISTENING 20884 private/tlsmgr unix 2 [ ACC ] STREAM LISTENING 20887 private/rewrite unix 2 [ ACC ] STREAM LISTENING 20890 private/bounce unix 2 [ ACC ] STREAM LISTENING 20893 private/defer unix 2 [ ACC ] STREAM LISTENING 13600 /run/lvm/lvmetad.socket
网络接口配置文件
/etc/sysconfig/network-scripts/ 目录下的
ifcfg-eth0:第1块以太网卡的配置文件
ifcfg-eth1:第2块以太网卡的配置文件
修改了配置文件要
重启网络服务
Service network restart
[root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-lo
[root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.4.1
NETMASK=255.255.255.0
GATEWAY=192.168.4.2
域名解析配置文件
/etc/resolv.conf 文件
用途:保存本机需要使用的DNS服务器的IP地址
[root@localhost snow]# cat /etc/resolv.conf # Generated by NetworkManager search localdomain nameserver 192.168.225.2
四、LAMP搭建配置
apache配置文件。修改配置文件需要重启服务
(一)LAMP 环境搭建及配置
1、配置好yum环境
(a)删除系统自带yum包
执行rpm -qa|grep yum --已经安装的yum包
执行rpm -qa|grep yum|xargs rpm -e --nodeps 不检查依赖直接删除所有yum包。
再次执行rpm -qa|grep yum查看已经安装的yum包,没有内容表明删除成功。
rpm -qa|grep yum rpm -qa|grep yum|xargs rpm -e --nodeps rpm -qa|grep yum
(b)下载新的yum包进行安装
镜像地址:http://mirrors.163.com/centos/
根据自己系统版本找到对应目录,下载如下几个软件包,这些包的版本会更新,所以出现ERROR 404: Not Found.的时候需要在前面的目录下找到最新的版本
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-54.el7_8.noarch.rpm wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm
rpm -ivh python-urlgrabber-3.10-10.el7.noarch.rpm --force --nodeps rpm -ivh python-iniparse-0.4-9.el7.noarch.rpm rpm -ivh yum-*
yum的包一起安装,解决相互依赖的问题
同时rpm的版本会有要求,报错如下:
[root@localhost snow]# rpm -ivh yum-* warning: yum-3.4.3-168.el7.centos.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY error: Failed dependencies: rpm >= 0:4.11.3-22 is needed by yum-3.4.3-168.el7.centos.noarch [root@localhost snow]#
需先下载最新代码在安装,升级代码如下:
[root@localhost snow]# wget http://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-4.11.3-45.el7.x86_64.rpm [root@localhost snow]# rpm -Uvh rpm-4.11.3-45.el7.x86_64.rpm --nodeps
升级完成后重新安装yum相关,然后检查是否安装成功。执行rpm -qa | grep yum出现新安装的即代表安装成功。
[root@localhost snow]# rpm -ivh yum-* warning: yum-3.4.3-168.el7.centos.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Preparing... ################################# [100%] Updating / installing... 1:yum-metadata-parser-1.1.4-10.el7 ################################# [ 25%] 2:yum-plugin-fastestmirror-1.1.31-5################################# [ 50%] 3:yum-3.4.3-168.el7.centos ################################# [ 75%] 4:yum-utils-1.1.31-54.el7_8 ################################# [100%] [root@localhost snow]# rpm -qa | grep yum yum-utils-1.1.31-54.el7_8.noarch yum-metadata-parser-1.1.4-10.el7.x86_64 yum-3.4.3-168.el7.centos.noarch yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch [root@localhost snow]#
(c)替换系统自带的repo文件。
①在/etc目录下重命名备份原来的repo:mv yum.repos.d yum.repos.d.backup
[root@localhost ~]# cd /etc [root@localhost etc]# ls -l |grep yum drwxr-xr-x. 6 root root 95 Nov 30 17:38 yum -rw-r--r--. 1 root root 970 Oct 1 2020 yum.conf drwxr-xr-x. 2 root root 24 Oct 1 2020 yum.repos.d [root@localhost etc]# mv yum.repos.d/ yum.repos.d.backup [root@localhost etc]# ls -l |grep yum drwxr-xr-x. 6 root root 95 Nov 30 17:38 yum -rw-r--r--. 1 root root 970 Oct 1 2020 yum.conf drwxr-xr-x. 2 root root 24 Oct 1 2020 yum.repos.d.backup [root@localhost etc]#
②建一个新的yum.repos.d目录(确保在/etc目录下)
[root@localhost etc]# mkdir yum.repos.d [root@localhost etc]# ls -l |grep yum drwxr-xr-x. 6 root root 95 Nov 30 17:38 yum -rw-r--r--. 1 root root 970 Oct 1 2020 yum.conf drwxr-xr-x. 2 root root 6 Nov 30 17:46 yum.repos.d drwxr-xr-x. 2 root root 24 Oct 1 2020 yum.repos.d.backup [root@localhost etc]#
③下载一个CentOS的repo(我们可以在网易镜像站的centos使用帮助中下载学习)
官方帮助链接:https://mirrors.163.com/.help/centos.html
[root@localhost etc]# cd yum.repos.d
[root@localhost yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo --2022-11-30 17:55:19-- http://mirrors.163.com/.help/CentOS7-Base-163.repo Resolving mirrors.163.com (mirrors.163.com)... 117.147.202.12 Connecting to mirrors.163.com (mirrors.163.com)|117.147.202.12|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1572 (1.5K) [application/octet-stream] Saving to: ‘CentOS7-Base-163.repo’ 100%[============================================================>] 1,572 --.-K/s in 0s 2022-11-30 17:55:19 (125 MB/s) - ‘CentOS7-Base-163.repo’ saved [1572/1572]
[root@localhost yum.repos.d]# ls -l
total 4
-rw-r--r--. 1 root root 1572 Nov 30 2016 CentOS7-Base-163.repo
④通过vim打开并编辑repo,打开文件默认如下:
[root@localhost yum.repos.d]# vi CentOS7-Base-163.repo # CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-$releasever - Base - 163.com #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever - Updates - 163.com #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras - 163.com #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus - 163.com baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7 [root@localhost yum.repos.d]#
将所有的$releasever全部替换成版本号-->7.9.2009:
shift+: 编辑 输入下面的指令
%s/$releasever/7.9.2009/g
具体版本可参看官网。https://mirrors.163.com/centos/
⑥根据使用说明文档,我们要清除缓存与重新生产缓存。
yum clean all ##清理缓存
yum makecache ##重新生成缓存
[root@localhost yum.repos.d]# yum clean all Configuration file /etc/yum/pluginconf.d/product-id.conf not found Unable to find configuration file for plugin product-id Configuration file /etc/yum/pluginconf.d/search-disabled-repos.conf not found Unable to find configuration file for plugin search-disabled-repos Configuration file /etc/yum/pluginconf.d/subscription-manager.conf not found Unable to find configuration file for plugin subscription-manager Loaded plugins: fastestmirror Cleaning repos: base extras updates Cleaning up list of fastest mirrors [root@localhost yum.repos.d]# yum makecache Configuration file /etc/yum/pluginconf.d/product-id.conf not found Unable to find configuration file for plugin product-id Configuration file /etc/yum/pluginconf.d/search-disabled-repos.conf not found Unable to find configuration file for plugin search-disabled-repos Configuration file /etc/yum/pluginconf.d/subscription-manager.conf not found Unable to find configuration file for plugin subscription-manager Loaded plugins: fastestmirror Determining fastest mirrors base | 3.6 kB 00:00:00 extras | 2.9 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/10): base/x86_64/group_gz | 153 kB 00:00:01 (2/10): base/x86_64/filelists_db | 7.2 MB 00:00:04 (3/10): base/x86_64/primary_db | 6.1 MB 00:00:03 (4/10): extras/x86_64/primary_db | 249 kB 00:00:00 (5/10): extras/x86_64/filelists_db | 276 kB 00:00:00 (6/10): extras/x86_64/other_db | 149 kB 00:00:00 (7/10): base/x86_64/other_db | 2.6 MB 00:00:01 (8/10): updates/x86_64/filelists_db | 10 MB 00:00:03 (9/10): updates/x86_64/other_db | 1.2 MB 00:00:00 (10/10): updates/x86_64/primary_db | 18 MB 00:00:06 Metadata Cache Created [root@localhost yum.repos.d]#
⑦使用yum repolist all查看是否成功
[root@localhost yum.repos.d]# yum repolist all Configuration file /etc/yum/pluginconf.d/product-id.conf not found Unable to find configuration file for plugin product-id Configuration file /etc/yum/pluginconf.d/search-disabled-repos.conf not found Unable to find configuration file for plugin search-disabled-repos Configuration file /etc/yum/pluginconf.d/subscription-manager.conf not found Unable to find configuration file for plugin subscription-manager Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile repo id repo name status base/x86_64 CentOS-7.9.2009 - Base - 163.com enabled: 10,072 centosplus/x86_64 CentOS-7.9.2009 - Plus - 163.com disabled extras/x86_64 CentOS-7.9.2009 - Extras - 163.com enabled: 515 updates/x86_64 CentOS-7.9.2009 - Updates - 163.com enabled: 4,385 repolist: 14,972 [root@localhost yum.repos.d]#
⑧安装一个mysql试试, yum install mysql
[root@localhost yum.repos.d]# yum install mysql Configuration file /etc/yum/pluginconf.d/product-id.conf not found Unable to find configuration file for plugin product-id Configuration file /etc/yum/pluginconf.d/search-disabled-repos.conf not found Unable to find configuration file for plugin search-disabled-repos Configuration file /etc/yum/pluginconf.d/subscription-manager.conf not found Unable to find configuration file for plugin subscription-manager Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Resolving Dependencies --> Running transaction check ---> Package mariadb.x86_64 1:5.5.68-1.el7 will be installed --> Processing Dependency: mariadb-libs(x86-64) = 1:5.5.68-1.el7 for package: 1:mariadb-5.5.68-1.el7.x86_64 --> Running transaction check ---> Package mariadb-libs.x86_64 1:5.5.44-2.el7 will be updated ---> Package mariadb-libs.x86_64 1:5.5.68-1.el7 will be an update --> Finished Dependency Resolution Dependencies Resolved ====================================================================================================== Package Arch Version Repository Size ====================================================================================================== Installing: mariadb x86_64 1:5.5.68-1.el7 base 8.8 M Updating for dependencies: mariadb-libs x86_64 1:5.5.68-1.el7 base 760 k Transaction Summary ====================================================================================================== Install 1 Package Upgrade ( 1 Dependent package) Total download size: 9.5 M Is this ok [y/d/N]: y Downloading packages: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. warning: /var/cache/yum/x86_64/$releasever/base/packages/mariadb-libs-5.5.68-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Public key for mariadb-libs-5.5.68-1.el7.x86_64.rpm is not installed (1/2): mariadb-libs-5.5.68-1.el7.x86_64.rpm | 760 kB 00:00:00 (2/2): mariadb-5.5.68-1.el7.x86_64.rpm | 8.8 MB 00:00:01 ------------------------------------------------------------------------------------------------------ Total 5.0 MB/s | 9.5 MB 00:00:01 Retrieving key from http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7 Importing GPG key 0xF4A80EB5: Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>" Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 From : http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7 Is this ok [y/N]: y Running transaction check Running transaction test Transaction test succeeded Running transaction Warning: RPMDB altered outside of yum. ** Found 4 pre-existing rpmdb problem(s), 'yum check' output follows: python-urlgrabber-3.10-10.el7.noarch is a duplicate with python-urlgrabber-3.10-7.el7.noarch rhn-check-2.0.2-6.el7.noarch has missing requires of yum-rhn-plugin >= ('0', '1.6.4', '1') rpm-libs-4.11.3-17.el7.x86_64 has missing requires of rpm = ('0', '4.11.3', '17.el7') rpm-python-4.11.3-17.el7.x86_64 has missing requires of rpm = ('0', '4.11.3', '17.el7') Updating : 1:mariadb-libs-5.5.68-1.el7.x86_64 1/3 Installing : 1:mariadb-5.5.68-1.el7.x86_64 2/3 Cleanup : 1:mariadb-libs-5.5.44-2.el7.x86_64 3/3 Verifying : 1:mariadb-libs-5.5.68-1.el7.x86_64 1/3 Verifying : 1:mariadb-5.5.68-1.el7.x86_64 2/3 Verifying : 1:mariadb-libs-5.5.44-2.el7.x86_64 3/3 Installed: mariadb.x86_64 1:5.5.68-1.el7 Dependency Updated: mariadb-libs.x86_64 1:5.5.68-1.el7 Complete! [root@localhost yum.repos.d]#
3、yum安装lamp环境
[root@localhost snow]# yum -y install httpd php php-mysql mysql mysql-server
4、启动apache和mysql服务
[root@localhost snow]# service httpd start Redirecting to /bin/systemctl start httpd.service [root@localhost snow]# service mysqld start Redirecting to /bin/systemctl start mysqld.service Failed to start mysqld.service: Unit mysqld.service failed to load: No such file or directory. [root@localhost snow]#
解决mysql报错问题:参考https://blog.csdn.net/weixin_43303530/article/details/103713915
centos7默认安装的是mariaDB,而不是mysql,所以先卸载mariaDB。
查看是否安装了mariaDB:
rpm -qa |grep mariadb
卸载已安装的mariadb:
rpm -e --nodeps mariadb-5.5.68-1.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
查看是否已经成功卸载:
rpm -qa |grep mariadb
下载mysql:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
安装mysql:
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装mysql-server:
yum install mysql-server
再次启动mysql,已经成功。
[root@localhost snow]# service mysqld start Redirecting to /bin/systemctl start mysqld.service [root@localhost snow]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.6.51 MySQL Community Server (GPL) Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
5、配置mysql root账号密码,然后登录进去。
[root@localhost snow]# mysqladmin -u root password 123123
[root@localhost snow]# mysql -uroot -p123123
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.51 MySQL Community Server (GPL)
Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
mysql> quit;
Bye
6、关闭防火墙和seLinux
[root@localhost snow]# iptables -F [root@localhost snow]# setenforce 0
Chown –R apache:apache /var/www/html 修改网站根目录配置权限
7、访问测试
测试默认界面:
(二)搭建旁站
根据端口搭建旁站
根据域名搭建旁站
根据ip搭建旁站
参考文章:
https://www.xp.cn/b.php/9483.html
https://blog.csdn.net/qwe1056/article/details/108470087