linux笔记.docx
- 文档编号:27771476
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:27
- 大小:178.88KB
linux笔记.docx
《linux笔记.docx》由会员分享,可在线阅读,更多相关《linux笔记.docx(27页珍藏版)》请在冰豆网上搜索。
linux笔记
Linux操作系统学习
操作系统:
六七十年代时的计算机是没有操作系统这个概念,每台机器都有自己的使用环境.
?
能不能造出通用的计算机来
有硬件,CPU,内存,存储设备,输入设置,不指定具体功能.
只负责开发一种软件,负责管理CPU调度,内存分配,磁盘磁盘管理等系统功能.,假设叫"A软件"
[天气计算]需要CPU,内存等资源来计算,不能直接来调度CPU,内存这些东西,得通过"A软件",
操作系统:
按任务和用户来分
单任务单用户操作系统:
同时,只能进行一个程序,而且只允许一个用户"同时"登陆,典型:
DOS系统
单用户多任务:
"同时"只能有一个用户登陆,但是能同时执行多个任务.Xp
(多用户不是指能开设多个用户名,而是指"同时登陆")
?
多任务是如何实现的
时间片轮转技术
[----------------------1秒钟-------------------]
嘀嗒10^-9,
假设有5个任务
ABCDE
把时间分成极小的块,每一个时间单元指行一个任务,来后来回循环
从而达到宏观上看:
是一种多任务同时进行的效果.
多用户多任务操作系统(linux,unix,bsd)
意味着:
linux允许多个用户同时登陆到主机上.
Linux严格的说,不是操作系统,而是"内核"
因为linux只负责内存,CPU等硬件管理,没有具体的应用功能实现.
GNU/linux,
GNU:
GNUisNotUnix.
Unix闭源后,stallMan,创建GNU组织,
Emacs,GCC编译器等,开发了大量的开源软件,但是没有一个成熟内核
91年的时候,linus,在一个教授模拟的minix(缩小版的unix)系统上做练习,
自己开发了一很小的内核:
0.01,允许大家修改.
92年,0.9版本出现,已经稳定.(目前最新内核:
3.2)
随后,linux内核遵守GPL协议,归属到GNU门下.
GNU/linux操作系统.
Linux的发行版是怎么回事?
Redhat(红帽),suselinux,
红旗linux,蓝点(bluepoint,已死)
Ubuntu(非洲出品),ubuntu的母版:
debian
目前还有"深度linux","雨林木风linux"
同样的linux内核+不同的软件==不同的发行版
Linux的特点
多用户,多任务
图形界面与内核是分开的,在服务器端,效率高.
X11协议开发图片界面,图形界面在linux里的地位就是一个"软件",
对于windows则不同,windows的图片界面是直接集成在内核里的.
如果在机房有一台web服务器,我们可以把图片界面关闭,只保留文字界面,这样极大减少了资源浪费.
稳定
安全
我们学习linux的哪几个方面:
文件/目录管理(路径概念)
用户/组管理
权限管理
Vi编辑器
软件编译
Lamp环境编译实战
Linux学习第一个问题:
路径的概念
如右图:
C盘30G,
C盘下面的window子目录
问window子目录最大是?
30G
总结:
windows下是先定物理上的分区,在物理的分区上建立目录/子目录这种逻辑上的关系
Linux下的目录路径概念:
先定逻辑上的关系,再确定目录与物理分区的联系.
Linux的所有目录都是从根分区开始的‘/’
ls,查看当前目录下的文件/子目录列表
pwd,查看当前自已的所在位置
cd进入某目录
/
root:
是root用户的家目录,相当adminstor的”我的文档”
boot:
是引导目录,操作系统启动时,先载入内存的文件
home:
所有用户的家目录的所在地,/home/zhangsan
bin/sbin,bin->binary,二进制,一般放可执行文件,sbin,s->super,root用户才允许执行的一些命令
etc放置系统的配置在etc下.
usr一般编译安装软件时,放在这,类似于X:
/programfiles
var一般放置经常变动的文件的目录,/var/www,./var/ftp这种常见.
devdevice:
设备.(在linux看来,所有的设备,都当成文件来处理,读文件就是读设备的内容.比如读取/dev/cdrom就是读取光驱的内容.
mntmount文件挂载
/
Etc/
Boot/
….
Home/
Zhangsan/
Mp3/
/
Home/mp3
Cd/home/zhang/mp3,
从逻辑上看:
在根目录下home目录zhang下面mp3
从物理上来看:
是在第2个块硬盘的第1个分区
(20G)
Var/--200G的分区
根据linux先逻辑,再映射到物理分区上的特点:
我们可以扩充系统目录的大小.
案例:
只有ubuntu系统的机器,挤出20G空间装windows如何操作的?
观察home分区特别大,把home分区的内容备份到移动硬盘上,
格式化home对应的实际物理分区,一个20G,(准备装windows)
剩余的假设格式化为/dev/hda5,
修改配置文件,完成/home/---->/dev/hda5
再把内容恢复过去.
绝对路径的概念
Linux有一个统一的/,所有的目录都从此开始,
此系统中,任意一个目录或文件,都能够从/出发,逐层找到
从根目录开始,逐层定位,定位到自己想要的目录或者文件,这就是绝对定位.
比如:
cd/.
Cd/var/mail
注意:
回到自己家目录,可以简写
Cd/home/zhangsan
Cd不加任何参数
Cd~
Cd$HOME
相对路径的概念
相对于当前的位置,来定位文件或目录.
.代表当前目录,
..代表上一级目录
相对路径和绝对路径是可以配合使用的.
比如:
cd/home/zhangsan/a/b/c/../d
容易出错的问题:
比如:
想进入根目录下的root目录时:
Cdroot,此时,是在当前目录下寻找root目录
因此,除非是在当前目录下寻找,否则,\要么相对定位,要么绝对定位,明确指定要到达的路径.
用root登陆的危险性:
Index.php服务器,,访问不了
没有读权限和执行权限
管理员处于/var/www
管理员->修改.php的权限
Chmod777./-R(递归),
Chmod777/-R
命令行与图片界面相互切换
Init5图形界面
Init3文字界面
目录:
创建,删除,移动,重命名,复制
目录的创建:
mkdir
1:
Mkdir目录名
2:
mkdir目录1目录2..目录3
3:
mkdir–p./a/b/c/d创建级联目录
目录的复制:
cp(既能复制目录,也能复制文件)\
1:
复制谁?
2复制到哪儿去?
Cpsourcetarget
1:
cp./china./mp3–R,这是把china复制到mp3下面去(必须要加)
2:
cpsourcetarget/newname,
此时的效果,是把source复制到target下面,并且重命名为newname
目录的移动:
mv(既能移动目录,也能移动文件)
移动谁移动到哪儿去
1:
mvsourcetarget
2:
mvsorucetarget/newname
此时的效果,是把source复制到target下面,并且重命名为newname
提示:
在linux下,并没有专门的重命名命令,
而是通过mv来实现的.
目录的删除
Rmdirtarget,删除且只能用来删除空目录用的
Rm–rftarget,r:
递归,f:
force强制,
文件操作:
文件创建,移动,复制,删除,重命名
创建一个文本文件
1:
Touch创建一个空文件
2:
输出重定向,创建一个有一定初始内容的文件
例:
echohello>a.txt(文本文件原有内容就被清空)
也可以用>>来进行重定向
例:
echohello>>a.txt(内容追加到原来文件中,而不是覆盖)
3:
vi编辑器创建
2:
文件的移动和重命名--->和目录的移动重命名一样.
3:
文件的复制和目录基本一样,只差一个参数–r,
4:
文件的删除
rmtarget
删除的时候允许用*通配:
比如rm2011.*.log
文本文件的查看
More
less
都是查看文件内容,但略有区别
1:
less没有%号提示,more有
2:
more到文件结尾时,自动退出,而less不会自动退出
3:
less可以查找文件,more不能
共同:
都是按q退出
翻页:
空格下一页
往前翻页:
ctrl+b
下面4个,对less有效
Ctrl+Home,翻到文件开始
Ctrl+end翻到文件结尾
Ctrl+pagetup翻到上一页
Ctrl+pagedown翻到下一页
查看文件的开头和末尾
Head
用法:
head–nxx.file,xx.file是:
要查看的文件,-n代表取几行
Tail
例:
tail-2xx.file
把多个文件的文件连接显示
命令:
Cat
用法:
catfile1file2file3….fileN
把多个文件的内容连接起来:
用cat+重定向
例:
catfile1file2file3…fileN>new.file
用户管理/组管理
用户增加
命令:
useradd
用法:
1:
useradd用户名
作用:
直接新增用户,并且为新增用户的增加一个同名组,且新用户属于该组
2:
useradd-g所属组名用户名
如果不指定家目录,则默认自动创建home/用户名目录,作为家目录
3:
useradd-d所在家目录用户名
用户修改
命令:
usermod
用法:
usremod-选项选项值用户名
1:
usermod-g新组名用户名(修改用户的所属组)
2:
usermod-d新家目录xiaomei
(usremod修改用户的家目录时,并不会自动创建一个新的家目录,和useradd不同,
因此,需要我们手动的创建家目录)
3:
usermod-xiaomei
用户删除
命令:
userdel
1:
用法:
userdel用户名
删除一个用户,并同时删除用户的关联文件呢?
2:
Userdel-r用户名,删除一个用户,并删除其关联文档
组增加
命令:
groupadd
用法:
1:
groupaddliangshan
组修改:
命令:
groupmod
用法:
Groupmod-选项选项值组名
-n修改组名
Greoupmod-n新组名旧组名
组删除:
命令:
groupdel
用法:
Groupdel组名
注意:
当组下面还有用户时,组不能直接删除,应先转移或删除用户才行.
权限的概念:
文件/目录的权限:
读,Read,4
写,wirte,2
执行,execute,1
数字表示
读
写
执行
权限
7
R
W
x
Rwx[111]
6
R
W
-
Rw-[110]
5
R
-
x
R-x[101]
4
R
-
-
R--[100]
3
-
W
x
-wx[011]
2
-
W
-
-w-[010]
1
-
-
x
--x[001]
0
-
-
-
---[000]
R
W
x
1/0
1/0
1/0
101=2^0*1+2^1*0+2^2*1=1+0+4=5;
注意:
rwx三者的顺序是不允许改变的,
如果没有某一个权限,用"-"来占位,
用户与某一个文件存在的关系
Xiaomei创建了a.sh文件,
Xiamei是文件的主人,u(user)来表示
Xiamei同组的用户,对此文件的角色是属组的角色,用g(group)表示
不和xiaomei同组的用户,是其他人o(other)来表示
一个文件可以针对u(用户),g(组),o(其他人),分别设定不同的权限
一个文件的信息,按U,g,o顺序,分别分配权限
[rwx8种组合][rwx8种组合][rwx8种组合]
Ug0
一个典型的文件的权限是怎么表示的?
1:
字符表示
按ugo顺序,显示rwx的组合,
例:
rwxr-xrw-,
如何立刻此权限?
9个字符,分成3组,
第1组就是u的权限
第2组就是g的权限
第3组就是o的权限
2:
数字表示
按ugo的顺序,指定用户对某文件的权限
例:
731
该文件
对U是rwx,读写执行
对g是-wx,写,执行
对o是--x,执行
图中的第1位-,代表文件的类型
-代表普通文本文件
D代表目录
-l链接(windows下的快捷方式)
-d设备文件
修改文件/目录的权限
命令:
chmod修改文件/目录的权限
用法:
1:
相对修改法
在原来的权限基础上,针对某种角色(u,g,o),增加或减少某种权限.
1:
Chmodu+xb.sh给user加 可执行权限
Chmodu-xb.sh给user去掉可执行权限
2:
chmodo+wxb.sh给o加可写可执行权限
3:
chmod+xb.sh,给u,g,o,3个角色都加上x可执行权限
Chmod-xb.sh,给3个角色都减去x权限
4:
chmodo-r+xb.sh,减去o的读权限,再加上执行权限
5:
chmodu+x-w,g+x-w,o-x+rb.sh,同时修改多个角色的权限
2:
绝对修改法
不考虑原有的权限,直接考虑最终想要的权限状态,然后直接用数字来指定.
(必须指定3个数字,按顺序u,g,o)
例:
Chmod661b.sh
Chown[changeowner],修改文件的所有权
普通用户不能完成修改文件属主chown
Chownnew_userfilename,修改文件/目录的属主为new_user
修改文件/目录的所属组
命令:
Chgrp
用法:
Chgrpnew_groupfilename
想同时修改文件的属主和属组
Chownshiba.shibab.sh
利用chown只修改文件/目录的属组
Chown.liangshanb.sh
Vi编辑器
3种模式
命令模式:
可以进行快速编辑,及模式转换
插入/编辑模式:
可以从键盘输入,进行编辑
尾行模式:
编辑完成的相应操作,如存盘,退出等
打开一个文件时,默认是在命令模式下
i:
进入插入模式,光标留在原处
R:
光标停在原生,但是打的第1个字符将会替换掉光标所在处的字符
S:
删除当前光标所对的文字,并进入插入模式
A:
光标往前跳一个字符
O:
光标跳到下一行
尾行模式:
W:
保存
Wq:
保存加退出
Q:
退出
!
:
强制
Q!
:
不保存,强制退出
命令模式的各种快捷键:
先有一个基本功:
光标的跳转
(见pdf复习笔记,不赘述)
Vi编辑器一些好用的命令
:
setnu显示行号
:
setnonu,取消显示行号
复制操作:
Yy:
快速复制一行
yNy:
快速复制N行
一些实用的命令:
Top:
观察系统的负载(类似于windows的任务管理器)
Ps:
观察当前的进程
例:
ps-aux|grep查找的进程
Free:
查看系统空闲
Free-m,查看空闲的memeory
某个命令查看内容过多时可以管道给more或less等
如:
chkconfig–list|more
下节课的内容:
配置网络
远程连接
安装软件
编译软件
案例:
编译lamp+电子商城运行环境
:
shell脚本,有时间可选学
挂载:
就是把分区或光驱与某一个目录建立一种映射关系.
读写此目录,从硬件上看,就是在读写此分区或者光驱.
挂载哪个设备到哪个目录
例:
Mount/dev/cdrom/mnt
卸载:
Umount设备名/挂载点
在linux下安装软件
一般有3种方式:
1:
二进制安装.
类似于windows下的exe,是直接编译的软件,双击或者命令安装.
然后直接运行.
Linux常见的二进制安装包,
一般有.rpm,redhat及期衍生版(如centos)所用的格式.
.deb,debian以及其衍生版本(如ubuntu)所用的格式
2:
软件包管理器来安装
软件包管理器非常智能,能自动判断缺少哪些软件包,需要下载哪些软件包,然后自动安装.
常见的包管理器:
Yum:
在redhat及其衍生版出现
Apt:
在debian,ubuntu出现.
例:
yum-installmysql
Apt-getinstallmysql
3:
源代码编译安装
rpm安装,卸载,升级,查询
1:
安装
用法:
rpm-ivhxxx.rpm
例:
rpm-ivhvsftpd-2.0.5-16.el5.i386.rpm
2:
rpm卸载
用法:
rpm-e软件名
例:
rpm-eunzip
3:
rpm查询软件包是否安装
用法:
rpm-q软件名
Rpmq-qa|grep想找的软件名
例:
rpm-qunzip
Linux下的解压命令:
.tar.gz后缀的,tar-zxvfxxx.tar.gz
.tar.bz后缀的,tar-jxvfxxx.tar.bz
.zip后缀的,unzipxxx.zip
编译软件(LAMP编译)
Mysql,apache,php
(PHP应在apache之后安装)
在linux编译软件,三步曲
1:
./configure--各种选项,
./configure--help查看编译的所有选项
./configure--prefix=/path/to/install
(configure是检查当前操作系统的环境变量,所需要的库等等,并生成相应的makefile文件)
2:
make(编译)
作用:
根据源码编译出二进制文件.
3:
makeinstall
(目前最新的编译器,支持2,3连写,make&&makeinstall)
Window开发的PHP程序上传到linxu服务器上去后,
需要注意的问题:
1:
大小写问题
2:
权限的问题.
可能上传之后的.php没有执行权限,或者PHP上传文件时,没有写权限.
一个完整的典型发布流程
互联网上的
DNS服务器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 笔记