网站建设资讯

NEWS

网站建设资讯

Linux服务器从入门到精通的问题有哪些

这篇文章主要为大家展示了“Linux服务器从入门到精通的问题有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux服务器从入门到精通的问题有哪些”这篇文章吧。

成都创新互联是一家专业提供建湖企业网站建设,专注与成都做网站、成都网站制作、H5响应式网站、小程序制作等业务。10年已为建湖众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

Q1 Linux的开发者是谁?

A:芬兰大学生 Linus Torvalds

Q2 Linux的常见内核版本是多少?

A:2.6.x

Q3 Linux可以运行的硬件平台有哪些?

A:Dell, IBM, HP, Oracle和VERITAS

Q4:Linux 1.0版是哪一年发行的?

A:1994年发表 Linux 正式核心 1.0

Q5 交换分区的作用是什么?

A:用来做虚拟内存,与WINDOWS的页面文件类似

Q6 Linux有哪些引导装载方式?

A:常见的有GRUB LILO

Q7 Ext2 ext3文件系统用于哪一Linux版本?

A EXT2为red hat linux 7.2前常用文件系统,现行版本通常使用EXT3文件系统

Q8 卸载Linux后如何清除MBR

A:使用FDISK命令可以删除MBR

Q9 Linux重新启动与关机命令是什么

A:halt命令

功能:关机

格式:halt [-n] [-w] [-d] [-f] [-i] [-p]

说明:

若系统的 runlevel 为 0 或 6 ,则关闭系统,否则以 shutdown 指令(加上 -h 参数)来取代

init 命令

功能:改变系统的运行级别

格式:init [0123456Ss]

说明:init 是所有行程(process)的父行程(parent),开机时一定会先从这个指令开始(可以用 ps -aux 看看第一个行程就是 init),并参考 /etc/inittab 档来完成整个开机程序,共有八个执行层级(runlevel),而改变只能透过 telinit 的指令来更改

参数:

0 开机执行层级为 0 ,用来关闭系统

1 开机执行层级为 1 ,用来进行单一使用者模式(single user mode)

5 开机执行层级为 5 ,表示进入 X window 时的模式

6 开机执行层级为 6 ,用来重新开机

S 或 s 不是直接使用的,配合开机执行层级 1 时使用,当加上S 或 s 表示开机后不参考 /etc/inittab 档235 请参照 /etc/inittab 档案内容以及 /etc/rc.d/rc2.d,/etc/rc.d/rc3.d,/etc/rc.d/rc5.d 等目录

reboot 命令

功能:重启系统

格式:reboot [-n] [-w] [-d] [-f] [-i]

说明:若系统的 runlevel 为 0 或 6 ,则重新开机,否则以 shutdown 指令(加上 -r 参数)来取代

参数:

-n : 在重开机前不做将记忆体资料写回硬盘的动作

-w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里

-d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d) -f : 强迫重开机,不呼叫 shutdown 这个指令

-i : 在重开机之前先把所有网络相关的装置先停止

范例:

reboot 重开机。

reboot -w 做个重开机的模拟(只有纪录并不会真的重开机)。

shutdown 命令

功能:关闭系统

使用方式 : shutdown [-t seconds] [-rkhncfF] time [message]

说明 : shutdown 可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机。

参数 :

-t seconds : 设定在几秒钟之后进行关机程序

-k : 并不会真的关机,只是将警告讯息传送给所有只用者

-r : 关机后重新开机

-h : 关机后停机

-n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机

-c : 取消目前已经进行中的关机动作

-f : 关机时,不做 fcsk 动作(检查 Linux 档系统)

-F : 关机时,强迫进行 fsck 动作

time : 设定关机的时间

message : 传送给所有使用者的警告讯息


Q10 常见的3种X-windows桌面环境是什么?

A: CDE KDE GNOME

Q11 Linux文件和目录权限是如何划分的,Umask命令的作用和用法?

A:LINUX文件都具有4种存取权限r读取、w写入、x执行、-无权限。

功能:系统管理员使用umask为用户设置默认的权限

格式:umask mode

说明:umask 022,表示文件的默认权限屏蔽为022:则新建文件夹文件权限为666-022=644

umask –S 显示当前屏蔽码

果你不想每次登陆修改的话,可以在`/.bash_profile加上umask 077。

Q12 如何改变文件及目录的权限

A: 使用 chmod命令

Q13 如何改变文件的所有者

A:使用 chown命令

Q14 如何显示磁盘分区的大小

A:使用 df du 命令

Q15 CD命令的作用和用法

A:功能:改变当前目录

格式:cd 路径

说明:

1)cd :回到目前登录用户的主目录。

2)cd today:切换到主目录下层的today目录。

3)cd ..:回到上一层目录。

4)cd /:直接切换到根目录。

5). 代表当前目录

6)..上一级目录

7)ls 文件名:显示该文件的信息

Q16 如何添加用户?

A: 使用adduser命令

Q17 普通用户的UID最大值是多少?

A:通常是4294967295

Q18 如何删除文件的默认权限?

A:使用 umask777 清除文件的所有权限

Q19 文件系统的挂载与卸载方法

A:功能:挂载文件系统

格式:mount [-参数] [设备名称] [挂载点]

说明:其中常用的参数有

-t<文件系统类型> 指定设备的文件系统类型,常见的有:

ext2 linux目前常用的文件系统

msdos MS-DOS的fat,就是fat16

vfat windows98常用的fat32

nfs 网络文件系统

iso9660 CD-ROM光盘标准文件系统

ntfs windows NT 2000的文件系统

auto 自动检测文件系统

-o<选项> 指定挂载文件系统时的选项。有些也可用在/etc/fstab中。常用的有

ro 以只读方式挂载

rw 以读写方式挂载

nouser 使一般用户无法挂载

user 可以让一般用户挂载设备

用途:卸载文件系统

语法:umount 文件系统

说明:

卸载文件系统使文件系统不可用。

Q20 LVM水水什么?

A:LVM(Logicl Volume Manager),逻辑卷管理器,通过使用逻辑卷管理器对硬盘存储设备进行管理,可以实现硬盘空间的动态划分和调整。

Q21 如何查看当前用户的系统行为?

A: 使用命令w查看当前用户的系统行为, w root

Q22 如何查看曾经登录系统的用户名 ?

A:使用who命令查看当前用户登录情况 who -u更详细些


Q23查看所有进程的方法是什么?

A:ps命令

功能:查看进程状态

格式:ps [选项]

说明:

-e/A 列出所有进程。

-u 选择有效的用户ID。

-p 选择指定终端下的进程。

-C 选择指定的文件名。

-f 列出所有详细信息。

-l 按长格式显示。

-j 按job格式显示。

-x 选择没有控制终端的进程。

Q24 删除进程的方法是?

A:kill命令

功能:终止进程

格式:kill [-s p][-a] PID

说明:

-s 指明发送给进程的信号。例如-9(强行终止),默认发送TERM信号。

-p 显示进程的ID,不发送信号。

-a 终止所有进程。

0 给所有在当前进程组中的进程发送信号。

-1 给所有进程号大于1的进程发送信号。

Q25 如何查看系统开启的端口?

A:使用 netstar命令

Q26 什么是LVM物理卷?

A: 物理卷—–PV(Physical Volume)物理卷在逻辑卷管理中处于最底层,它可以是实际物 理硬盘上的分区,也可以是整个物理硬盘。

Q27 什么是LVM卷组?

A: 卷组——–VG(Volumne Group)卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

Q28 什么是LVM逻辑卷?

A: 逻辑卷—–LV(Logical Volume)逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷要以属于同一个卷组,也可以属于不同的多个卷组。

Q29 什么是LVM物理区域?

A: 物理区域–PE(Physical Extent)物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小可根据实际情况在建立物理卷时指定。物理区域大小一旦确定将不能更改,同一卷组中的所有物理卷的物理区域大小需要一致。

Q30 什么是LVM逻辑区域

A: 逻辑区域—LE(Logical Extent)逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小.

Q31 什么是LVM卷组描述区域

A: 卷组描述区域—–(Volume Group Descriptor Area)卷组描述区域存在于每个物理卷中,用于描述物理卷本身、物理卷所属卷组、卷组中的逻辑卷及逻辑卷中物理区域的分配等所有信息,卷组描述区域是在使用pvcreate建立物理卷时建立的。

Q32 如何复制文件

A: cp /test1/file1 /test3/file2:将目录test1下的文件file1复制到test3目录下, 并更名为file2。

cp –ax dir1 dir2:a:是指复制指定的目录,并包含其下的所有文件和子目录。

x:此文件的格式变为和目的地扇区的文件系统相同的。

Q33 如何移动文件

A:mv /test1/file1 /test2/file2:将test1目录下的file1文件复制到test2目录下, 并更改名为file2。

mv file1 file2 将文件名file1改为file2

Q34 如何查找文件?

A:$find ~ -name “*.txt” -print #在$HOME中查.txt文件并显示$find . -name “*.txt” -print$find . -name “[A-Z]*” -print #查以大写字母开头的文件$find /etc -name “host*” -print #查以host开头的文件$find . -name “[a-z][a-z][0–9][0–9].txt” -print #查以两个小写字母和两个数字开头的txt文件$find . -perm 755 -print$find . -perm -007 -exec ls -l {} \; #查所有用户都可读写执行的文件同-perm 777$find . -type d -print$find . ! -type d -print$find . -type l -print$find . -size +1000000c -print #查长度大于1Mb的文件$find . -size 100c -print # 查长度为100c的文件$find . -size +10 -print #查长度超过期作废10块的文件(1块=512字节)


Q35 压缩与解压缩命令是什么?

A:功能:将文件归档

格式:tar 参数 归档文件名称 文件或目录

说明:

压缩一组文件为tar.gz后缀。

# tar cvf backup.tar /etc

#gzip -q backup.tar



# tar cvfz backup.tar.gz /etc/

释放一个后缀为tar.gz的文件。

#gunzip backup.tar.gz

#tar xvf backup.tar



# tar xvfz backup.tar.gz

用一个命令完成压缩

#tar cvf - /etc/   gzip -qc > backup.tar.gz

用一个命令完成释放

# gunzip -c backup.tar.gz   tar xvf -

解开tar.Z的文件

# tar xvfz backup.tar.Z



# uncompress backup.tar.Z

#tar xvf backup.tar

解开.tgz文件

#gunzip backup.tgz

压缩和解压缩.bz2的包

#bzip2 /etc/smb.conf

这将压缩文件smb.conf成smb.conf.bz2

#bunzip2 /etc/smb.conf.bz2

这将在当前目录下还原smb.conf.bz2为smb.conf

注: .bz2压缩格式不是很常用,你可以man bzip2

Q36 如何显示系统环境变量?

A: env命令

功能:显示环境变量

格式:env

说明:

显示当前环境

env

假设有一角本my_job用来下世环境变量LANG的当前位置。

在不修改LANG变量时,使用env命令执行角本my_job,如下:

env PATH=/u/testuser/jobs: $my_job

LANG=C

当在env命令中修改了LANG的值后将有:

Env LANG=C++ PATH=/u/testuser/jobs : $PATH my_job

LANG=C++

Q37 VI的三种命令模式是什么

A:vi 做为Linux 系统中一种编辑器,它的使用方法和界面与 Unix 平台十分相似。

基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

1) 命令行模式command mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

2) 插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

3) 底行模式(last line mode)

将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。

Q38 vi的基本操作

A:a) 进入vi

在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:

$ vi myfile

不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式 (command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。

b) 切换至插入模式(Insert mode)编辑文件

在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

c) Insert 的切换

您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。

d) 退出vi及保存文件

在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:

: w filename (输入 「w filename」将文章以指定的文件名filename保存)

: wq (输入「wq」,存盘并退出vi)

: q! (输入q!, 不存盘强制退出vi)


q39 命令行模式(command mode)功能键

A:1). 插入模式

按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;

按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

2). 从插入模式切换为命令行模式

按「ESC」键。

3). 移动光标

vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。

按「ctrl」+「b」:屏幕往“后”移动一页。

按「ctrl」+「f」:屏幕往“前”移动一页。

按「ctrl」+「u」:屏幕往“后”移动半页。

按「ctrl」+「d」:屏幕往“前”移动半页。

按数字「0」:移到文章的开头。

按「G」:移动到文章的最后。

按「$」:移动到光标所在行的“行尾”。

按「^」:移动到光标所在行的“行首”

按「w」:光标跳到下个字的开头

按「e」:光标跳到下个字的字尾

按「b」:光标回到上个字的开头

按「#l」:光标移到该行的第#个位置,如:5l,56l。

4). 删除文字

「x」:每按一次,删除光标所在位置的“后面”一个字符。

「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。

「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。

「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。

「dd」:删除光标所在行。

「#dd」:从光标所在行开始删除#行

5). 复制

「yw」:将光标所在之处到字尾的字符复制到缓冲区中。

「#yw」:复制#个字到缓冲区

「yy」:复制光标所在行到缓冲区。

「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。

「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

6). 替换

「r」:替换光标所在处的字符。

「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

7). 回复上一次操作

「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。

8). 更改

「cw」:更改光标所在处的字到字尾处

「c#w」:例如,「c3w」表示更改3个字

9). 跳至指定的行

「ctrl」+「g」列出光标所在行的行号。

「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

Q40 Shell的使用方法

A:程序必须以下面的行开始(必须方在文件的第一行):

#!/bin/sh

符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。

当编辑好脚本时,如果要执行该脚本,还必须使其可执行。

要使脚本可执行:

chmod +x filename

然后,您可以通过输入: ./filename 来执行您的脚本。

注释

在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。

变量

在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:

变量名=值

取出变量值可以加一个美元符号($)在变量前面:

#!/bin/sh

#对变量赋值:

a=”hello world”

# 现在打印变量a的内容:

echo “A is:”

echo $a

在您的编辑器中输入以上内容,然后将其保存为一个文件first。之后执行chmod +x first

使其可执行,最后输入./first执行该脚本。

这个脚本将会输出:

A is:

Q41 什么是正则表达式?

A:简单的说就是在文件名中使用通配符。

Q42 如何更改网络接口的IP地址?

A:使用ifconfig命令


Q43 SSH的两种工作级别是什么?

A:第一种级别(基于口令的安全验证)只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。

第二种级别(基于密匙的安全验证)需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在你在该服务器的家目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。

Q44 Telnet的工作原理是什么?

A:当你用Telnet登录进入远程计算机系统时,你事实上启动了两个程序,一个 叫Telnet客户程序,它运行在你的本地机上;另一个叫Telnet服务器程序,它运 行在你要登录的远程计算机上。本地机上的客户程序要完成如下功能: 1 、建立与服务器的TCP 联接; 2 、从键盘上接收你输入的字符; 3 、把你输入的字符串变成标准格式并送给远程服务器; 4 、从远程服务器接收输出的信息; 5 、把该信息显示在你的屏幕上。

Q45 ftp的常用命令有哪些?

A:

1![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip.   

2.$ macro-ame[args]:执行宏定义macro-name.  

3.account[password]:提供登录远程系统成功后访问系统资源所需的补充口令。  

4.append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。

5.ascii:使用ascii类型传输方式。  

6.bell:每个命令执行完毕后计算机响铃一次。  

7.bin:使用二进制文件传输方式。  

8.bye:退出ftp会话过程。  

9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。  

10.cd remote-dir:进入远程主机目录。

11.cdup:进入远程主机目录的父目录。   

12.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如:chmod 777 a.out。   

13.close:中断与远程服务器的ftp会话(与open对应)。  

14.cr:使用asscii方式传输文件时,将回车换行转换为回行。  

15.delete remote-file:删除远程主机文件。   

16.debug[debug-value]:设置调试方式,显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。  

17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件local-file。

18.disconnection:同close。  

19.form format:将文件传输方式设置为format,缺省为file方式。   

20.get remote-file[local-file]:将远程主机的文件remote-file传至本地硬盘的local-file。

Q46 URL,URI由哪几部分组成?

URL的格式由下列三部分组成:

第一部分是协议(或称为服务方式);

第二部分是存有该资源的主机IP地址(有时也包括端口号);

第三部分是主机资源的具体地址。,如目录和文件名等。

URI一般由三部分组成:

访问资源的命名机制。

存放资源的主机名。

资源自身的名称,由路径表示。

Q47 Apache的最大连接数的修改方法是什么?》

A:在httpd.conf中设置:

MaxClients n

n是整数,表示最大连接数,取值范围在1和256之间,如果要让apache支持更多的连接数,那么需要修改源码中的httpd.h文件,把定义的HARD_SERVER_LIMIT值改大然后再编译。

Q48 CRON命令的作用与用法

A:cron命令:循环执行某一命令。at命令只能执行一次,虽然都是计划任务的命令,这是这两个命令的区别 。cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:   crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

crontab -l //列出某个用户cron服务的详细内容

crontab -r //删除没个用户的cron服务

crontab -e //编辑某个用户的cron服务

Q49 防火墙的分类

A:包过滤(Packet filtering)型

应用代理(Application Proxy)型

Q50 PING命令的用法

A:Ping命令的常用参数选项

ping IP -t

连续对IP地址执行Ping命令,直到被用户以Ctrl+C中断。

ping IP -l 3000

指定Ping命令中的数据长度为3000字节,而不是缺省的32字节。

ping IP -n 300

执行300次的Ping命令。

Q51 Netatart命令的用法

A: Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

netstat 的一些常用选项

netstat -s 本选项能够按照各个协议分别显示其统计数据。

netstat -Ce 本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量)。

netstat -r 显示关于路由表的信息,类似于后面所讲使用route print命令时看到的信息。除了显示有效路由外,还显示当前有效的连接。

netstat -a 本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。

netstat -n 显示所有已建立的有效连接。

Q52 ifconfig命令的用法

A:ifconfig命令

用于查看和更改网络接口的地址和参数

$ifconfig -a

lo0: flags=849 mtu 8232

inet 127.0.0.1 netmask ff000000

hme0: flags=863 mtu 1500

inet 211.101.149.11 netmask ffffff00 broadcast 211.101.149.255

ether 8:0:20:a7:4d:21

系统会显示网络接口的名称,接口的状态(up or down),

接口的IP地址和掩码等信息

更改网络接口的IP地址:

#ifconfig hme0 down

#ifconfig hme0 211.101.149.233 netmask 255.255.255.0 up

首先,使用down命令参数把网络接口hme0的服务暂时停止,然后再用ifconfig命令给

接口分配新的IP地址和掩码,并启动网络接口服务

也可以通过改变文件/etc/hosts中的IP地址的值并重新启动系统来更改机器的IP地址。

/etc/hosts/:

211.101.149.11 sampdt

定义主机名在/etc/hostname.hme0及IP地址。

更改了网卡/增加了网卡,系统不能自动启动该接口服务,这时需要手动创建网口服务:

#ifconfig hme0 plumb

即可以为接口le0创建网口服务

相应地,用ifconfig带unplumb参数可以停止服务并关闭网络

以上是“Linux服务器从入门到精通的问题有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


网站栏目:Linux服务器从入门到精通的问题有哪些
浏览路径:http://njwzjz.com/article/pjeips.html