linux学习笔记 |
Linux操作系统
准备工作
VMware虚拟机安装CentOS操作系统
典型安装+稍后安装
技巧
快照
克隆
安装无图形界面版本(无桌面版)
系统分区
磁盘分区
目的:把大硬盘分为小的逻辑分区
主分区(最多4个)
扩展分区(扩展分区加主分区最多4个,同时扩展分区只能有一个)
作用:用于包含逻辑分区
格式化
目的:写入文件系统
创建数据块block(类似于在柜子内打隔断)
建立inode列表
分区设备文件名
目的:给每个分区定义设备文件名【系统自动检测分配】
硬盘设备文件名
硬盘接口类型
SCSI(sda)
IDE(hda)
SATA(sda)
分区设备文件名
硬盘设备文件名后加数字区分
逻辑分区的分区名只能从5开始
查看所有分区(df -lh)
分配盘符【挂载】
目的:给每个分区分配挂载点
Linux系统安装
安装centos6.5 64位操作系统
中文简体
美式英文键盘
设置主机名(默认即可localhost.localdomain)+密码
创建自定义布局
boot分区(/boot)
sda1(200M)
无论分区顺序都会自动变为sda1
home分区(/home)
sda2(2000M)
swap分区
文件系统类型选择swap
内存两倍大小(不要超过2G)
sda3(1000M)
根分区(/)
sda5(使用全部可用空间)
安装软件选择basic server
登陆
登录后当前文件目录
root用户登陆的根目录是/root/
普通用户登陆的根目录是/home/[用户名]/
远程登录管理工具
网络连接
桥接模式
使用真实网卡与主机通信
确定桥接的是有线还是无线网卡?
桥接模式分为有线网卡桥接和无线网卡桥接
有线网卡桥接(宽带上网)
不选择复制物理网络连接状态
1.本机:配置以太网的ip 10.100.5.101
2.登陆虚拟机输入ifconfig eth0 10.100.5.102
3.本机cmd ping 10.100.5.102
需要设置虚拟机ip与主机ip同一网段
无线网卡桥接
1.本机:查看当前无线网的ip ipconfig
2.登陆虚拟机修改ip
3.本机cmd ping
Host-only(仅主机模式)
使用VMnet1虚拟网卡与主机通信
虚拟机仅能与主机通信,无法访问互联网
配置VMnet1的ip
配置方式
0.查看VMware分配的网段
编辑-虚拟网络编辑器
1.本机:配置VMnet1的ip 192.168.127.1
2.登陆虚拟机输入ifconfig eth0 192.168.127.2
3.本机cmd ping 192.168.127.2
NAT模式
使用VMnet8虚拟网卡与主机通信
虚拟机除了能与主机通信外,当主机能够正常访问互联网,虚拟机也能正常访问互联网。
配置方式
0.查看VMware分配的网段
编辑-虚拟网络编辑器
1.本机:配置VMnet8的ip 192.168.231.1
2.登陆虚拟机输入ifconfig eth0 192.168.231.2
3.本机cmd ping 192.168.231.2
NAT和仅主机模式只能和主机通信,而无法与其他机器通信,哪怕ip匹配(因为利用虚拟网卡通信压根没有占用真实的ip地址)
注意:此法重启以后ip会丢失,想永久改变ip地址,需要修改配置文件
windows下NAT模式
关闭虚拟机内os的防火墙
Putty
SecureCRT
Winscp(文件传输)
在winscp中打开putty终端
注意事项
linux注意事项
linux严格区分大小写
tab键自动补全
linux不靠扩展名区分类型
linux系统下所有存储设备都必须先挂载才能使用
windows系统下的程序无法直接在linux下执行
清屏快捷键:ctrl + l 或者使用clear命令
终止命令的执行:ctrl + c
服务器注意事项
远程服务器不允许关机,只能重启!
重启时应关闭服务
不要在服务器访问高峰运行高负载命令
远程配置防火墙时不要把自己踢出服务器
指定合理的密码规范并定期更新
合理分配权限
定期备份重要数据和日志
目录作用
/bin/
所有用户都可以执行里面的命令
/sbin/
只有root用户才可以执行里面的命令
/dev/
存储设备信息
/etc/
配置文件保存目录
/home/user1
用户目录
/root/
root用户目录
lib
函数库存放目录
/usr/
系统软件资源目录
/var/
日志、数据库等
Linux常用命令
文件处理命令
命令格式与目录处理命令ls
以点“.”开头的文件名都是隐藏文件
-a选项可以查看该目录下的所有隐藏文件
如果想隐藏一个文件,只需在文件名前加点号“.”
命令名称:ls
命令原意:list
选项名称:-a
选项原意:all
显示所有文件
选项名称:-l
选项原意:long
文件详细信息【长格式显示】
r
read
w
write
x
execute
选项名称:-h
选项原意:human
人性化显示(文件大小加上单位)
选项名称:-d
选项原意:directory
只显示当前目录本身信息
选项名称:-i
选项原意:inode
显示文件inode号
目录处理命令
命令名称:mkdir
命令原意:make directories
选项名称:-p
递归创建
多参数创建多个文件目录
命令名称:cd
命令原意:change directory
使用方法:cd 文件路径
目录路径
/
.
当前目录
当前目录下的文件可以不需要写“.”直接写文件名即可
..
命令名称:pwd
命令原意:print working directory
命令名称:rmdir
命令原意:remove empty directory
删除空目录
命令名称:cp
命令原意:copy
注:
1.复制文件时,可以同时复制多个文件,依次写即可
2.复制文件不需要加选项-r,复制目录需要加选项-r
3.-p选项复制的文件,文件最后修改时间会与原文件保持一致
linux复制时可以顺带着更改新文件的文件名
功能:剪切/改名
改名:mv 源文件 新文件名
删除文件/目录
删目录一般使用rm -rf
-i选项【进行任何删除操作前必须先确认】
rm -rf *:删除当前目录下所有文件
文件处理命令
创建带空格的文件 touch "program files"
不建议在文件名中包含空格
小文件全文浏览
反向显示
大文件分页浏览【分页显示】
PgUp一页一页往上翻
↑一行一行往上翻
搜索:/搜索关键词
效果:反白显示
如果没有找到自己想要搜索的信息,按n键查找下一个匹配的信息
默认显示前10行
显示末尾几行内容(默认10行)
-f选项日志动态显示【日志监控】
链接命令
软链接文件的权限:lrwxrwxrwx
类似windows的快捷方式
原文件删除,软链接文件将无法访问
文件大小很小
硬链接文件权限与原文件一模一样
功能:拷贝原文件内容
硬链接的好处:内容与原文件同步更新
硬链接inode与原文件inode一样
删除硬链接的原文件,硬链接文件内容依然存在可以访问
不能跨分区
软链接可以跨分区
不能针对目录使用
使用场景:实时备份
权限管理命令
权限管理命令chmod
可以更改某文件权限的用户:文件所有者/管理员root
用户
u
所有者
g
所属组
o
其他人
a
所有人
+-=
+
增加权限
-
减少权限
=
授权【权限赋值】
多个权限操作中间加逗号分隔
范例:
命令:chmod u+x,o-r 文件名
含义:给文件所有者增加操作权限,同时给所属组减少读授权
rwx ---- 7
rw- ---- 6
r-- ----- 4
通过数字换算文件权限
532
4+1 2+1 2
r-x -wx -w-
范例:
命令:chmod 640 文件名
含义:把文件的权限更改为-rw- r-- ---
640
4+2 4 0
rw- r-- ---
-R选项:递归修改目录下所有文件权限
file
r:cat/tac/more/head/tail/less
w:vim
x:script command
directory
r:ls
w:touch/mkdir/rmdir/rm
x:cd
r和x一般同时出现
删除文件的权限是,对文件所在的目录具有写权限
其他权限管理命令
可以更改某文件权限的用户:管理员root
可以更改某文件权限的用户:管理员root
umask -S:查看文件的缺省权限
虽然umask显示
u=rwx,g=rx,o=rx
但文件依然没有可执行权限
只有新建的目录具有可执行【可进入】权限
linux中默认新建的文件都是不可执行的,没有x权限
0022
0特殊权限【777 rwx rwx rwx】
022 --- -w- -w-
777 rwx rwx rwx
022 --- -w- -w-
---------------------与操作
755 rwx r-x r-x 目录
rw- r-- r-- 文件【目录去掉x项】
777 rwx rwx rwx
077 --- rwx rwx
----------------------与操作
700 rwx --- --- 目录
rw- --- --- 文件
umask 077
umask + 空格 + 二进制数字
功能:更改默认创建文件目录的参考值
文件搜索命令
文件搜索命令find
-name选项精准搜索【not模糊搜索】
加通配符实现模糊搜索
*
任意字符
?
单个字符
-iname选项不区分大小写查找
建议
1.不要在服务器访问高峰期做find操作
2.能缩小范围查找就尽量缩小搜索范围
3.搜索条件越精准越好
-size选项
linux存储数据的最小单位:数据块
1数据块 = 512字节 = 0.5k
100MB = 102400KB == 204800数据块
find / -size +204800:在根目录下查找大于100MB的文件
+
大于
-
小于
-user
根据文件所有者查找
-group
根据文件所属组查找
-a【多个条件都满足才行】
-o【两个条件只需满足一个即可】
-exec 命令 {} \;
搜索结果直接执行后续操作
-ok 命令 {} \;
搜索结果操作会有询问确认
-inum【按节点删除】
find . -inum 31531 -exec rm {} \;
含义:删除当前目录下节点号为31531的文件
使用场景:
1.对于无法删除的文件
2.查找一个文件的所有硬链接【因为所有硬链接都和原文件同分区,且inum一样!】
其他搜索命令
功能:快速查找【文件资料库(系统定期更新)中查找】
新建的文件还没及时更新到文件资料库中就无法通过locate查找到
系统每隔一段时间会更新一次文件资料库
手动更新文件资料库命令:updatedb
文件如果不在文件资料库的覆盖范围,则无法收录,如/tmp目录并不在文件资料库的收录范围
可以使用的选项和find一样
找命令
快捷查找命令所在目录+别名信息
快捷搜索命令所在目录+帮助文档路径
文件内容中搜索
-i不区分大小写查找内容
排除注释查找
grep -v # 文件
剔除所有包含“#”符号的行显示
grep -v ^# 文件
剔除所有以“#”符号开头的行显示
帮助命令
相当于使用less命令查看帮助文件
功能:查看命令或配置文件的帮助信息(不要加文件路径!!!)
命令帮助关注点
1.用途
2.选项含义
配置文件帮助关注点
1.用途
2.格式
特殊的:passwd既是命令也是配置文件,使用man查看帮助时,显示的其实是passwd的命令的帮助!
1 命令的帮助
5 配置文件的帮助
man passwd
显示passwd命令的帮助
man 5 passwd
显示passwd配置文件的帮助
只看帮助的描述信息
whatis 命令名
apropos 配置文件名
一样不要加文件路径
只看帮助的选项
--help
范例:
touch --help
或者使用info命令查看帮助信息
info ls
help shell内置命令
shell内置命令并不保存在linux系统文件系统内,如cd、umask命令
这些命令无法通过man来查看其帮助
shell cd效果:列出所有shell内置命令,并不是cd命令的帮助信息
help无法查看非Shell内置命令
用户管理命令
创建用户
root用户可以更改任何用户的密码,而普通用户只能更改自己的密码
普通用户密码需要满足密码复杂度要求,不然无法更改成功
tty本地终端
pts远程终端
登陆用户的详细信息
压缩解压命令
.gz
压缩
只能压缩文件,不能压缩目录
压缩后不保留源文件
解压
或gzip -d
.tar
.tar.gz
包含目录的压缩
tar -vcf 压缩文件名 文件
压缩成.tar包
tar -zcf 压缩文件名 文件
压缩成.tar.gz包
tar -xf 压缩文件
解压.tar包
tar -zxf 压缩文件
解压.tar.gz包
.zip
保留源文件
-r选项压缩目录
.bz2
.tar.bz2
gzip的升级版【-k可保留原文件,压缩比更高】
tar -cjf 压缩文件
压缩成.tar.bz2包
tar -xjf 压缩文件
解压.tar.bz2包
网络命令
给指定用户发送消息
广播消息
不同于windows,linux的ping会一直ping
ping -c 3 192.168.1.1
ping 3次
h
d
序号
红帽linux专用命令
永久生效
挂载命令
关机重启命令
shutdown -h now立刻关机
shutdown -r now立刻重启
文本编辑器Vim
常用操作
使用技巧
/home/username/.vimrc
/root/.vimrc
软件包管理
简介
软件包分类
源码包
脚本安装包(.sh)
优点
缺点
二进制包
RPM包
系统默认包
RPM包管理
rpm命令管理
(手动)
命名规则
软件包名(httpd)
软件包全名(httpd-2.2.15-15.el6.centos.1.i686.rpm)
rpm最大的问题
依赖包
.rpm依赖包
手动管理(安装)rpm包
linux系统下的iso镜像挂载
插入盘符:在虚拟机启动状态下,在设置里的CD/DVD中选择需要挂载的iso目录地址,设备状态全部勾选中。
创建挂载目录:mkdir /mnt/cdrom
挂载:mount /dev/sr0 /mnt/cdrom/
VMware虚拟机环境下先不要安装vmware tools,不然这里会挂载成vmware tool,而不是想要的iso镜像
确认是否挂载正确:ls /mnt/cdrom
卸载:umount /mnt/cdrom/
如果iso文件在挂载过程中移除,则需要卸载后再重新挂载操作
查询和卸载包时用包名
--nodeps千万不要用!!!
卸载后跟包名而不是包全名!
查询命令在哪里写都行,不像安装rpm包的命令(必须定位到指定rpm包)
查询
准确查询:rpm -q
查所有:rpm -qa
查和指定名称相关的包:rpm -qa | grep 名称
rpm -qi 包名(查已安装包的信息)
rpm -qip 包全名(查没安装的包信息)
rpm -ql 包名(查询已安装包的文件安装位置)
rpm -qlp 包全名(查询未安装包未来可能安装的位置)
通过安装文件查其所属包
rpm -qRp 包全名
修补系统丢失文件
丢失文件复制到原目录
yum在线管理
(自动)
IP地址配置和网络yum源
setup方式配置网络不进可以更改ip和子网掩码还可以更改网关和DNS
yum命令
光盘yum源搭建
源码包管理
脚本安装包与软件包选择