linux入门学习笔记(韩顺平主讲)

本文详细介绍了Linux的基本概念、常用命令、文件系统结构、用户与权限管理等内容。从Linux的起源讲起,逐步深入到如何安装配置各种环境,如J2EE环境、数据库、网络配置等,适合初学者快速上手。
第1讲 linux介绍
1、linux的特点
      1)免费/开源
      2)支持多线程/多用户
      3)安全性好
      4)对内存和文件管理优越        
            linux最小只需要4M->嵌入式
      要想成为黑客,就要去研究linux的内核代码!
      缺点:操作相对困难
2、学习linux的流程:
      第1阶段:linux平台上的开发,包括vi,gcc,gdb,make,jdk,tomcat,mysql..和linux基本操作。
      第2阶段:加厚c语言功底《c专家编程》或是java语言。
      第3阶段:学习《unix环境高级编程》。
      第4阶段:linux应用系统开发/linux嵌入式开发。
3、内容介绍    
4、linux的由来
     火星计划-->文件系统-->unix系统-->minix系统--linux系统(把minix移植到pc)


第2讲 vi编辑器的使用
1、vi的三种命令模式
   1)命令模式:用于输入命令,简单更改。
   2)插入模式:用于插入文本。
   3)末行模式:用于输入命令,视化操作,查找替换等。
2、vi环境设置
   set nu             添加行号显示
   set nonu           取消行号显示
3、使用vi开发Hello.java:
   1)vi Hello.java
   2)输入i(进入插入模式)
   3)按Esc(进入命令模式)
   4)输入:[wq表示保存退出;q!不保存退出]
   5)编译
      javac Hello.java
   6)运行
      java Hello


第3讲 目录结构
1、linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
2、linux常用目录及用途:
   /bin        存放使用者最长用的命令,如:cp、ls、cat,等等。 
   /boot       启动linux时使用的一些核心文件。 
   /dev        是device(设备)的缩写,这个目录下是所有linux的外围设备。 D:\document\Chat\MyIM\MyIM\bin\Release
   /etc        这个目录用来存放系统管理所需要的配置文件和子目录。 
   /home       用户的主目录,比如说有个用户叫wang,那他的目录就是/home/wang也可以用~wang来表示。 
   /lib        这个目录是存放着系统最基本的动态连接库,几乎所有的应用程序都须用这些共享库。 
   /lost+found 这个目录平时是空的,当系统不正常关机后,这里就是一些无家可归文件的避难所。 
   /mnt        这个目录是空的,系统提供这个目录是让用户临时挂接别的文件系统。 
   /proc       这个目录是一个虚拟目录,它是系统内存映射,我们可以直接通过访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在
               内存 中。 
   /root       系统管理员(root)的主目录,作为系统的拥有者的特权。 
   /sbin       s就是super user的意义,也就是说这里存放的是系统管理员使用的管理程序。 
   /tmp        这个目录是存放一些临时文件的地方。 
   /usr        我们用到的应用程序的文件几乎都存放这个目录下:
     /usr/X11R6       存放X_Window的目录
     /usr/bin         存放着许多应用程序
     /usr/sbin        给超级用户使用的一些管理程序就放在这个里面
     /usr/include     开发和编译应用程序所需的头文
     /usr/lib         存放一些常用的动态连接共享库和静态归档案库
     /usr/local       这是提供给一般用户的/usr目录,在这里安装软件最合适
     /usr/man         存放帮助文档
     /usr /src        开放的源代码就存在这个目录下
     /var             这个目录存放那些不断扩充的东西,为了保持usr的相对稳定,那些才、经常被修改的目录可以放在这个目录下,如/var/log日志文件。 


第4讲 常用命令
1、命令:init [0123456]
   运行级别
   0:关机
   1:单用户
   2:多用户状态没有网络服务
   3:多用户状态有网络服务
   4:系统未使用保留给用户
   5:图形界面
   6:系统重启
   常用运行级别是3和5,要修改默认的运行级别可改文件/etc/inittab的id:5initdefault这一行中的数字。
   注意:解决修改错误配置的方法:
         1)在进入grub引导界面的时候,输入e
         2)在选中第二行,输入e
         3)在最后输入一个1(1前面有一空格,代表单用户级别)
         4)回车后再按b
   注意:只有单用户级别启动时不会读etc/inittab文件
2、linux命令
   shutdown -h now 立即进行关机
   shutdown -r now 立即重新启动计算机
   reboot           现在重新启动计算机
   startx           进入图形界面
   clear           清除 shell 提示屏幕
   init 3         red hat linux从窗口模式进入命令模式
   init 5               从命令模式进入窗口模式
   reset                 刷新 shell 提示屏幕
   history               显示历史命令
   history N             显示最后N条历史命令
   !N                                     执行历史编号为N的命令
   pwd                   显示当前所在目录
   useradd 用户名         添加用户
   useradd -g 组名 用户名              添加用户,同时指定用户到哪个组
   passwd 用户名           修改此用户的密码
   userdel 用户名         删除用户
   userdel -r 用户名     删除用户以及用户主目录
   ls                   列出文件和目录
   ls -a                 显示隐藏文件
   ls -l                 显示长列表格式
   cat 文件名                   查看文件(可以是二进制的)内容
   mkdir                       建立目录
   rmdir                       删除空目录
   cp -r 源文件 目的文件       递归复制子目录信息
   mv 源文件 目的文件         移动或更改文件、目录名称
   mv 原文件名 新文件名                   修改文件名
   who                         查看系统中的使用者
   su 用户名                   更改用户的账号与口令
   ps                           查看系统目前的进程
   jobs                       查看正在后台中执行的进程
   kill 进程标识符             结束或终止进程
   命令 &                     后台执行进程的命令
   info 命令                        显示说明命令
   man 命令                   命令在线帮助
   命令 --help                 显示命令的帮助信息并离开
   more 文件名                 显示文件内容,带分页
   less 文件名                 显示文件内容,带分页
   grep -n “关键字” 文件名   查询文件中的关键字及所在行号
   |                           管道命令
   find / -name 文件名         在根(可改成其他)目录下查找该文件
   grep -n "ab" a.java > a.txt 列表的内容写入文件a.txt中(覆盖写)
   grep -n "ab" a.java >> a.txt 列表的内容追加到文件a.txt的末尾
   env                                    查看当前操作系统的环境变量
   ls -l /bin/*sh                         查看系统中所有的shell
   chsh -s 输入新的shell                  更换shell
   runlevel                               查看系统运行级别
3、linux快捷键
   ctrl+alt+F1         red hat linux从窗口模式进入命令模式
   Tab                   自动补全命令或显示匹配你键入字符的所有命令
4、linux中的 | 就是管道命令,理解?
   把上一个命令的结果交给 | 后面的命令处理
5、linux中的每个用户必须属于一个组,不能独立于组外。


第5、6讲 文件权限 用户组
1、groupadd 组名                      添加组
   groupdel 组名                      删除组
   usermod -g 组名 用户名             改变用户所在的组
   usermod -d 目录名 用户名           改变用户登录的初始目录
   chown 用户名 文件名                修改文件的所有者
   chgrp 组名 文件名                  修改文件所在的组
2、权限分为三种:
   1)r   可读     用4表示
   2)w   可写     用2表示
   3)x   可执行   用1表示
3、改变文件或目录的读、写、执行的权限,如:chmod 777 用户名     
   7:rwx的意思,即4+2+1=7
   第1个7表示对用于进行修改;第2个7表示对用户所在组进行修改;第3个7表示对其他组进行修改。


第7讲 j2ee环境(jdk、tomcat)搭建
1、挂载光驱,并启动光驱:mount /mnt/cdrom/
   卸载:umount /mnt/cdrom/
2、linux使用win文件的方式:
   1)挂载
   2)虚拟机->设置->选项->共享文件夹
3、jdk的安装步骤
   1)把.iso挂载到linux上
      a)在vm做好配置
      b)mount /mnt/cdrom
   2)把安装文件拷贝到/home
      cp 文件 /home
   3)切换到/home目录,安装
      tar -zxvf 文件名
   4)配置jdk环境变量
      vi /etc/profile  【环境配置文件】
      vi /home/liyuiln/.bashrc
      在以上两个文件尾分别加入:
      JAVA_HOME=/home/liyulin/program\ file/jdk1.7.0_45
      JRE_HOME=$JAVA_HOME/jre
      PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
      CLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
      export JAVA_HOME JRE_HOME PATH  CLASSPATH 
      注意:空格要转义!
   5)重启
4、eclipse安装
   1)前面步骤同jdk安装
   2)装完后,到eclipse目录,输入以下命令启动:
      ./eclipse
5、linux文件安装
   1).bin文件
      ./ 文件名
   2)tar.gz文件
      tar -zxvf 文件名
6、linux文件
   1)白颜色:普通文件
   2)绿颜色:可执行文件
   3)蓝颜色:文件夹
   
第8讲 linux分区
1、分区
   1)硬盘分区主要分为基本分区(Primary Partion)和扩展分区(Extension Partion)两种。
   2)基本分区和扩展分区的数目之和不能大于4个。
   3)基本分区可以马上被使用但不能再分区。扩展分区必须再进行分区后才能使用。
   4)扩展分区再分下去就是逻辑分区(Logical Partion),而且逻辑分区没有数量上的限制。
2、硬盘分为IDE硬盘和SCSI硬盘。
   1)对于IDE硬盘,驱动器标识符为“hdx~”。
      1.1)“hd”表明分区所在设备的类型,这里是指IDE硬盘
      1.2)“x”为盘符(a为基本牌盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘)
      1.3)“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始是逻辑分区。
   2)对于SCSI硬盘,标识符为“sdx~”。
      2.1)“sd”表示分区所在设备的类型。
      2.2)其余则和IDE硬盘的表示方法一样。
3、mount /mnt/cdrom                   挂载光驱
   umount /mnt/cdrom                  卸载光驱
   fdisk -1                           查看linux系统分区具体情况
   fd [目录全路径]                    查看某个目录是在哪个分区


第9讲 linux安装
1、安装两种方式
   1)独立安装(双系统那种)
   2)虚拟机安装


第10讲 shell介绍
1、《linux命令、编辑器和shell编程》
2、samba服务器


第11讲 tcp、ip基础
1、美国国防部(1969年,阿帕网,军用)---->民间机构(1972年,华盛顿开发,通讯协议)---->tcp/ip协议(1974年,美国国防部)
2、OSI与TCP/IP参考模型
    
3、学习网络圣经
   1)《TCP/IP详解 卷1:协议》
   2)《TCP/IP详解 卷2:实现》
   3)《TCP/IP详解 卷3:TCP事务协议HTTP NNTP和UNIX域协议》
   备注:另外两部经典书籍
         1)《UNIX环境高级编程》
         2)《UNIX网络编程》


第12讲 ip地址和包 解 网络环境配置
1、tracert 目标ip/域名                追踪路由
   ping 目标ip                        测试两个ip是否畅通
   ipconfig/all                       在windows下查看ip情况
   ifconfig                           在linux/unix下查看ip情况
2、特殊ip地址
   全1                                        局域网广播
   主机号全1                                  对一个子网广播
   网络号127,主机号任意值(除全0全1)        回路
3、linux网络环境配置
   方法一
   1)用root身份登录,运行setup命令进入到text mode setup utiliy对网络进行配置,这里可以进行ip、子网掩码、默认网关dns设置。
   2)这时网卡的配置没有生效。运行/etc/rc.d/init.d/network restart命令,设置才生效。
   方法二
   1)ifconfig eth0 x.x.x.x 对网卡进行设置
   2)ifconfig eth0 network x.x.x.x 对子网掩码设置
      对广播地址和DNS使用默认的。
      注意:这样配置网络将会立即生效(临时生效,重启后,将恢复到以前的设置)。
   方法三
   1)修改/etc/sysconfig/network-scripts/ifcfg-eth0。这个文件里各个属性可以修改,包括ip、子网掩码、广播地址、默认网关。
   2)然后,运行/etc/rc.d/init.d/network restart命令,设置生效。
      注意:这种方法是最底层的修改方法。


第13讲 rpm管理 samba安装配置使用
1、RPM:一种用于互联网下载包的打包及安装工具。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件
   格式名称虽然打上了RedHat的标志,但是其原始设计理念是开发式的,现在包括OpenLinux、S.u.S.E以及Turbo Linux等Linux的发行版本都有采用,可以算是
   公认的行业标准了。
2、RPM包名称格式说明:apache-1.3.23-11.i386.rpm
   “apache”软件名称
   “1.3.23-11”软件的版本号,主版本号和次版本号
   “i386”是软件所运行的硬件平台
   “rpm”文件扩展名,代表RPM包
3、rpm常用命令
   rpm -qa                         查询所安装的所有rpm软件包
   rpm -q 软件包名                 查询软件包是否安装
   rpm -qi 软件包名                查询软件包信息
   rpm -ql 软件包名                查询软件包中的文件
   rpm -qf 文件全路径名            查询文件所属的软件包
   rpm -qp 包文件名                查询包的信息对这个软件包的介绍    
 
   安装RPM包
   rpm -i RPM包全路径名称          安装包到当前系统
   rpm -ivh RPM包全路径名称        安装包到当前系统有提示信息
   参数说明:i=install             安装
             v=verbose             提示
             h=hash                进度条
   
   rpm -e RPM包的名称             删除RPM包 
   rpm -e --nodeps RPM包的名称    强制删除rpm包   
   rpm -U RPM包全路径             升级RPM包       
7、samba服务器:能够使windows与linux之间实现资源共享。
8、samba服务器的安装步骤:
   1)检查是否已经安装了samba
      rpm -q samba
   2)如果已经安装了samba,可以卸载
      rpm -e samba
   3)挂载samba安装文件,并将其复制到/home目录下
   4)安装
   5)建立用户
   6)设置samba密码(将/etc/passwd中的用户都加到smbpasswd中)
      cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
   7)启动samba服务
      service smb start             启动
      service smb stop              停止
      service smb restart           重启


第14讲 crontab详解
1、任务调度:指系统在某个时间执行的特定的命令或程序。
2、设置个人任务调度:crontab -e 命令
3、每天凌晨两点向/home/mydate文件写入(追加)日期:0 2 * * * date >> /home/mydate
   说明:“0 2 * * *”的格式--分 时 日 月 星期
4、多个任务调度方式
   1)在crontab -e中直接写。
   2)可以把所有的任务写入到一个可执行文件(shell编程)。
5、终止任务调度
   crontab -r          终止任务调度
   crontab -l          列出当前所有任务调度


第15讲 进程的介绍与管理
1、进程与线程的区别
   1)进程:正在执行的程序
   2)线程
      2.1)轻量级的进程
      2.2)进程有独立的地址空间,线程没有。
      2.3)线程不能独立存在,它是由进程创建。
      2.4)相对讲,线程耗费的cpu和内存小于进程。
2、ps命令:查看系统进程
   ps -a            显示当前终端的所有进程信息
   ps -u            以用户的格式显示进程的信息
   ps -x            显示后台进程运行的参数
3、结束或终止进程:kill 进程标识符         
4、top:显示正在执行的进程。top与ps最大的不同在于top在执行一段时间可以更新正在运行的进程。   
   1)监视特定用户
      输入top按回车后;再输入u,回车;然后输入用户名即可。
   2)终止指定的进程
      输入top按回车后;再输入k,回车;然后输入要结束的进程ID号。
   3)指定系统状态更新的时间
      top -d N分钟      指定系统更新进程的时间为N分钟


第16讲 top详解、监控网络状态
1、系统时间
   date                       显示系统时间
   date MMDDHHMMCCYY.SS       更新系统时间(月月日日时时分分年年年年.秒秒)
   cal 11 2013                查看2013年11月的月历
   cal 2013                   查看2013年的年历
2、显示网络统计信息:netstat
3、显示数据包经过历程命令:traceroute


第17讲 mysql安装 配置 使用
1、mysql特点:
   1)免费
   2)跨平台
   3)轻
   4)支持多并发
   备注:从节约成本的角度考虑,mysql特别适合中、小项目。
2、mysql数据库的安装
   1)将mysql安装文件拷到/home目录下
   2)依次执行下面命令
      groupadd mysql                             创建mysql组
      useradd -g mysql mysql                     创建mysql用户,并放入到mysql组
      scripts/mysql_install_db --user=mysql      初始化数据库
      chown -R root .                            修改文件的所有者
      chown -R mysql data                        修改data文件夹的所有者
      chgrp -R mysql .                           改变用户组
      bin/mysqld_safe --user=mysql &             启动mysql 
      ./mysql -u root -p                         进入mysql(前提:cd bin)  
   注意:mysql的驱动要放在jdk下(/jre/lib/ext/),否则,java程序连接mysql数据库可能报错!
3、mysql备份、恢复
   1)备份:mysqldump -u root -p密码 数据库名 > data.bak
   2)恢复:mysql -u root -p密码 数据库名 < data.bak
   注意:密码后面没有空格
4、mysql命令
   user 数据库名A                  使用数据库A
   show tables                     查看数据库中的表
   show databases                  查看mysql中的所有数据库


第18讲 ssh的安装、配置、使用
1、ssh(secure shell)是一款集远程操作linux,和进行文件上传和下载的软件。
   特点:安全、方便。
2、linux默认安装sshd服务,默认是启动的,监听的端口是22。


第19讲 linux补讲
1、shell使用通配符:
   * 代表多个字母或数字
   ?代表一个字母或数字
2、给命令起别名alias用法:
   alias llh='ls -l /home'
   下次只要输入llh就可。


第20讲 linux启动过程分析
1、linux系统启动过程如下:
   1)BIOS自检
   2)启动GRUB/LILO
   3)运行linux内核并检测硬件
   4)运行系统的第一个进程init
   5)init读取系统引导配置文件/etc/inittab中的信息进行初始化
   6)/etc/rc.d/rc.sysinit系统初始化脚本
   7)/etc/rc.d/rcX.d/[KS]* - 根据运行级别X配置服务
          终止以“K”开头的服务
          启动以“S”开头的服务
   8)/etc/rc.d/rc.local 执行本地特殊配置
   9)其他特殊服务


第21讲 压缩、解压缩、linux下java网络编程
1、压缩、解压
   zip xxx.zip filename1                                  压缩文件filename1,以xxx.zip存储
   zip xxx.zip filename1 filename2 filename3 ...          压缩文件filename1、filename2、filename3,以xxx.zip存储
   unzip file.zip                                         解压文件file.zip
   gunzip file.gz                                         解压文件file.gz
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值