linux基础

 

 

1.1为什么学习linux

linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多中型,大型甚至是巨型项目都在使用linux

linux内核:redhat 、红旗linux、ubuntu、suse、fedora,它们的内核都是一样的(Note:linux其实是一个统称,就比如面条是一个统称,可以有哨子面、阳春面、打卤面等)

 

-         linux系统管理员

-           linux系统的维护、配置等

-         linux程序员

-           需c/c++、java,php、jsp…

-           linux软件工程师(PC)

-           linux嵌入式开发(单片机、芯片)

1.3如何学习linux

第一阶段:linux平台上的开发,包括vi,gcc,gdb,make,jdk,tomcat,mysql..和linux基本操作

第二阶段:加厚c语言功底《c专家编程》或是java语言

第三阶段:学习unix环境高级编程《unix环境高级编程》

第四阶段:linux应用系统开发/linux嵌入式开发

1.4内容讲解

基础部分

-         linux基础知识

-         linux常用命令80个

-         linux分区/vi/权限…

实用部分

-         Samba安装与配置

-         linux网络环境配置

-         crontab使用

-         jdk/apache/mysql/ssh/rpm安装与配置

-         linux下java网络编程

-         shell初步介绍

1.5推荐书籍

-         《鸟哥的Linux的私房菜基础学习篇》 鸟哥、许伟、林彩娥等编著

-         《Linux编程从入门到精通》宫虎波编著

-         《Linux内核完全剖析》赵炯编著

 基础介绍

 

linux的特点

-         免费的/开源

-         支持多线程/多用户

-         安全性好

-         对内存和文件管理优越

 

linux的缺点

-         操作相对困难

 

linux的历史

-         1960时期左右,MIT,即麻省理工学院有一台电脑,使用分时操作系统,只能同时允许30个人通过终端登录

-         1965年,MIT、GE、Bell实验室,决定将30è300个人分时系统,multis计划,即火星计划

-         1969年,火星计划失败。但Bell的Ken Thompson开发了一个file server system文件系统,在Bell实验室很受欢迎

-         在Dennis Ritchie的加入下,1973年,unix诞生,开源,源码内核共享

-           IBM:AIX

-           Sun:Solaris

-           HP: HP unix

-           伯克利分校:BSD

-         minix系统出现

-         Linus Torvalds,芬兰读书,拥有PC 386,1991年计划把minix移植到pc上,1994发布linux 1.0版  linux is not unix,完全没有桌面

-           redhat红帽子

-           s.u.s.e

-           红旗linux

2.2 linux的第一次接触

关机命令

shutdown‑h now 立即进行关机

shutdown‑r now 现在重新启动计算机

-t sec : -t后面加秒数,即”过几秒后关机”

-k      : 不是要真的关机,只是发送警告信息

-r      : 在将系统的服务停掉之后就重新启动

-h      : 将系统服务停掉后,立即关机

-n      : 不经过init程序,直接以shutdown关机

-f       : 关机并启动之后,强制略过fsck的磁盘检查

-F      : 系统重新启动之后,强制进行fsck的磁盘检查

-c      : 取消已经在进行的shutdown命令内容




reboot现在重新启动计算机

 

进入桌面

startx

 

用户登录

登录时尽量少用root账户登录,因为它是系统管理员,最大的权限,难免操作失误。可以利用普通用户登录,登录后再用“su -”命令来切换成系统管理员身份

 

用户注销

在提示符下输入logout即可

  vi编辑器的使用

3.1什么是vi编辑器

vi编辑器是linux下最有名的编辑器,也是我们学习linux必须掌握的工具,在linux下也可使用vi进行程序的开发,如java程序,c程序

3.2如何使用vi进行开发?

在linux下使用vi开发一个简单的java程序Hello.java,并且在linux下运行成功

-         开发步骤

-           java程序

-           vi Hello.java

-           输入i,进入到插入模式

-           输入Esc键,进入命令模式

-           输入冒号:[wq 表示退出保存,q!表示退出不保存]

-           编译javac Hello.java

-           运行java Hello

-           c程序

-           gcc o Hello Hello.cpp[参数o表示可自定义生成的out文件名,否则默认为a. out]

-           ./Hello

 用户管理.目录结构

4.1概述

简单介绍

linux的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录

深刻理解linux文件目录是非常重要的

-         /

-           root,存放root用户的相关文件

-           home,存放普通用户的相关文件

-           bin,存放常用命令的目录,如vi,su

-           sbin,要具有一定权限才可以使用命令

-           mnt,默认挂载光驱和软驱的目录

-           etc,存放配置的相关文件

-           var,存放经常变化的文件,如网络连接的sock文件

-           boot,存放引导系统启动的相关文件

-           usr,安装一个软件的默认目录,相当于windows下的program files

相对路径与绝对路径:

-         只要开头不是/就是属于相对路径的写法.

-         绝对路径为:由根目录/,起的文件名或目录名称.如:/home/dmtsai/.bashrc

常用命令介绍

-         pwd,显示当前在哪个路径下

linux的用户管理

-         useradd 用户名,添加用户

【案例】useradd xiaoming

-         passwd 用户名,为新用户设密码

【案例】passwd xiaoming,修改小明的密码

-         userdel 用户名,删除用户

【案例】userdel xiaoming,删除用户但保存用户主目录

【案例】userdel ‐r xiaoming,删除用户以及用户主目录

-         logout,当前用户推出

-         who am i,当前用户是谁

4.2目录、文件默认属性: 的umask使用

一 权限掩码umask

umask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限),不过通常用到的是后3个,例如你用chmod 755 file(此时这文件的权限是属主读(4)+写(2)+执行(1),同组的和其它用户有读写权限)

二 umask的作用

默认情况下的umask值是022(可以用umask命令查看),此时你建立的文件默认权限是644(6-0,6-2,6-2),建立的目录的默认 权限是755(7-0,7-2,7-2),可以用ls -l验证一下哦 现在应该知道umask的用途了吧,它是为了控制默认权限,不要使默认的文件和目录具有全权而设的

三 修改umask值

知道了umask的作用后,你可以修改umask的值了,例如:umask 024则以后建立的文件和目录的默认权限就为642,753了

四 将umask值保存到环境文件

若要长期修改umask的值,可以把它写进/etc/profile或~/.profile或~/.bash_profile中,大家应该知道这几个文件是干什么用的吧。

 

您知道当你建立一个新的档案或目录时,他的预设属性会是什么吗?呵呵!那就与 umask 有关了!那么 umask 是在搞什么呢?基本上, umask 就是指定『目前使用者在建立档案或目录时候的属性默认值』,那么如何得知或设定 umask 呢?他的指定条件以底下的方式来指定:语法:

[root @testroot]# umask
0022
[root@vbird test]# umask 002 <==后面接 3 个数字!
[root@vbird test]# umask
0002

说明:查看 umask 数值为直接输入 umask 即可,而设定呢?没错!就是 umask 之后接三个数字!那么如何来指定呢?主要还是跟 Linux 的档案属性(那九个属性, r, w, x )有关的,而且是以分数的那一个关系为例的,而有底下的规则为辅:

若使用者建立为『档案』则预设『没有可执行 ( x ) 项目』,亦即只有 rw 这两个项目,也就是最大为 666 分

–rw-rw-rw-

若使用者建立为『目录』,则由于 x 与是否可以进入此目录有关,因此预设为所有权限均开放,亦即为 777 分

drwxrwxrwx

 

 常用命令

5.1 linux的常用命令

-         init [0123456],指定系统运行级别,类似windows的正常运行模式或安全模式

-         0:关机

-         1:单用户

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

-         3:多用户状态有网络服务

-         4:系统未使用保留给用户

-         5:图形界面

-         6:系统重启

常用运行级别是3和5,要修改默认的运行级别可改文件/etc/inittab的id:5:initdefault:这一行中的数字

FAQ:不小心设置了6,导致系统启动-重启-启动循环,怎么办?

-         在进入grub引导界面时,在数秒的时候,请输入 e

-         然后选中第二行,输入e

-         在出现的界面里,输入1【1表示单用户级别】,1的前面需要加一个空格,单用户模式既可以修改模式,又可以修改密码,Enter

-         返回后,按b

-         pwd,显示当前工作目录(print working directory)

-           pwd -p 显示出实际路径,而非使用link路径.

-         cd,改变目录

          

-         ls,列出文件和目录

-           ls a,显示目录下的所有文件,包括隐藏文件

-           ls l,显示长列表格式




-         mkdir,建立目录(make directory)

-           -m :设置文件的权限,直接设置,不要管默认权限.如:mkdir –m 711 test2

-           -p :帮助你完成直接建立所需要的目录递归.(建立多级目录,如:test1/test2/test3/test4)

-         rmdir,删除空目录(注:只能删除目录,删除目录下所有文件可用:rm –rf test)

-         touch,建立空文件与修改文件时间

-           mtime (modification time) : 当该文件的”文件的内容”更改时,就会更新这个时间。

-           ctime (status time) : 当文件的”状态”改变时,就会更新这个时间,如:更改权限与属性时。

-           atime (access time) : 当”读取文件内容”时,就会更新这个读取时间.

-           例ls -l/etc/man.config 默认是显示mtime 修改时间

-           ls -l --time=atime/etc/man.config 显示访问时间

-           ls -l --time=ctime/etc/man.config 显示状态时间

-           touch [-acdmt] 文件名

-           -a: 仅修改access time

-           -c: 仅修改时间,而不建立文件

-           -d: 后面可以接日期,也可以使用 --date=”日期或时间”

-           -m: 仅修改mtime

-           -t: 后面可以接时间,格式为 [YYMMDDhhmm]

-         cp,复制命令

-           -a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目

  录,其作用等于-pdr选项的组合。

-           -d 若源文件为连接文件的性情(link file),拷贝时保留链接而不是所指向的文件。

-           -f 删除已经存在的目标文件而不提示。

-           -i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目

  标文件将被覆盖,是交互式拷贝。

-           -p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新

文件中。

-           -r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录

和文件。此时目标文件必须为一个目录名。

-           -l 不作拷贝,只是链接文件。

-           -s 复制成符号连接文件(symbolic link),即”快捷方式”文件.

-           -u 若目标文件比源文件旧,更新目标文件

-           需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp命令拷贝文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。备份一般用–a, 复制文件给他人时一般用不加参数.

【案例】cp ‐r dir1 dir2,递归复制命令(复制子目录信息)

-         mv,移动文件和改文件名(重命名)       (鸟哥linux第二版 p123)

-         rm,删除文件和目录

-           rm rf *,删除所有内容,包含目录和文件,r表示递归,f表示强制

-         ln,ln [-sf] 源文件 目标文件  (建立符号连接,类似于建立某个文件的快捷方式)

( 鸟哥linux第二版 p153)

-           s 如果ln不加任何参数就进行硬连接,      -s 就是符号连接

-           -f 如果目标文件存在时,就主动将目标文件直接删除后再建立.

【案例】ln ‐s /etc/inittab inittab,inittab指向实际文件/etc/inittab inittab

-         more,显示文件内容带分页,ctrl + page up上翻,长空格下翻

-         less,显示文件内容带分页

-         grep,在文本中查询内容                        

-         grep  [-acinV] ‘搜索字符串’  filename                         (鸟哥linux第二版 p233)

-           -a :   将二进制文件以文本文件的方式搜索数据 

-           -c :    计算找到’搜索字符串’的次数

-           -i :     忽略大小写不同,所以大小写视为相同

-           -n :   顺便输出行号

-           -v :    反向选择,即显示出没有’搜索字符串’内容的那一行

【案例】假设存在某个文件aaa.java中含有shunping关键字,此时可以使用grep名命令来查找,grep -n “shunping”aaa.java,n表示在第n行出现

-         |,管道命令,在linux和unix系统

-           怎么理解?把上一个命令的结果交给|后面的命令处理

【案例】ls ‐l /etc/ | more

-         man [command],帮助,类似于dos中的help; man实际为manual (操作说明),

5.2搜索文件find、which、whereis、locate:

-         which 寻找“执行文件”

-           -a 将所有可找到的命令均列出,而不仅仅列出第一个找到的命令名称

-         whereis 寻找特定文件         whereis [-bmsu] 文件或目录

-           -b :   只找二进制文件

-           -m :  只找在帮助文件manual路径下的文件

-           -s : 只找源文件

-           -u : 没有帮助文件的文件

-         locate [filename]

-           例:  locate passwd

-         find,搜索文件及目录。在linux中,因为文件系统是以级别式的结构来组成的,所以要在整个系统中找到特定的文件和目录并不是件容易的事。而“find”命令可以解决上述问题                                                  (鸟哥linux第二版 p137)

-           在特定的目录下搜索并显示指定名称的文件和目录

【案例】find / -name man:意思是说从根目录开始搜索名称为man的文件或目录

-           搜索一段时间内被存取/变更的文件或目录

【案例】find /home -amin -10:十分钟内存取的文件或目录

【案例】find /home -atime -10:十小时内存取的文件或目录

【案例】find /home -cmin -10:十分钟内更改过的文件或目录

【案例】find /home -ctime +10:十小时前更改过的文件或目录

-           搜索指定大小的文件

【案例】find /home -size +10k:意思是说查找/home目录下大小为10k的文件

 

-         重定向命令

-           ls -l >a.txt,列表的内容写入文件a.txt中(覆盖写)

-           ls -al >>aa.txt,列表的内容追加到文件aa.txt的末尾

-           从文件中输入信息:database_program< database_data

-         en,查看环境变量

 

-         压缩和解压

-           zipunzip处理.zip文件

-           zip命令的基本使用方法

-           zip file.zip *:zip后接压缩后的文件名,在它的后面输入要压缩的文件即可

-           压缩后,自动删除原文件

【案例】zip m file.zip to.txt:把to.txt文件压缩成file.zip文件,to.txt会自动删除的

-           将子目录一起压缩

【案例】zip ‐r file.zip *:将当前目录下的子目录一起压缩

-           忽略子目录的内容

【案例】zip ‐j file.zip *

-           将已压缩的或没有必要压缩的文件去掉

【案例】zip ‐n .mpg: .jpg: .gif:第一种文件中间要用“:”分开

-           压缩某一日之后的文件

【案例】zip ‐t 102002 file.zip:将当前目录下在2002年10月20日之后文件压缩

-           不压缩链接文件的原文件

【案例】zip ‐y file.zip *

-           压缩率问题,-1~-9,其中-9的压缩率最高

【案例】zip -9 file.zip *

-           将不需要压缩的文件排除在外

【案例】zip file.zip * -x file2.txt:在压缩时,将当前目录内的file2.txt文件排除在外

-           unzip命令进行.zip文件的解压缩

-           直接解压缩文件

【案例】unzip file.zip

-           排除不需要解压缩的文件

【案例】unzip file.zip ‐x file2:除了file2文件外,其他的文件都解压缩

-           查看压缩包的内容

【案例】unzip ‐Z file.zip:查看file.zip压缩包的内容,也可以使用“-l”

“-v”来查看压缩包的内容

-           gzipgunzip处理.gz文件

 

-         chattrlsattr命令详解

-         chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,那么许多功能不能实现。同样-D检查压缩文件中的错误的功能,需要2.5.19以上内核才能支持。另外,通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var
目录。

-          lsattr比较简单,只是显示文件的属性
【案例】 [root]# lsattr

----ia---j---./lsattr_test

这两个命令是用来改变文件、目录属性的,和chmod,ls这些命令相比,chmod只是改变文件的读写、执行权限,更底层的属性控制是由chattr来改变的。

-         chattr命令的用法:chattr [+ - =] [ASacdistu]

最关键的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的属性。

-           + 在原有参数设定基础上,追加参数。

-          - 在原有参数设定基础上,移除参数。

-          = 更新为指定参数设定。

-           A文件或目录的 atime (accesstime)不可被修改(modified), 可以有效预防例如手提电脑磁盘I/O错误的发生。

-           S硬盘I/O同步选项,功能类似sync。

-           a即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性。

-           c即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。

-           d即no dump,设定文件不能成为dump程序的备份目标。

-           i设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。

-           j即journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效。

-           s保密性地删除文件或目录,即硬盘空间被全部收回。

-           u与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion.

各参数选项中常用到的是a和i。a选项强制只可添加不可删除,多用于日志系统的安全设定。而i是更为严格的安全设定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。

【案例】1、用chattr命令防止系统中某个关键文件被修改

# chattr +i/etc/fstab

然后试一下rm mv rename等命令操作于该文件,都是得到Operation not permitted 的结果【案例】2、让某个文件只能往里面追加内容,不能删除,一些日志文件适用于这种操作    # chattr +a /data1/user_act.log

5.3 linux系统中last命令的用法

1.作用
linux系统中last命令的作用是显示近期用户或终端的登录情况,它的使用权限是所有用户。通过last命令查看该程序的log,管理员可以获知谁曾经或企图连接系统。

2.格式

last [—R] [—n][ffile][t tty][—h 节点][I —IP][—1][y][ID]

3.主要参数

- R: 省略hostname 的栏位

n:指定输出记录的条数。

f file:指定用文件file作为查询用的log文件。

t tty:只显示指定的虚拟控制台上登录情况。

h 节点:只显示指定的节点上的登录情况。

i IP:只显示指定的IP上登录的情况。

1:用IP来显示远端地址。

y:显示记录的年、月、日。

ID:知道查询的用户名。

x:显示系统关闭、用户登录和退出的历史。

范例:
shell>> last -R -2
user3 pts/1 Mon Aug 14 20:42 still logged in
user3 pts/0 Mon Aug 14 19:59 still logged in
wtmp begins Tue Aug 1 19:01:10 2007 ### /var/log/wtmp

shell>> last -2 user1
user1 pts/0 140.119.217.115 Mon Aug 14 18:37 - 18:40 (00:03)
user1 pts/0 140.119.217.115 Mon Aug 14 17:22 - 17:24 (00:02)
wtmp begins Tue Aug 1 19:01:10 2007

5.4 linux wc命令详解

功能说明:计算字数。

语   法:wc [-clw][--help][--version][文件…]

补充说明:利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定任何文件名称,或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。假设不给予其参数,wc指令会一并显示列数、字数和Byte数

  参   数:-c 只显示Byte数,亦即字符数;

-l 只显示列数;

     -w 只显示字数;

     --help 在线帮助;

     --version 显示版本信息。

例:

计算文本文件TopGun的列数、字数和字符数:

$ wc TopGun

 

 文件权限.用户组

6.1用户组

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念

-         所有者

-         所在组

-         其它组

-         改变用户所在的组

 

所有者

一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者

ls ahl命令可以看到文件的所有者

也可以使用chown 用户名文件名来修改文件的所有者

 

文件所在组

当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组

ls ahl命令可以看到文件的所有组

也可以使用chgrp 组名文件名来修改文件所在的组

 

其它组

除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组

6.2文件权限

ls

 -l中显示的内容如下:

-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc

-         10个字符确定不同用户能对文件干什么

-           第一个字符代表文件(-)、目录(d),链接(l)

-           其余字符每3个一组(rwx),读(r)、写(w)、执行(x)

-           第一组rwx:文件所有者的权限是读、写和执行

-           第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行

-           第三组r--:不与文件所有者同组的其他用户的权限是读不能写和执行

也可用数字表示为:r=4,w=2,x=1  因此rwx=4+2+1=7

-         1 表示连接的文件数

-         root 表示用户

-         root表示用户所在的组

-         1213 表示文件大小(字节)

-         Feb 2 09:39 表示最后修改日期

-         abc 表示文件名

 

改变权限的命令

chmod 改变文件或目录的权限

chmod 755 abc:赋予abc权限rwxr-xr-x

chmod u=rwx,g=rx,o=rx abc:同上u=用户权限,g=组权限,o=不同组其他用户权限

chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限

chmod a+r abc:给所有用户添加读的权限

 

 

改变所有者(chown)和用户组(chgrp)命令

chown xiaoming abc:改变abc的所有者为xiaoming

chgrp root abc:改变abc所属的组为root

chown root ./abc:改变abc这个目录的所有者是root

chown R root ./abc:改变abc这个目录及其下面所有的文件和目录的所有者是root

 

改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样用root的管理权限可以改变某个用户所在的组

-         usermod g 组名用户名

你可以用

-         usermod d 目录名用户名,改变该用户登录的初始目录

 

【综合案例】

【题1.1】建立两个用户组group1和group2,以及三个用户dennis、daniel、abigale,并且将前2个用户分配在group1用户组下,后一个分配在group2用户组下




【题1.2】以dennis用户登录,创建一个Hello.java文件

【题1.3】以daniel用户登录,观察是否可以访问/home/dennis目录以及读或写其创建的Hello.java文件

【题1.4】以dennis用户登录,修改目录/home/dennis及Hello.java文件的读写权限(更正:修改目录权限的时候,应该使用770,而不是760,否则权限不足


【题1.5】重复【题1.3】

【题1.6】改变abigale的用户组由group2变为group1



然后,可以使用cat /etc/passwd查看并确定


【参考】

-         groupadd 组名,在linux中添加组

-         vi /etc/group,查看linux中所有组信息,可以看可以编辑

-         cat /etc/group,查看linux中所有组信息,只可以看不可以编辑

-         useradd g 组名用户名,创建用户的同时指定将该用户分配到哪个组下

-         vi /etc/passwd,查看linux中所有用户信息,可以看可以编辑

-         cat /etc/passwd,查看linux中所有用户信息,只可以看不可以编辑

 J2EE环境配置

7.1 J2EE环境搭建

jdk安装步骤

-         把mypackage.iso挂载到linux操作系统上

-           在vm做好配置

-           mount /mnt/cdrom,挂载光驱

-           unmount /mnt/cdrom,卸载光驱

-         把安装文件拷贝到/home

-           cp 文件 /home

-         安装

-           ./j2sdk-1_4_2_19-linux-i586.bin

-         查看一个文件/etc/profile [环境配置文件]

-         配置先前安装的jdk

  

eclipse安装步骤

-         挂载共享文件

-         把安装文件拷贝到/home

-           cp 文件 /home

-         安装

-           tar ‐zxvf eclipse-SDK-3.2.1-linux-gtk.tar.gz

-         进入图形界面,运行eclipse需要桌面支持

-           startx

-         启动eclipse

-           ./eclipse

MyEclipse安装步骤

-         挂载共享文件

-         把安装文件拷贝到/home

-           cp 文件 /home

-         安装

-           ./MyEclipseEnterpriseWorkbenchInstaller_5_1_0GA_E3_2_1.bin

-         注意点

-           进入图形界面安装支持,否则报错

-           选择已安装的eclipse的主目录

-         重新启动eclipse

-           ./eclipse &

-           这时会发现,菜单栏上多了一个MyEclipse选项

 

tomcat安装步骤

我们知道java ee的服务器有tomcat、jboss、weblogic、websphere、resin…这些都可以安装到linux下,我们给人家安装tomcat,安装步骤如下:

-         挂载共享文件

-         把安装文件拷贝到/home

-           cp 文件 /home

-         安装

-           tar ‐zxvf jakarta-tomcat-5.0.30.tar.gz

-         测试

-           编写一个简单的jsp页面

-           配置tomcat和jdk

 linux分区详解

8.1概述

硬盘的分区主要分为基本分区(Primary Portion)和扩展分区(ExtensionPortion)两种。只是针对一个硬盘来讲,基本分区和扩展分区的数目之和不能大于4个,且基本分区可以马上被使用但不能再分区。扩展分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么有扩展分区再分下去的是什么呢?它就是逻辑分区(Logical Portion),而且逻辑分区没有数量上限制

对windows用户来说,有几个分区就有几个驱动器,并且每个分区都会获得一个字母标识符,然后就可以选用这个字母来指定在这个分区上的文件和目录。它们的文件结构都是独立的,非常好理解。但对这些用户初上手Redhat Linux,可就有点恼人了。因为对RedhatLinux用户来说无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录、一个独立且唯一的文件结构。Redhat Linux中每个分区都是用来组成整个文件系统的一部分。因为它采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来。这时要载入的那个分区将使它的存储空间在这个目录下获得

8.2硬盘

对于IDE硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指IDE硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例如:hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区

对于SCSI硬盘则标识为“sdx~”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样

8.3几个重要命令

8.3.1读取文件系统的信息可以用:dumpe2fs命令来读取.

         【案例】dumpe2fs /dev/sda1

8.3.2挂载命令

mount[-a] [设备名称] [挂载点]                                                              (鸟哥linux第二版 p162)

mount[-tonL] 设备名称代号  载入点

特别说明:在挂载光驱时,可直接使用 mount /mnt/cdrom

【案例】mount /dev/sda1 /test/

 

卸载命令

umount[挂载点]

【案例】umount /test/

 

8.3.3查看磁盘使用情况

df [-ahikHTm] [目录或文件名]

-         -a :     列出所有的文件系统,包括系统挺有的 /proc 等文件系统

-         -k :     以KB为单位显示各文件系统.

-         -m :   以MB为单位显示各文件系统.

-         -h :     以GB、MB、KB等格式显示。

-         -H 以M=1000K取代M=1024K 的计算方式。

-         -T :连同该分区的文件系统名(例如ext3)一起列出。

-         -i : 不用硬盘容量,而以inode的数量来显示。

-         ‐l

-         df [目录全路径],查看某个目录是在哪个分区

du     [-ahskm] [文件或目录名称] (鸟哥linux第二版 p151)

-         -a :     列出所有的文件与目录容量,因为仅统计目录下面的文件量而已

-         -h :     以人们易读的容量格式(G/M)显示

-         -s :     列出问题,不列出每个目录占用的容量

-         -k :     以KB列出容量显示

-         -m :   以MB列出容量显示

8.3.4查看linux系统分区具体情况

fdisk [l] 设备名称                         (鸟哥linux第二版 p155)

-         不加 –l 时就会进入fdisk,里面可以n新建分区,d删除分区,p列出当前的分区,q不存储离开,这很重要,w写入分区表后离开,这个比较危险,要注意.

8.3.5磁盘格式化

mke2fs[-bicLj] 设备名称                                    (鸟哥linux第二版 p159)

-         -b :     可以设置每个块的大小,当前支持1024、2048、4096字节3种。

-         -I :      给一个inode多少容量

-         -c :     检查磁盘错误,仅执行一次–c 时,会进行快速读取测试,如果执行两次 -c –c,会测试读写(read-write)会很慢。

-         -L :     后面可以接卷材(Labe1),这个卷材是有用的。

-         -j :      本来mke2fs是EXT2,加上-j后,会主动加入日志而灰飞烟灭ext3.

8.3.6磁盘检验:fsck、badblocks

fsck [-AtCary] 设备名称                                                                           (鸟哥linux第二版 p161)

badblocks [-svw] 设备名称

linux安装演示

shell介绍

10.1概述

每个人在成功登陆linux后,系统会出现不同的提示符号,例如$、~、#等,然后你就可以开始输入需要的命令,若是命令正确,系统就会依据命令的要求来执行,直到注销系统为止;在登录到注销期间,输入的每个命令都会经过解释及执行。而这个负责的机制就是shell

10.2 shell编程

其实作为命令语言互动式地解释和执行用户输入的命令只是shell功能的一个方面。shell还可以用来进行程序设计。它提供了定义变量和参数的手段以及丰富的程序控制结构。使用shell编程类似于DOS中批处理文件,称为shell script,又叫shell程序或shell命令文件

10.3 shell的分类

Shell名称

开发者

命令名称

Bourne

S.R.Bourne

/bin/sh

C

Bill Joy

/bin/csh

Korn

David

/bin/ksh

10.4 shell的使用

命令历史和互动:用上下箭头键可以重复以前所输入的命令

命令完成功能:用tab键能自动完成相关命令,再次按tab可得到清单

[Ctrl]+c 中断当前命令的组合键,

[Ctrl]+d 键盘输入结束,可以用来取代exit的输入.

shell脚本文件:

-         是一个文本文件

-         命令的集合

-         有执行的权限

-         执行方式(./文件名)

用户登录后自动执行的shell脚本文件

-         .bashrc位于主目录下,它之前执行系统的脚本/etc/bashrc主要是基本配置数据

-           配置.bashrc文件可以指定某些程序在用户登录的时候就自动启动

-         .bash_profile位于主目录下,它之前执行系统的脚本/etc/profile主要是配置环境变量

 

export可以临时加入一个系统路径,如export PATH=$PATH:$HOME/bin:/root/test/t1,输出环境PATH,引用原来的值$PATH,$HOME表示工作主目录,:是路径分隔符

-         已经定义好的环境变量

-           SHELL:默认shell

-           PATH:路径

-           USER:当前登录用户的用户名

-         显示变量内容

-           echo $SHELL

-           echo $USER

-           echo $PATH

 

变量键盘读取、数组、与声明:readarraydeclare

-         read                     格式:read  [-pt]  variable                       (鸟哥linux第二版 p213)

-           -p :   后面可以接提示符

-           -t :    后面可以接等待秒数

【案例】read -p “Please keyin your name: ” –t 30 name

-         declare/typeset                           格式: declare  [-aixr] variable

-           -a :   将后面的variable定义为数组(array)

-           -i :   将后面的variable定义为整数数字(integer)

-           -x :    用法与export一样,就是将后面的variable变成环境变量

-           -r :    将一个variable的变量设置成只读,变量不可以更改内容,也不能取消设置

【案例】delare –i sum=100+200+300

-         array                             格式:var[index]=content

-           输入:

-           var[1]=”small min”

-           var[2]=”big min”

-           var[3]=”nice min”

-           读取:        echo “${var[1]}, ${var[2]}, ${var[3]}”

 

shell通配符

-         *代表多个字母或数字

-         ?代表一个字母或数字

【案例】ls a*   ls a?    ls f080[1-6].tif

-         转义字符\

【案例】ls /mnt/win1/My\Documents

 

引号

【案例】export NAME=Michael

                   echo Welcome $NAME, the dateis date       

-         单引号:不处理任何变量和命令

【案例】echo ‘Welcome $NAME, the date is date ’

-         双引号:处理变量但不处理命令

【案例】echo “Welcome $NAME, the date is date “

-         反引号:把引号中的每个单词作为一个命令,如果是变量则先求值然后作为一个命令处理

【案例】echo “Welcome $NAME, the date is `date` “

 

Linux    echo命令。

功能说明:显示文字。

语   法:echo [-ne][字符串]或 echo [--help][--version]

补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。

参   数:-n 不要在最后自动换行

         -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

-         \a 发出警告声;

-         \b 删除前一个字符;

-         \c 最后不加上换行符号;

-         \f 换行但光标仍旧停留在原来的位置;

-         \n 换行且光标移至行首;

-         \r 光标移至行首,但不换行;

-         \t 插入tab;

-         \v 与\f相同;

-         \\ 插入\字符;

-         \nnn 插入nnn(八进制)所代表的ASCII字符;

-         --help 显示帮助

-         --version 显示版本信息

 

别名

-         命令:alias显示系统当前定义的所有alias

【案例】alias cp=’cp -i’

【案例】alias li=’ls –l –color=tty’

补充说明:用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。 alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在/etc/profile或自己的~/.bashrc中设定指令的别名。

    还有,如果你想给每一位用户都生效的别名,请把alias la='ls -al' 一行加在/etc/bashrc最后面,bashrc是环境变量的配置文件 /etc/bashrc~/.bashrc 区别就在于一个是设置给全系统一个是设置给单用户使用有,如果你想给每一位用户都生效的别名,请把alias la='ls -al' 一行加在/etc/bashrc最后面,bashrc是环境变量的配置文件 /etc/bashrc~/.bashrc 区别就在于一个是设置给全系统一个是设置给单用户使用 

 

shell的修改

chsh–s 输入新的shell

查阅历史记录

-         history,查看使用过的命令的历史记录

-         history 5,此项说明会显示最近使用的5个命令

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

-         !ls,此项说明执行最后一次以“ls”开头的命令

 

环境变量的说明: envset 可以用这两个命令查看一些环境变量的说明,直接输入即可。

提示符的设置:PS1=’[\u@\h \W \]\$’   具体参考:  (鸟哥linux第二版 p208\p210)

 

$系统变量

$#:  命令行参数个数

$n:  命令行参数,n为非负整数.

$0:  表示程序名称

$1:  表示第一个命令行参数

$?:  前一条命令的返回码

$$:  本进程的进程ID

$!:   上一进程的进程ID

 

tcp.ip基础

11.1概述

TCP/IP是unix/linux世界的网络基础,在某种意义上,unix网络就是TCP/IP,而且TCP/IP就是网络互联的标准。它不是一个独立的协议,而是一组协议(TCP、IP、UDP、ARP等协议)

每个Internet上的主机和路由器都有一个IP地址,它包括网络号和主机号,现在所用的IP地址都是32位的。IP地址按照国际标准划分为A、B、C、D、E五种类型

.网络环境配置

12.1第一种方法

-         用root身份登录,运行setup命令进入到text mode setuputility对网络进行配置,这里可以进行IP、子网掩码、默认网关、DNS的配置

-         这时网卡的配置没有生效,运行/etc/rc.d/init.d/network restart命令我们刚才做的设置才生效

-         ifconfig

12.2第二种方法

-         ifconfig eth0x.x.x.x 对网卡进行设置

-         ifconfig eth0network x.x.x.x 对子网掩码设置

-         对广播地址和DNS使用默认的

Note:这样配置网络将会立即生效,但是是临时生效

12.3第三种方法

-         修改/etc/sysconfig/network-scripts/ifcfg-eth0这个文件里各个属性可以修改,包括IP、子网掩码、广播地址、默认网关等

-         这时网卡的配置没有生效,运行/etc/rc.d/init.d/network restart命令我们刚才做的设置才生效

Note:

-         这种方法是最底层的修改方法

-         在linux中,所有设备都是文件

-         Tracert +”ip” 可以查看,访问所经过的路由器

-          

.rpm包.samba配置

13.1 RPM

概述

一种用于互联网下载包的打包及安装工具,它包含在某些linux分发版中。它生成具有.RPM扩展名的文件。RPM是Redhat Package Manager(Redhat软件包管理工具)的缩写。这一文件格式虽然打上了Redhat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用。可以算是工人的行业标准了

 

RPM包的名称格式

apache-1.3.23-11.i386.rpm

-         “apache”:软件名称

-         “1.3.23-11”:软件的版本号,主版本和此版本

-         “i386”:是软件所运行的硬件平台

-         “rpm”:文件扩展名,代表RPM包

 

RPM常用命令

-         rpm qa:查询所安装的所有rpm软件包

-           rpm ‐qa | more

-           rpm ‐qa | grep X

-         rpm q 软件包名:查询软件包是否安装

-           rpm ‐q xinetd

-           rpm ‐q foo

-         rpm qi 软件包名:查询软件包信息

-           rpm ‐qi file

-         rpm ql 软件包名:查询软件包中的文件

-           rpm ‐ql file

-           rpm ‐ql jdk

-         rpm qf 文件全路径名:查询文件所属的软件包

-           rpm ‐qf /etc/passwd

-           rpm ‐qf/root/install.log

-         rpm qp 包文件名:查询包的信息对这个软件包的介绍

-           rpm ‐qpjdk-1_5_0-linux-i586.rpm

-           rpm ‐qpijdk-1_5_0-linux-i586.rpm

-           rpm ‐qpljdk-1_5_0-linux-i586.rpm

 

安装RPM包

rpmivh RPM包全路径名称:安装包到当前系统

-         i=install,安装

-         v=verbose,提示,即有提示信息

-         h=hash,进度条

 

删除RPM包

rpme RPM包的名称

【案例】rpm ‐e jdk

如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息,如:

【案例】rpm ‐e foo

removing thesepackages would break dependencies:foo is neededby bar-1.0-1

若让RPM忽略这个错误继续卸载,请使用‐‐nodeps命令行选项

【案例】rpm ‐e ‐‐nodeps foo

 

升级RPM包

rpmU RPM包全路径名

【案例】rpm ‐U cvs-1.11.2-10.i386.rpm

13.2 samba配置

什么是samba

这些年来,windows与linux操作系统各自拥有自己的用户群和市场。然而在一般公司或学校里,可能同时有windows和linux主机,windows主机彼此之间可以利用“网上邻居”来访问共享资源。NFS也能使linux主机之间实现资源访问。而samba服务软件能够使windows与linux之间实现资源共享

SMB通信协议采用的是C/S结构,所以SAMBA软件可分阶段客户端及服务端两部分。通过执行samba客户端程序,linux主机使可使用网络上的windows主机所共享的资源。而在linux主机上安装samba服务器,则可以使windows主机访问samba服务器共享的资源

 

samba安装

samba的安装步骤

-         看看是否已经安装了samba

-           rpm ‐q samba

-         如果有的话,就先卸载

-           rpm ‐e ‐‐nodepssamba

-         把安装文件挂载到linux下

-           samba-common-2.2.7a-7.9.0.i386.rpm

-           samba-client-2.2.7a-7.9.0.i386.rpm

-           samba-2.2.7a-7.9.0.i386.rpm

-         拷贝samba的rpm包到/home,准备安装

-         开始安装

-           rpm ‐ivh samba-common-2.2.7a-7.9.0.i386.rpm

-         创建一个用户youyou

-           useradd youyou

-           passwd youyou

-         给youyou设置samba密码

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

-           smbpasswdyouyou,设置密码

-         启动samba服务器,测试

-           service smbstart,启动

-           service smbstop,停止

-           service smbrestart,重启

 

samba配置

共享资源的基本配置  /etc/samba/smb.conf

-         comment:针对共享资源所做的说明文字。默认值为空字符串

【案例】comment=dir for todayhero:共享这个目录是为了todayhero这个用户

-         path:若共享的资源是目录,是指定该目录的位置

【案例】path=/tmp:共享tmp这个目录

-         guest ok:是否允许用户不使用账号和密码访问此资源

【案例】guest ok=yes:允许用户不使用账号和密码访问此资源

【案例】guest ok=no:不允许用户不使用账号和密码访问此资源

-         hosts allow:设置连接主机的地址

【案例】hosts allow=192.168.2.1 server.abc.com:允许来自192.168.2.1 或server.abc.com

-         hosts deny:设置禁止连接的主机地址

【案例】hosts deny=192.168.2.1:不允许192.168.2.1的主机访问samba服务器的资源

-         read only:用于设置共享的资源是否为可读

【案例】read only=yes:允许只读

【案例】read only=no:不仅仅只读,也就是说可以写入

3,用windows上访问linux的共享目录

    回到windows,打开网络(我用的是win7以前这个东西叫网上邻居),在地址栏输入\\linux ip 比如,\\192.168.100.13 ,根本找不到?!

有搜索了老半天,好在这个问题还是很普遍的,

关闭linux的防火墙:#service iptables stop

     终于可以找到linux……

 

.crontab详解

14.1概述

任务调度:是指系统在某个时间执行的特定的命令或程序

任务调度分类:

-         系统工作:有些重要的工作必须周而复始地执行,如病毒扫描等

-         个别用户工作:个别用户可能希望执行某些程序

 

任务调度命令

设置任务调度文件:/etc/crontab

设置个人任务调度,执行crontab ‐e命令,接着输入任务到调度文件

【案例】5 * * * * ls ‐l /etc/ > /tmp/to.txt,意思说每小时的第五分钟执行ls命令

 

调度文件的规则

字段名称

说明

范围

分钟

每小时中的第几分钟执行

0-59

小时

每天的第几个小时执行

0-23

日期

每月的第几天执行

1-31

月历

每年的第几个月执行

1-12

星期

每周的第几天执行

0-6

 

使用任务调度

-         设置任务

-           crontab ‐e

-         每隔一定时间去执行date> /home/mydate2

-           希望每天凌晨2:00去执行 date >>/home/mydate2,可以在crontab ‐e中加入:0 2 * * * date >> /home/mydate2

-           希望每分钟去执行:在crontab‐e中加入:* * * * * date>> /home/mydate2

-         怎样去调度多个任务

-           在crontab ‐e中直接写多个命令(不推荐)

-           可以把所有的任务,写入到一个可执行文件(shell编程)

-         终止任务调度

-           crontab ‐r:终止任务调度

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

进程的介绍和管理

15.1概述

-         在linux 中,每个执行的程序都称为一个进程,每一个进程都分配一个ID号

-         每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程,例如www服务器

-         每个进程都可能以两种方式存在的,前台与后台。所谓前台进程就是用户目前的屏幕上可以进行操作的,后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行

-         一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束

-         进程与线程

-           进程:就是正在执行的程序

-           线程

-           轻量级的进程

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

-           线程不能独立存在,它是由进程创建

-           相对讲,线程耗费的CPU和内存要小于进程

 

进程的管理

ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的情况,可以不加任何参数,显示详细的进程信息                  (鸟哥linux第二版 p344n)

-         ps ‐a:显示当前终端的所有进程信息

-         ps ‐u:以用户的格式显示进程信息

-         ps ‐x:显示后台进程运行的参数

ps显示的信息选项:

字段

说明

PID

进程识别号

TTY

终端机号

TIME

此进程所消CPU时间

CMD

正在执行的命令或进程名

 

终止进程kill/killall

若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程,使用kill命令来完成此项任务

终止某个进程:kill 进程号

【案例】kill 16251:终止进程号为16251的进程

【案例】kill -9 16251:因为有些进程会捕捉某些信号,如果直接不能结束进程可以用“-9”传送信息

killall:杀死同名的所有进程

 

动态监控进程

top命令与ps命令很相似。它们都用来显示正在执行的进程。top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的进程

-         监视特定用户

-           top:输入此命令,按回车键,查看执行的进程

-           u:然后输入“u”回车,再输入用户名,即可

-         终止指定的用户

-           top:输入此命令,按回车键,查看执行的进程

-           k:然后输入“k”回车,再输入要结束的进程ID号

-         指定系统状态更新的时间

-           top d 10:指定系统更新进程的时间为10秒

 

top显示选项解释


-         1:52,表示系统启动了多久

-         1 user,用户数

-         load average:0.00 0.00 0.00,当前系统负载情况,一般来说,参数越小,系统运行的越轻松,当平均数>0.6时,系统就很紧张了

-         38 processes,进程数

-         0 zombie,僵尸进程数,相当于这个进程没有用了,还占用资源,比如父进程来不及收回子进程

-         CPU states:99.3% idle,闲置的CPU

-         Mem,内存

-         Swap,类似于虚拟内存

 

设置系统时间

-         date命令:显示系统的时间,可以在直接输入“date”命令来查看系统的时间

-           date+%y/%m/%d

-           2005/06/23

-           date +%H:%M

-           17:25

-         利用date命令来更改系统的时间

-           dateMMDDHHMMCCYY.SS:月月日日时时分分年年.秒秒

-         查看月历

-           cal 3 2002:查看2002年3月的月历

-         查看年历

-           cal 2008:查看2008的年历

计算器

-         bc命令调出计算器

-           

-           scale=3为输出小数的位数,linux计算器,默认输出的是为整数.

-           quit 退出计算器

监控网络状态

16.1几个监控命令

显示网络统计信息的命令netstat

此命令用来显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、或是路由表内容,此命令直接输入即可使用

-         netstat anp

-           an,按一定顺序排列输出

-           p,表示显示哪个进程在调用

 

检测主机连接命令ping

是一种网络检测工具,它主要是用检测远程主机是否正常,或是两部主机间的介质是否为断、网线是否脱落或网卡故障

-         ping 对方ip地址

 

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

此命令可以直接输入使用,用来检测数据包在网络上传输的过程,从本机到远程的主机完整路径,帮助管理员解决问题

 

显示路由表route

所谓路由是指将数据由来源网络送往目的网络的操作。在大型网络中,路由是非常复杂的,因为数据包在抵目的地时,可能经过的节点有很多,路由表是存储在路由器或一些其他链接设置上的窗体。其中记录着了到指定目的的网络路径,以及这些路径的相关数值

此命令可以直接输入使用,来查看本机路由的情况

mysql安装.配置.使用

17.1概述

mysql数据库在linux下可以充分发挥威力,mysql数据库越来越受到软件公司的青睐,为什么呢?

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

在北京很多软件公司属于创业型的中、小公司,从节约成本的角度考虑,mysql特别适合中、小项目

17.2 mysql安装

-         创建mysql组

-           useradd mysql

-         创建mysql用户,并放入到mysql组中

-           useradd -g mysql mysql

-         进入到mysql文件夹

-           初始化数据库

-           scripts/mysql_install_dbuser=mysql

-           修改文件的所有者

-           chown ‐R root .

-           修改date文件夹的所有者

-           chown ‐R mysql date

-           改变用户组

-           chgrp ‐R mysql .

-         启动mysql

-           bin/mysqld_safe–user=mysql &

-           &表示以后台的方式启动

-           检查一下进程,netstat ‐anp,查看监听端口是3306的是不是打开了

-         如何进入mysql

-           cd bin

-           ./mysql u root p 回车

Notes:如果希望在任何一个目录下都可以进入mysql,则需在用户变量/root/.bash_profile中添加路径

-         测试mysql数据库是否可以在linux下正确使用

-           建立数据库和表

-           加入部分数据

-           编写一个ShowUser.java文件,在控制台显示用户

Note:特别注意mysql的驱动要存放的位置,放在jdk的主目录下的/jre/lib/ext/

 

备份与恢复

备份:mysqldump u root p密码数据库名 > data.bak

恢复:mysql u root p密码数据库名 < data.bak

Note:‐p和密码之间没有空格

ssh安装.配置.使用

18.1概述

ssh(secure shell)是一款集远程操作linux和进行文件上传和下载的软件,在软件公司几乎所有的linux程序员都会使用ssh。安全、方便是它最大的特点

linux上默认安装ssh服务,且默认是启动的sshd,监听的端口是22。在windows系统上安装SSH客户端,集成了secureCRT与FTP的作用

补充linux重要内容

linux启动过程分析

runlevel命令,可以查看当前的运行级别

20.1 linux启动过程

-         BIOS自检

-         启动GRUB/LILO

-         运行linux内核并检测硬件

-         运行系统的第一个进程init

-         init读取系统引导配置文件/etc/inittab中的信息进行初始化

-         /etc/rc.d/rc.sysinit系统初始化脚本

-         /etc/rc.d/rcX.d/[KS] * -根据运行级别X配置服务

-           终止以“K”开头的服务

-           启动以“S”开头的服务

-         /etc/rc.d/rc.local执行本地特殊配置

-         其他特殊服务

 java网络编程

linux下网络编程是linux最让程序员着迷的地方,我们看看如何在linux进行网络编程。最终大家可以在这个基础上扩展为myQQ的程序,并且会使用到mysql数据库

         你将学习到:

-           如何使用java进行socket编程

-           如何在java中对mysql数据库操作

-           windows和linux网络通讯

-           了解什么是网络服务这个晦涩的概念

 

linux系统作为服务端,代码如下:

 

windows作为客户端,代码如下:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值