《Linux笔记(传智博客).docx》由会员分享,可在线阅读,更多相关《Linux笔记(传智博客).docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、传智博客一周学会linux -韩顺平liunx redhat 9.01. J2SDK :jdk-6u4-linux-i586-rpm.bin2. tomcat:apache-tomcat-6.0.16.tar.gz3. mysql: MySQL-server-4.0.23a-1.9.i386.rpm MySQL-client-4.0.23a-1.9.i386.rpm4. samba5. myeclipse6. eclipse7. gcc8.-第一讲 开山篇-1. Linux内核:redhat suse fedora 红旗2. 方向:linux系统管理员 Linux程序员(c+,java,php
2、,jsp) Linux嵌入式开发(单片机,芯片) Linux软件工程师(pc机)3. 学习过程:一、 Linux平台上的开发:vi, gcc, gdb, make, jdk, tomcat, mysql,和linux基本操作。二、 加厚C语言功底C编程专家或Java。三、 学习unix环境高级编程unix环境高级编程。四、 Linux应用系统开发/Linux嵌入式开发。4. 工具书:c函数库查询Linux命令查询5. Linux内容:基础:a) Linux基础知识b) Linux常用命令80个c) Linux分区/vi/权限实用:a) Samba安装与配置b) Jdk/ apache/ mys
3、ql/ ssh/ rpm 安装与配置c) Linux网络环境配置d) Linux下Java网络编程e) Crontab使用f) Shell初步认识 6. 学习用书:鸟哥的Linux私房菜Linux编程 从入门到精通Linux内核完全剖析-第二章 基础介绍-1 内容介绍:一、 Linux的初步介绍二、 Linux的第一次接触三、 Linux用户管理四、 Linux常用命令五、 Linux下所有者,所在组和其他组的介绍六、 Linux下文件和目录权限机制2 Linux初步介绍:吉祥物-企鹅3 Linux特性:1) 免费、开源2) 支持多线程(并发)、多用户3) 安全性好4) 对内存和文件管理有自己
4、的一套优越 的方法5) Linux最小内存:4M-嵌入式开发 windows: 98 64M xp 128M vista 1G6) 缺点:操作相对困难 界面4 支持Linux的公司:a) 1999,IBMb) 1999.3,Oracle-第三章 历史介绍+vi编辑器-5 Linux的故事:1) 世界第一台计算机 1960 mit 麻省理工学院 30个人同时使用2) 1965 mit, ge奇异电器, bell贝尔实验室 30-300人分时操作 “matis计划”火星计划 3) 经过4年时间,1969 火星计划失败 a) Ken tompson(贝尔实验室 C语言设计者) 开发了一个file s
5、erver system(文件系统) 在贝尔实验室推广,并受到欢迎b) Dennis richres(贝尔实验室) 商业头脑较好 俩人开始开发c) 4年后,1973 ken和dennis共同研发了Unix 开源 源码内核共享i. IBM推出aix系统ii. SUN的solarisiii. HP的hp unixiv. 伯克利分校 free bsd4) 1991 Linus Torvalds 芬兰读书 pc386 希望minix可以移植到个人机1994 发布1.0版本,命名为Linux Linus is not unix5) Red hat 公司6) S.u.s.e 界面类似于xp7) 红旗 国产
6、6 Linux第一次接触:1) 关机命令:shutdown h now 立刻进行关机 Shutdown r now 现在重新启动计算机 Reboot 现在重新启动计算机2) 登录:root用户相当于window的administrator用户 Root 回车 输入密码 回车 即可进入控制台 尽量少使用root帐号登录 3) 登录后使用 su-切换用户4) Startx 进入图形界面5) 用户注销:logout6) 查看当前目录的文件:ls dir7) 显示当前在哪个目录下:pwd8) 切换目录:cd /目录/ 例如:cd /home/7. vi编辑器 开发者:世界第一黑客 开发hello wo
7、rld:a) vi hello.java 回车 b) 输入i 回车 进入插入模式c) 输入esc 进入命令模式d) 输入冒号:保存退出 wq 不保存退出 q!e) 输入ls 看到当前目录的所有文件Ls l 看到详细信息d) 编译Javac hello.javae) 运行 Java hello8. 如何在Linux下开发c程序:1) vi hello.cpp2) I 回车3) 保存4) 编译gcc hello.cpp 生成a.outgcc o my1 hello.cpp 制定文件名 my15) 运行 ./a.out9. vi的使用 的pdf 版本-第四章 用户管理+目录结构-10. Linux下
8、的文件目录/ 根目录Linux的文件系统是采用级层式的树状目录结构,该结构中最上层是根目录“/”,root目录-存放root用户的相关文件home目录-存放普通用户的相关文件bin目录-存放常用命令sbin目录-存放具有一定权限才可以使用的命令mnt目录-默认挂载软驱、光驱用etc目录-存放配置相关的文件 path配置var目录-存放经常变化的文件boot目录-存放引导相关的文件usr目录-安装文件 相当于program11. linux 的用户管理:1) 添加用户:useradd xiaoming 回车2) 设置密码:passwd xiaoming 回车 输入密码3) 删除用户:userde
9、l 用户名4) 删除用户及用户主目录:userdel r 用户名-第五章 常用命令-12. 常用命令:运行级别:0) 关机:1) 单用户2) 多用户状态没有网络服务3) 多用户状态有网络服务 (常用)4) 系统未使用保留给用户5) 图形界面 (常用)6) 系统重启 修改默认级别:/etc 解决错误配置:在grub引导界面程序时输入e,选中第二行,输入e,在最后输入1(单用户级别,不读该文件,并且可以修改密码) 回车 按b(进入单用户模式)找回丢失的密码 pwd 显示当前工作目录 cd 改变目录 ls a 显示隐藏文件 -l 显示长列表格式 -al “多问google大神” mkdir 建立目录
10、 rmdir 删除空目录 touch 建立空文件 cp 复制命令 -r dir1 dir2 递归复制命令 复制子目录信息 tab 修复键 mv 移动文件和改文件名 rm 删除文件和目录 rm rf * 删除所有内容(包括目录和文件)r 递归 f 强制 in 建立符号连接 in s 源目标 in s /etc/inittab inittab inittab指向实际文件/etc/inittab more 显示文件内容,带分页 pageup+ctrl上一页 长空格 下一页 ls l /home/aa.java | more 分页显示 less 显示文件内容带分页 grep 在文本中查询内容(某一关键
11、词) 使用方法: gerp “shunping” aaa.java 显示行数 gerp -n “shunping” aaa.java | 管道命令 (竖杠) 把上一个命令的结果交给|后的命令处理 man命令相当于dos下的help find 搜索文件及目录 find / -name aaa.java 根目录 依名字查找 文件名 重定向命令:ls l a.txt 管道定向 结果 重定向 新文件 覆盖 追加-第六章 文件权限+用户组-1. 文件所有者,所在组和其他组(补充上一章)1) 所有者 文件的创建者 ls ahl 可以看到文件的所有者 chown 用户名 文件名 用来修改文件的所有者2) 所
12、在组 某用户创建一个文件后,该文件的所在组就在用户所在的组 ls ahl 命令可以看到文件的所有组 chgrp 组名 文件名 修改文件所在组3) 其他组 除了文件的所有者和所在组的用户外4) 改变用户所在的组 在添加用户时,可以制定该用户添加到哪个组 usermod g 组名 用户名 用root的管理权限改变某个用户所在的组 usermod d 目录名 用户名 改变该用户登录的初始目录 a. linux 下添加组:groupadd 组名b. 查看linux中所有组信息:cat /etc/group cat 查看文件(只查看不修改) vi 查看并修改文件 组信息代表的意思:组名 加密 503-组
13、id号(唯一不可重复)c. 创建用户,并同时指定将该用户分配到哪个组:useradd g 组名 用户名d. 查看Linux所有用户:vi etc/passwd 最后的是shell解析器目录 cat etc/passwde. 分配密码:passwd 用户名功能:a) 某用户登录后在该用户下创建文件:-rw-r-r- - 文件类型 rw- 文件的所有者对该文件具有的权限(r可读4 w可写2 x 可执行 1)r- 文件所在组对该文件的权限r- 其他组用户对该文件的权限 b) 修改文件或目录的访问权限:chmod 777 用户名权限管理机制:a. 自己修改自己的权限,别人在进行访问b. 4 可读 2
14、可写 1可执行 c. 777 文件拥有者的权限 与拥有者同一组的组的权限 其他组权限c) 修改文件的所有者:chown 用户名 文件名查看文件的所有者:ls ahl修改文件所在组:chgrp 组名 文件名查看文件的所在组:ls ahld) 用root的管理权限改变某用户所在组:usermod g 组名 用户名e) 改变用户登录的初始目录:usermod d 目录名 用户名-第八章 j2ee环境+jdk+tomcat安装配置-2. Linux下搭建Java EE 开发环境1) jdk安装步骤:a. 将iso挂载到Linux(Linux需要某分区则挂载该分区到Linux系统)a) 通过鼠标:虚拟机
15、设置-CD-ROM使用iso镜像文件b) 通过命令挂载:先进入根目录- mount /mnt/cdrom/ 可以ls查看该目录下的文件c) 卸载:到根路径umount /mnt/cdrom/ d) 也可以共享文件给虚拟机:设置里设置 b. 把安装文件拷贝到/home:cp 文件 /homec. 切换目录到/home:cd /home d. 安装:./bin文件 回车 - 是否同意协议e. /home下会多jdk文件f. 看一个文件:/etc/profile环境配置文件a) vi /etc/profile 查看配置文件b) home路径 path路径tomcat路径修改:注释掉(#)g. 配置刚
16、才安装的jdk:a) JAVA_HOME=/home/j2sdk1.4.2_07b) 配Path: PATH-$PATH:/home/j2sdk1.4.2._07/bin 在原先path路径上追加pathc) 配classpath:CLASSPATH-.:/home/j2sdk1.4.2_07/jre/lib/rt.jard) 生效:export JAVA_HOME PATH CLASSPATHe) 退出保存::wqf) 重新登录之后可以使用2) eclipse的安装:a. 挂载文件b. 将安装文件拷贝到/home/c. .tar.gz 文件的安装:tar -zxvf 该文件d. 启动ecli
17、pse:(开发Java se)a) 进入图形界面:startxb) 打开一个终端控制台c) cd到/home/目录下,ls查看下该目录下文件d) cd到eclipse目录下,ls查看文件e) 启动:./eclipse 回车f) 停止:关闭g) 回到命令行:loginout绿色:可执行文件蓝色:文件夹白色:一般文件3) myeclipse安装:(开发J2EE)a. 拷贝文件b. 切换目录到/home/c. .bin文件的安装: ./该文件.bind. 安装顺序:jdk-eclipse-myeclipsee. 安装好后进入eclipse目录,运行eclipse ./eclipse 回车4) tom
18、cat安装:(其他服务器:jboss, weblogic, websphere(IBM), resin.)a. 拷贝文件到/home/b. 5) 使用:编一个jsp页面,发布到tomcata. ./eclipse &(后台运行) 回车b. 新建工程Test,建一个jsp页面,c. 配置:windows-preferences-myeclipse-tomcat 5-enable -tomcat home directory -jdk directoryd. 发布下,启动服务3. Linux下使用realplay1) 把安装文件拷贝到/home2) 安装3) 制作镜像文件:a. winISO软件打
19、开b. 新建一个,将该文件拖拽进去c. 保存,起名4) 卸载光驱,在挂载刚制作的文件4. Linux下使用QQ5. Linux分区讲解1) 主分区:操作系统所在分区2) 扩展分区:限制:加上主分区不超过四个 扩展分区不能直接使用,要分成逻辑分区,数量没有限制3) 逻辑分区:4) 驱动器标识符:hdx sd SCSI硬盘hd 表明分区所在设备的类型,这里指IDE硬盘x 为盘号(a 基本盘 b 基本从属盘 c 辅助主盘 d 辅助从属盘) 代表分区 前四个分区用14 是主分区或扩展分区, 5开始为逻辑分区5) boot目录用来挂载分区:df /boot/ 用来查看boot所挂载的分区卸载:回到根目录
20、,卸载 cd / 回车 umount /boot/ 回车 cd /boot/ 回车ls 回车6) 几个重要命令:a. 挂载: mount -参数 设备名 挂载点挂载光驱:mount /mnt/cdrom b. 卸载:umount 设备名称c. 查看磁盘使用情况:df 参数 例如:df l df h 详细信息d. 查看某个目录是在哪个分区:df 目录全路径e. 查看Linux系统分区具体情况:fdisk -l6. Linux的安装演示1) 独立安装(双操作系统安装)a.2) 虚拟机安装a. 安装虚拟机b. 安装Linux:a) 新建虚拟机-典型安装-选择版本-位置:安装目录-分配大小(5G)b)
21、 虚拟机-设置-CD-ROM-选择Linux的iso文件-启动安装c) 输入Enterd) CD Found:对磁盘检测:skipe) 选择语言 中文,键盘选择不变,鼠标不变f) 安装类型:个人桌面:没有开发环境 工作组:有开发环境 服务器:作为服务器使用 定制:依据自己的选择进行选择g) 磁盘分区:手动分区 1. /boot 分区:100M2. /swap 分区:交换分区 一般是你的物理内存的两倍,但不大于256M(Linux内存)3. / 根分区: 尽量大4. /home 用户分区:一 新建分区:挂载点:/boot 大小:100M二 新建:文件系统类型:swap: 256M三 新建:挂载点
22、:/ 四 管理员口令五 选择软件包:桌面:窗口系统,CNOME桌面环境(KDE桌面) 应用程序 娱乐 服务器 开发 : 系统 最小安装无桌面六 换一张盘(3张):虚拟机-设置-CD-ROM-iso文件更换-第十一章 shell介绍-1. 上节课回顾 df /home 回车 2. Linux下的shell(命令解析器)1) shell编程:a. .bat-MS DOS 批处理文件-将命令写入-双击即可执行所写命令b. shell script2) shell分类:a. Bourne /bin/sh 中国大陆常用b. C /bin/cshc. Kom /bin/ksh 美国常用 a) 查看目前使用
23、的是哪种shell:env 显示当前操作系统的环境变量b) shell的修改:chsh s 输入新的shell 如:/bin/cshshell生效需要注销重新登录c) shell命令补全功能按两下tab键d) history:查阅历史记录命令history 5 显示最近使用的5个!5 执行历史编号为5的命令3. tcp/ip基础1) tcp/ip的由来:网络的基础就是tcp/ip电脑之间交流:通讯协议tcp/ip美国国防部希望做一个网络 1969,阿帕网,主要用于军事民间机构 网络11972 华盛顿开会,希望制定通用的通讯协议1974 美国国防部推出tcp/ip协议,并共享中国 1989 第一
24、个邮件 1994 inter开始发展 2) Unix网络就是tcp/ip3) OSI与Tcp/ip参考模型Osi模型(理论)应用 表示 会话 传输 网络 数据链路 物理Tcp/ip模型(现实)应用 传输 网络 链路tcp/ip详解卷1:协议 tcp/ip详解卷2:实现 tcp/ip详解卷3:tcp事务协议http4) qq间互相通讯的案例:qq1:你好-应用层-app+你好-传输层-tcp+app+你好-ip层-ip+tcp+app+你好-链路层-帧头+ip+tcp+app+你好+帧尾-网卡-路由器-对方网卡-链路层-ip+tcp+app+你好-ip层-tcp+app+你好-传输层-app+你
25、好-应用层-你好-qq25) ssl加密 md5加密6) ip地址与包的路由传递 ping 测试网络速度,网络是否畅通追踪路由命令(经历几个网关):tracert Linux/unix下查看ip情况命令:ifconfignetsend “语言” ip地址(192.168.255.255)测试自己的网卡:ping 127.0.0.1 网络回路 除去全0全14. Linux网络环境配置1 setup设置:1) 用root身份登录,运行setup命令进入到text mode setup utiliy对网络进行配置进入后,按长空格自动设置,按tab手动设置2) 运行/etc/re.d/init.d/n
26、etwork restart 命令使设置生效2 ifconfig设置:1) ifconfig eth0 x.x.x.x对网卡进行设置 eth0:网络号2) ifcongfig eth0 newwork x.x.x.x对子网掩码设置,对广播地址和dns使用默认。3) 这样的配置网络将临时生效,下次登录恢复到原来的。3 第三种:1) 修改/etc/sysconfig/network-scripts/ifcfg-eth0这个文件里各个属性可以修改,包括ip,子网掩码,广播地址,默认网关。(通过vi命令修改)2) 这时网卡的配置没有生效,运行/etc/re.d/init.d/netword resta
27、rt命令我们刚才做的设置才生效。3) 这种方法是最底层的修改方法。4 在Linux中所有设备都是文件。5 Linux和windows网络互通:1) 需在同一子网里 在Linux中,ifconfig eth0 192.168.222.222) 在windows里,ping 192.168.222.22 使其与Linux联通。5. rpm包管理 redhat package manage1) 用于互联网下载包的打包及安装工具。2) rpm包的名称格式:apache-1.3.23-11.i386.rpm apache 软件名称1.3.23-11 软件的版本号,主板本和次版本i386 软件所运行的硬件
28、平台rpm 文件扩展名,代表rpm包3) rpm常用命令:a. 查询Linux中安装的rpm软件:rpm qa rpm q mysqlb. rpm ql 4) 安装RPM包:rpm i RPM包全路径名称 安装包到当前系统rpm ivh RPM包全路径名称 安装包到当前系统有提示信息参数说明: I install安装 v verbose提示 h hash 进度条5) 删除RPM包:rpm e RPM包的名称 rpm e jdk若要RPM忽略有依赖的RPM包,使用-nodeps命令(强制删除)。6) 升级rpm包:rpm U rpm包全路径名rpm U cvs-1.11.2-10.i386.rp
29、m6. samba服务器安装和配置(windows 与 Linux 共享文件) samba:相同系统之间文件共享:通过网络邻居 不同系统之间:装一个samba服务器1) 安装:a. 检查是否安装了 samba rpm q sambab. 如果有,卸载:rpm e samba 强制卸载:rpm e nodeps sambac. 将安装文件挂载到Linux下d. 把samba开头的文件拷贝到/home下,准备安装 cp /mnt/cdrom/samba* /homee. 开始安装:common:rpm ivh samba-common client: 第三个f. 查看:rpm qa samba2)
30、 配置:a. 创建一个用户 useradd youyou修改密码: passwd youyoub. 给youyou设置密码:将cat/etc/passwd中的用户都加到/etc/samba/smbpasswd中cat/etc/passwd | mksmbpasswd.sh /etc/samba/smbpasswdcat/etc/passwd 显示所有用户mksmbpasswd.sh/etc/samba/smbpasswd设置密码: smbpasswd youyou c. 启动samba服务器,测试 service smb start停止:service smb stop重启:service s
31、mb restartd. 设置权限:3) 使用:在cmd中打:/192.168.44.22(Linux的ip)-第十五章 crontab详解-1. 上节回顾2. 设置任务调度命令crontab定时启动杀毒软件等1) 任务调度:指在某个时间执行的特定的指令或程序。2) 任务调度分类:a. 系统工作:有些重要的工作必需周而复始地执行,如病毒扫描等。b. 个别用户工作:个别用户可能希望执行某些程序。3) 任务调度的使用:a. 设置任务: crontab e b. 每隔一定时间执行 date /home/mydata1 将date放入mydata1文件中0 2 * * * 分钟 小时 日(一月中第几日
32、) 月 一周中的哪天0 2 * * * date /home/mydata2date 查看当前系统时间c. 调度多任务:a) 在crontab e 中写入多个任务b) 把所有的任务,写入到一个可执行文件(shell编程1 创建shell文件:vi mytask.sh(.sh结尾)2 写入命令3 保存推出4 给mytask加可执行权限5 在crontab e 中写入命令:* * * * * /root/mytask.sh6 若收到邮件,是有错误7 终止任务:crontab r crontab l 列出当前有那些命令3. 监控网络状态信息netstat an 查看目前系统有哪些端口在监听 (打开端
33、口越多越危险)4. mysql数据库在Linux下的使用5. ssh(secure shell) 的使用1) sshd服务:使用ssh客户端登录6. ftp的安装与配置-第16章 进程的概念和管理-1. 基本概念1) 在Linux中,每个执行的程序都成为一个进程。每一个进程都分配一个ID号。2) 每一个进程都对应一个父进程,而这个父进程可以复制多个子进程,如www服务器3) 每个进程都可能以两种方式存在。前台与后台4) 进程:正在执行的程序线程:轻量级的进程,进程有独立的地址空间,线程没有,线程不能独立存在,由进程创建(fork)Thread 相对讲,线程耗费的cpu和内存小于进程。ps命令:
34、用来查看目前系统中,有那些正在执行,以及他们的执行状况pa aux 看的全面,信息也全蓝屏问题:内存调度错误5) 终止进程kill/killalllkill 进程号kill -9 进程号 (-9 传递信息)6) 动态监控进程 top (查看进程运行情况)按q退出 u 查看某个用户的情况 ctrl+c退出7) 设置系统日期:date 显示系统日期date MMDDHHMMCCYY.SS查看月历:cal 3 2001 查看2001年3月的月历查看年历:cal 2008 查看2008的年历8) 监控网络状态信息:显示网络统计信息的命令:netstat an(按某种顺序排序) 哪个ip连接到我的电脑n
35、etstat anp 显示进程号检测主机连接命令:ping ip地址显示数据包经过历程命令:traceroute route9) mysql数据库在Linux下的使用1 安装MYSQL:准备安装文件-拷贝到/home-解压缩命令:tar zxvf 文件-改文件夹:mv 文件夹 名字mysql-connector-java-3.1.10-bin.jarmysql-standard-4.0.26-pc-linux-gnu-1686.tar.gzsetup 进入设置页面rpm qa mysql 查看是否存在mysqlrpm e mysql 删除mysqlrpm e nodeps mysql 彻底删除
36、mysql2 groupadd mysql 创建mysql组3 useradd g mysql mysql 创建mysql用户放入到mysql组4 scripts/mysql_install_db user=mysql初始化数据库 进入到mysql目录,执行该命令5 chown R root . 修改当前目录文件的所有者为root (. 当前目录 .上一级目录 -R递归,将所有都修改)chown R mysql data 修改data文件夹的所有者为mysqlchgrp R mysql . 改变当前目录用户组为mysql6 启动mysql(使用mysql用户)bin/mysqld_safe u
37、ser=mysql &(以后台方式启动)7 ctrl+c退出,但是程序任然在跑8 netstat anp|more 查看程序是否在运行,查看他的端口,33069 使用:进入/bin目录,./mysql uroot p密码10 正常启动11 退出:quit12 配环境变量:env |more 在其他目录执行mysqlcd /root/ .bash_profile文件(存放用户变量)vi .bash_profile ;/home/mysql/bin/ 保存退出 注销重新登录env 查看环境变量13 测试mysql数据库是否可以在Linux下正确使用(特别注意mysql的驱动存放的位置:放jdk下
38、主目录下/bin/jre/lib/ext)14 进入mysql-建立数据库create database sqdb1-show database;-建表: use sqdb1; create table users(userId varchar(8),username varchar(8);-显示表:show tables;-添值:insert into user values(dd,dd);-查看:select * from user;15 编写ShowUsers.java文件,显示数据库中的数据:import java.sql.*;public class ShowUserspublic
39、static void main(String args)tryClass.forName(“com.mysql.jdbc.driver”);Connection ct= DriverManager.getConnection(“jdbc:mysql:/127.0.0.1:3306/spdb1?user=root&password=”);Statement sm = ct.createStatement();ResultSet rs= sm.executeQuery(“select * from users”);while(rs.next()System.out.println(“username=”+rs.getString(1);catch(Exception e)e.printStackTrace();16 备份:mysqldump uroot p123 数据库名 data.bak17 恢复:mysql uroot p123 数据库名 查看备份文件:vi data.bak1. ssh:1) ssh secure shell 远程操作Linux,进行文件上传下载的软件2) 安装:SSHSecureShellclient-3.2.9.r