Linux服务器操作系统

Linux服务器操作系统

今日大纲

●    服务器操作系统的系列、Linux的主流产品、虚拟机软件

●    安装linux

●    linux基本命令

●    用户管理及权限(多用户)

●    实战(搭建环境及部署web项目)

*****************************************************************************************************

1.    服务器操作系统简介

1.1    服务器操作系统

服务器操作系统一般指的是安装在大型计算机上的操作系统,比如Web服务器、应用服务器和数据库服务器等。服务器操作系统主要集中在三大类:

Unix系列:SUN Solaris,IBM-AIX,HP-UX,FreeBSD,OS X Server[6]等;

Linux系列:Red Hat Linux,CentOS,Debian,UbuntuServer等;

Windows系列:Windows NT Server,Windows Server 2003,Windows Server 2008,Windows Server 2008 R2,windows server 2012,windows server technical等。

1.2    学习Linux之前先认识Unix

*****************************************************************************************************

2.    Linux

2.1    Linux历史

Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds开发的,由于自己不满意教学中使用的MINIX操作系统,
所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统.

2.2    Linux的应用领域

2.3    Linux主流产品

redhat:linux发行版最大的linux厂商,收费的,而且价格不低。

centos:基于redhat发行版重新编译之后开源版本;

*****************************************************************************************************

3.Linux安装

3.1    安装虚拟机软件

3.1.1        虚拟机软件的概念

虚拟机软件:是指可以在用户当前真实的操作系统中,创建多个可以安装其它操作系统的虚拟硬件平台(好比一个个虚拟的裸机设备)。

注意:虚拟机软件只是为安装操作系统提供了平台,并不是操作系统。

3.1.2        虚拟机软件的种类及特点

常用的虚拟机软件
主要包括:VirtualBox、VMware Workstation、Virtual PC

VirtualBox: VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被Oracle 收购后正式更名成 Oracle VM VirtualBox

VMware Workstation: 是VMware公司销售的商业软件产品之一。该工作站软件包含一个用于英特尔x86相容电脑的虚拟机套装,其允许用户同时创建和运行多个x86虚拟机

Virtual PC:是Microsoft 最新的虚拟化技术。主要适合做微软自己产品的服务

VirtualBox与VMware的主要区别:

(1)VirtualBox是免费开源的,而VMware不是。

(2)VirtualBox体积小,而VMWare5、6安装后很庞大。

课程中我们以使用VirtualBox为主,如个别学员出现环境问题,可以选择安装VMware

3.1.3        安装虚拟机软件

参考:03-linux\相关资料\安装软件\1、虚拟机软件安装程序

本课程演示使用的虚拟机软件是VirtualBox

*****************************************************************************************************

3.2    安装Centos(操作系统)

参考《使用VirtualBox创建虚拟机(Centos6.5).doc》

参考《VMware-workstation_10_下创建虚拟机并安装安装centos_6.5步骤.docx》

*****************************************************************************************************

3.3    配置Linux网络

配置网络的目的主要是为了固定虚拟机的内网IP,方便我们在真实的操作系统中使用Linux连接工具软件进行远程连接

执行命令:setup

开启DHCP可以让Linux虚拟机自动分配IP

关闭DHCP需要指定IP

重启网络服务

service network restart

设置完,静态ip后,但是此时会发现外网无法访问。

注意,一定要将eth0作为仅主机only(以真实本机作为网关,并只于真实本机相连)模式,eth1作为NAT(可以访问外网)模式,才能为eth0分配静态ip的同时,也能够上外网。

每次更改完网络设置后,记得重启网络服务

Linux查看IP地址的命令:

ifconfig

ifconfig | more :分行进行显示,用于显示内容较多时

测试Linux网络配置是否成功:

在真实操作系统中运行命令:

ping xxx.xxx.xxx.xxx(Linux虚拟机的IP地址)

Ctrl + C
:关闭正在运行的命令

注意:Linux系统中是严格区分大小写的,所有命令基本上都是小写字母

学习linux的要点:

1、装好新的系统后,立刻设置备份(快照、类似win的还原点),以防不测,以后也可以在多个阶段生成备份(快照)。

2、一定要敢于胆大心细的使用命令,敢于尝试Ctrl + C 、出错的命令、重启、关机、及各种重新运行。大不了还原或者重装。

但是在工作中使用公司的服务器一定要小心翼翼。。。。。。

*****************************************************************************************************

3.4    使用远程连接工具连接Linux

3.4.1        远程终端命令工具

主要功能是向Linux系统远程发送命令

XShell:目前最好用

Secure Shell Client(SSH):老牌的连接工具,对中文支持较差

SecureCRT:收费

Putty:早就停止维护了,很多东西支持的很差。但因为习惯依旧很多人支持

3.4.2        远程FTP工具

主要功能是与Linux系统之间进行文件传输

XFTP:配合XShell使用,支持简单在线编辑

Secure Shell Client(SSH):自带FTP工具

SecureFX:配合SecureCRT使用

Lrzsz:可以安装在Linux系统中,通过在远程终端中使用命令来实现FTP功能

3.4.3        使用XShell软件连接远程服务器

*****************************************************************************************************

3.4.4        使用XFTP软件进行FTP连接

安装好XFTP之后,点击工具栏的
新建文件传输
的图标:

通过XFTP工具,我们可以让本机操作系统和linux系统之间进行文件的上传和下载。

其余连接工具的使用可以参考     \相关资料\文档《使用其它工具(CRT SSH)连接linux.doc》

*****************************************************************************************************

4.    linux 文件系统

  • Windows磁盘分区格式:FAT16,FAT32,NTFS,exFAT
  • Linux磁盘分区格式:与其它操作系统完全不同,共有两种。一种是Linux Native主分区,一种是Linux Swap交换分区。常见磁盘文件系统格式为:Ext2,ext3和ext4

查看Linux磁盘分区格式:

1、命令:df -TH

2、查看文件:vi /etc/fstab 退出vi 查看模式:先输入冒号: 在输入q 回车

/etc/fstab文件解释文件fstab包含了你的电脑上的存储设备及其文件系统的信息。

4.1    Linux的组成

内核:是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。
Shell是系统的用户界面,提供了用户和内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。但它不仅是命令解释器,而且还是高级编程语言,shell编程。
FILE SYSTEMS(文件系统)文件系统是文件存放在磁盘等存储设备上的组织方法,Linux支持多种文件系统,如ext3,ext2,NFS,SMB,iso9660等

应用程序:标准的Linux操作系统都会有一套应用程序例如X-Window,Open Office等

4.2    Linux的目录结构

1、详情参考
相关资料\文档\《Linux各目录及每个目录的详细介绍.docx》

*****************************************************************************************************

5.    Linux基本命令

5.1    目录操作相关命令

5.1.1        显示当前所在目录

pwd命令:
显示当前所在目录

5.1.2        浏览目录

ls命令:
浏览目录

ls –l
等于
ll
命令

以长格式的形式查看当前目录下所有可见文件的详细属性

5.1.3        切换目录

1、cd .. 切换到上一层目录

2、cd ./ 切换到当前目录下某个目录(cd xxx)

3、cd – 回到上一次目录

4、cd ../../ 切换到上上级目录

5、cd /usr 切换到指定某目录(绝对路径)

6、cd 切换到用户主目录(初始目录)

5.1.4        创建或删除目录

1、mkdir abc 创建abc文件夹(目录)

2、rmdir abc 删除abc目录(如果abc目录下有子目录或者文件不能删除)

*****************************************************************************************************

5.2    文件创建编辑命令

  • 在Linux下一般使用vi编辑器来编辑文件。
  • vi既可以查看文件也可以编辑文件。
  • 三种模式(状态):命令行、插入、底行模式。

    • 切换到命令行模式:按Esc键;    开始执行插入模式或者是底行模式
    • 切换到插入模式:按 i 、o、a键;
    • 切换到底行模式:按 :(冒号);
  • 更多详细用法,查询文档    \相关资料\文档    《Vim命令合集.docx》和《vi使用方法详细介绍.docx》

5.2.1        创建文件命令

vi filename 创建一个新文件,并进入vi 命令行模式。

如果选择不保存退出,将不会创建新文件

如果该文件已经存在,则进入该文件的vi编辑模式

touch filename 创建新文件,如果文件已经存在,更新文件时间戳(创建时间等)。

5.2.2        移动光标至文件尾部

shift + g:移动到文件尾部

5.2.3        显示行号

:set nu

5.2.4        退出vi编辑器

按Esc键进入命令行模式

按 :(冒号)进入底行模式

退出: :q

不保存退出(有变更): :q!

保存退出: :wq

*****************************************************************************************************

5.3    浏览文件内容命令

5.3.1        vi命令

vi filename             如果文件已经存在则可以查看文件内容,并进入vi命令行模式。

5.3.2        cat命令

cat filename            输出文件所有内容

5.3.3        more和less命令

more 查看更多内容

退出:按q键

空格:查询下一屏内容

less    用法和more类似,不同的是less可以通过PgUp、PgOn键来控制。

5.3.4        tail命令(重要)

tail     用于显示文件后几行的内容

tail -10 /etc/password        查看后10行数据

tail -f catalina.log        动态查看日志,可以实时的得到新追加到文件中的信息,常用来跟踪日志文件。

tail -200f catalina.log    动态显示日志最后200行

Ctrl + C 结束查看

5.3.5     grep命令

  • 查找符合条件的字符串。
  • 用法: grep [选项]... PATTERN [FILE]...
  • 示例:

    • grep lang anaconda-ks.cfg 在文件中查找lang
    • grep lang anaconda-ks.cfg --color 高亮显示

grep location nginx.conf --color -A5 -B5 查找字符串location并且高亮显示、显示查找到的元素的前、后5行内容。

查看进程:

ps -ef | grep java

ps -ef | grep tomcat

*****************************************************************************************************

5.4    内容查找替换命令

5.4.1        查找字符串

vi命令模式下输入:

/text  查找text,按n健查找下一个,按N健查找前一个。

5.4.2        替换字符串

vi底行模式下输入:

s/old/new/ 用new替换old,替换当前行的第一个匹配

s/old/new/g 用new替换old,替换当前行的所有匹配

%s/old/new/ 用new替换old,替换所有行的第一个匹配

%s/old/new/g 用new替换old,替换整个文件的所有匹配

*****************************************************************************************************

5.5    文件目录共有命令

5.5.1        删除文件或目录

rm                 删除文件

rm a.txt         删除a.txt文件

删除需要用户确认 y/n

rm -f a.txt    不询问直接删除

rm -r abc        删除目录(递归删除),逐步询问是否删除里面的文件

rm -rf abc     不询问方式删除目录及里面的内容(慎用)

rm -rf *        删除当前目录下的所有文件

rm -rf /*        删除系统的所有文件(自杀)

5.5.2        复制文件或目录

cp(copy)            将文件从一处复制到另一处。

一般使用cp命令将文件复制成另一个文件或者复制到某目录时,需要指定原文件名与目标文件名或目录

cp a.txt b.txt     将a.txt 复制为 b.txt 文件

cp a.txt ../        将a.txt 复制到上一级目录中

参数:

-b         同名,备分原来的文件
-f         强制覆盖同名文件
-r     按递归方式保留原目录结构复制文件

cp -rf abc /usr/local        复制当前目录中的abc文件夹及内的所有内容
到 /usr/local    中,重名会覆盖

5.5.3        移动文件或目录

mv                                移动或者重命名

mv a.txt ../                    将a.txt 移动到上一级文件夹中

mv a.txt c.txt                将a.txt 重名为c.txt

mv abc /usr/local             移动当前目录中的abc文件夹及内的所有内容
到 /usr/local    中

mv abc /usr/local/haha        移动当前目录中的abc文件夹及内的所有内容
到 /usr/local    中,并将文件夹名称更名为haha

5.5.4        打包命令:tar

tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。

常用参数:

-c:创建一个新tar文件

-v:显示运行过程的信息

-f:指定文件名

-z:调用gzip压缩命令进行压缩

-t:查看压缩文件的内容

-x:解开tar文件

打tar包:tar –zcvf                 压缩文件夹名或压缩文件名
需要压缩的文件

tar -zcvf abc.tar.gz *             压缩当前目录下所有文件,压缩后文件名为abc.tar.gz

解压tar包:tar –zxvf                                 压缩文件夹名或压缩文件名

tar -zxvf abc.tar.gz                                 解压到当前目录

tar -zxvf abc.tar.gz -C /usr/local/xixi/        解压到指定目录中
记得指定目录前面加 -C

查看tar包内的文件 tar -ztvf xxx.tar

5.5.5        显示文件或目录大小

du 显示目录或文件的大小。

du –h 显示当前目录的大小

*****************************************************************************************************

5.6    命令数据传递

5.6.1        重定向输出 > 和 >>

>     重定向输出;

>>     重定向输出,又追加功能;

示例:

cat b.txt > a.txt 输出定向到a.txt中

cat b.txt >> a.txt 输出并且追加

5.6.2        管道 "|"

管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。

示例

ls --help | more 分页查询帮助信息

ps –ef | grep java 查询名称中包含java的进程

*****************************************************************************************************

5.7    命令执行控制

5.7.1        && 方式

命令之间使用 && 连接,实现类似逻辑与的功能。

只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行。

只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。

cat c.txt && ifconfig

cat: c.txt: 没有那个文件或目录,则不会执行ifconfig

5.7.2        || 方式

此外还有||

左边执行失败,则执行右边。左边执行成功,不执行右边。

*****************************************************************************************************

5.8    网络通讯命令

5.8.1        基本命令

ifconfig 显示或设置网络设备。

ifconfig 显示网络设备

ifconfig eth0 up 启用eth0网卡

ifconfig eth0 down 停用eth0网卡

ifup eth0 启用eth0网卡

ifdown eth0 停用eth0网卡

ping 探测网络是否通畅。

ping 192.168.0.1

netstat 查看网络端口。

netstat -an | grep 3306 查询3306端口占用情况

ifconfig eth0 up 是使用了 ifconfig 命令来激活网卡 
ifup eth0 则是使用了 ifup脚本来激活网卡

用 ifup脚本方式的好处在于可以提供一些高级控制
ifup ifdown 通常存放于 /etc/network/interfaces下面

重启后都会失效

5.8.2        修改网卡信息

网卡信息的文件:

/etc/sysconfig/network-script/ifcfg-eth0

手动更改ifcfg-eth网卡文件请参照《网络配置问题.doc》

重启网卡的命令:

service network restart

配置主机名
两种方法

1、setup

2、vi /etc/sysconfig/network

5.8.3        防火墙操作

1) 永久性生效,重启后不会复原

开启: chkconfig iptables on

关闭:
chkconfig iptables off

2) 即时生效,重启后复原

开启: service iptables start

关闭:
service iptables stop

service iptables status可以查看到iptables服务的当前状态

可以使用 lsof 命令来查看某一端口是否开放。查看端口可以这样来使用,我就以80端口为例:

lsof -i:80

如果有显示说明已经开放了,如果没有显示说明没有开放。

在开启了防火墙时,做如下设置,开启相关端口

修改/etc/sysconfig/iptables 文件,添加以下内容:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

查看防火墙 iptables -L

需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作

*****************************************************************************************************

5.9    系统相关命令

5.9.1        系统信息命令

date 显示或设置系统时间

date 显示当前系统时间

date -s "2014-01-01 10:10:10" 设置系统时间

df 显示磁盘信息

df –h 友好显示大小

free 显示内存状态

free –m 以mb单位显示内存状态

who 显示目前登入系统的用户信息。

hostname 查看当前主机名

修改:vi /etc/sysconfig/network

uname 显示系统信息。

uname –a 显示本机详细信息。

依次为:内核名称(类别),主机名,内核版本号,内核版本,内核编译日期,硬件名,处理器类型,硬件平台类型,操作系统名称

5.9.2        进程管理命令

top命令:显示,管理执行中的程序

第一行(top):

  "00:11:04"为系统当前时刻;

  "3:35"为系统启动后到现在的运作时间;

  "2 users"为当前登录到系统的用户,更确切的说是登录到用户的终端数 -- 同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目;

  "load average"为当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,一般的可以认为这个数值超过 CPU 数目时,CPU 将比较吃力的负载当前系统所包含的进程;

第二行(Tasks):

  "59 total"为当前系统进程总数;

  "1 running"为当前运行中的进程数;

  "58 sleeping"为当前处于等待状态中的进程数;

  "0 stoped"为被停止的系统进程数;

  "0 zombie"未被复原的进程数(僵尸进程);

第三行(Cpus):

分别表示了 CPU 当前的使用率;

"0.7% us":用户进程占用CPU百分比

"0.7% sy":内核进程占用CPU百分比

"0.0% ni":用户进程空间内改变过优先级的进程占用CPU百分比

"98.7% id":空闲CPU百分比

"0.0% wa":等待输入输出的CPU时间百分比

"0.0% hi":硬件中断请求时间

"0.0% si":软终端请求时间

第四行(Mem):

  分别表示了内存总量、当前使用量、空闲内存量、以及缓冲使用中的内存量;

第五行(Swap):

表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。

列表部分:

PID:进程id

USER;进程所有者的用户名

PR:进程的优先级

NI:nice值。负值表示高优先级,正值表示低优先级

VIRT -- 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

RES -- 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

SHR -- 共享内存大小,单位kb

S -- 进程状态。

D =不可中断的睡眠状态

R =运行

S =睡眠

T =跟踪/停止

Z =僵尸进程

%CPU -- 上次更新到现在的CPU时间占用百分比

%MEM -- 进程使用的物理内存
百分比

TIME+ -- 进程使用的CPU时间总计,单位1/100秒

COMMAND:启动任务的命令行(包括参数)

ps 正在运行的某个进程的状态

ps –ef 查看所有进程

ps –ef | grep ssh 查找某一进程

kill 杀掉某一进程

kill 2868 杀掉2868编号的进程

kill -9 2868 强制杀死进程

5.9.3        系统管理命令

关机命令

shutdown -h now (立刻关机)

shutdown -h 5 (5分钟后关机)

poweroff (立刻关机)

halt (立刻关机)

重启命令

shutdown -r now (立刻重启)

shutdown -r 5 (5分钟重启)

reboot (立刻重启)

远程登录

使用ssh登录(登录到另一个系统);

ssh 目标机器IP

例如:ssh slave1

退出

exit (退出当前登录)

远程传输

传文件

scp 文件
其他机器的用户名@其他机器的ip:路径

传文件夹:

scp -r 文件夹
其他机器的用户名@其他机器的ip:路径

*****************************************************************************************************

5.10    其它命令

帮助命令

Linux的命令非常之多,不可能都记得住使用方法;

使用帮助命令 --help

shutdown --help

ssh --help

ifconfig --help (查看网卡信息)

使用man命令(命令说明书)

man shutdown

clear    清屏

wget    下载资源

*****************************************************************************************************

6.    用户管理及权限

6.1 用户管理

6.1.1        查看单个用户

id命令

功能:查看一个用户的UID和GID

用法:id [选项]... [用户名]

6.1.2        查看所有用户

查看所有用户:cat     /etc/passwd

6.1.3        添加用户

useradd 添加一个用户

useradd test 添加test用户

useradd test -d /home/t1 指定用户home目录

6.1.4        修改密码

passwd 设置、修改密码

passwd test 为test用户设置密码

6.1.5        切换用户

su命令

功能:切换用户。

用法:su [选项]... [-] [用户 [参数]... ]

示例:

su u1 切换到u1用户

su - u1 切换到u1用户,并且将环境也切换到u1用户的环境(推荐使用)

6.1.6        删除用户

userdel 删除一个用户

userdel test 删除test用户(不会删除home目录)

userdel –r test 删除用户以及home目录

userdel –rf test 暴力删除(虽然有提示用户正在使用,但是实际上已经删掉了)

*****************************************************************************************************

6.2 用户组管理

当在创建一个新用户user时,若没有指定他所属于的组,就建立一个和该用户同名的私有组

6.2.1        查看所有组

查看所有组:cat /etc/group

6.2.2        创建组

groupadd 创建组

groupadd public 创建一个名为public的组

useradd u1 –g public 创建用户指定组

usermod -g public test 指定用户所属的群组(将用户移动到新的组)

usermod -G public test 指定用户所属的附加群组(将用户移动到新的组,但是用户依旧在原来的组存在)

在使用useradd命令创建用户的时侯可以用-g 和-G 指定用户所属组和附属组。
基本组:如果没有指定用户组,创建用户的时候系统会默认同时创建一个和这个用户名同名的组,这个组就是基本组,不可以把用户从基本组中删除。在创建文件时,文件的所属组就是用户的基本组。
附加组:除了基本组之外,用户所在的其他组,都是附加组。用户是可以从附加组中被删除的。
用户不论为与基本组中还是附加组中,就会拥有该组的权限。一个用户可以属于多个附加组。但是一个用户只能有一个基本组。

防止眼花:

cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" ‘{ print $1"|"$3"|"$4 }‘|more

6.2.3        删除组

groupdel 删除组,如果该组有用户成员,必须先删除用户才能删除组。

groupdel public         删除名为public的组

*****************************************************************************************************

6.3    账户文件

6.3.1        用户文件

/etc/passwd 用户文件

root:x:0:0:root:/root:/bin/bash

账号名称:        在系统中是唯一的

用户密码:        此字段存放加密口令

用户标识码(User ID):
系统内部用它来标示用户

组标识码(Group ID):
系统内部用它来标识用户属性

用户相关信息:        例如用户全名等

用户目录:        用户登录系统后所进入的目录

用户环境:        用户工作的环境

6.3.2        密码文件

/etc/shadow 密码文件

shadow文件中每条记录用冒号间隔的9个字段组成.

用户名:用户登录到系统时使用的名字,而且是惟一的

口令:
存放加密的口令

最后一次修改时间: 标识从某一时刻起到用户最后一次修改时间

最大时间间隔: 口令保持有效的最大天数,即多少天后必须修改口令

最小时间间隔:    再次修改口令之间的最小天数

警告时间:从系统开始警告到口令正式失效的天数

不活动时间:    口令过期少天后,该账号被禁用

失效时间:指示口令失效的绝对天数(从1970年1月1日开始计算)

标志:未使用

6.3.3        组信息文件

/etc/group 组信息文件

root:x:0:

组名:用户所属组

组口令:一般不用

GID:组ID

用户列表:属于该组的所有用户

*****************************************************************************************************

6.4    权限管理

6.4.1        文件权限

6.4.2        文件类型

普通文件:
包括文本文件、数据文件、可执行的二进制程序文件等。

目录文件: Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。

设备文件: Linux系统把每一个设备都看成是一个文件。

文件类型标识

普通文件(-)

目录(d)

符号链接(l)

字符设备文件(c)

块设备文件(s)

套接字(s)

命名管道(p)

6.4.3        文件权限管理

chmod 变更文件或目录的权限。

读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1

chmod 755 a.txt

chmod u=rwx,g=rx,o=rx a.txt

chmod 000 a.txt

chmod 777 a.txt                 777就是rwxrwxrwx 最高权限

root的权限不会被chmod 000屏蔽.
权限为全0,root也可以访问。

chown 变更文件或目录的拥有者或所属群组。

chown test5:root a.txt 变更文件

chown -R test5:root dir 变更目录

*****************************************************************************************************

7.    实战(搭建环境及部署web项目)(重要)

7.1    上传文件到服务器

使用SecureFX工具上传

优点:简单、方便

缺点:需要安装软件、跳板机无法使用

使用lrzsz工具

优点:任何环境都可以使用,使用简单

缺点:需要在linux安装软件

步骤:

1、下载安装包,wgethttps://ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
或者是
上传已经下载好的安装包。

2、解压安装包:tar -zxvf lrzsz-0.12.20.tar.gz

3、进入加压后的目录:cd lrzsz-0.12.20

4、执行配置:./configure

会提示 configure: error: no acceptable cc found in $PATH,意思是缺少gcc命令,需要安装gcc

手动安装gcc比较麻烦,所有选择使用yum安装(需要连接外网)

yum install gcc

执行配置:./configure

5、编译:make

6、安装:make install

7、配置系统命令:

cd /usr/bin

ln -s /usr/local/bin/lrz rz         (上传命令)

ln -s /usr/local/bin/lsz sz        (下载命令)

8、输入命令:rz

安装成功!

补充:

如果是CentOS则可以用yum install lrzsz 命令安装,更方便。(需要连接外网)

或:yum -y install lrzsz 命令安装,更加更加更加方便。(需要连接外网)

*****************************************************************************************************

7.2    安装java

安装完Centos6.5的Base Server版会默认安装OpenJDK,首先需要删除OpenJDK

1、查看以前是不是安装了openjdk

如果不是root用户需要切换到root用户(su - root)

命令:rpm -qa | grep java

显示如下:(有则卸载,没有就不用),注意版本可能会有些不一样,以实际操作的为准。

tzdata-java-2013g-1.el6.noarch

java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

2、卸载openjdk:

(其中参数"tzdata-java-2013g-1.el6.noarch"为上面查看中显示的结果,粘进来就行)

rpm -e --nodeps tzdata-java-2013g-1.el6.noarch

rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

3、安装jdk

(1)、切换到root用户并进入usr目录: cd /usr

(2)、在usr目录下创建java文件夹: mkdir java

(3)、将jdk-7u71-linux-x64.tar.gz拷贝到java目录下(也可以用工具)

cd /usr/local/mao/

cp jdk-7u71-linux-x64.tar.gz /usr/java/

(4)、进入/usr/java文件夹下:cd /usr/java/

(5)、修改权限,参数"jdk-7u71-linux-x64.tar.gz"为你自己上传的jdk安装文件

chmod 755 jdk-7u71-linux-x64.tar.gz

(6)、解压:tar –zxvf jdk-7u71-linux-x64.tar.gz

(7)、配置环境变量

vi /etc/profile

添加内容:/usr/local/java/jdk1.7.0_71


export JAVA_HOME=/usr/java/jdk1.7.0_71

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME PATH CLASSPATH

(8)、重新编译环境变量

source /etc/profile

*****************************************************************************************************

7.3    安装tomcat

安装Tomcat

1、进入tomcat绿色版压缩文件的目录中:cd /usr/local/mao/

2、解压tomcat绿色版压缩文件:tar -zxvf apache-tomcat-7.0.57.tar.gz

3、关闭防火墙(永久,需要重启):chkconfig iptables off

4、重启机器:reboot

5、启动tomcat:

进入tomcat的bin目录:cd /usr/local/mao/apache-tomcat-7.0.57/bin/

启动tomcat web服务器:./startup.sh

6、停止tomcat:./shutdown.sh

7、查看tomcat日志信息:

tail -200f /usr/local/mao/apache-tomcat-7.0.57/logs/catalina.out

200表示最后显示行数

运行web程序

设置tomcat开机启动

在/etc/rc.d/rc.local文件最后添加

export JAVA_HOME=/usr/java/jdk1.7.0_71

/usr/local/mao/apache-tomcat-7.0.57/bin/startup.sh start

*****************************************************************************************************

7.4    安装mysql

1、卸载linux自带的mysql

查看:rpm -qa | grep mysql

删除:rpm -e --nodeps 查看到的选项

2、上传mysql安装包文件

3、安装服务器端:server

修改权限:        chmod 777 MySQL-server-5.5.8-1.rhel5.x86_64.rpm

执行安装:            rpm -ivh MySQL-server-5.5.8-1.rhel5.x86_64.rpm --nodeps --force

注:--nodeps --force 表示不检查依赖

4、安装客户端:client

修改权限:        chmod 777 MySQL-client-5.5.8-1.rhel5.x86_64.rpm

执行安装:        rpm -ivh MySQL-client-5.5.8-1.rhel5.x86_64.rpm --nodeps --force

5、启动和关闭mysql

启动mysql:    service mysql start

关闭mysql:    service mysql stop

6、添加密码

/usr/bin/mysqladmin -u root password ‘new-password‘

7、mysql修改字符编码

vi /etc/my.cnf            (mysql安装目录(/usr/share/mysql)中有模版)

【client】下面添加:default-character-set = utf8

【mysqld】下面添加:character_set_server = utf8

service mysql restart

8、配置mysql允许远程访问

(1)进入 mysql:

mysql -u root -p

(2)使用 mysql库

use mysql;

(3)查看用户表

SELECT `Host`,`User` FROM user;

(4)授权用户

grant all privileges on *.* to [email protected]‘%‘ identified by ‘123456‘;

(5)强制刷新权限

flush privileges;

注意要关闭防火墙

注意:如果出现错误

MySQL错误1042-Can‘t get hostname for your address

解决办法:

需要修改配置文件,在[mysqld]下增加skip-name-resolve(忽略主机名的方式访问),并重启MYSQL服务可解决此问题。

例如:MYSQL配置文件在: /etc/my.cnf,

编辑它,在[mysqld]下增加skip-name-resolve,在执行service mysql restart 即可。

查看selinux状态

getenforce

关闭selinux

setenforce 0 (临时,重启后失效)

vi /etc/sysconfig/selinux

把里边的中间一行改为SELINUX=disabled(永久,重启后生效)

*****************************************************************************************************

7.5 搭建项目

cat usermanage.sql | mysql -uroot -p123456

1、执行.sql文件初始化项目数据库信息

2、将root.war 部署到tomcat webapps中

3、注意数据库连接密码

最后访问的地址:

http://192.168.56.101:8080/user/page/query

*****************************************************************************************************

8. 总结

1、linux安装
可以连本机
可以用第三方的工具去连接(必需)

2、linux基本命名:(红色)

3、安装java 安装tomcat

时间: 2024-08-07 04:31:42

Linux服务器操作系统的相关文章

CentOS 7.1 中文正式版下载 - 最流行的免费开源企业级 Linux 服务器操作系统

如果说 Ubuntu 是现今最受桌面用户欢迎的 Linux 操作系统,那么 CentOS 就是最受公司.企业.IDC 喜爱的 Linux 发行版了.得益于极为出色的稳定性,全球范围内无数著名网站均选用它,异次元的服务器也是! CentOS 是基于 Red Hat Enterprise Linux (RHEL / 收费昂贵但口碑极佳) 的源代码再编译出来的免费版,因此不仅继承 RHEL 优越的稳定性(与 Debian 齐名),还提供免费更新,因此在服务器提供商.中小型公司中装机量几乎是最大的 Li

我们用的服务器操作系统有哪些呢?

服务器操作系统有有很多,比如说:Windows.Linux.Unix和Netware......但我们经常用过仅有Windows和Linux.下面简单为大家介绍一下常见服务器操作系统. 首先我先讲一下,这里只是个人的见解,如有不足,大家可以在评论中指出,本人会适当按照大家的评论修改本文内容. 1.Windows服务器操作系统 环境部署:Windows+IIS+ASP,可以支持语言有ASP.html..net2.0/3.5/4.0.CGI.伪静态. (1)Windows 2003 Windows

[转帖]安全强化你的 Linux 服务器的七个步骤

安全强化你的 Linux 服务器的七个步骤 https://linux.cn/article-11444-1.html 作者: Patrick H. Mullins 译者: LCTT Xingyu.Wang | 2019-10-11 09:41   收藏: 1 通过七个简单的步骤来加固你的 Linux 服务器. 这篇入门文章将向你介绍基本的 Linux 服务器安全知识.虽然主要针对 Debian/Ubuntu,但是你可以将此处介绍的所有内容应用于其他 Linux 发行版.我也鼓励你研究这份材料,

通过pscp从linux服务器下载文件到本地windows操作系统记载

从linux 服务器下载数据到本地windows操作系统 1) 下载 putty.exe 完整安装包. 2) 将pscp.exe程序 放在C:/windows/system32文件下(或者配置pscp.e xe的系统变量). 3)   打开windows cmd.exe命令行窗口 输入pscp命令看是否能够运行. 4)   在命令行运行pscp [email protected]:/usr/tideway/java/integrations/mappings/extended-rdb/Oracl

Linux服务器开发常用的命令以及遇到的问题

1. 什么是linux服务器load average? Load是用来度量服务器工作量的大小,即计算机cpu任务执行队列的长度,值越大,表明包括正在运行和待运行的进程数越多.参考资料:http://en.wikipedia.org/wiki/Load_average 2. 如何查看linux服务器负载 可以通过w,top,uptime,procinfo命令,也可以通过/proc/loadavg文件查看. 3. 服务器负载高怎么办? 服务器负载(load/load average)是根据进程队列的

Linux服务器挂死案例分析

问题现象: 在linux服务器上运行一个指定的脚本时,就会出现无数个相同进程的,而且不停的产生,杀也杀不掉,最后系统就陷入死循环,无法登陆,只能人工去按机器的电源键才可以.这够崩溃的吧? 问题分析过程: 在分析过程中发现这个特定的脚本有些特别,和系统中已有的命令的名字是相同的. 以free命令为例: 这个脚本名字就叫做free(后面没有带.sh),而且这个脚本文件里又去调用了free命令. 这个脚本的本意应该是要去调用free命令来完成一个任务. 那是否就是因为这样就会导致问题呢? 其实光这样是

用 Python 脚本实现对 Linux 服务器的监控

hon 分享到:8 原文出处: 曹江华 目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 Linux 服务器的监控. 本文介绍一下使用 Python 脚本实现对 Linux 服务器 CPU 内存 网络的监控脚本的编写. Python 版本说明 Python 是由 Guido va

Linux服务器上的MySQL数据库宕掉的原因

生产环境: 操作系统:CentOS release 6.8 数据库系统:MySQL 5.5.52 分析问题: 一.客户端访问出现以下错误: 错误1:浏览器访问Cacti监控系统 FATAL: Cannotconnect to MySQL server on 'localhost'. Please make sure you have specified avalid MySQL database name in 'include/config.php' 错误2:浏览器访问Discuz系统 Dis

widows本地-xshell实现远程连接linux服务器图形界面

本地环境远程连接linux图形界面,常用的实现工具有,VNC.Puty.Xshell等,这里我们用的xshell manager: Xmanager简介:Xmanager是一个运行于 Windows平台上的高性能的X Server软件.它能把远端Unix/Linux的桌面无缝地带到你的Windows上,甚至电脑是在内网或防火墙后,也能通过SSH协议安全的运行远端的X应用程序. 特点包括: 可通过Xcongfig工具设置多个Xmanager设置: 支持多用户的Windows终端环境: 支持多个IP