目录结构
• 认识Linux的目录层次:
– man hier
主要用途
/boot 存放系统引导必需的文件,包括内核、启动配置
/bin、/sbin 存放各种命令程序
/dev 存放硬盘、键盘、鼠标、光驱等各种设备文件
/etc 存放Linux系统及各种程序的配置文件
/root、/home/用户名 分别是管理员root、普通用户的默认家目录
/var 存放日志文件、邮箱目录等经常变化的文件
/proc 存放内存中的映射数据,不占用磁盘
/tmp 存放系统运行过程中使用的一些临时文件
#
搭建教学环境
一、真机搭建FTP服务
1.安装vsftpd软件
[root@room9pc01 ~]# rpm -q vsftpd
vsftpd-3.0.2-22.el7.x86_64
2.查看服务启动
[root@room9pc01 ~]# systemctl status vsftpd
[root@room9pc01 ~]# systemctl restart vsftpd
[root@room9pc01 ~]# systemctl enable vsftpd
3.共享光盘所有内容
默认共享:/var/ftp/
服务端: 1.众多的软件包 2.仓库清单文件 3.共享的服务
[root@room9pc01 ~]# vim /etc/fstab
/var/lib/libvirt/images/iso/rhel-server-7.4-x86_64-dvd.iso /var/ftp/rhel7 iso9660 defaults 0 0
[root@room9pc01 ~]# ls /var/ftp/rhel7
[root@room9pc01 ~]# firefox ftp://127.0.0.1/rhel7
#
[root@room9pc01 ~]# clone-vm7 #快速产生虚拟机
Enter VM number: 1
[root@room9pc01 ~]# clone-vm7
Enter VM number: 2
#
利用root进行登陆,密码为123456
利用真机进行远程管理:
虚拟机A:
1.主机名:svr7.tedu.cn
2.配置eth0网卡IP地址:192.168.4.7/24
3.配置Yum仓库(以真机作为网络Yum源)
虚拟机B:
1.主机名:pc207.tedu.cn
2.配置eth0网卡IP地址:192.168.4.207/24
3.配置Yum仓库(以真机作为网络Yum源)
#
虚拟机A
[root@svr7 ~]# vim /etc/yum.repos.d/rhel7.repo
[rhel7]
name=rhel7.4
baseurl=ftp://192.168.4.254/rhel7
enabled=1
gpgcheck=0
[root@svr7 ~]# yum repolist
#
补充内容:将本地的数据,传递给网络中其他主机
[root@svr7 ~]# scp /etc/yum.repos.d/rhel7.repo
root@192.168.4.207:/etc/yum.repos.d/
#
权限的数值表示
• 权限的数值化
– 基本权限:r = 4,w = 2,x = 1
– 附加权限:SUID = 4,SGID = 2,Sticky Bit = 1
[root@svr7 ~]# mkdir /nsd01
[root@svr7 ~]# ls -ld /nsd01
[root@svr7 ~]# chmod 700 /nsd01
[root@svr7 ~]# ls -ld /nsd01
[root@svr7 ~]# chmod 007 /nsd01
[root@svr7 ~]# ls -ld /nsd01
[root@svr7 ~]# chmod 750 /nsd01
[root@svr7 ~]# ls -ld /nsd01
#
历史命令
• 管理/调用曾经执行过的命令
– history:查看历史命令列表
– history -c:清空历史命令
– !n:执行命令历史中的第n条命令
– !str:执行最近一次以str开头的历史命令
• 调整历史命令的数量
[root@svr7 ~]# vim /etc/profile
HISTSIZE=1000 //默认记录1000条
[root@svr7 ~]# history
[root@svr7 ~]# history -c #清空历史命令
[root@svr7 ~]# history #查看历史命令
[root@svr7 ~]# cat /etc/redhat-release
[root@svr7 ~]# uname -r
[root@svr7 ~]# hostname
[root@svr7 ~]# history
[root@svr7 ~]# !cat #执行最近一条以cat开头的历史命令
[root@svr7 ~]# !h
[root@svr7 ~]# !u
#
实用小命令工具
• du,统计文件的占用空间
– du [选项]… [目录或文件]…
– -s:只统计每个参数所占用的总空间大小
– -h:提供易读容量单位(K、M等)\
[root@svr7 ~]# du -sh /boot/ /etc/pki/
#
• date,查看/调整系统日期时间
– date +%F、date +%R
– date +”%Y-%m-%d %H:%M:%S”
– date -s “yyyy-mm-dd HH:MM:SS”
[root@svr7 ~]# date +%R
[root@svr7 ~]# date +%F
[root@svr7 ~]# date +%Y
[root@svr7 ~]# date +%m
[root@svr7 ~]# date +%d
#
#
Yum排错:
1. 格式是否正确
[root@svr7 ~]# cat /etc/yum.repos.d/rhel7.repo
2.查看是否有光盘的内容
[root@svr7 ~]# firefox ftp://192.168.4.254/rhel7
没有:1.是否ping通 2.到真机vsftpd服务是否开启
3.ls /var/ftp/rhel7—-》没有挂载——》/etc/fstab
4.真机开启防火墙
#
创建自定义Yum源
在真机上操作
1.将真机上tools.tar.gz 传递到虚拟机A
cd /root/桌面
scp tools.tar.gz root@192.168.4.7:/root/
2.在虚拟机A上验证
ls /root
3.在虚拟机A上,解包
[root@svr7 ~]# tar -xf /root/tools.tar.gz -C /
[root@svr7 ~]# ls /
[root@svr7 ~]# ls /tools/
[root@svr7 ~]# ls /tools/other/
4.生成 仓库数据文件
[root@svr7 ~]# createrepo /tools/other/
[root@svr7 ~]# ls /tools/other/
5.书写Yum客户端配置文件
[root@svr7 ~]# vim /etc/yum.repos.d/rhel7.repo
[myrpm]
name=my rpm
baseurl=file:///tools/other #指定本地为Yum服务端
enabled=1
gpgcheck=0
[root@svr7 ~]# yum repolist
[root@svr7 ~]# rpm -q sl
sl-5.02-1.el7.x86_64
[root@svr7 ~]# rpm -ql sl #查询软件包安装的清单
[root@svr7 ~]# oneko & #放入后台
[root@svr7 ~]# killall oneko #杀死程序
#
实用小命令工具(续2)
• ln,创建软连接(快捷方式)
– 软连接 –> 原始文档 –> i节点 –> 文档数据
– ln -s 原始文件或目录 软连接文件
若原始文件或目录被删除,连接文件将失效
软连接可存放在不同分区/文件系统
• ln,创建硬连接(快捷方式)
– 硬连接 –> i节点 –> 文档数据
– ln 原始文件 硬连接文件
若原始文件被删除,连接文件仍可用
硬连接与原始文件必须在同一分区/文件系统
#
制作快捷方式
[root@svr7 ~]# cat /etc/redhat-release
[root@svr7 ~]# ln -s /etc/redhat-release /
[root@svr7 ~]# ls /
[root@svr7 ~]# ln -s /etc/redhat-release /red
[root@svr7 ~]# ls /
[root@svr7 ~]# ls -l /red
#
i节点(编号) :标识硬盘一块存储的区域
[root@svr7 ~]# echo haha > /opt/1.txt
[root@svr7 ~]# ls /opt/
[root@svr7 ~]# ln -s /opt/1.txt /opt/A #软链接,对源文件
[root@svr7 ~]# ls /opt/
[root@svr7 ~]# ln /opt/1.txt /opt/B #硬链接,对i节点
[root@svr7 ~]# ls -i /opt/
[root@svr7 ~]# rm -rf /opt/1.txt
[root@svr7 ~]# cat /opt/A
[root@svr7 ~]# cat /opt/B
#
查看命令的帮助
• 通常 会提供“–help”帮助选项
• man,格式化手册阅读工具
5 配置文件帮助信息
[root@svr7 ~]# man passwd
[root@svr7 ~]# man 5 passwd
#
zip归档工具,跨平台的压缩归档工具
– zip [-r] 备份文件.zip 被归档的文档…
[root@svr7 ~]# zip -r /opt/file.zip /home/ /etc/passwd
[root@svr7 ~]# zip -r /opt/test.zip /usr/local
[root@svr7 ~]# ls /opt
• 释放归档+解压操作
– unzip 备份文件.zip [-d 目标文件夹]
[root@svr7 ~]# ls /mnt/
[root@svr7 ~]# unzip /opt/file.zip -d /mnt/
[root@svr7 ~]# ls /mnt/
#
vim编辑技巧
命令模式操作
光标跳转
Home 键 或 ^、 数字 0 跳转到行首
End 键 或“$”键 跳转到行尾
1G 或 gg 跳转到文件的首行
G 跳转到文件的末尾行
10G 跳转到文件的第10行
复制/粘贴/删除
yy、#yy 复制光标处的一行、#行
p、P 粘贴到光标处之后、之前
x 或 Delete键 删除光标处的单个字符
dd、#dd 删除光标处的一行、#行
d^ 从光标处之前删除至行首
d$ 从光标处删除到行尾
C(大写) 从光标处删除到行尾,进入编辑模式
u 撤销
查找/撤销/保存
/word 向后查找字符串“word”
n、N 跳至后/前一个结果
u 撤销最近的一次操作
Ctrl + r 取消前一次撤销操作(反撤销)
ZZ(大写) 保存修改并退出
末行模式操作
保存/退出/文件操作
:q! 放弃已有更改后强制退出
:r /etc/filesystems 读入其他文件内容
[root@svr7 ~]# echo haha > /opt/1.txt
[root@svr7 ~]# echo xixi > /opt/2.txt
[root@svr7 ~]# vim /opt/1.txt
:r /opt/2.txt #读入/opt/2.txt文件内容到当前文本
:r /etc/passwd
字符串替换
:s/root/admin 光标所在行,替换当前行第一个“root”
:s/root/admin/g 光标所在行,替换当前行所有的“root”
:1,10 s/root/admin/g 替换第1-10行所有的“root”
:% s/root/admin/g 替换全文的所有的“root”
开关参数的控制
:set nu|nonu 显示/不显示行号
:set ai|noai 启用/关闭自动缩进(每次光标以上一行为基础,对齐)