Linux的安装:
一块硬盘最多只能分配4个主分区,要分大于4个分区时,是将一个主分区作为扩展分区,然后在扩展分区中再分逻辑分区,这是硬盘的特性,不是Linux的。
分区完成后要对每个分区进行格式化,格式化就是讲文件系统写入分区,Linux用的是ext2,ext3,ext4文件系统,Window s用的是FAT16和FAT32。格式化就是将一个大的分区分成好多小的数据块,用来保存文件。每个文件可能会被保存在许多个不同的数据块中。文件系统也会将每个文件存在了那些数据块记录,来方便读取文件。而且每个数据块只能被一个文件占用。例如:每个数据库大小为4KB,有个文件大小10KB,那这个文件就会占用3个数据块,第3个数据块只占用了2KB,虽然还剩余2KB,但是这个数据块也不能被其他文件使用了。
分完区后每个分区要起一个名字(盘符),就像windows的C盘,D盘。但是在Linux中不叫盘符叫挂载点。而且windows使用C,D字母来表示盘符,而Linux是用空的目录名称来作为挂载点,也就是分区的名称。Linux有两个必须分区,分别为/(根分区)和swap分区。Swap分区相当于虚拟内存,当内存不够用是,会使用swap分区空间做为虚拟内存。Swap分区大一般为内存的2倍,最大不超过2GB。除了两个必须内存,还有一个是推荐要有的一个分区,就是/boot( 启动分区),200M足够,这个分区是启动Linux时用的空间,可以没有,但是没有的话,如果硬盘空间满了的话,可能会导致Linux启动不了。
Linux的每块硬件也有相应的名称,而且命名有一定的规则。硬件命名都是以/dev开头,表示硬件,然后是硬盘根据不同插口的硬盘名称不一样,古老的硬盘插口用hd表示,现在硬盘插口都是最新的插口用sd表示。然后不同的硬盘用a,b,c,d表示,如sda,sdb,然后每块硬盘上的不同分区再用数字1,2,3,4来表示,如sda1。例子:/dev/sda1就表示:硬件, sd 接口类型的第一块硬盘的第一个分区。
每个用户登录时都有一个登录的初始目录(家目录),管理员(root)的家目录我/root,其他用户的加目录为/home/ 用户名。
实现宿主机与vMware的通信:
1. vMware的连接用NAT方式,NAT时虚拟机与宿主机的vmNet8虚拟网卡连在一个交换机上,所以设置虚拟机的IP为与vMnet8一个网段的IP,然后就能联通了。
Linux设置Ip方式:ifConfigeth0 192.168.180.2。因为Linux所有设备都是文件,所以网卡的文件名就为eth0,第二块网卡名就为eth1。但这种设置IP的方法只是临时生效,重启后IP失效。
注意:
Linux中文件没有扩展名,不靠扩展名区分文件类型。有的文件名看着有扩展名,那也是为了让用户好区分的,Linux不识别这些扩展名。例如:****.conf,这个名字,Linux会看成一个整体,不会识别.confg,.config只是为了用户好区分的。Linux中隐藏文件的文件名都是以’.’(点)开头的。Clear命令可以清空屏幕。Linux是没有回收站的,删除时要注意。Linux中文件名命名,除了表示根目录的/不能用外,其他几乎所有的特殊符号都能作为文件名,只是不推荐这样的命名。
Linux常用命令:
命令格式:命令 [-选项] [参数] 例子:ls –la/etc 其中选项-al是两个选项,也可以写成-a–l,也就是说选项是可以何在一起写,也可以分着写的。另外选项有简化选项和完整选项之分,如-a等于--all,简化选项用-,完整选项用--。
目录处理命令(ls):
1. ls,引文愿意为List,就是列出目录下的所有文件。
2.语法:ls 选项[-ald] [文件或目录]
-a:显示多有文件,包括隐藏文件
-l:详细信息显示
-d:查看目录属性,查看目录本身,而不是目录下的文件
-i:Linux中每个目录或文件都有一个i节点号,类似于身份证号,-i选项就是查看文件或目录的i节点号的。
-h:让显示更人性化的选项
3.每个文件和用户的关系有三种,1:所有者 2:所属组 3:其他人
4.任何一个文件详细信息里出来时,有7部分组成:
如-rw-r--r--. 1 rootroot 25K 8月 8 01:17 install.log,
一部分:-rw-r--r--.:展示了文件的类型和权限,第一位表示文件类型,‘-’是文件,‘d‘是目录,‘l‘是软连接文件。其他的文件类型一般不用关注。后面9位,每三位表示一个权限,r表示读权限,w表示写权限,x表示执行权限。前三位表示所有者的权限,中三位表示所属组的权限,后三位表示其他人的权限。
第二部分:1:表示的是文件的文件技术,不用关注。
第三、四部分:root root :表示文件或目录的所有者和所属组。
第五部分:25K:表示文件大小。
第六部分:8月 8 01:17:表示文件最后一次修改时间。
第七部分:install.log:表示文件名。
目录处理命令(mkdir):
1. mkdir:英文原意为makedirectories,创建目录
2. 语法:mkdir –p [目录名] –p表示递归创建,表示要创建的目录的父目录没有的话就一起创建,如果不加-p,父目录没有时是不能创建子目录的。
例子:mkdir –p /temp/japan/boduo
3. 用命令行可以一次创建多个目录,每个目录用空格分割。
目录处理命令(cd):
1. cd:英文原意为changedirectory,切换目录
2. 语法:cd [目录]
例子:cd /tmp/Japan/cangjing
cd .. 返回上级目录
cd . 当前目录
一个点表示当前目录,两个点表示上级目录
3. 切换完目录后,命令行只会显示最后一及目录,如cangjing,可以用pwd命令来显示完整的目录。Pwd:print working directory。
目录处理命令(rmdir):
1. rmdir:英文原意为removeempty directory,删除空目录
2. 语法:rmdir [目录名]
3. 只能删除空目录,所以不常用
目录处理命令(cp):
1. cp:英文原意为copy,复制。
2. 语法:cp –rp [原文件或目录] [目标目录]
-r 复制目录,当复制的是目录是要加-r
-p 保留文件属性,复制时保留文件的一些属性,如最后一次修改时间等
3. 命令可以一次同时复制多个文件
4. 命令可以复制的同时改名
目录处理命令(mv):
1. mv:英文原意为move,剪切文件、改名。
2. 语法:mv [原文件或目录] [目标目录]
目录处理命令(rm):
1. rm:英文原意为remove,删除文件或目录。
2. 语法:rm -rf [文件或目录]
-r:删除目录,删除的是目录时,必须要加该选项
-f:强制执行,加了这个选项后,系统就不会提示你是否要删除了,直接删除。
文件处理命令(touch):
1. 创建空文件
2. 语法:touch [目录加文件名]
3. 文件名不加目录时是在当前目录下创建文件
4. 当文件名带空格时,必须用双引号引起来,如:touch “program files”。
文件处理命令(cat):
1. 显示文件内容。也就是看文件的内容。
2. 语法: cat –n [目录加文件名]
-n:显示行号
3.不适合看很长文件,因为问价你很长时,cat命令会翻页,而且屏幕上最后只显示最后一页的内容。长文件用命令more。
文件处理命令(tac):
1. 反向显示文件内容。和 cat命令的字符也这好相反tac.只是行反向显示,字符并没有反向显示。
2. 语法同cat.
文件处理命令(more):
1. 分页显示文件内容
2. 语法:more [目录加文件名]
(空格)或f:翻页。
(Enter):换行。
Q或q:退出。
文件处理命令(less):
1. 分页显示文件内容
2. 语法:与more功能和语法都一样,只是多了一个向上翻页的功能,和搜索的功能。
pageUp 键:向上翻页。
向上箭头键:向上一行。
直接按/,然后录入要查找的字符,就能查找你要找的字符,而且按N(next)键继续向下找。
文件处理命令(head):
1. 查看文件的前几行。
2. 语法:head –n [目录加文件名]
-n:行数
3.例子:head –n 10 /etc/services,查看前10行。
文件处理命令(tail):
1. 查看文件的后几行。
2. 语法:head –n [目录加文件名]
-n:行数
-f:动态显示文件末尾内容,展示的内容会根据文件末尾内容变化实时显示变化。
3.例子:tail –n 10 /etc/services,查看后10行。
文件处理命令(ln):
1. ln:英文原意为link,生成连接文件。
2. 语法:ln –s [原文件] [目标文件]
-s:创建软连接
3. ln –s /etc/issue /tmp/issue.soft 生成/etc/issue文件的软连接
ln /etc/issue /tmp/issue.soft 生成/etc/issue文件的硬连接
3. 软连接文件类似于windows的快捷方式。
4. 硬链接文件相当于复制文件,但是和cp命令不同的是,硬连接文件会根据源文件的更改同步更改,两个文件互相同步更新。
硬链接特征:
a. 相当于cp –p + 同步更新
b. 通过i节点识别是否为因连接文件,硬链接的i节点和源文件的i节点是相同的。
c. 不能跨分区
d. 不能针对目录使用,也就是不能为目录创建硬链接,软连接可以。
权限管理命令(chmod):
1. chmod:英文原意为changethe permissions mode of a file,改变文件或目录权限。
2. 语法:
方式1:chmod[{ugoa} {+-=} {rwx}] [文件或目录]
U:所有者,g:用户组,o:其他,a:所有
方式2:chmod [mode][目录或文件名] 其中mode是根据下面计算的。
r—4,w—2,x—1
rwxxrw-r--:764
例子:chmod 764/etc/temp
参数:-r表示递归修改,把目录下面的所有文件的权限都修改
权限管理命令(chown):
1. chown:英文原意为:changefile ownship,改变文件或目录的所有者
2. 语法:chown [用户] [文件或目录]
例子:chown shenchao fenjie 表示将文件份fengjie的所有者改为shenchao
3. 改变所有者不是所有者和root 都可以的,是只有root才可以改的。
权限管理命令(chgrp):
1. chgrp:英文原意为:changefile group ownership,改变文件或目录的所属组
2. 语法:chown [用户组] [文件或目录]
例子:chgrp lampbrother fenjie 表示将文件份fengjie的所属组改为lampbrother
权限管理命令(umask):
1. umask:英文原意,显示、设置文件的缺省权限
2. 语法:umask [-S]
-S:表示以rwx的形式显示新建文件的缺省权限,如果没有就会显示数字,数字有4位,后三位为权限,但是后三位为权限掩码,用777减去后三位才是真正的权限。
修改语法:umask023,023也是计算或的权限掩码
文件搜索命令(find):
1. find:文件搜索
2. 语法:find [搜索范围] [匹配条件]
3. Find的选项很多,现用现学
4. 例子: find /etc –name init 表示在/etc下搜索文件名为init的文件,不是模糊搜索是精准搜索。模糊查找是用通配符find /etc –name *init*
文件搜索命令(locate):
1. 在资料库中查找文件,只在资料库中找
2. 语法:locate [文件名]
文件搜索命令(which):
1. 搜索命令,只能搜索命令所在的目录及别名信息
2. 语法:which ls, 表示查找ls命令所在的目录。
文件搜索命令(whereis):
1. 搜索命令所在的目录及帮助文档路径
2. 语法:whereis ls, 表示查找ls命令所在的目录及帮助文档目录。
文件搜索命令(grep):
1. 在文件中搜索字符串匹配的行并输出
2. 语法:grep –iv [指定字符串] [文件]
-i:不区分大小写
-v:排除指定字符串,表示排除包含指定字符串的行
3. grep mysql /root/install.log 表示查找/root/install.log文件中包含mysql字符串的所有行,并输出。
帮助命令(man):
1. man,英文原意manual(手册),获得帮助信息
2. 语法:man [命令或配置文件]
3. 例子:man ls,表示查看ls命令的帮助信息
Man services,表示查看配置文件services的帮助文档
4. Info命令同man命令用法大同小异
帮助命令(whatis):
1. 展示命令最简单的介绍,man命令显示太多,用whatis可以简单显示。
2. 语法:whatis [命令]
帮助命令(apropos):
1. 展示配置最简单的介绍,man命令显示太多,用apropos可以简单显示。
2. 语法:apropos [配置文件]
帮助命令(- -help):
1. 查看某个命令有哪些选项
2. 语法:命令- -help
3. 例子:ls - -help
帮助命令(help):
1. 获取shell内置命令的帮助。
2. Shell内置命令不能用man查看,只能用help命令。
3. 哪些命令是shell内置命令,查不到命令路径(which 命令)的命令就是shell内置命令。
用户管理命令(useradd):
1. 添加新用户
2. 语法:useradd yangmi
用户管理命令(passwd):
1. 更改用户的密码:
2. 语法: passwd [用户]
3. 更改自己密码时,登陆后直接用passwd不加用户。
用户管理命令(who):
1. 展示当前登录用户信息。
root tty1 2014-08-12 16:40
root pts/0 2014-08-12 16:40 (192.168.180.1)
zhengjiepts/1 2014-08-12 16:47(192.168.180.1)
2. 登录用户信息如上所示。
其中tty表示本地登录,pts表示远程登录,然后加数字1,2,3,4…。
用户管理命令(w):
1. 和w命令一样的功能,但是展示的信息比较详细。
压缩解压命令(gzip):
1. 将文件压缩为.gz格式的。
2. 语法:gzip [文件名]
3. 缺点:只能压缩文件,不能压缩目录。
压缩解压命令(gunzip):
1. 将.gz压缩文件解压。
2. 语法:gunzip [文件名]
3. 也可用如下语法:gzip –d [文件名]
压缩解压命令(tar):
1. 打包,可以讲一个目录打包,打包同时进行压缩。
2. 语法:tar [-cvfz] [压缩后文件名] [目录]
-c:打包
-v:显示详细信息
-f:指定文件名
-z:打包同时压缩( 压缩为.gz格式) -j:打包同时压缩((压缩为.bz2格式)
3. 压缩后格式:.tar.gz
4. 可以先用tar命令将目录打包成文件,然后再用gzip命令将文件压缩。也可以直接用tar命令加-z选项进行打包加压缩。
压缩解压命令(tar):
1. 解包,将一个打包好的文件解包。
2. 语法:tar [-cvfz] [压缩后文件名] [目录]
-x:解包(上面的-c是打包,只有这点不同)
-v:显示详细信息
-f:指定文件名
-z:解压(这里是解压.gz,与-c(打包)合用时表示压缩)
-j:解压(这里是解压.bz2,与-c(打包)合用时表示压缩)
压缩解压命令(zip):
1. 将文件或目录压缩为.zip文件,而且压缩后保留原文件
2. 语法:zip [-r] [压缩后文件名] [文件或目录]
-r:压缩目录
3. 压缩比不高,不常用
4. 这是一种windows和Linux都支持的压缩格式,可以在俩个系统间互相拷贝
5. Linux 的压缩文件一般在windows中随便装个压缩软件就能解压,但windows的压缩文件再Linux中就不一定能解压了。
压缩解压命令(unzip):
1. 解压缩.zip文件
2. 语法:unzip test.zip
压缩解压命令(bzip2):
1. Gzip命令的升级版本
2. 相对gzip改进了,压缩后保留原文件
3. 语法:bzip2 [-k] [文件]
-k:产生压缩文件后保留原文件
4. 压缩后格式为.bz2
5. 压缩比惊人
压缩解压命令(bunzip2):
1.语法: bunzip2 [-k] [压缩文件]
-k:解压后保留原文件
网络命令(write):
1. 给某个用户发信息,以Ctrl+D保存结束
2. 语法:write[用户名]
3. 只能给在线用户发信息,有点像QQ
网络命令(wall):
1. 给所有用户发信息,发广播信息。
2. Wall就是write all 的缩写。
3. 语法:wall [message]
网络命令(ping):
1. 测试网络连通性。
2. 语法:ping [-c] IP地址
-c:指定发送次数
3. 例子:ping –c 10 192.168.180.1
网络命令(ifconfig):
1. 主要功能为查看IP地址,和临时修改IP地址。
2. 语法: ifconfig:查看Ip
ifConfig eth0192.168.180.2:临时修改Ip
网络命令(mail):
1. 查看、发送电子邮件,用户不在线也可以
2. 语法:mail [用户名] –> 发邮件
Mial à看邮件
网络命令(last):
1. 列出目前与过去登入系统的用户信息
2. 语法:last
3. 另一个命令lastlog,展示所有用户的最后一次登录时间
网络命令(traceroute):
1. 显示数据包到主机间的路径
2. 语法:traceroute [地址]
网络命令(netstat):
1. 根据不同选项展出各种网络信息
网络命令(setup):
1. 配置网络,只有red hat系列的Linux才有的命令。
2. 可以配置一些网络设置。
3. 在这改IP地址,就会永久生效了。
挂载命令(mount):
1. 就是将一个硬件挂载到一个目录,然后通过这个目录就可以访问外部硬件了。
2. Mount就是将一个外部硬件挂载到一个目录。
3. 语法:mount [-t 文件系统] 设备文件名挂载点
4. 例子: mount /dev/sr0 /mnt/cdrom
其中/dev/sr0为设备文件名表示光驱,/mnt/cdrom是我们新建的一个目录作为光驱的挂载点。挂载成功后就可以通过/mnt/cdrom目录访问光盘内容了。
5. Windows中插入U盘,系统自动给它分了一个盘符,然后你就可以通过这个盘符来访问U盘内容了,和Linux挂载是一样的,只不过window都自动完成了。
卸挂载命令(umount):
1. 将外部硬件与挂载点(某个目录),接触挂载。
2. 语法:umount 设备文件名
关机重启命令(shutdown):
1. 关机或重启命令,关机还有其他一些命令,推荐使用shutdown
2. 语法:shutdown [选项] 时间
-c:取消前一个关机命令
-h:关机
-r:重启
3. 例子:
Shutdown –h now 立刻关机
Shutdown –h 20:30 20:30关机
Shutdown –r now 现在重启
Shutdown –c 取消前一个关机命令
切换系统运行级别命令(init):
1. 切换系统的运行级别。
2. 语法: init 运行级别
0 关机
1 单用户
2 不完全多用户,不含NFS服务
3 完全多用户
4 未分配
5 图形界面
6 重启
3. 所以用命令init 6 也可以实现重启。
4. 用runlevel命令可以查看当前系统运行级别,会显示两个,第一个为前一个运行级别,第二个为当前运行级别。
退出登录命令(logout):
1. 退出登录。
2. 语法:logout
文本编辑器Vim:
详细内容见视频。。。。。
Linux的软件安装:
软件安装包分类:
1. 源码包,就是用C或C++等语言编写的源码文件,是真正的代码。
2. 二进制包(RPM包、系统默认包),就是源码包经过编译以后的”0101”的机器语言包。编译成的二进制包在Linux中是RMP格式,类似于windows中的.exe。
RPM包管理-RPM命令管理:
1. RPM安装包的命名规则
例子:httpd-2.2.15-15.el6.centos.l.i686.rmp
Httpd 软件包名
2.2.15 软件版本
15 软件发布次数
El6.centos 适合的Linux平台
I686 适合的硬件平台
RPM rpm包扩展
2.RPM包依赖性:
树形依赖:aàbàC
环形依赖:aàbàcàa
模块依赖:模块依赖查询网站
3. rpm命令用法(安装)
语法:rpm –ivh 包全名
-i(install) 安装
-v(verbose) 显示详细信息
-h(hash) 显示进度
- -nodeps 不检测依赖性(一般不用)
4. rpm命令用法(升级)
语法:rpm –Uvh 包全名
-U(update) 升级
-v(verbose) 显示详细信息
-h(hash) 显示进度
- -nodeps 不检测依赖性(一般不用)
5. rpm命令用法(卸载)
语法:rpm –e 包名
-e(erase) 卸载
- -nodeps 不检测依赖性(一般不用)
6. rpm命令用法(查询):
查询是否已安装某包:rpm–q 包名
查询所有已经安装的包:rpm–qa
查询软件包详细信息:rpm–qi 包名
-i 查询软件信息
-p 查询未安装包
查询包中文件安装位置:rpm–ql 包名
查询系统文件属于哪个包:rpm–qf 系统文件名
查询软件包的依赖性:rpm–qR 包名
RPM包管理-yum在线管理:
用rpm命令安装最大问题就是包依赖问题,yum就是解决了依赖问题,只需要告诉系统要安装哪个包,yum会自己找各种依赖包并进行安装。
RPM包的安装位置一般为固定的,在写RPM包是就规定好的,一般不会修改。源码包安装要自己制定安装位置。
用户与用户组管理:
Shell基础:
1. shell可以理解为一个命令解释器,它负责将我们用a,b,c,d写的代码翻译成0101的机器代码,也负责把机器返回的0101代码翻译为abcd展示给我们。
2. echo输出命令,加参数-e,说明将反斜杠进行转义。
Echo “hello world” echo –e “a\\b”输出a\b
3. 执行sh程序,就是写sh文件的绝对路径。也可以用bash sh文件名,来执行。
4. Tab键会补全命令或目录或文件名。只一个时会自动补全,有多个时按两下tab 键会显示出所有匹配的内容。