Determining IP information for eth0... failed; no link present. Check cable?   
<鸟哥的私房菜>《LINUX编程从入门到精通》《LINUX内核完全剖析》
LINUX特点:
               1.免费的/开源
               2.支持多线程/多用户
               3.安全性好
               4.对内存和文件管理优越
(2).linux最少需要4M内存——>嵌入式开发
(3).vi hello.java回车——>i(插入)——>esc(退出)——>输入:——>wq(退出保存)【q!(退出不保存)】
(4). vi Hello.cpp——>wq——>gcc Hello.cpp——>(此时会产生一个a.out的文件)——>./a.out
(5).vi hello.cpp——>wq——>gcc -o 自定义文件名 hello.cpp[此时会产生一个自定义的编译文件]——>./自定义文件名//便会输出结果
(6).vi编译器的使用
(7).root:存放root用户相关的文件
     home:存放普通用户的相关文件
     bin:存放普通常用命令的目录
     sbin: 需要具有一定权限才可以使用命令
      mnt:默认挂载光驱和软驱的目录
      etc:存放配置相关的文件
      var:存放经常变化的文件
      boot:存放引导相关的文件
     usr:安装软件默认的文件夹
(8).显示当前在哪个目录下可以使用pwd
(9).userdel 用户名【删除用户】
      userdel  -r  用户名【删除用户以及用户主目录】
(10).init[0123456]
 运行级别:
        0:关机
        1:单用户
        2:多用户状态没有网络服务
        3:多用户状态有网络服务
        4:系统未使用保留给用户
        5:图形界面
        6:系统重启
常用运行级别是3和5,要修改默认的运行级别可修改文件/etc/inittab的id:5:initdefault:这一行的数字
(10)解决修改错误配置的方法:
    在进入GRUP引导界面程序时请输入e,选中第二行,输入e在最后输入1【单用户级别】按b重新启动
(11).linux 命令 ls  (点击网页快照,避免中毒)
(12).mkdir rmdir[删除空目录]
(13).grep 在文本中查询内容    grep  -n[显示行数]  “查询内容”   文件名
(14)more[less]  文件名   (长空格翻页)(ctrl+pageup)
(15).在LINUX和Unix系统中 | 就是管道命令(理解为坝上一个命令的结果交给 | 的后面的命令处理)
(16).man[manual手册]
(17).find / -name   文件名   //查询文件
find 文件路径 【-amin】-10 十分钟内存取的文件或目录
  find 文件路径下 [-atime] -10十小时内存取的文件或目录
find 文件路径下 [-cmin] -10 十分钟内更改的文件或目录
find 文件路径下 [-ctime] +10十小时前更改过的文件或目录
find 文件路径 -size +10 查找文件路径下大小为10k的文件
(16).ls -l >a.txt(重定向命令)【覆盖写】
  ls -al >>aa.txt 列表的内容追加到aa.txt的末尾
从文件输入信息database_program<database_data
(17).一个用户可以有多个组
(18).ls -ahl查看用户所在组  chgrp
(19).添加组:groupadd 组名
(20).查看所有组的信息  vi [cat]  /etc/group
(21).创建用户,并将用户分配到哪个组   useradd -g 组名 用户名
(22).查看LINUX中所用用户信息  cat[vi]   /etc/passwd
里面的内容分别代表:用户名 密码 用户ID   组编号  【注释】组所在目录  该用户所使用的shell解析器
(23).who am i   查看当前用户
(24).usermod -g 组名 用户名//将用户添加到其他组,改变组名
chown 改变用户 chgrp 组名  文件名   //改变组名
 
 
 
第二天
(1).jdk的安装步骤
     1.把镜像文件挂载到linux操作系统上面mount[umount]   /mnt/cdrom/
     虚拟机——>设置——>选项——>共享
      2.把安装文件拷贝到/home
          cp 文件 /home 
       3.切换到home目录下  cd  /home
      4.安装   ./????.bin
        5.看看一个文件   /etc/profile[环境配置文件]
         6.配置刚才自己安装的jdk[配置【vi】/etc/profile文件]
          JAVA_HOME=/home/jdk版本
          PATH=$PATH;/home/jdk版本/bin
          CLASSPATH=.;/home/jdk版本/jre/lib/rt.jar
         export  JAVA_HOME PATH CLASSPATH
         保存并注销
(2).安装Eclipse
       1.挂载
       2.拷贝到home下
        3.安装
                   tar -zxvf  ????.tar.gz
        4.启动Eclipse  [进入图形界面startx] 
          cd  eclips——>./eclips
(3).Eclipse只能开发java se,如果要开发java ee,则需要安装MyEclipse。
(4).安装MyEclipse
        1.挂载
         2.拷贝到home下
         3.切换到home下
        4.  ./?????.bin
        5../eclipse
(5).必须按安装顺序jdk——>eclips——>myeclips(必须在图形界面下)
(6).安装tomcat服务器(中,小型项目)//(服务器还有 JBoss(免费),WebLogic(收费),WebSphere,resin) 
         1.挂载
         2.拷贝到home下
         3.切换到home下
         4.tar -zxvf ???.tar.gz
         5.切换到tomcat的/bin目录下用./startup.sh
(7).   ./eclipse &    表示以后台方式运行,不加&的话,终端控制台则不能用
(8)LINUX MySQL  安装 //goole大神
(9).安装realplay  
        1.挂载
         2.拷贝到home下
         3.切换到home下
         4.  ./?????.bin
        5.cd Realplay——>./realplay(绿色可执行文件)
(10).winISO镜像制作软件
(11).lumaQQ安装
(12).LINUX分区——>(基本分区和扩展分区)
         1.主分区(操作系统所在分区,相当于C盘)
         2.扩展分区(包含: 逻辑分区,逻辑分区没有数量限制)
   //扩展分区加上主分区最多四个,扩展分区不能直接使用,需要分成逻辑分区
  (13).查看LINUX系统分区命令    fdisk -l 
  sd 代表SISI硬盘(企业级)IDE(便宜,用于普通用户)      
  (sda1)a代表第一个硬盘  ,如果是b则代表两个硬盘。1代表第一个分区
hdx代表  IDE硬盘  x代表盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘) 
前四个分区分别用1234代表(主分区) 从5开始就是逻辑分区  
(13)df 查看目录挂载在哪个分区
(14)mount 文件1  文件2   //将文件1挂载到文件2
   (15)。LINUX安装
      1.双操作系统(独立安装)
  (16).LINUX安装分区
        /boot分区  100M     (ext3类型)
        swap分区   一般是物理内存的2倍,但是不要大于256M
        /    根分区就是尽可能的大(ext3类型)
(17).查看那个目录在哪个分区 ( df  目录全路径)
(18).???.bat 批处理文件     把它放在C:\Documents and Settings\Administrator\「开始」菜单\程序\启动下,便可以开机自动运行
(19)。《LINUX命令,编辑器和shell编程》《LINUX与Unix shell编程指南》
(20)常用shell:/bin/sh   /bin/csh   /bin/ksh
     ls -l /bin/*sh  查看shell种类
(21).查看目前使用的shell:env   [该命令可以显示当前操作系统的环境变量]
(22).chsh -s 新的shell名(如:chsh -s /bin/sh)   //修改shell,修改shell后要注销才能起效
(23).忘记命令不用怕,开头字母+tab
(24).history  数字//   !数字(执行历史命令)//!ls  表示执行最后一次以ls开头的命令
(25).tcp传输控制协议 ip是Internet协议
(26).tcp/ip协议层//【tcp/ip详解,卷一:协议||tcp/ip详解,卷二:实现||tcp/ip详解,卷三:TCP事物协议HTTP和UNIX域协议】
           应用层
           【表示层】
           【会话层】
          【物理层】 
           传输层
           网络层
          数据链路层
(27).tracert 目标IP或域名//跟踪路由命令(windows下)
(28).windows下message服务【广播】要禁用,以防中标
(29).netsend  "不要玩cs"  192.168.255.255[网络号+子网]
(30).127|任意值(出去全0全1)都可以作为回路ping通 如:ping 127.0.0.1
(31).1.以 root用户登录——>setup
          配置好后运行 /etc/rc.d/init.d/network restart命令刚才配置才能生效
        2.ifconfig eth0  ip地址//临时生效,重启或注销还是原来的ip
           ifconfig  eth0 network ????对子网掩码设置
        3.修改/etc/sysconfig/network-scripts/ifcfg-eth0  在这个文件里各个属性可以修改,包括IP,子网掩码,广播地址,默认网关
         此时修改后运行/etc/rc.d/init.d/network restart命令才能生效(这是最底层地方法)
(32).LINUX中所有的设备都是一个文件
(33).查看装了哪些rpm包  :rpm -qa
       rpm -q  软件包名(查看是否装了该软件)
(34).安装卸载rpm -ivh【e】  软件名//i代表安装(install)v=verbose  提示   h=hash  进度条
(35).rpm -u  软件名   //升级软件
(36).安装samba
          1.检查是否已安装samba
           2.如有就卸载,rpm -e samba
               rpm -e --nodeps samba
           3.挂载安装文件
           4.拷贝到/home目录下
           5.切换到/home目录下
            6.rpm -i samba-common???.rpm
               rpm -i samba-client????.rpm
               rpm -ivh samba......
           7.创建用户youyou
              useradd youyou
                 passwd youyou
              8.给youyou设置samba密码
                cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd(把/etc/passwd中的用户都加到smbpasswd中//通过管道传递)
                      smbpasswd   youyou 
                 9.启动服务器
                   service smb start
                    service smb stop
                     service smb restart
(37).netstat -an//监控网络状态(服务器端口越多,危险越大)
 
(38).设置任务调度
           crontab -e回车
   2.每隔一定时间去执行 date> /home/mydata1 
    希望每天凌晨2:30去执行date>> /home/mydate2(则把任务放置在crontab中)
如:5 * * * * ls -l /etc/  > /tmp/to.txt    //意思是每小时的第五分钟执行s -l /etc/  > /tmp/to.txt 命令
分钟 小时 日期[日]  月历[月] 星期
如果全部为*,则为每隔一分钟
         3.怎样调度多个任务
         1)。在crontab -e中直接写
         2).可以把所有任务写入到一个可执行文件(shell编程)
         3)案例:vi mytask.sh( 任务)
                         chmod  744 mytask.sh
                         将文件写入crontab -e(将文件的全路径放入进去)
#可以注销任务
            4.终止任务   crontab -r(删除任务)
             crontab -l  列出任务调度清单
(38).进程
         进程就是正在执行的程序
  (39).线程
          轻量级的进程
         进程有独立的地址空间,线程没有
         相对来讲,线程不能独立存在,他是由进程创建的(fork)Tread
         相对来讲,线程耗费的CPU比进程小
(40).ps -aux   显示当前终端的所有进程,用户的格式,后台进程运行的参数
            kill   进程号   //封杀进程
            kill  -9  进程号  //强力封杀进程
(41)进程的动态监控
           top
(42)进程负载前两项加起来除以3不能大于0.6
     僵尸进程是出现问题的进程,断了没有回收但占用了CPU
(43) top //监听使用进程    ,再输入u回车,再输入用户名,即可查看特定用户执行的进程
         top——>k——>输入进程ID号//终止指定进程
         top -d 10:指定系统更新进程的时间为10秒    
(44)date显示系统时间
        date mmddhhmmccyy.ss意思是指:月月天天时时分分年年年年.秒秒
       cal 3 2002:查看2002年3月的月历
        cal 2008:查看2008年的年历       
(45)监控网络状态
         netstat    -an[p]  //进程号和进程名   
(46)显示数据包经历过程命令traceroutes   ip或域名
         route   显示内核路由表 
(47)1.1.挂载(安装MySQL)
         2.拷贝到home下
         3.切换到home下
         4.tar -zxvf  mysql-???.tar.gz
         5.mv  mysql-???   mysql(重命名)
         6.groupadd  mysql
         7.useradd -g mysql mysql(创建mysql用户并放入mysql组中)
        8.scripts/mysql_install_db   --user=mysql(初始化数据库)(进入到mysql的文件夹里)
        //9.10.11不是必需的
         9.chown  -R root  .  (修改文件的所有者)(带上-R就是子文件也同样修改)
        10.chown -R mysql data(修改data文件的所有者)(让mysql用户建数据库)
         11.chgrp  -R mysql  . (改变用户组)
          12.启动MySQL
                bin/mysqld_safe  --user=mysql &(以后台方式启动)
(48)测试 netstat -an  (3306)
         进入bin目录下
        ./mysql -u root -p
        show databases;
          quit  (退出)
(49)设置环境变量(env)便可在其他目录下使用mysql
          设置path(把bin文件目录设置进去)
          在root目录下有一个.bash_profile文件(该文件存放的是用户变量)
(50)在/etc目录下修改.bash_profile文件,则所有用户都可以用mysql
(51)mysql数据库的使用
    1.进入mysql
    2.建立数据表
        create  database spd1(show databases;)
      3.建表
        use spd1
         creat table users(userID varchar(8),userName varchar(80));
       (show tables;)
      insert into users values('001',"fgd");
       insert into users values('002',"fgd");
     select  * from users
    desc users;//看结构
      4.mysql驱动的位置要放在jdk主目录下/jre/lib/ext
       5.mysql数据库备份
         ./mysqldump -u root -p密码 数据库名 >data.bak(备份)(进入到bin目录下)
       mysql -u root -p密码 数据库名 <data.bak(恢复)(进入到bin目录下)
        (在恢复数据库的时候,需要建立一个空数据库)
(52)安装ssh
        1.安装(LINUX安装时会默认安装一个sshd的服务,默认是启动的,端口是22号)
        2.ssh客户端登录到LINUX(前提是LINUX的sshd服务是启动的,还要确保windows和LINUX的网络是互通的)
        3.QuickcConnect
         Host Name:IP地址
         User Name:LINUX用户名
         Port:22
         netstat -anp(加上p后可以显示进程号)
         多用户登录时,先登录的进程号偏小
(53)工作目录类似bin目录
         rm -rf  文件夹
        cp -r dir1 dir2  递归复制命令(拷贝文件夹)
       cp -rf dir1 dir2 如有则 强制覆盖
        ln -s 源  目标(同一文件)
     grep -n(行)  “查找内容”   文件
       find / -name 文件名
(54)shell脚本文件:是一个文本文件,命令的集合,有执行权限,执行方式(./文件名)
(55)用户登录后自动执行的shell脚本文件:  .bashrc位于主目录下
          它之前执行系统的脚本/etc/bashrc主要是基本配置数据
          .bash_profile位于主目录下
          它之前执行系统的脚本/etc/profile主要是配置环境变量
(56)把软件启动命令放在用户的.bashrc的目录下,软件就可以开机自启动
          把软件启动命令放在etc的.bashrc的目录下,软件就可以开机自启动(无论哪个用户登录)
  如:配置.bashrc文件可以指定某些程序开机自启动
        vi   /root/.bashrc
        /home/??/startup.sh start
当你希望临时加入一个搜索路径时,使用export
如:export PATH=$PATH;/root;(临时生效)
echo $PATH【$SHELL】  //显示变量内容
(57)给当前系统命令定义一别名
       alias cp='cp -i'
      alias ll ='ls -l --color=tty'
如:(mysqldump -u root -p spdb1>/home/yy.bak不对) 
        alias llh='ls -l /home'
(58)1.zip file.zip *:zip后接压缩的文件名  ,在他后面输入要压缩的文件即可
            2.zip -m file.zip to.txt:意思是把to.txt文件压缩成file.zip文件,to.txt会自动删除
           3.zip -r file.zip *[文件目录,路径]:将当前目录下的子目录一起压缩
             4.zip -j file.zip *:压缩时忽略子目录的内容
            5.将以压缩的或没有必要压缩的文件去掉
           zip -n .mpg: .jpg.gif:第一种文件中间要用“ :”分开
           压缩多个文件 zip ??.zip 文件名1  文件名2
           zip -t 102002 file.zip:意思是将当前目录下02年10月20日之后的文件进行压缩
           zip -9 file.zip *  //压缩率的问题-1~-9:-9的压缩率最高
          zip -y file.zip * //不压缩链接文件的原文件
  9) 将不需要压缩到的文件排除在外
     zip file.zip * -x file2.txt:在压缩时,将当前目录的File2.txt文件排除在外       
         4.unzip  解压
          1).unzip  ???.zip
           2)排除不需要解压缩的文件
            unzip file.zip -x file2:意思是说除了File2文件外,其他的文件都解压缩
           3)查看压缩包的内容
            unzip -Z File.zip:查看file.zip压缩包的内容,也可以用“-l”  "-v"来   查看压缩包的内容
(59)以gzip和gunzip处理.gz文件
         1.直接解压文件
          gunzip file.gz或gzip -d file.gz
         【 tar.gz(主要是对二进制文件压缩好些)】