韩顺平—— LINUX学习笔记

 

LINUX----(韩顺平版)

LINUX 笔记 2010-01-04 08:46:32 阅读468 评论1   字号:大中小 订阅

学习LINUX的两个方向:

LINUX系统管理员:

LINUX程序员:PC平台开发LINUX软件工程师,LINUX嵌入式开发(单片机,芯片)开发,

 

学完本书可以完全可以胜任LINUX系统管理员

开源,免费,稳定,安全,处理多并发得到业界认可

LINUX学习流程:

1、LINUX平台上的开发,包括VI,GCC,GDB,MAKE,JDK,TOMCAT,MYSQL,和LINUX基本操作

2、加厚C语言功能或者JAVA语言

3、学习UNIX环境高级编程

4、LINUX应用开发或才嵌入式开发

 

工具书(需要几本工具书,如新华字典)

思考----实践-----再思考----再实践

一周课程:

 

基础部分: LINUX基础知识,80个常用命令,LINUX分区/VI/权限..

实用部分:samba安装,LINUX网络环境配置,crontab使用,JDK,apache安装,LINUX下JAVA网络编程,SHELL初步介绍

三本书:鸟哥的私房菜,LINUX从入门到精通,LINUX内核完全剖解

 

LINUX实战第一天(共五天)

1、LINUX的初步介绍

2、L的第一次接触

3、L的用户管理

4、L的常用命令(80左右)

5、L下所有者,所在组和其它组的介绍

6、L下文件和目录权限机制

吉祥物:小企鹅(想起小时侯被企鹅咬了一口),芬生学生创建,微软反LINUX广告(四个变形动物),

L的特点:

1、FREE ,免费/开源,代码公开

2、支持多线程,能不能允许多个用户并发/多用户

3、安全性好,

4、对内存和文件管理优越

缺点:

操作相对困难,无界面操作  (容易的东西不值难)

 

 

NEC  在手机使用LINUX,03年,日本的一家公司,嵌入式开发

 

LINUX最小只需要4M (参看鸟哥)----- 导致嵌入式开发

 

可以很多东西看一看,但要学精一门。

历史

1960年,MIT,(麻省理工学院)30个人同时使用此主机(分时操作系统)!

1965年,MIT,GE,BELL实验室让分时系统由30个人操作变成到300个同时使用,分时操作,MULTIS计划(火星计划)

1969年,火星计划终于失败,出现了KEN TOMPSON,(同时也是C语言的设计者),开发了一个flile server system(文件服务系统)。在BELL实验室受到欢迎!加入

一个同事,RICHERS

1973年,他们开发出UNIX,开源,将源码共享,有几家公司就加入,分析. 出现了IBM  aix (也是UNIX),SUN公司solaris (也是UNIX),HP公司 HP unix ,FREE

BAD,伯克利分校

各个操作系统只对自己公司的硬件提供支持

 

中国移动类似的大企业都是UNIX

同时由UNIX出现了minix操作系统,linus在91年的时侯,接触到minix操作系统,有一台pc 386,想将minix移值到pc 386年。94年,发布了1.0 版式,取名为

linux (第二种说法:linus is  not unix)。没有桌面,只有字符界面。

LINUX 产生如下几家公司:

REDHAT(二次开发),S.U.SE整合了很多套件(欧洲),红旗linux,等

命令:

注意:操作过程中使用的VM虚拟一个LINUX操作系统。VM就是虚拟机,

root:超级管理员

LINUX输入密码不显示任何东西

进入桌面命令:startx  

 

关机:shutdown -h now

重启:shutdown -r  now /reboot

尽量少用root登录,用普通用户,“su -”来切换

注销  logout   快捷键ctrl+D

VI编辑器 开发者(世界第一骇客,成为了自由软件协会)

(丢手帕问题,JAVA编写  约瑟夫问题 要用链表,数组)

把VI当作WINDOW下的记事本

在VI下开发一个JAVA HELLO.java

开发步骤:

1、Vi HELLO.java  进入VI界面

2、输入“i”(小写),插入模式   左下角insert

3、编写一个JAVA   public class HEllo{}

4、保存  esc键,进入命令模式

5、输入冒号:,保存退出wq,q!退出不保存

ls   查看当前目录的所有文件

详细列表: ls -l  (详细信息)   ls -al(显示隐藏文件,详细信息)

6、编译HELLO.java     javac hello.java

7、运行 java hello   (LINUX成功不显示)

如何在linux可以开发C程序或者C++(CPP)

1、vi hello.cpp

2、int main(){ printf ("hello!")}........

3、编辑  gcc (类似javac) 出现a.out

4、运行  ./a.out   (./)

如果再重写一个cpp,会覆盖前面的a.out

解决方法: gcc -o my1  直接命名

VI编辑器的详细命令,查看书!

 

LINUX的文件目录  (第三讲  11分)

L的文件系统是采用级层式的树状目录结构,最上层的根目录:/:,

重要的文件目录(系统分配的目录);

ROOT:存放ROOT用户的相关文件

HOME :存放普通用户的相关文件(新建的用户)

BIN:存放常用命令的目录   cd 切换目录  ls dir

SBIN:存放要具有一定权限才可以使用的命令

MNT:默认挂载光驱和软驱的目录

ETC:存放配置相关的文件,mysql,tomcat,

USR:文件默认安装的文件夹,类似XP的program files

VAR:存放经常变化的数据,如网页,apache

BOOT:存放引导相关的文件

显示当前在哪个目录:pwd

用户管理

添加用户  useradd    useradd xiaoming

设置密码  passwd     passwd xiaoming 系统会提示输入新密码,两次输入

提示符#表示root用户 $ 表示普通用户

删除用户  userdel      userdel  xiaoming 只是删除用户名称  OR  userdel -r xiaoming 删除用户以及用户主目录

init  运行级别(XP的安全模式与正常的启动模式)

0 关机

1 单用户

2 多用户状态没有网络服务

3 多用户有网络服务

4 系统未使用保留多用户

5 图形界面  startx

6 系统重启

常用的是3与5,要修改可改文件  /etc/inittab的

id:5:initdefault:这一行中的数字

su 切换用户,或者 logout

设为6后一直重启,如何更改:

在启用GRUB的时侯,按“e”,选中第二项,按“e”,进入修改界面,在最后输入空格+1,这个就是表示1号运行级别。只能用1来启动!,最后按b  。

用运行级别1 可以绕过ROOT密码,不需要密码就可以用,用passwd就OK

如何找回丢失密码

ls  -a  显示隐匿文件               -l显示长列表格式

mkdir 建立目录     

rmdir  删除空目录   如果有内容?

TAB 命令补全  相同的话,可以按两次

touch  建立空文件

cp  cp -r dir1 dir2  递归复制

mv

rm   参数

rm -rf

ln

ln -s

more  分页显示不能前翻  crtl+pageup  空格向后翻;

less 分页显示,可以向前翻

grep在文本中查询   grep  -n (显示行数)"关键字"  文件名称

 | 管道命令   在LINUX和UNIX系统中,|就是管道命令,怎么理解?

把上一个命令的结果交给|的后面的命令处理

即上一个处理的结果就是下一个命令的输入

man  找男人  相当于DOS 下的HELP

find 搜索文件及目录

find /-name aaa.java   /表示根目录,

find /root/ -name aaa.java 锁定范围

数据重定向  将操作流保存到另一个地方

grep  -n (显示行数)"关键字"  文件名称 > kkk.bak    >输出到

ls -l > a.txt

ls -al

>> 追加写

>覆盖写

 

LINUX  第二天  韩顺平PPT下载

搭建JAVA ee

L下可以用realplay吗

L可以用QQ吗

L分区的讲解

REAHAT安装演示

 

文件所有者,所在组,其它组

OWNER ; GROUP;OTHERS

可以更件文件的所有者,chown

也可以改变用户组 chgrp

案例:建两个组, policeman ,tufei

建三个用户:along ,panpan( 属于policeman),ashuai(属于tufei)

用along 这个用户登录到系统,创建一个文件,ls -1

 

 

现在添加组  只能在ROOT下操作

groupadd policeman

如何查看现有组:vi /etc/group     cat /etc/group

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

cat 只能看不能写,VI可以看可以改

创建用户,并添加到指定组

useradd -g  组名 用户名

useradd -g policeman along

UID用户ID,GID组ID

权限,详情查看NIAO哥的书:98

以-rw-r--r--为例

第一个“-” 表示文件,如果是目录就用“d”表示

 

第二--四:代表文件所有组对此文件所具有的权限

R可读  数字表示4   W可写   数字表示2  X可执行 数字表示1

文件最大权限666,目录最大权限777

第五--七:代表文件所在组对此文件所具有的权限

第八--十:代表其它组对此文件所具有的权限

如何修改文件的访问权限的问题:(panpan 无法进入along 主目录)

1、查看along 主目录的属性    drwx------

2、修改along主目录的属性(进入root或者文件夹所有者)  chmod  777 along

命令: who am i 查看当前使用者是谁,

chmod 修改权限   

 

任务:可以让PANPAN修改myTEST.java

chmod  664  myTEST.java

把一个用户移值到另一个组:

usermod -g 组名 用户名

usermod -g policeman ashuai

chown 用户名  文件名 修改文件所有者

chgrp  组名   文件名   修改文件所有组

 

 

JAVAEE开发环境搭建---JDK安装

1、把mypackage.ISO文件挂载到linux操作系统中去。在虚拟机做配置,用mount /mnt/cdrom

何为挂载: 需要哪个分区就挂载哪个分区,用完要umount(详细)

虚拟机---设置----硬件标签   cd-rom  使用iso镜象

 

虚拟机---设置----选项标签  共享windows里面的文件夹      也可以samba

mount /mnt/cdrom/ 

cd /mnt/cdrom/

不需要挂载:

umount /mnt/cdrom/

2、把安装文件COPY到/home

 

cp 文件 /home    名称很长,用tab 补全

一个操作系统可以用多个JDK

3、cd /home 

4、安装  ./文件名

5、看看一个文件  /etc/profile  [环境配置文件]

在VI中用#注释#####,注释掉以前的JAVA环境变量

6、配置刚才自己安装的JDK

JAVA_HOME=.....

PATH=$PATH(作用是不破坏以前的path):

CLASSPATH=.:/.......

export JAVA_HOME PATH CLASSPATH

export 引入

 

JAVAEE开发环境搭建---eclipse安装

1、同上,挂载

2、把安装文件COPY到/home

3、tar.gz  文件    tar -zxvf  ???.tar.gz  安装即可

4、启动eclipse [必须先进入图形界面] ,打开终端,cd/home/   ./eclipse        OK

进到终端:注销图形界面就OK

5、eclipse 只能开发java se ,要开发java ee,要装myeclipse  必须在图形界面下才能使用

6、同样copy 安装文件

7、./安装

 

JAVAEE开发环境搭建---tomcat安装

JAVA EE 的服务器有tomcat ,jboss,weblogic,websphere,resin... 这些都可以安装到linux下,下面安装tomcat:

1、COPY文件

2、tar -zxvf  ???.tar.gz   tomcat

 

./eclipse &  (不加&,终端不能输入)

开发一个JSP文件   暂不记录  后期再学JAVA

 

安装娱乐软件

绿色表示可执行文件(LINUX文件所代表意义)

制作iSO文件 挂载,与LINUX沟通  winiso

umount /mnt/cdrom

安装QQ软件

作用:tencent QQ for LINUX

  

LINUX 分区

硬盘分区:基本分区和扩展分区    数目之和不大于四个.

一块硬盘上:主分区+扩展分区<=四

扩展分区不能直接使用,需要分成逻辑分区才能使用

逻辑分区数量不限

XP下----我的电话----管理----磁盘 查看

主分区就是操作系统所在的区,一块硬盘一个主分区,除非双系统,,如C盘

扩展分区:不能马上使用,只能分成逻辑分区才能用,一个扩展分区可以分成N多逻辑分区

假设有一块硬盘 ,先分一个主分区,然后是扩展分区,

LINUX中,设备也是文件   ,要使用分区,直接“挂载”都可以了!所有的东西都是挂载到一个根目录下

案例:

df  -h

查看硬盘的分区

find -size + 100000K

命令:fdisk -l

查看LINUX系统分区具体情况

分区的名称LINUX有一规则

如/dev/sda1   /dev/sda2/

sd 代表所挂载的盘是  scsi硬盘   hd 代表是IDE

a 代表是第几个盘,

1代表是第一个分区

a为基本PAN,b为基本从属pan

c为辅助pan  ,d为辅助从属pan

1-4是主分区或扩展分区,5开始就是逻辑分区

df /boot/  查看分区挂载是的哪个分区

linux文件管理机制 利用挂载来使用分区的数据

mount /dev/sda1 /test      将文件挂以指定的目录

 

只有一个根目录 ,一个独立且唯一的文件系统

LINUX 安装(两种方式)

1、独立安装

2、虚拟机安装  分区是我键

/boot 分区100m

swap 交换分区,物理内存的2倍,不大于256m

/ 根分区,尽可能大

 

LINUX 第三天

LINUX的SHELL

TCP/IP基础

LINUX网络环境配置

RPM包管理

SAMBA安装和配置

 

SAMBA概念:

WINDOWS间可以通过网上领居来实现通信

LINUX与WINDOWS间实现共享:利用SAMBA服务

是一项基本的操作技能

 

SHELL

命令--------->>SHELL 解释成内核可以执行的代码------->>内核执行------->>返回控制台

SHELL还可以用来进行程序设计,用SHELL编程类似DOS下的批处理。称为,SHELL script

《LINUX 命令,编辑器和SHELL编程》

《linux与UNIX编程指南》

shell有很多种类,常用的有如下几种:

/bin/ash

/bin/bash----bash   中国常用

/bin/tcsh-----csh

/bin/ksh

查看电脑有多少个shell:

ls -l /bin/*sh

查看目前使用的是哪种SHELL

env [此命令可以显示当前操作系统的环境变量]

修改其它的SHELL

chsh -s 输入新的SHELL(/bin/csh)

注销下再重新登录,使用 env

不同的SHELL 可能有不同的命令

SHELL 命令补全功能  TAB

直接输入MK,再按两下TAB,出现两头两个字母为MK的命令。cat p再按两个TAB ,会出现开头字母为p 的文件或字母

 

查阅历史记录命令:history

无参数,就全部列出来

history 5  最近使用的5个命令

!5 :此项说明执行历史编号为5的命令

!ls :此项说明执行最后一次以"ls"开头的命令

 

TCP/IP基础 

 

网络的基础就是tcp/ip,不是一人独立的协议,而是一组协议 。tcp传输控制协议,IP协议,UDP协议等。

TCP/IP

人与人之间交流是用语言,计算机之间交流靠的是通讯协议

 

TCP/IP 由来:参看书

OSI模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层(理论)

TCP/IP模型(现实):链路层(与硬件驱动对话),网络层(定位IP地址和确定连路路径)

,传输层,应用层

书本:  TCP/IP详解:协议,实现,TCP事务协议  美国网络作家(网络学习)

 

QQ相互通讯的案例:

从上到下:(相当一个功能模块)

        

                           qq1                    qq2

应用层                您好!

传输层               

IP层(网络层)

链路层

网卡

您好经过“应用层”,就会加上一个APP头(表示是哪个应用程序发过来),0:45 2010-1-30:45 2010-1-3经过“传输层”后,会在前面加上一个TCP头,称为

TCP段,再经过IP层,会加一个ip头,是指发送到哪个地址。这样就是成了一个数据包。

经过链路层后,要会包加一个帧头和帧尾,发送给网卡。

经过路由器,最终到QQ2所在的网卡。然后逆向执行上述的一个过程,最后得到一个“你好”信息。

 

计算机---->>网关------->>因特网

IP地址包括网络号和主机号,所有IP地址都是32位,4个字节,a,b,c,d,e五类

A类的IP地址  0  7位网络号    主机号  1

b 类的IP地址  10  14网络号    主机号  128

c 类的IP地址  110 21位网络号   主机号 192

IPV6

内部IP:外面电脑无法访问到  192.168.0.2

外部IP:公网IP,电脑都可以访问到

如何查看外网ip   ping  www.baidu.com -t

追踪路由命令;tracert  www.baidu.com

 

1、追踪路由

tracert  IP或域名

2、ping命令

3、在windows下查看IP的命令  ipconfig

4、在linux/unix查看ip的命令  ifconfig

 

局域网广播   192.168.255.255

对一个子网广播

127.任意值,除去全零全1,都可以是回路,本机

 

子网:好管理,大划小

只要前面的网络号一样,就表示在一个子网里面

子网之间通过路由器来连接

linux下配置IP

第一种方法: root登录,运行setup----network configuration

1、用空格键  自动分配

2、手动IP TAB输入

 

配置完成后,重启生效/etc/rc.d/init.d/network restart

 

eth0  第一块网卡,eth1 第二块网卡.....

 

第二种方法

1、ifconfig eth0 192.168.88.44

2、ifconfig eth0 network XXXX ,子网掩码

 

只是临时有效

第三种方法

直接修改文件:/etc/sysconfig/network-scripts/ifcfg-eth0,这个文件中直接设置

里面的内容主要如下:

onboot=yes (NO=禁用)

bootproto=static(静态)/dhcp(动态)

注:在LINUX中所有的设备都是文件。方便编程!

 

RPM管理:redhat package manager

openlinux,suse,turbo也采有这个管理

apache-1.3.23-11.i386.rpm

apache软件名称

1.3.23-11软件的版本号,主版本与次版本

i386运行的硬件平台

 

RPM常用命令

如何查询linux中安装哪些RPM

rpm -qa

rpm -q mysql(查询是否装了mysql)

   -qi,-ql,-qf

安装RPM包

rpm -i RPM包全路径名称

删除RPM包

rpm -e jdk

升级RPM包

rpm -u RPM包全路径名称

windows 与linux如何通信

1、确保在同一个子网中,即网络号都一样

2、在linux安装samba服务器即可

如何安装samba

 

1、检查是否已经装了samba

rpm -q samba

2、有安装,就把它删除

rpm -e samba    rpm -e --nodeps  samba 忽略错误删除

 

3、把安装文件挂载到mount /mnt/cdrom/

4、 cp sam* /home

把sam开头的文件copy到home,准备安装

5、开始安装

先装cmmon

rpm -ivh  文件名

rpm -ivh samba-2.2............

安装成功

 

6、创建一个用户youyou

useradd youyou     自动创一个用户和组

youyou组   youyou 用户

passwd youyou

7、给youyou设置samba密码

cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

把/etc/passwd用户都复制到/etc/samba/smbpasswd中

8、设置密码

smbpasswd youyou

9、启动samba服务器

service smb start

service smb stop

service smb restart

linux IP 192.168.222.88

在windows命令行下输入\192.168.222.88

输入密码

OK

samba 的详细配置   [设置某个用户只能读的权限]

 

优势科技招聘linux程序的测试题   60分左右

 

linux 第四天(14讲)

目录

设置任务调度命令crontab

监控网络状态信息

Mysql数据库在LINUX下的使用

SSh(secure shell)的使用

FTP的安装与配置

 

知识点:

系统中监听端口: netstat -an

尽可能关闭不用的端口,提高安全性

SSH:可以使用软件远程登录  在linux下,有服务sshd,

root 登录,setup  ----system file ---sshd

ssh客户端 

多用户,多任务

 

任务调度命令   可以定时备份

冷备份(在不写入数据的情况下备份),热备份

分为系统工作,个别用户工作

 

任务调度的使用 crontab

1、设置任务调度文件

             crontab -e

2、每隔一定时间去执行date > (表覆盖)/home/mydata1   (>> 表追加)

希望每天凌晨两点半去执行date >>/home/mydata2,如下

crontab -e  ,加入如下代码:

0 2 * * * date >>/home/mydata2

0 2 * * *   表示第几分钟,小时,几号,月,星期几

如果希望每分钟执行

* * * * * date >>/home/mydata2

全部为*

crontab 最高精确到分

调度文件的规则:分,小,几号,月,星期  命令名称

如果月设为13,这时系统不会执行,也不会报错

3、如何去调度多个任务

1)在crontab  -e 中直接写

缺点:太多,太乱,不好管理,没有系统化

2)可以把所有的任务,写入到一个可执行文件(SHELL 编程),类似于windows批处理状态

建议用这个方法

vi mytask.sh  写入文件,如上

.sh 表示shell

chmod 修改权限  必须要有X权限

crontab  -e 进入,* * * * * /root/mytask.sh

可以把多个文件放到里面

 

4、如何终止任务

crontab  -r 终止任务  删除里面的内容

crontab  -l 列出当前有哪些任务调度

 

进程

 

在 XP中可以用任务管理器查看进程,查看,选择列,来查看详细的信息

进程概念:进程就是正在执行的程序。当双击一个程序后,任务管理器里面就有,出现一个进程

 

线程:

1)轻量级的进程

 

2)进程有独立的地址空间,线程没有

 

3)线程不能独立存在,它是由进程创建的(fork)

JAVA中用Thread

4)相对讲,线程所费的CPU和内存小于进程

地址空间

操作系统会将内存的一部分空间分给进程1,再启动一个进程, 操作系统会从内存中分一部分空间给进程2,但是空间不一定连续分!

蓝屏:很多情况下与内存有关,或是操作系统

所以操作系统要稳定,硬件有兼容性

LINUX 每个进程有两个方式存在, 一般服务都是以后台进程的启动

显示详细的进程信息

PS -aux [看的全面,信息也全]  静态显示

 

1号进程:说明

如何终止进程

kill 进程号          kill 16251

kill -9 进程号  强制删除  QQ踢出群 

killall

进程的动态监控  top

与PS相反,可以适实地反映现有的进程

top 

刀片机

up 4 min 表示系统启动了多长时间

1 user 表示当前有多少个用户登录这个系统

load average:负载均衡   当前系统负载情况

三个数加起来除以3,大于0.6,就要小心了!

37 processes  启动了多少个进程

0 zombie  僵尸进程数    一个进程不能被系统回收,未用仍占进程!

CPU states  idle  闲置的CPU   越大越好

Mem  内存信息  used   free

Swap 交换分区

按q 退出

指定监控某个用户  u

date 命令

设置时间   date mmddhhmmccyy.ss

月月日日时时分分年年年年.秒秒

cal  日历命令

显示网络统计信息的命令

netstat -an  (按一定顺序排序)

netstat -anp (要看进程号)| more

用kill 进程号,就可以杀掉进程

 

检测主机连接命令

ping

显示数据包经过历程命令:traceroute

就是追踪路由

route 显示路由表

每个路由器都有一个路由表,显示最近的路由表

握手机制

类似于古代的信使,驿站

 

Mysql 数据库

免费,跨平台 ,轻,支持多并发

安装mysql

1、准备安装文件,COPY到/home下

2、把安装文件解压

tar -zxvf 文件名.tar.gz

3、重命名  mv  原名   新名

4、开始安装

1)groupadd mysql  创建mysql组

2)useradd -g mysql mysql  将新建mysql用户放到mysql中

 

3)进入到mysql目录,scripts/mysql_install_db   --user=mysql   (初始化数据库)

4)chown -R root .(有一个点,表示当前目录及文件) (修改文件的所有者)

-R  递归,把当前目录与目录下的所有文件就修改为root

5)  chown -R mysql data (把data文件夹所有者修改为mysql)

6)chgrp -R mysql . (把当前组改为mysql)

7)启动mysql

bin/mysqld_safe  --user=mywql & [&表示以后台的方式启动]

8) 按CTRL+C 退出

myql 3306  端口

9)如何进行mysql

cd  /bin

 ./mywql -u root -p  回车

 

如何设置在任何目录都可以执行:

1、env  | more   path中没有指定mysql 路径

2、/root下找到,.bash_profile  存放用户变量

3、path中加入 /home/mywql/bin/

4、这样就可以使用了

 

使用mysql

特别注意mysql驱动要存放的位置

要放在JDK下面

主目录下/jre/lib/ext/

1、建立数据库和表

create database   名称;

show databases;

建表

use 数据库命令;说明在哪个DB下建表

create table users (useerID vachar(8),userName varchar(8));

2、加入部分数据

insert itno users  values ('','');

desc 表名,查看表的结构

 

3、 编写一个ShowUserS.java,显示数据库中的数据

 

 

备份和恢复mysql

备份:mysqldump -u root -p密码 数据库名 > mydata

 

进入到mysql 的安装目录下面

找到mysqldump -u root -p密码(无空格) 数据库名 > mydata

恢复:

mysql -u root -p密码 数据库名< mydata

(注意<这个符号,与前面的不一样)

 

从外面导入数据

 

LINUX学习  第五天

补充讲解ssh

LINUX启动过程分析

压缩与解压方法

LINUX下JAVA网络编程

LINUX面试题评讲

循环备份:圆圈   如何实现???

 

SSH,几乎所有的LINUX程序都会用SSH,远程操作及文件的上传下载

1、安装SSH   就在WINDOWS下安装

 

包括两个文件图标,一个是远程操作,一个文件下载上传

SSH工作原理:下一个SSH来实验下

   必须先在WINDOWS先安装SSH客户端,LINUX会默认安装一个SSHD的服务,默认是启动的。 端口:22

2、使用SSh客户端登录到LINUX(前提是lINUX的SSHD服务启动),并且确保WINDOWS与LINUX能够相互通信,在同一个了网内

3、双击客户端,点quick connect

查看有几个用户 top   2 user

如何踢掉一个用户  :

1、netstat -anp |more

查看端口与进程号 

 

(服务器端口22不变,客户端会被服务器分配不同的端口)

2、kill -9 进程号

文件上传下载:(与SAMBA、FTP重复)

NEW file transport

补充讲解:--------------复习

LINUX 目录结构

当前目录:pwd 就可以查看当前目录

相对路径:以当前目录为基点,寻找另外的目录

绝对路径:以根目录为基点,寻找另外的目录(以/开头)

工作目录:工程或软件安装所在的根目录

运行级别   3  5   /etc/inittab

 

pwd

cd  : cd 后空,会进入到用户的主目录下

 如 cd    就到 /xiaoming

ls -al

mkdir

rmdir :删除空目录    rm -rf aaaaa,删除非空目录

touch

cp -rf dir1 dir 2 (r递归复制)(f不询问,慎用 )

cp -r workspace /  /home

mv

rm

rm -rf  (删除所有内容)

ln -s  源   目标   (快捷方式)

ln -s /root/abc3.java    toabc3

toabc3 -> /root/abc2.java   文件类型为"l"

作用:共享类库,共享函数库  安全性,替身

more

less

grep   在文本中查询内容

grep -n "12"   /root/abc3.java  /home/  (多个查询)

-n 在第几行

 

|  管道命令

find

搜索文件及目录

在特定目录下搜索   find /home -name abc

还在可以按时间搜索、大小

find /home -amin -10/+10 a表存取

find /home -cmin -10  c表变更

find /home -size +10K   以K表示

重定向命令  输出>    >>       导入<

SHELL脚本文件:文本文件,执行方式:./dd.sh

permission denied   请检查权限   chmod

TAB 命令补全

history

用户登录后系统执行.bashrc,把用户需要程序随用户登录时而自动启动      它是在根目录下

配置.bashrc文件可以指定某些程序在用户登录的时侯就自动启动,在每个用户目录下都有这个文件

vi .bashrc

目录.sh   start

 

/home/xiaoming /.bash_profile   这个是用户环境变量,只对用户自己有用

/etc/profile  主要是配置环境变量  系统环境变量

JDK,toMCAT  公共的环境变量

当你希望临时加入一个路径时,就可以使用export

比如:export PATH=$path:/root

用env查看

root下命令就可以其它用

echo $path  输出 ****

通配符   *  多个字母或数字     ?  一个  [] 

ls abc[1-6].tif   abc1,abc2,

alias 给系统命令取一个别名

比如,一个命令如下:

ls -l /home

取别名

alias llh='ls -l /home'

启动过程分析   9个步骤

按下POWER

bios-----  grub/lilo-----运行内核并检测硬件-----运行系统的第一个进程init(ps -aux)-----  init读取/etc/inittab进行信息初始化-----/etc/rc.d/rc.sysinit系统初始化

脚本------/etc/rc.d/rcX.d------执地本地特殊配置-----其它特殊服务

 

使用zip和unzip压缩和解压

压缩文件

单个文件压缩     zip aa.zip 文件名

多个文件压缩zip aa.zip 文件名1 文件名2  文件名3

把整个目录打包   zip -r aa.zip  文件夹路径

 

解压缩

unzip aa.zip

gzip与gunzip .gz文件

 

LINUX JAVA网络编程 ----myqq

 

如何用JAVA进行socket编程   socket联接

 

  

 

ITIL服务台操作教程

 

2010年2月5日

历史上的今天

相关文章

    * Linux 文件内容统计命令

    * linux对文件操作命令集合

    * Linux常用文件命令

    * Linux文件管理常用命令

    * Linux操作系统文件操作(命令)

最近读者

 

LINUX----(韩顺平版)

LINUX 笔记 2010-01-04 08:46:32 阅读468 评论1   字号:大中小 订阅

学习LINUX的两个方向:

LINUX系统管理员:

LINUX程序员:PC平台开发LINUX软件工程师,LINUX嵌入式开发(单片机,芯片)开发,

 

学完本书可以完全可以胜任LINUX系统管理员

开源,免费,稳定,安全,处理多并发得到业界认可

LINUX学习流程:

1、LINUX平台上的开发,包括VI,GCC,GDB,MAKE,JDK,TOMCAT,MYSQL,和LINUX基本操作

2、加厚C语言功能或者JAVA语言

3、学习UNIX环境高级编程

4、LINUX应用开发或才嵌入式开发

 

工具书(需要几本工具书,如新华字典)

思考----实践-----再思考----再实践

一周课程:

 

基础部分: LINUX基础知识,80个常用命令,LINUX分区/VI/权限..

实用部分:samba安装,LINUX网络环境配置,crontab使用,JDK,apache安装,LINUX下JAVA网络编程,SHELL初步介绍

三本书:鸟哥的私房菜,LINUX从入门到精通,LINUX内核完全剖解

 

LINUX实战第一天(共五天)

1、LINUX的初步介绍

2、L的第一次接触

3、L的用户管理

4、L的常用命令(80左右)

5、L下所有者,所在组和其它组的介绍

6、L下文件和目录权限机制

吉祥物:小企鹅(想起小时侯被企鹅咬了一口),芬生学生创建,微软反LINUX广告(四个变形动物),

L的特点:

1、FREE ,免费/开源,代码公开

2、支持多线程,能不能允许多个用户并发/多用户

3、安全性好,

4、对内存和文件管理优越

缺点:

操作相对困难,无界面操作  (容易的东西不值难)

 

 

NEC  在手机使用LINUX,03年,日本的一家公司,嵌入式开发

 

LINUX最小只需要4M (参看鸟哥)----- 导致嵌入式开发

 

可以很多东西看一看,但要学精一门。

历史

1960年,MIT,(麻省理工学院)30个人同时使用此主机(分时操作系统)!

1965年,MIT,GE,BELL实验室让分时系统由30个人操作变成到300个同时使用,分时操作,MULTIS计划(火星计划)

1969年,火星计划终于失败,出现了KEN TOMPSON,(同时也是C语言的设计者),开发了一个flile server system(文件服务系统)。在BELL实验室受到欢迎!加入

一个同事,RICHERS

1973年,他们开发出UNIX,开源,将源码共享,有几家公司就加入,分析. 出现了IBM  aix (也是UNIX),SUN公司solaris (也是UNIX),HP公司 HP unix ,FREE

BAD,伯克利分校

各个操作系统只对自己公司的硬件提供支持

 

中国移动类似的大企业都是UNIX

同时由UNIX出现了minix操作系统,linus在91年的时侯,接触到minix操作系统,有一台pc 386,想将minix移值到pc 386年。94年,发布了1.0 版式,取名为

linux (第二种说法:linus is  not unix)。没有桌面,只有字符界面。

LINUX 产生如下几家公司:

REDHAT(二次开发),S.U.SE整合了很多套件(欧洲),红旗linux,等

命令:

注意:操作过程中使用的VM虚拟一个LINUX操作系统。VM就是虚拟机,

root:超级管理员

LINUX输入密码不显示任何东西

进入桌面命令:startx  

 

关机:shutdown -h now

重启:shutdown -r  now /reboot

尽量少用root登录,用普通用户,“su -”来切换

注销  logout   快捷键ctrl+D

VI编辑器 开发者(世界第一骇客,成为了自由软件协会)

(丢手帕问题,JAVA编写  约瑟夫问题 要用链表,数组)

把VI当作WINDOW下的记事本

在VI下开发一个JAVA HELLO.java

开发步骤:

1、Vi HELLO.java  进入VI界面

2、输入“i”(小写),插入模式   左下角insert

3、编写一个JAVA   public class HEllo{}

4、保存  esc键,进入命令模式

5、输入冒号:,保存退出wq,q!退出不保存

ls   查看当前目录的所有文件

详细列表: ls -l  (详细信息)   ls -al(显示隐藏文件,详细信息)

6、编译HELLO.java     javac hello.java

7、运行 java hello   (LINUX成功不显示)

如何在linux可以开发C程序或者C++(CPP)

1、vi hello.cpp

2、int main(){ printf ("hello!")}........

3、编辑  gcc (类似javac) 出现a.out

4、运行  ./a.out   (./)

如果再重写一个cpp,会覆盖前面的a.out

解决方法: gcc -o my1  直接命名

VI编辑器的详细命令,查看书!

 

LINUX的文件目录  (第三讲  11分)

L的文件系统是采用级层式的树状目录结构,最上层的根目录:/:,

重要的文件目录(系统分配的目录);

ROOT:存放ROOT用户的相关文件

HOME :存放普通用户的相关文件(新建的用户)

BIN:存放常用命令的目录   cd 切换目录  ls dir

SBIN:存放要具有一定权限才可以使用的命令

MNT:默认挂载光驱和软驱的目录

ETC:存放配置相关的文件,mysql,tomcat,

USR:文件默认安装的文件夹,类似XP的program files

VAR:存放经常变化的数据,如网页,apache

BOOT:存放引导相关的文件

显示当前在哪个目录:pwd

用户管理

添加用户  useradd    useradd xiaoming

设置密码  passwd     passwd xiaoming 系统会提示输入新密码,两次输入

提示符#表示root用户 $ 表示普通用户

删除用户  userdel      userdel  xiaoming 只是删除用户名称  OR  userdel -r xiaoming 删除用户以及用户主目录

init  运行级别(XP的安全模式与正常的启动模式)

0 关机

1 单用户

2 多用户状态没有网络服务

3 多用户有网络服务

4 系统未使用保留多用户

5 图形界面  startx

6 系统重启

常用的是3与5,要修改可改文件  /etc/inittab的

id:5:initdefault:这一行中的数字

su 切换用户,或者 logout

设为6后一直重启,如何更改:

在启用GRUB的时侯,按“e”,选中第二项,按“e”,进入修改界面,在最后输入空格+1,这个就是表示1号运行级别。只能用1来启动!,最后按b  。

用运行级别1 可以绕过ROOT密码,不需要密码就可以用,用passwd就OK

如何找回丢失密码

ls  -a  显示隐匿文件               -l显示长列表格式

mkdir 建立目录     

rmdir  删除空目录   如果有内容?

TAB 命令补全  相同的话,可以按两次

touch  建立空文件

cp  cp -r dir1 dir2  递归复制

mv

rm   参数

rm -rf

ln

ln -s

more  分页显示不能前翻  crtl+pageup  空格向后翻;

less 分页显示,可以向前翻

grep在文本中查询   grep  -n (显示行数)"关键字"  文件名称

 | 管道命令   在LINUX和UNIX系统中,|就是管道命令,怎么理解?

把上一个命令的结果交给|的后面的命令处理

即上一个处理的结果就是下一个命令的输入

man  找男人  相当于DOS 下的HELP

find 搜索文件及目录

find /-name aaa.java   /表示根目录,

find /root/ -name aaa.java 锁定范围

数据重定向  将操作流保存到另一个地方

grep  -n (显示行数)"关键字"  文件名称 > kkk.bak    >输出到

ls -l > a.txt

ls -al

>> 追加写

>覆盖写

 

LINUX  第二天  韩顺平PPT下载

搭建JAVA ee

L下可以用realplay吗

L可以用QQ吗

L分区的讲解

REAHAT安装演示

 

文件所有者,所在组,其它组

OWNER ; GROUP;OTHERS

可以更件文件的所有者,chown

也可以改变用户组 chgrp

案例:建两个组, policeman ,tufei

建三个用户:along ,panpan( 属于policeman),ashuai(属于tufei)

用along 这个用户登录到系统,创建一个文件,ls -1

 

 

现在添加组  只能在ROOT下操作

groupadd policeman

如何查看现有组:vi /etc/group     cat /etc/group

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

cat 只能看不能写,VI可以看可以改

创建用户,并添加到指定组

useradd -g  组名 用户名

useradd -g policeman along

UID用户ID,GID组ID

权限,详情查看NIAO哥的书:98

以-rw-r--r--为例

第一个“-” 表示文件,如果是目录就用“d”表示

 

第二--四:代表文件所有组对此文件所具有的权限

R可读  数字表示4   W可写   数字表示2  X可执行 数字表示1

文件最大权限666,目录最大权限777

第五--七:代表文件所在组对此文件所具有的权限

第八--十:代表其它组对此文件所具有的权限

如何修改文件的访问权限的问题:(panpan 无法进入along 主目录)

1、查看along 主目录的属性    drwx------

2、修改along主目录的属性(进入root或者文件夹所有者)  chmod  777 along

命令: who am i 查看当前使用者是谁,

chmod 修改权限   

 

任务:可以让PANPAN修改myTEST.java

chmod  664  myTEST.java

把一个用户移值到另一个组:

usermod -g 组名 用户名

usermod -g policeman ashuai

chown 用户名  文件名 修改文件所有者

chgrp  组名   文件名   修改文件所有组

 

 

JAVAEE开发环境搭建---JDK安装

1、把mypackage.ISO文件挂载到linux操作系统中去。在虚拟机做配置,用mount /mnt/cdrom

何为挂载: 需要哪个分区就挂载哪个分区,用完要umount(详细)

虚拟机---设置----硬件标签   cd-rom  使用iso镜象

 

虚拟机---设置----选项标签  共享windows里面的文件夹      也可以samba

mount /mnt/cdrom/ 

cd /mnt/cdrom/

不需要挂载:

umount /mnt/cdrom/

2、把安装文件COPY到/home

 

cp 文件 /home    名称很长,用tab 补全

一个操作系统可以用多个JDK

3、cd /home 

4、安装  ./文件名

5、看看一个文件  /etc/profile  [环境配置文件]

在VI中用#注释#####,注释掉以前的JAVA环境变量

6、配置刚才自己安装的JDK

JAVA_HOME=.....

PATH=$PATH(作用是不破坏以前的path):

CLASSPATH=.:/.......

export JAVA_HOME PATH CLASSPATH

export 引入

 

JAVAEE开发环境搭建---eclipse安装

1、同上,挂载

2、把安装文件COPY到/home

3、tar.gz  文件    tar -zxvf  ???.tar.gz  安装即可

4、启动eclipse [必须先进入图形界面] ,打开终端,cd/home/   ./eclipse        OK

进到终端:注销图形界面就OK

5、eclipse 只能开发java se ,要开发java ee,要装myeclipse  必须在图形界面下才能使用

6、同样copy 安装文件

7、./安装

 

JAVAEE开发环境搭建---tomcat安装

JAVA EE 的服务器有tomcat ,jboss,weblogic,websphere,resin... 这些都可以安装到linux下,下面安装tomcat:

1、COPY文件

2、tar -zxvf  ???.tar.gz   tomcat

 

./eclipse &  (不加&,终端不能输入)

开发一个JSP文件   暂不记录  后期再学JAVA

 

安装娱乐软件

绿色表示可执行文件(LINUX文件所代表意义)

制作iSO文件 挂载,与LINUX沟通  winiso

umount /mnt/cdrom

安装QQ软件

作用:tencent QQ for LINUX

  

LINUX 分区

硬盘分区:基本分区和扩展分区    数目之和不大于四个.

一块硬盘上:主分区+扩展分区<=四

扩展分区不能直接使用,需要分成逻辑分区才能使用

逻辑分区数量不限

XP下----我的电话----管理----磁盘 查看

主分区就是操作系统所在的区,一块硬盘一个主分区,除非双系统,,如C盘

扩展分区:不能马上使用,只能分成逻辑分区才能用,一个扩展分区可以分成N多逻辑分区

假设有一块硬盘 ,先分一个主分区,然后是扩展分区,

LINUX中,设备也是文件   ,要使用分区,直接“挂载”都可以了!所有的东西都是挂载到一个根目录下

案例:

df  -h

查看硬盘的分区

find -size + 100000K

命令:fdisk -l

查看LINUX系统分区具体情况

分区的名称LINUX有一规则

如/dev/sda1   /dev/sda2/

sd 代表所挂载的盘是  scsi硬盘   hd 代表是IDE

a 代表是第几个盘,

1代表是第一个分区

a为基本PAN,b为基本从属pan

c为辅助pan  ,d为辅助从属pan

1-4是主分区或扩展分区,5开始就是逻辑分区

df /boot/  查看分区挂载是的哪个分区

linux文件管理机制 利用挂载来使用分区的数据

mount /dev/sda1 /test      将文件挂以指定的目录

 

只有一个根目录 ,一个独立且唯一的文件系统

LINUX 安装(两种方式)

1、独立安装

2、虚拟机安装  分区是我键

/boot 分区100m

swap 交换分区,物理内存的2倍,不大于256m

/ 根分区,尽可能大

 

LINUX 第三天

LINUX的SHELL

TCP/IP基础

LINUX网络环境配置

RPM包管理

SAMBA安装和配置

 

SAMBA概念:

WINDOWS间可以通过网上领居来实现通信

LINUX与WINDOWS间实现共享:利用SAMBA服务

是一项基本的操作技能

 

SHELL

命令--------->>SHELL 解释成内核可以执行的代码------->>内核执行------->>返回控制台

SHELL还可以用来进行程序设计,用SHELL编程类似DOS下的批处理。称为,SHELL script

《LINUX 命令,编辑器和SHELL编程》

《linux与UNIX编程指南》

shell有很多种类,常用的有如下几种:

/bin/ash

/bin/bash----bash   中国常用

/bin/tcsh-----csh

/bin/ksh

查看电脑有多少个shell:

ls -l /bin/*sh

查看目前使用的是哪种SHELL

env [此命令可以显示当前操作系统的环境变量]

修改其它的SHELL

chsh -s 输入新的SHELL(/bin/csh)

注销下再重新登录,使用 env

不同的SHELL 可能有不同的命令

SHELL 命令补全功能  TAB

直接输入MK,再按两下TAB,出现两头两个字母为MK的命令。cat p再按两个TAB ,会出现开头字母为p 的文件或字母

 

查阅历史记录命令:history

无参数,就全部列出来

history 5  最近使用的5个命令

!5 :此项说明执行历史编号为5的命令

!ls :此项说明执行最后一次以"ls"开头的命令

 

TCP/IP基础 

 

网络的基础就是tcp/ip,不是一人独立的协议,而是一组协议 。tcp传输控制协议,IP协议,UDP协议等。

TCP/IP

人与人之间交流是用语言,计算机之间交流靠的是通讯协议

 

TCP/IP 由来:参看书

OSI模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层(理论)

TCP/IP模型(现实):链路层(与硬件驱动对话),网络层(定位IP地址和确定连路路径)

,传输层,应用层

书本:  TCP/IP详解:协议,实现,TCP事务协议  美国网络作家(网络学习)

 

QQ相互通讯的案例:

从上到下:(相当一个功能模块)

        

                           qq1                    qq2

应用层                您好!

传输层               

IP层(网络层)

链路层

网卡

您好经过“应用层”,就会加上一个APP头(表示是哪个应用程序发过来),0:45 2010-1-30:45 2010-1-3经过“传输层”后,会在前面加上一个TCP头,称为

TCP段,再经过IP层,会加一个ip头,是指发送到哪个地址。这样就是成了一个数据包。

经过链路层后,要会包加一个帧头和帧尾,发送给网卡。

经过路由器,最终到QQ2所在的网卡。然后逆向执行上述的一个过程,最后得到一个“你好”信息。

 

计算机---->>网关------->>因特网

IP地址包括网络号和主机号,所有IP地址都是32位,4个字节,a,b,c,d,e五类

A类的IP地址  0  7位网络号    主机号  1

b 类的IP地址  10  14网络号    主机号  128

c 类的IP地址  110 21位网络号   主机号 192

IPV6

内部IP:外面电脑无法访问到  192.168.0.2

外部IP:公网IP,电脑都可以访问到

如何查看外网ip   ping  www.baidu.com -t

追踪路由命令;tracert  www.baidu.com

 

1、追踪路由

tracert  IP或域名

2、ping命令

3、在windows下查看IP的命令  ipconfig

4、在linux/unix查看ip的命令  ifconfig

 

局域网广播   192.168.255.255

对一个子网广播

127.任意值,除去全零全1,都可以是回路,本机

 

子网:好管理,大划小

只要前面的网络号一样,就表示在一个子网里面

子网之间通过路由器来连接

linux下配置IP

第一种方法: root登录,运行setup----network configuration

1、用空格键  自动分配

2、手动IP TAB输入

 

配置完成后,重启生效/etc/rc.d/init.d/network restart

 

eth0  第一块网卡,eth1 第二块网卡.....

 

第二种方法

1、ifconfig eth0 192.168.88.44

2、ifconfig eth0 network XXXX ,子网掩码

 

只是临时有效

第三种方法

直接修改文件:/etc/sysconfig/network-scripts/ifcfg-eth0,这个文件中直接设置

里面的内容主要如下:

onboot=yes (NO=禁用)

bootproto=static(静态)/dhcp(动态)

注:在LINUX中所有的设备都是文件。方便编程!

 

RPM管理:redhat package manager

openlinux,suse,turbo也采有这个管理

apache-1.3.23-11.i386.rpm

apache软件名称

1.3.23-11软件的版本号,主版本与次版本

i386运行的硬件平台

 

RPM常用命令

如何查询linux中安装哪些RPM

rpm -qa

rpm -q mysql(查询是否装了mysql)

   -qi,-ql,-qf

安装RPM包

rpm -i RPM包全路径名称

删除RPM包

rpm -e jdk

升级RPM包

rpm -u RPM包全路径名称

windows 与linux如何通信

1、确保在同一个子网中,即网络号都一样

2、在linux安装samba服务器即可

如何安装samba

 

1、检查是否已经装了samba

rpm -q samba

2、有安装,就把它删除

rpm -e samba    rpm -e --nodeps  samba 忽略错误删除

 

3、把安装文件挂载到mount /mnt/cdrom/

4、 cp sam* /home

把sam开头的文件copy到home,准备安装

5、开始安装

先装cmmon

rpm -ivh  文件名

rpm -ivh samba-2.2............

安装成功

 

6、创建一个用户youyou

useradd youyou     自动创一个用户和组

youyou组   youyou 用户

passwd youyou

7、给youyou设置samba密码

cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

把/etc/passwd用户都复制到/etc/samba/smbpasswd中

8、设置密码

smbpasswd youyou

9、启动samba服务器

service smb start

service smb stop

service smb restart

linux IP 192.168.222.88

在windows命令行下输入\192.168.222.88

输入密码

OK

samba 的详细配置   [设置某个用户只能读的权限]

 

优势科技招聘linux程序的测试题   60分左右

 

linux 第四天(14讲)

目录

设置任务调度命令crontab

监控网络状态信息

Mysql数据库在LINUX下的使用

SSh(secure shell)的使用

FTP的安装与配置

 

知识点:

系统中监听端口: netstat -an

尽可能关闭不用的端口,提高安全性

SSH:可以使用软件远程登录  在linux下,有服务sshd,

root 登录,setup  ----system file ---sshd

ssh客户端 

多用户,多任务

 

任务调度命令   可以定时备份

冷备份(在不写入数据的情况下备份),热备份

分为系统工作,个别用户工作

 

任务调度的使用 crontab

1、设置任务调度文件

             crontab -e

2、每隔一定时间去执行date > (表覆盖)/home/mydata1   (>> 表追加)

希望每天凌晨两点半去执行date >>/home/mydata2,如下

crontab -e  ,加入如下代码:

0 2 * * * date >>/home/mydata2

0 2 * * *   表示第几分钟,小时,几号,月,星期几

如果希望每分钟执行

* * * * * date >>/home/mydata2

全部为*

crontab 最高精确到分

调度文件的规则:分,小,几号,月,星期  命令名称

如果月设为13,这时系统不会执行,也不会报错

3、如何去调度多个任务

1)在crontab  -e 中直接写

缺点:太多,太乱,不好管理,没有系统化

2)可以把所有的任务,写入到一个可执行文件(SHELL 编程),类似于windows批处理状态

建议用这个方法

vi mytask.sh  写入文件,如上

.sh 表示shell

chmod 修改权限  必须要有X权限

crontab  -e 进入,* * * * * /root/mytask.sh

可以把多个文件放到里面

 

4、如何终止任务

crontab  -r 终止任务  删除里面的内容

crontab  -l 列出当前有哪些任务调度

 

进程

 

在 XP中可以用任务管理器查看进程,查看,选择列,来查看详细的信息

进程概念:进程就是正在执行的程序。当双击一个程序后,任务管理器里面就有,出现一个进程

 

线程:

1)轻量级的进程

 

2)进程有独立的地址空间,线程没有

 

3)线程不能独立存在,它是由进程创建的(fork)

JAVA中用Thread

4)相对讲,线程所费的CPU和内存小于进程

地址空间

操作系统会将内存的一部分空间分给进程1,再启动一个进程, 操作系统会从内存中分一部分空间给进程2,但是空间不一定连续分!

蓝屏:很多情况下与内存有关,或是操作系统

所以操作系统要稳定,硬件有兼容性

LINUX 每个进程有两个方式存在, 一般服务都是以后台进程的启动

显示详细的进程信息

PS -aux [看的全面,信息也全]  静态显示

 

1号进程:说明

如何终止进程

kill 进程号          kill 16251

kill -9 进程号  强制删除  QQ踢出群 

killall

进程的动态监控  top

与PS相反,可以适实地反映现有的进程

top 

刀片机

up 4 min 表示系统启动了多长时间

1 user 表示当前有多少个用户登录这个系统

load average:负载均衡   当前系统负载情况

三个数加起来除以3,大于0.6,就要小心了!

37 processes  启动了多少个进程

0 zombie  僵尸进程数    一个进程不能被系统回收,未用仍占进程!

CPU states  idle  闲置的CPU   越大越好

Mem  内存信息  used   free

Swap 交换分区

按q 退出

指定监控某个用户  u

date 命令

设置时间   date mmddhhmmccyy.ss

月月日日时时分分年年年年.秒秒

cal  日历命令

显示网络统计信息的命令

netstat -an  (按一定顺序排序)

netstat -anp (要看进程号)| more

用kill 进程号,就可以杀掉进程

 

检测主机连接命令

ping

显示数据包经过历程命令:traceroute

就是追踪路由

route 显示路由表

每个路由器都有一个路由表,显示最近的路由表

握手机制

类似于古代的信使,驿站

 

Mysql 数据库

免费,跨平台 ,轻,支持多并发

安装mysql

1、准备安装文件,COPY到/home下

2、把安装文件解压

tar -zxvf 文件名.tar.gz

3、重命名  mv  原名   新名

4、开始安装

1)groupadd mysql  创建mysql组

2)useradd -g mysql mysql  将新建mysql用户放到mysql中

 

3)进入到mysql目录,scripts/mysql_install_db   --user=mysql   (初始化数据库)

4)chown -R root .(有一个点,表示当前目录及文件) (修改文件的所有者)

-R  递归,把当前目录与目录下的所有文件就修改为root

5)  chown -R mysql data (把data文件夹所有者修改为mysql)

6)chgrp -R mysql . (把当前组改为mysql)

7)启动mysql

bin/mysqld_safe  --user=mywql & [&表示以后台的方式启动]

8) 按CTRL+C 退出

myql 3306  端口

9)如何进行mysql

cd  /bin

 ./mywql -u root -p  回车

 

如何设置在任何目录都可以执行:

1、env  | more   path中没有指定mysql 路径

2、/root下找到,.bash_profile  存放用户变量

3、path中加入 /home/mywql/bin/

4、这样就可以使用了

 

使用mysql

特别注意mysql驱动要存放的位置

要放在JDK下面

主目录下/jre/lib/ext/

1、建立数据库和表

create database   名称;

show databases;

建表

use 数据库命令;说明在哪个DB下建表

create table users (useerID vachar(8),userName varchar(8));

2、加入部分数据

insert itno users  values ('','');

desc 表名,查看表的结构

 

3、 编写一个ShowUserS.java,显示数据库中的数据

 

 

备份和恢复mysql

备份:mysqldump -u root -p密码 数据库名 > mydata

 

进入到mysql 的安装目录下面

找到mysqldump -u root -p密码(无空格) 数据库名 > mydata

恢复:

mysql -u root -p密码 数据库名< mydata

(注意<这个符号,与前面的不一样)

 

从外面导入数据

 

LINUX学习  第五天

补充讲解ssh

LINUX启动过程分析

压缩与解压方法

LINUX下JAVA网络编程

LINUX面试题评讲

循环备份:圆圈   如何实现???

 

SSH,几乎所有的LINUX程序都会用SSH,远程操作及文件的上传下载

1、安装SSH   就在WINDOWS下安装

 

包括两个文件图标,一个是远程操作,一个文件下载上传

SSH工作原理:下一个SSH来实验下

   必须先在WINDOWS先安装SSH客户端,LINUX会默认安装一个SSHD的服务,默认是启动的。 端口:22

2、使用SSh客户端登录到LINUX(前提是lINUX的SSHD服务启动),并且确保WINDOWS与LINUX能够相互通信,在同一个了网内

3、双击客户端,点quick connect

查看有几个用户 top   2 user

如何踢掉一个用户  :

1、netstat -anp |more

查看端口与进程号 

 

(服务器端口22不变,客户端会被服务器分配不同的端口)

2、kill -9 进程号

文件上传下载:(与SAMBA、FTP重复)

NEW file transport

补充讲解:--------------复习

LINUX 目录结构

当前目录:pwd 就可以查看当前目录

相对路径:以当前目录为基点,寻找另外的目录

绝对路径:以根目录为基点,寻找另外的目录(以/开头)

工作目录:工程或软件安装所在的根目录

运行级别   3  5   /etc/inittab

 

pwd

cd  : cd 后空,会进入到用户的主目录下

 如 cd    就到 /xiaoming

ls -al

mkdir

rmdir :删除空目录    rm -rf aaaaa,删除非空目录

touch

cp -rf dir1 dir 2 (r递归复制)(f不询问,慎用 )

cp -r workspace /  /home

mv

rm

rm -rf  (删除所有内容)

ln -s  源   目标   (快捷方式)

ln -s /root/abc3.java    toabc3

toabc3 -> /root/abc2.java   文件类型为"l"

作用:共享类库,共享函数库  安全性,替身

more

less

grep   在文本中查询内容

grep -n "12"   /root/abc3.java  /home/  (多个查询)

-n 在第几行

 

|  管道命令

find

搜索文件及目录

在特定目录下搜索   find /home -name abc

还在可以按时间搜索、大小

find /home -amin -10/+10 a表存取

find /home -cmin -10  c表变更

find /home -size +10K   以K表示

重定向命令  输出>    >>       导入<

SHELL脚本文件:文本文件,执行方式:./dd.sh

permission denied   请检查权限   chmod

TAB 命令补全

history

用户登录后系统执行.bashrc,把用户需要程序随用户登录时而自动启动      它是在根目录下

配置.bashrc文件可以指定某些程序在用户登录的时侯就自动启动,在每个用户目录下都有这个文件

vi .bashrc

目录.sh   start

 

/home/xiaoming /.bash_profile   这个是用户环境变量,只对用户自己有用

/etc/profile  主要是配置环境变量  系统环境变量

JDK,toMCAT  公共的环境变量

当你希望临时加入一个路径时,就可以使用export

比如:export PATH=$path:/root

用env查看

root下命令就可以其它用

echo $path  输出 ****

通配符   *  多个字母或数字     ?  一个  [] 

ls abc[1-6].tif   abc1,abc2,

alias 给系统命令取一个别名

比如,一个命令如下:

ls -l /home

取别名

alias llh='ls -l /home'

启动过程分析   9个步骤

按下POWER

bios-----  grub/lilo-----运行内核并检测硬件-----运行系统的第一个进程init(ps -aux)-----  init读取/etc/inittab进行信息初始化-----/etc/rc.d/rc.sysinit系统初始化

脚本------/etc/rc.d/rcX.d------执地本地特殊配置-----其它特殊服务

 

使用zip和unzip压缩和解压

压缩文件

单个文件压缩     zip aa.zip 文件名

多个文件压缩zip aa.zip 文件名1 文件名2  文件名3

把整个目录打包   zip -r aa.zip  文件夹路径

 

解压缩

unzip aa.zip

gzip与gunzip .gz文件

 

LINUX JAVA网络编程 ----myqq

 

如何用JAVA进行socket编程   socket联接

 

  

 

ITIL服务台操作教程

 

2010年2月5日

历史上的今天

相关文章

    * Linux 文件内容统计命令

    * linux对文件操作命令集合

    * Linux常用文件命令

    * Linux文件管理常用命令

    * Linux操作系统文件操作(命令)

最近读者

你可能感兴趣的:(linux)