看韩顺平讲linux笔记
8:56 2011/6/8
?
? 1.为什么学习Linux ? 性能卓越 ? linux是一个开源,免费的操作系统,其稳定性、安全性、处理多并发已经得到业界认可
? ? 工作需要
? ? linux的就业方向:linux系统管理员,linux程序员
? 2.Linux学习方法
? ? 个人认为Linux学习流程
?
? ? 第一阶段:linux平台上的开发,包括vi,gcc,gdb,make,jdk,tomcat,msql
? ? 第二阶段:Java语言编程
? ? 第三阶段:学习unix环境高级编程《unix环境高级编程》
? ? 第四阶段:linux应用系统开发/linux嵌入式开发
? 3.如何听老师的课
? ?记住一点:成为一个linux专家的秘诀就是:
? ?思考 —— 实践 —— ?再思考 ?——再实践
? ?1》高效而愉快的学习
? ?2》先建立一个整体框架,然后细节
? ?3》用什么再学习什么
? ?4》先know how ,再know why
? ?5》计算机是一个“做中学”的学科,不是会了再做,而是做了才会
? ?6》适当的囫囵吞枣
? ?7》学习Linux系统是在琢磨别人怎么做,而不是我认为应该怎么做的过程
?
推荐的书:《鸟哥的私房菜》 ? ?《Linux编程从入门到精通》 ? 《Linux内核完全剖析》(初级--高级)
? 4. Linux的特点
? ? ?优势
? ? ?1》免费的(国人很喜欢哦)/开源
? ? ?2》支持多线程/多用户
? ? ?3》安全性好(有病毒,但是并没有Windows上面那么猖獗)
? ? ?4》对内存和文件管理优越
? ? ?缺点
? ? ?操作相对困难 ??
? 5. startx 进入图形界面
? ? ?shutdown -h now 立刻进行关机
? ? ?shutdown -r now 现在重新启动计算机
? ? ?reboot ? ? ? ? ?现在重新启动计算机
?
? ? ?用户登录:登录时尽量少用root登录,因为它是系统管理员,拥有最大的权限,避免操作失误。可以利用普通用户登录,登录后再用"su-"命令切换成系统管理员身份?
? ? ?用户注销:在提示符下输入logout即可
? 6.vi编辑器是linux下最有名的编辑器,也是我们学习linux必须掌握的工具,在unix下也可以使用vi进行程序
?
开发
? ? 下面我们在linux开发一个java的Hello.java并在linux下运行成功
? ? 步骤:1> Vi ?Hello.java
? ? ? ? ? 2>输入i【进入插入模式】
? ? ? ? ? ? public class Hello{
?
public static void main(String [] args){
System.out.println("Hello World");
}
? ? }
?3>输入Esc
? ? ? ? ? 4>输入:
? ? ? ? ? 5>wq【退出保存】 q!【退出不保存】
? ? ? ? ? 6>ls【展现当前目录 -l(加l表示查看详细信息) 】 ll 【展现目录下得所有文件】
? ? ? ? ? 7>编译javac Hello.java ? 运行 java Hello
在vi下 ?set nu :显示行号
? ? ? ? ? ? ? ? set nonu ?:不显示行号
? ? ? ? ? ? ? ? /string ?:向下搜索字符串string
?string ?: 向上搜索字符串string
? ? ? ? ? ? ? ? ?搜索的时候按n表示查找下一个,按N表示上一个
?
10:19 2011/6/9
? ?7. 建议不要设置root的密码,这样才安全,root的密码默认就是你当前用户的密码,如果你想要以root身份进入纯文字编辑模式,可以在终端输入sudo+要执行的命令,如:sudo vi /etc/apt/sources.list?
? ?8. ?linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录'/'
? ? ? ?root 存放root用户的相关文件
? ? ? ?home 存放普通用户的相关文件
? ? ? ?bin 存放常用命令的目录
? ? ? ?sbin 要具有一定的权限才可以使用的命令
? ? ? ?mnt 默认挂载光驱跟软驱的目录
? ? ? ?boot 存放引导的相关文件
? ? ? ?etc 存放配置相关文件存放
? ? ? ?var 存放经常变化的数据
? ? ? ?usr ?存放软件的默认安装文件夹
?
? ? 9. 显示当前在哪个目录下 ?pwd
? ? ? ? ?useradd xiaofei ?【添加一个用户】
? ? ? ? ?passwd xiaofei ? 【为添加的用户xiaoming设置密码】
? ? ? ? ?userdel 用户名 【删除用户】
? ? ? ? ?userdel xiaoming 【删除用户xiaoming】
? ? ? ? ?userdel -r xiaoming 【删除用户以及用户主目录】
? ? 10.Linux的常用命令(1) 指定运行级别
? ? ? ? ?命令:init[123456]
? ? ? ? ?运行级别0:关机
? ? ? ? ? ? ? ? ?1:单用户
? ? ? ? ? ? ? ? ?2:多用户状态没有网络服务
? ? ? ? ? ? ? ? ?3:多用户状态有网络服务
? ? ? ? ? ? ? ? ?4:系统未使用保留给用户
? ? ? ? ? ? ? ? ?5:图形界面
? ? ? ? ? ? ? ? ?6:系统重启
? ? ? ? ?常用运行级别是3和5,要修改默认的运行级别可改文件/etc/inittab的id:5:initdefault:这一行中的数字?
?
7:46 2011/6/10
?
?11. 解决修改错误配置的方法或者密码
? ? ?在进入grub引导界面的时候,请输入e ?在选中第二行 再输入e 在最后输入1【单用户级别】
? ? ?在linux快要启动的时候,回去查看一下/etc/inittab的运行级别,但是在单用户级别的时候不用去查看/etc/inittab文件,从而可以修改配置,或者密码。其实这是linux的一个漏洞
?12 pwd 【显示当前工作目录】
? ? cd 【改变目录】
? ? ls [【列出文件和目录】
? ? ls -a 显示隐藏文件
? ? ls -l 显示长列表格式
?
? ? mkdir 【建立目录】
? ? rmdir ?【删除空目录】
? ? linux的命令很多,每个命令还有很多参数 可以问google大神
? ? touch 【建立空文件】
? ? cp ?【复制命令】
? ? cp -r dir1 dir2 递归复制命令(复制子目录信息)
? ? mv ?【移动文件和修改文件名】
? ? rm ?【删除文件和目录】
? ? rm -rf * 【删除所有内容(包括目录和文件) r递归 f 强制
? ? In 【建立符号链接】
? ? In -s 源 目标
? ? In -s /etc/inittab inittab【intitab指向实际文件/etc/initab】
? ? more 显示文件内容带分页
? ? less 显示文件内容带分页
? ? | 管道命令 ? 在linux跟unix系统中 ?“|" 就是管道命令 怎么理解呢?把上一个命令的结果交给|后面的命令处理
? ? grep ?在文本中查询内容
? ? grep "shunping" aaa.java 在aaa.java文件中查找"shunping"的字符串
?
? ? 在显示生活中有问题找警察,在linux世界中有问题问男人 man命令相当于dos下的help
?
? ? find ? 搜索文件及目录
? ? 管道定向命令
? ? ls -l > a.txt列表的内容写入文件a.txt中(覆盖写)
? ? ls - al >> aa.txt 列表的内容追加到文件aa.txt的末尾
? ? 从文件中输入信息 database_program <databasse_data
?13.在linux中的每个用户必须属于一个组,不能独立于组外。在linux下中每个文件有所有者,所在组,其他组的概念
? ? 1>所有者
? ? 2>所在组
? ? 3>其他组
? ? 4>改变用户所在的组
? ? 查看linux中所有组的信息
? ? vi /etc/group cat /etc/group ?cat是只查看不能修改的命令
? ? 如何在linux中添加组
? ? groupadd policeman?
? ? 创建用户并同时将用户分配到哪个组
? ? useradd ?-g 组名 用户名
? ? 查看Liunx中所有用户信息 ?vi/etc/passwd ?cat /etc/passwd
?
?14 .如何修改文件的访问权限问题
? ? ?who am i
? ? ?chmod 777 along ??
? ? ?useradd -g policman runner
?15 JDK的安装步骤
? ? 1> ?把mypackage.iso挂载到linux操作系统上
? ? ? ? 在vm上做好配置
? ? ? ? mount ?/mmt/cdrom
? ? 2> 把安装未见拷贝到 /home目录
? ? 3> cd /home【切换目录】
? ? 4> ./????.bin
? ? 5> 看看一个文件 /etc/profile ? 环境配置文件
? ? ? ?在linux下面用#来注销
? ? ? ?JAVA_HOME=/home/j2sdk
? ? ? ?PATH=$PATH:/home/j2sdk
?
? ? ? ?Eclipse的安装
? ? ? ?2>把安装文件拷贝到/home目录
? ? ? ?3> ?安装 ? tar -zxvf ???.tar.gz
? ? ? ?4> ?进入图形界面 ?startx ?启动./eclipse
?8:35 2011/6/12
?16. ?./eclipse & ?加&表示后太运行
? ? 毫无疑问,没有数据库,java ee项目将会暗淡无光,所以我们必须掌握如何在Linux下安装和使用数据库
在Linux下出了microsoft的sql serer不能安装外,其他主流的数据库都可以安装。比如mysql.orcle.db2...
?
8:44 2011/6/13
? linux分区(1)
? 概述:硬盘分区主要分为基本分区和扩展分区两种,基本分区和扩展分区的数据之和不能大于四个。基本分区可以马上被使用但不能再分区。扩展分区必须再进行分区才能使用,也就是说它必须还是进行二次分区。那么由扩展分区再分下去的是什么呢?它就是逻辑分区(Logical Partion)
?
挂载命令
mount [-参数] [设备名称] [挂载点]
特别说明:在该在光驱时,可直接使用 mount /mmt/cdrom
卸载命令
umount 【设备名称】
?
查看磁盘的使用情况
df 【-参数】
比如df -l
查看某个目录是再哪个分区
df [目录全路径]
fdisk -l ?查看linux系统的磁盘分区
? 17. ?linux的安装方式
? ? ? ? ? ? ? ? ? 1>独立安装
? ? ? ? ? ? ? ? ? 2>虚拟机安装
?
linux安装的时候 ?分区是关键
? ? ? ? ? ? ? ? ? ? ? ? /boot分区 ?100M
? ? ? ? ? ? ? ? ? ? ? ? ?swap 交换分区,一般是你的物理内存的2倍,但是一般不大于256
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?跟分区越大越好
?
? ? ?18. linux下的Shell
?使用shell命令相当于DOS下的批处理文件 ?称为Shell script ,又叫Shell程序或Shell命令文件
? ? ? 推荐书籍《linux命令、编辑器和shell编程》
?
? ? ? ? ? ?1>查看目前使用的是哪种shell ? ?命令:env ?[该命令可以显示当前操作系统的环境变量]
? 2>改变shell种类
? ? ? ? ? ? ? ?chsh -s /bin/csh
history ? 查看曾经执行过得命令
history 5 查看最近执行的5条命令
? 19 ?tcp/id基础
? ? ? linux/unix的世界就是网络的世界,而网络的基础就是tcp/ip,所以一个优秀的Linux/unix
? ? ? 程序员必须了解并掌握tcp/id。他不是一个独立的协议,而是一组协议
? ? ? 推荐图书《TCP/IP详解》卷1:协议 ?《TCP/IP详解》卷2:实现 ?
? ? ? 《TCP/IP详解》卷3 ?
****在linux下所有的设备都是一个文件
ifconfig etho x.x.x.x对网络设置【这样配置网络将会立即生效但是是临时生效】
? ? ? 第三种方法
? ? ? 修改/etc/sysconfig/network-scripts/ifcfg-eth0这个文件里各个属性可以修改,包括ip
? 20 RPM管理 ? RedHat Package Manager(RedHat软件包管理工具)
?
? ? ?rpm -qa 查询linux中所以安装rpm包的软件
?
? 21. ?任务调度的使用
? ? ? 1>设置任务 ? crontab -e
? ? ? 2>每隔一段时间去执行 ?date > /home/madate1
? ? ? ? ?希望每天凌晨2:00去执行 ?date >> /home/mydate2
? ? ? ? ?0 2 * * * date >> /home/mydate2
?
? ? ? ? ?希望 每分钟去执行
? ? ? ? ?可以在crontab -e 中加入
? ? ? ? ?0 * * * * date >> /home/mydate2
? ? ? 3>怎么去调度多个任务
?
? 22:39 2011/6/20
?
? ?22 ? 进程 ? 进程就是正在执行的程序
? ? ? ? 线程 ??
? ? ? ? ? ? ? ? (1) 轻量级的进程
? ? ? ? ? ? ? ?(2)进程有独立的地址空间,线程没有
? ? ? ? ? ? ? ? (3)线程不能独立存在,它是由进程创建
? ? ? ? ? ? ? ? (4)相对讲、线程耗费的CPU和内存小于进程
? ? ? ps 命令是用来查看目前系统中正在执行进程
? ? ? ? ? ps -a意思是说显示当前终端的所有进程信息
? ? ? ? ? ps -u :以用户的格式现实进程信息
? ? ? ? ? ps -x显示后台进程运行的参数?
? ? ? ? ? ps - aux 【看的全面 信息也全面】
?23 显示网络系统信息的命令netstat
? ? netstat -an
? ? netstat -anp
?24显示数据包经历过历程命令:t.raceroute
? route路由表
?7:21 2011/6/22
?
?25.ssh ?【secure shell】 是一款集远程操作linux,和进行文件上传和下载的软件
?
? ?linux系统在默认安装sshd服务,而且默认是开机启动 ?监听的端口是22
? ?1.安装
? ?2.使用ssh客户端登陆到linux(前提是linux启动了sshd服务启动)