看韩顺平讲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服务启动)