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最小只需要4M (参看鸟哥)----- 导致嵌入式开发
可以很多东西看一看,但要学精一门。
历史
1960年,MIT,(麻省理工学院)30个人同时使用此主机(分时操作系统)!
1965年,MIT,GE,BELL实验室让分时系统由30个人操作变成到300个同时使用,分时操作,MULTIS计划(火星计划)
1969年,火星计划终于失败,出现了KEN TOMPSON,(同时也是C语言的设计者),开发了一个flile server system(文件服务系统)。在BELL实验室受到欢迎!加入
一个同事,RICHERS
1973年,他们开发出UNIX,开源,将源码共享,有几家公司就加入,分析. 出现了IBM
BAD,伯克利分校
各个操作系统只对自己公司的硬件提供支持
中国移动类似的大企业都是UNIX
同时由UNIX出现了minix操作系统,linus在91年的时侯,接触到minix操作系统,有一台pc 386,想将minix移值到pc 386年。94年,发布了1.0 版式,取名为
linux (第二种说法:linus is
LINUX 产生如下几家公司:
REDHAT(二次开发),S.U.SE整合了很多套件(欧洲),红旗linux,等
命令:
注意:操作过程中使用的VM虚拟一个LINUX操作系统。VM就是虚拟机,
root:超级管理员
LINUX输入密码不显示任何东西
进入桌面命令:startx
关机:shutdown -h now
重启:shutdown -r
尽量少用root登录,用普通用户,“su -”来切换
注销
VI编辑器 开发者(世界第一骇客,成为了*软件协会)
(丢手帕问题,JAVA编写
把VI当作WINDOW下的记事本
在VI下开发一个JAVA HELLO.java
开发步骤:
1、Vi HELLO.java
2、输入“i”(小写),插入模式
3、编写一个JAVA
4、保存
5、输入冒号:,保存退出wq,q!退出不保存
ls
详细列表: ls -l
6、编译HELLO.java
7、运行 java hello
如何在linux可以开发C程序或者C++(CPP)
1、vi hello.cpp
2、int main(){ printf ("hello!")}........
3、编辑
4、运行
如果再重写一个cpp,会覆盖前面的a.out
解决方法: gcc -o my1
VI编辑器的详细命令,查看书!
LINUX的文件目录
L的文件系统是采用级层式的树状目录结构,最上层的根目录:/:,
重要的文件目录(系统分配的目录);
ROOT:存放ROOT用户的相关文件
HOME :存放普通用户的相关文件(新建的用户)
BIN:存放常用命令的目录
SBIN:存放要具有一定权限才可以使用的命令
MNT:默认挂载光驱和软驱的目录
ETC:存放配置相关的文件,mysql,tomcat,
USR:文件默认安装的文件夹,类似XP的program files
VAR:存放经常变化的数据,如网页,apache
BOOT:存放引导相关的文件
显示当前在哪个目录:pwd
用户管理
添加用户
设置密码
提示符#表示root用户 $ 表示普通用户
删除用户
init
0 关机
1 单用户
2 多用户状态没有网络服务
3 多用户有网络服务
4 系统未使用保留多用户
5 图形界面
6 系统重启
常用的是3与5,要修改可改文件
id:5:initdefault:这一行中的数字
su 切换用户,或者 logout
设为6后一直重启,如何更改:
在启用GRUB的时侯,按“e”,选中第二项,按“e”,进入修改界面,在最后输入空格+1,这个就是表示1号运行级别。只能用1来启动!,最后按b
用运行级别1 可以绕过ROOT密码,不需要密码就可以用,用passwd就OK
如何找回丢失密码
ls
mkdir 建立目录
rmdir
TAB 命令补全
touch
cp
mv
rm
rm -rf
ln
ln -s
more
less 分页显示,可以向前翻
grep在文本中查询
把上一个命令的结果交给|的后面的命令处理
即上一个处理的结果就是下一个命令的输入
man
find 搜索文件及目录
find /-name aaa.java
find /root/ -name aaa.java 锁定范围
数据重定向
grep
ls -l > a.txt
ls -al
>> 追加写
>覆盖写
LINUX
关
搭建JAVA ee
L下可以用realplay吗
L可以用QQ吗
L分区的讲解
REAHAT安装演示
文件所有者,所在组,其它组
OWNER ; GROUP;OTHERS
可以更件文件的所有者,chown
也可以改变用户组 chgrp
案例:建两个组, policeman ,tufei
建三个用户:along ,panpan( 属于policeman),ashuai(属于tufei)
用along 这个用户登录到系统,创建一个文件,ls -1
现在添加组
groupadd policeman
如何查看现有组:vi /etc/group
查看所有用户信息:cat /etc/passwd
cat 只能看不能写,VI可以看可以改
创建用户,并添加到指定组
useradd -g
useradd -g policeman along
UID用户ID,GID组ID
权限,详情查看NIAO哥的书:98
以-rw-r--r--为例
第一个“-” 表示文件,如果是目录就用“d”表示
第二--四:代表文件所有组对此文件所具有的权限
R可读
文件最大权限666,目录最大权限777
第五--七:代表文件所在组对此文件所具有的权限
第八--十:代表其它组对此文件所具有的权限
如何修改文件的访问权限的问题:(panpan 无法进入along 主目录)
1、查看along 主目录的属性
2、修改along主目录的属性(进入root或者文件夹所有者)
命令: who am i 查看当前使用者是谁,
chmod 修改权限
任务:可以让PANPAN修改myTEST.java
chmod
把一个用户移值到另一个组:
usermod -g 组名 用户名
usermod -g policeman ashuai
chown 用户名
chgrp
JAVAEE开发环境搭建---JDK安装
1、把mypackage.ISO文件挂载到linux操作系统中去。在虚拟机做配置,用mount /mnt/cdrom
何为挂载: 需要哪个分区就挂载哪个分区,用完要umount(详细)
虚拟机---设置----硬件标签
虚拟机---设置----选项标签
mount /mnt/cdrom/
cd /mnt/cdrom/
不需要挂载:
umount /mnt/cdrom/
2、把安装文件COPY到/home
cp 文件 /home
一个操作系统可以用多个JDK
3、cd /home
4、安装
5、看看一个文件
在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
4、启动eclipse [必须先进入图形界面] ,打开终端,cd/home/
进到终端:注销图形界面就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
./eclipse &
开发一个JSP文件
安装娱乐软件
绿色表示可执行文件(LINUX文件所代表意义)
制作iSO文件 挂载,与LINUX沟通
umount /mnt/cdrom
安装QQ软件
作用:tencent QQ for LINUX
LINUX 分区
硬盘分区:基本分区和扩展分区
一块硬盘上:主分区+扩展分区<=四
扩展分区不能直接使用,需要分成逻辑分区才能使用
逻辑分区数量不限
XP下----我的电话----管理----磁盘 查看
主分区就是操作系统所在的区,一块硬盘一个主分区,除非双系统,,如C盘
扩展分区:不能马上使用,只能分成逻辑分区才能用,一个扩展分区可以分成N多逻辑分区
假设有一块硬盘 ,先分一个主分区,然后是扩展分区,
LINUX中,设备也是文件
案例:
df
查看硬盘的分区
find -size + 100000K
命令:fdisk -l
查看LINUX系统分区具体情况
分区的名称LINUX有一规则
如/dev/sda1
sd 代表所挂载的盘是
a 代表是第几个盘,
1代表是第一个分区
a为基本PAN,b为基本从属pan
c为辅助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 命令补全功能
直接输入MK,再按两下TAB,出现两头两个字母为MK的命令。cat p再按两个TAB ,会出现开头字母为p 的文件或字母
查阅历史记录命令:history
无参数,就全部列出来
history 5
!5 :此项说明执行历史编号为5的命令
!ls :此项说明执行最后一次以"ls"开头的命令
TCP/IP基础
网络的基础就是tcp/ip,不是一人独立的协议,而是一组协议 。tcp传输控制协议,IP协议,UDP协议等。
TCP/IP
人与人之间交流是用语言,计算机之间交流靠的是通讯协议
TCP/IP 由来:参看书
OSI模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层(理论)
TCP/IP模型(现实):链路层(与硬件驱动对话),网络层(定位IP地址和确定连路路径)
,传输层,应用层
书本:
QQ相互通讯的案例:
从上到下:(相当一个功能模块)
应用层
传输层
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地址
b 类的IP地址
c 类的IP地址
IPV6
内部IP:外面电脑无法访问到
外部IP:公网IP,电脑都可以访问到
如何查看外网ip
追踪路由命令;tracert
1、追踪路由
tracert
2、ping命令
3、在windows下查看IP的命令
4、在linux/unix查看ip的命令
局域网广播
对一个子网广播
127.任意值,除去全零全1,都可以是回路,本机
子网:好管理,大划小
只要前面的网络号一样,就表示在一个子网里面
子网之间通过路由器来连接
linux下配置IP
第一种方法: root登录,运行setup----network configuration
1、用空格键
2、手动IP TAB输入
配置完成后,重启生效/etc/rc.d/init.d/network restart
eth0
第二种方法
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)
安装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
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组
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程序的测试题
linux 第四天(14讲)
目录
设置任务调度命令crontab
监控网络状态信息
Mysql数据库在LINUX下的使用
SSh(secure shell)的使用
FTP的安装与配置
知识点:
系统中监听端口: netstat -an
尽可能关闭不用的端口,提高安全性
SSH:可以使用软件远程登录
root 登录,setup
ssh客户端
多用户,多任务
,
任务调度命令
冷备份(在不写入数据的情况下备份),热备份
分为系统工作,个别用户工作
任务调度的使用 crontab
1、设置任务调度文件
2、每隔一定时间去执行date > (表覆盖)/home/mydata1
希望每天凌晨两点半去执行date >>/home/mydata2,如下
crontab -e
0 2 * * * date >>/home/mydata2
0 2 * * *
如果希望每分钟执行
* * * * * date >>/home/mydata2
全部为*
crontab 最高精确到分
调度文件的规则:分,小,几号,月,星期
如果月设为13,这时系统不会执行,也不会报错
3、如何去调度多个任务
1)在crontab
缺点:太多,太乱,不好管理,没有系统化
2)可以把所有的任务,写入到一个可执行文件(SHELL 编程),类似于windows批处理状态
建议用这个方法
vi mytask.sh
.sh 表示shell
chmod 修改权限
crontab
可以把多个文件放到里面
4、如何终止任务
crontab
crontab
进程
在 XP中可以用任务管理器查看进程,查看,选择列,来查看详细的信息
进程概念:进程就是正在执行的程序。当双击一个程序后,任务管理器里面就有,出现一个进程
线程:
1)轻量级的进程
2)进程有独立的地址空间,线程没有
3)线程不能独立存在,它是由进程创建的(fork)
JAVA中用Thread
4)相对讲,线程所费的CPU和内存小于进程
地址空间
操作系统会将内存的一部分空间分给进程1,再启动一个进程, 操作系统会从内存中分一部分空间给进程2,但是空间不一定连续分!
蓝屏:很多情况下与内存有关,或是操作系统
所以操作系统要稳定,硬件有兼容性
LINUX 每个进程有两个方式存在, 一般服务都是以后台进程的启动
显示详细的进程信息
PS -aux [看的全面,信息也全]
1号进程:说明
如何终止进程
kill 进程号
kill -9 进程号
killall
进程的动态监控
与PS相反,可以适实地反映现有的进程
top
刀片机
up 4 min 表示系统启动了多长时间
1 user 表示当前有多少个用户登录这个系统
load average:负载均衡
三个数加起来除以3,大于0.6,就要小心了!
37 processes
0 zombie
CPU states
Mem
Swap 交换分区
按q 退出
指定监控某个用户
date 命令
设置时间
月月日日时时分分年年年年.秒秒
cal
显示网络统计信息的命令
netstat -an
netstat -anp (要看进程号)| more
用kill 进程号,就可以杀掉进程
检测主机连接命令
ping
显示数据包经过历程命令:traceroute
就是追踪路由
route 显示路由表
每个路由器都有一个路由表,显示最近的路由表
握手机制
类似于古代的信使,驿站
Mysql 数据库
免费,跨平台 ,轻,支持多并发
安装mysql
1、准备安装文件,COPY到/home下
2、把安装文件解压
tar -zxvf 文件名.tar.gz
3、重命名
4、开始安装
1)groupadd mysql
2)useradd -g mysql mysql
3)进入到mysql目录,scripts/mysql_install_db
4)chown -R root .(有一个点,表示当前目录及文件) (修改文件的所有者)
-R
5)
6)chgrp -R mysql . (把当前组改为mysql)
7)启动mysql
bin/mysqld_safe
8) 按CTRL+C 退出
myql 3306
9)如何进行mysql
cd
如何设置在任何目录都可以执行:
1、env
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
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
包括两个文件图标,一个是远程操作,一个文件下载上传
SSH工作原理:下一个SSH来实验下
2、使用SSh客户端登录到LINUX(前提是lINUX的SSHD服务启动),并且确保WINDOWS与LINUX能够相互通信,在同一个了网内
3、双击客户端,点quick connect
查看有几个用户 top
如何踢掉一个用户
1、netstat -anp |more
查看端口与进程号
(服务器端口22不变,客户端会被服务器分配不同的端口)
2、kill -9 进程号
文件上传下载:(与SAMBA、FTP重复)
NEW file transport
补充讲解:--------------复习
LINUX 目录结构
当前目录:pwd 就可以查看当前目录
相对路径:以当前目录为基点,寻找另外的目录
绝对路径:以根目录为基点,寻找另外的目录(以/开头)
工作目录:工程或软件安装所在的根目录
运行级别
pwd
cd
ls -al
mkdir
rmdir :删除空目录
touch
cp -rf dir1 dir 2 (r递归复制)(f不询问,慎用 )
cp -r workspace /
mv
rm
rm -rf
ln -s
ln -s /root/abc3.java
toabc3 -> /root/abc2.java
作用:共享类库,共享函数库
more
less
grep
grep -n "12"
-n 在第几行
|
find
搜索文件及目录
在特定目录下搜索
还在可以按时间搜索、大小
find /home -amin -10/+10 a表存取
find /home -cmin -10
find /home -size +10K
重定向命令
SHELL脚本文件:文本文件,执行方式:./dd.sh
permission denied
TAB 命令补全
history
用户登录后系统执行.bashrc,把用户需要程序随用户登录时而自动启动
配置.bashrc文件可以指定某些程序在用户登录的时侯就自动启动,在每个用户目录下都有这个文件
vi .bashrc
目录.sh
/home/xiaoming /.bash_profile
/etc/profile
JDK,toMCAT
当你希望临时加入一个路径时,就可以使用export
比如:export PATH=$path:/root
用env查看
root下命令就可以其它用
echo $path
通配符
ls abc[1-6].tif
alias 给系统命令取一个别名
比如,一个命令如下:
ls -l /home
取别名
alias llh='ls -l /home'
启动过程分析
按下POWER
bios-----
脚本------/etc/rc.d/rcX.d------执地本地特殊配置-----其它特殊服务
使用zip和unzip压缩和解压
压缩文件
单个文件压缩
多个文件压缩zip aa.zip 文件名1 文件名2
把整个目录打包
解压缩
unzip aa.zip
gzip与gunzip .gz文件
LINUX JAVA网络编程 ----myqq
如何用JAVA进行socket编程
ITIL服务台操作教程
2010年2月5日
历史上的今天
相关文章
最近读者
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最小只需要4M (参看鸟哥)----- 导致嵌入式开发
可以很多东西看一看,但要学精一门。
历史
1960年,MIT,(麻省理工学院)30个人同时使用此主机(分时操作系统)!
1965年,MIT,GE,BELL实验室让分时系统由30个人操作变成到300个同时使用,分时操作,MULTIS计划(火星计划)
1969年,火星计划终于失败,出现了KEN TOMPSON,(同时也是C语言的设计者),开发了一个flile server system(文件服务系统)。在BELL实验室受到欢迎!加入
一个同事,RICHERS
1973年,他们开发出UNIX,开源,将源码共享,有几家公司就加入,分析. 出现了IBM
BAD,伯克利分校
各个操作系统只对自己公司的硬件提供支持
中国移动类似的大企业都是UNIX
同时由UNIX出现了minix操作系统,linus在91年的时侯,接触到minix操作系统,有一台pc 386,想将minix移值到pc 386年。94年,发布了1.0 版式,取名为
linux (第二种说法:linus is
LINUX 产生如下几家公司:
REDHAT(二次开发),S.U.SE整合了很多套件(欧洲),红旗linux,等
命令:
注意:操作过程中使用的VM虚拟一个LINUX操作系统。VM就是虚拟机,
root:超级管理员
LINUX输入密码不显示任何东西
进入桌面命令:startx
关机:shutdown -h now
重启:shutdown -r
尽量少用root登录,用普通用户,“su -”来切换
注销
VI编辑器 开发者(世界第一骇客,成为了*软件协会)
(丢手帕问题,JAVA编写
把VI当作WINDOW下的记事本
在VI下开发一个JAVA HELLO.java
开发步骤:
1、Vi HELLO.java
2、输入“i”(小写),插入模式
3、编写一个JAVA
4、保存
5、输入冒号:,保存退出wq,q!退出不保存
ls
详细列表: ls -l
6、编译HELLO.java
7、运行 java hello
如何在linux可以开发C程序或者C++(CPP)
1、vi hello.cpp
2、int main(){ printf ("hello!")}........
3、编辑
4、运行
如果再重写一个cpp,会覆盖前面的a.out
解决方法: gcc -o my1
VI编辑器的详细命令,查看书!
LINUX的文件目录
L的文件系统是采用级层式的树状目录结构,最上层的根目录:/:,
重要的文件目录(系统分配的目录);
ROOT:存放ROOT用户的相关文件
HOME :存放普通用户的相关文件(新建的用户)
BIN:存放常用命令的目录
SBIN:存放要具有一定权限才可以使用的命令
MNT:默认挂载光驱和软驱的目录
ETC:存放配置相关的文件,mysql,tomcat,
USR:文件默认安装的文件夹,类似XP的program files
VAR:存放经常变化的数据,如网页,apache
BOOT:存放引导相关的文件
显示当前在哪个目录:pwd
用户管理
添加用户
设置密码
提示符#表示root用户 $ 表示普通用户
删除用户
init
0 关机
1 单用户
2 多用户状态没有网络服务
3 多用户有网络服务
4 系统未使用保留多用户
5 图形界面
6 系统重启
常用的是3与5,要修改可改文件
id:5:initdefault:这一行中的数字
su 切换用户,或者 logout
设为6后一直重启,如何更改:
在启用GRUB的时侯,按“e”,选中第二项,按“e”,进入修改界面,在最后输入空格+1,这个就是表示1号运行级别。只能用1来启动!,最后按b
用运行级别1 可以绕过ROOT密码,不需要密码就可以用,用passwd就OK
如何找回丢失密码
ls
mkdir 建立目录
rmdir
TAB 命令补全
touch
cp
mv
rm
rm -rf
ln
ln -s
more
less 分页显示,可以向前翻
grep在文本中查询
把上一个命令的结果交给|的后面的命令处理
即上一个处理的结果就是下一个命令的输入
man
find 搜索文件及目录
find /-name aaa.java
find /root/ -name aaa.java 锁定范围
数据重定向
grep
ls -l > a.txt
ls -al
>> 追加写
>覆盖写
LINUX
关
搭建JAVA ee
L下可以用realplay吗
L可以用QQ吗
L分区的讲解
REAHAT安装演示
文件所有者,所在组,其它组
OWNER ; GROUP;OTHERS
可以更件文件的所有者,chown
也可以改变用户组 chgrp
案例:建两个组, policeman ,tufei
建三个用户:along ,panpan( 属于policeman),ashuai(属于tufei)
用along 这个用户登录到系统,创建一个文件,ls -1
现在添加组
groupadd policeman
如何查看现有组:vi /etc/group
查看所有用户信息:cat /etc/passwd
cat 只能看不能写,VI可以看可以改
创建用户,并添加到指定组
useradd -g
useradd -g policeman along
UID用户ID,GID组ID
权限,详情查看NIAO哥的书:98
以-rw-r--r--为例
第一个“-” 表示文件,如果是目录就用“d”表示
第二--四:代表文件所有组对此文件所具有的权限
R可读
文件最大权限666,目录最大权限777
第五--七:代表文件所在组对此文件所具有的权限
第八--十:代表其它组对此文件所具有的权限
如何修改文件的访问权限的问题:(panpan 无法进入along 主目录)
1、查看along 主目录的属性
2、修改along主目录的属性(进入root或者文件夹所有者)
命令: who am i 查看当前使用者是谁,
chmod 修改权限
任务:可以让PANPAN修改myTEST.java
chmod
把一个用户移值到另一个组:
usermod -g 组名 用户名
usermod -g policeman ashuai
chown 用户名
chgrp
JAVAEE开发环境搭建---JDK安装
1、把mypackage.ISO文件挂载到linux操作系统中去。在虚拟机做配置,用mount /mnt/cdrom
何为挂载: 需要哪个分区就挂载哪个分区,用完要umount(详细)
虚拟机---设置----硬件标签
虚拟机---设置----选项标签
mount /mnt/cdrom/
cd /mnt/cdrom/
不需要挂载:
umount /mnt/cdrom/
2、把安装文件COPY到/home
cp 文件 /home
一个操作系统可以用多个JDK
3、cd /home
4、安装
5、看看一个文件
在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
4、启动eclipse [必须先进入图形界面] ,打开终端,cd/home/
进到终端:注销图形界面就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
./eclipse &
开发一个JSP文件
安装娱乐软件
绿色表示可执行文件(LINUX文件所代表意义)
制作iSO文件 挂载,与LINUX沟通
umount /mnt/cdrom
安装QQ软件
作用:tencent QQ for LINUX
LINUX 分区
硬盘分区:基本分区和扩展分区
一块硬盘上:主分区+扩展分区<=四
扩展分区不能直接使用,需要分成逻辑分区才能使用
逻辑分区数量不限
XP下----我的电话----管理----磁盘 查看
主分区就是操作系统所在的区,一块硬盘一个主分区,除非双系统,,如C盘
扩展分区:不能马上使用,只能分成逻辑分区才能用,一个扩展分区可以分成N多逻辑分区
假设有一块硬盘 ,先分一个主分区,然后是扩展分区,
LINUX中,设备也是文件
案例:
df
查看硬盘的分区
find -size + 100000K
命令:fdisk -l
查看LINUX系统分区具体情况
分区的名称LINUX有一规则
如/dev/sda1
sd 代表所挂载的盘是
a 代表是第几个盘,
1代表是第一个分区
a为基本PAN,b为基本从属pan
c为辅助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 命令补全功能
直接输入MK,再按两下TAB,出现两头两个字母为MK的命令。cat p再按两个TAB ,会出现开头字母为p 的文件或字母
查阅历史记录命令:history
无参数,就全部列出来
history 5
!5 :此项说明执行历史编号为5的命令
!ls :此项说明执行最后一次以"ls"开头的命令
TCP/IP基础
网络的基础就是tcp/ip,不是一人独立的协议,而是一组协议 。tcp传输控制协议,IP协议,UDP协议等。
TCP/IP
人与人之间交流是用语言,计算机之间交流靠的是通讯协议
TCP/IP 由来:参看书
OSI模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层(理论)
TCP/IP模型(现实):链路层(与硬件驱动对话),网络层(定位IP地址和确定连路路径)
,传输层,应用层
书本:
QQ相互通讯的案例:
从上到下:(相当一个功能模块)
应用层
传输层
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地址
b 类的IP地址
c 类的IP地址
IPV6
内部IP:外面电脑无法访问到
外部IP:公网IP,电脑都可以访问到
如何查看外网ip
追踪路由命令;tracert
1、追踪路由
tracert
2、ping命令
3、在windows下查看IP的命令
4、在linux/unix查看ip的命令
局域网广播
对一个子网广播
127.任意值,除去全零全1,都可以是回路,本机
子网:好管理,大划小
只要前面的网络号一样,就表示在一个子网里面
子网之间通过路由器来连接
linux下配置IP
第一种方法: root登录,运行setup----network configuration
1、用空格键
2、手动IP TAB输入
配置完成后,重启生效/etc/rc.d/init.d/network restart
eth0
第二种方法
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)
安装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
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组
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程序的测试题
linux 第四天(14讲)
目录
设置任务调度命令crontab
监控网络状态信息
Mysql数据库在LINUX下的使用
SSh(secure shell)的使用
FTP的安装与配置
知识点:
系统中监听端口: netstat -an
尽可能关闭不用的端口,提高安全性
SSH:可以使用软件远程登录
root 登录,setup
ssh客户端
多用户,多任务
,
任务调度命令
冷备份(在不写入数据的情况下备份),热备份
分为系统工作,个别用户工作
任务调度的使用 crontab
1、设置任务调度文件
2、每隔一定时间去执行date > (表覆盖)/home/mydata1
希望每天凌晨两点半去执行date >>/home/mydata2,如下
crontab -e
0 2 * * * date >>/home/mydata2
0 2 * * *
如果希望每分钟执行
* * * * * date >>/home/mydata2
全部为*
crontab 最高精确到分
调度文件的规则:分,小,几号,月,星期
如果月设为13,这时系统不会执行,也不会报错
3、如何去调度多个任务
1)在crontab
缺点:太多,太乱,不好管理,没有系统化
2)可以把所有的任务,写入到一个可执行文件(SHELL 编程),类似于windows批处理状态
建议用这个方法
vi mytask.sh
.sh 表示shell
chmod 修改权限
crontab
可以把多个文件放到里面
4、如何终止任务
crontab
crontab
进程
在 XP中可以用任务管理器查看进程,查看,选择列,来查看详细的信息
进程概念:进程就是正在执行的程序。当双击一个程序后,任务管理器里面就有,出现一个进程
线程:
1)轻量级的进程
2)进程有独立的地址空间,线程没有
3)线程不能独立存在,它是由进程创建的(fork)
JAVA中用Thread
4)相对讲,线程所费的CPU和内存小于进程
地址空间
操作系统会将内存的一部分空间分给进程1,再启动一个进程, 操作系统会从内存中分一部分空间给进程2,但是空间不一定连续分!
蓝屏:很多情况下与内存有关,或是操作系统
所以操作系统要稳定,硬件有兼容性
LINUX 每个进程有两个方式存在, 一般服务都是以后台进程的启动
显示详细的进程信息
PS -aux [看的全面,信息也全]
1号进程:说明
如何终止进程
kill 进程号
kill -9 进程号
killall
进程的动态监控
与PS相反,可以适实地反映现有的进程
top
刀片机
up 4 min 表示系统启动了多长时间
1 user 表示当前有多少个用户登录这个系统
load average:负载均衡
三个数加起来除以3,大于0.6,就要小心了!
37 processes
0 zombie
CPU states
Mem
Swap 交换分区
按q 退出
指定监控某个用户
date 命令
设置时间
月月日日时时分分年年年年.秒秒
cal
显示网络统计信息的命令
netstat -an
netstat -anp (要看进程号)| more
用kill 进程号,就可以杀掉进程
检测主机连接命令
ping
显示数据包经过历程命令:traceroute
就是追踪路由
route 显示路由表
每个路由器都有一个路由表,显示最近的路由表
握手机制
类似于古代的信使,驿站
Mysql 数据库
免费,跨平台 ,轻,支持多并发
安装mysql
1、准备安装文件,COPY到/home下
2、把安装文件解压
tar -zxvf 文件名.tar.gz
3、重命名
4、开始安装
1)groupadd mysql
2)useradd -g mysql mysql
3)进入到mysql目录,scripts/mysql_install_db
4)chown -R root .(有一个点,表示当前目录及文件) (修改文件的所有者)
-R
5)
6)chgrp -R mysql . (把当前组改为mysql)
7)启动mysql
bin/mysqld_safe
8) 按CTRL+C 退出
myql 3306
9)如何进行mysql
cd
如何设置在任何目录都可以执行:
1、env
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
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
包括两个文件图标,一个是远程操作,一个文件下载上传
SSH工作原理:下一个SSH来实验下
2、使用SSh客户端登录到LINUX(前提是lINUX的SSHD服务启动),并且确保WINDOWS与LINUX能够相互通信,在同一个了网内
3、双击客户端,点quick connect
查看有几个用户 top
如何踢掉一个用户
1、netstat -anp |more
查看端口与进程号
(服务器端口22不变,客户端会被服务器分配不同的端口)
2、kill -9 进程号
文件上传下载:(与SAMBA、FTP重复)
NEW file transport
补充讲解:--------------复习
LINUX 目录结构
当前目录:pwd 就可以查看当前目录
相对路径:以当前目录为基点,寻找另外的目录
绝对路径:以根目录为基点,寻找另外的目录(以/开头)
工作目录:工程或软件安装所在的根目录
运行级别
pwd
cd
ls -al
mkdir
rmdir :删除空目录
touch
cp -rf dir1 dir 2 (r递归复制)(f不询问,慎用 )
cp -r workspace /
mv
rm
rm -rf
ln -s
ln -s /root/abc3.java
toabc3 -> /root/abc2.java
作用:共享类库,共享函数库
more
less
grep
grep -n "12"
-n 在第几行
|
find
搜索文件及目录
在特定目录下搜索
还在可以按时间搜索、大小
find /home -amin -10/+10 a表存取
find /home -cmin -10
find /home -size +10K
重定向命令
SHELL脚本文件:文本文件,执行方式:./dd.sh
permission denied
TAB 命令补全
history
用户登录后系统执行.bashrc,把用户需要程序随用户登录时而自动启动
配置.bashrc文件可以指定某些程序在用户登录的时侯就自动启动,在每个用户目录下都有这个文件
vi .bashrc
目录.sh
/home/xiaoming /.bash_profile
/etc/profile
JDK,toMCAT
当你希望临时加入一个路径时,就可以使用export
比如:export PATH=$path:/root
用env查看
root下命令就可以其它用
echo $path
通配符
ls abc[1-6].tif
alias 给系统命令取一个别名
比如,一个命令如下:
ls -l /home
取别名
alias llh='ls -l /home'
启动过程分析
按下POWER
bios-----
脚本------/etc/rc.d/rcX.d------执地本地特殊配置-----其它特殊服务
使用zip和unzip压缩和解压
压缩文件
单个文件压缩
多个文件压缩zip aa.zip 文件名1 文件名2
把整个目录打包
解压缩
unzip aa.zip
gzip与gunzip .gz文件
LINUX JAVA网络编程 ----myqq
如何用JAVA进行socket编程
ITIL服务台操作教程
2010年2月5日
历史上的今天
相关文章
最近读者