您的位置:首页 > 理论基础 > 计算机网络

linux-扩展应用:vim编辑技巧、发布网络YUM源、源码编译安装

2017-11-12 22:11 756 查看
主要用途
/boot 存放系统引导必需的文件,包括内核、启动配置
/bin、/sbin 存放各种命令程序(bin下存放普通用户的,sbin下存放root的)
/dev 存放硬盘、键盘、鼠标、光驱等各种设备文件
/etc 存放Linux系统及各种程序的配置文件
/root、/home/ 用户名 分别是管理员root、普通用户的默认家目录
/var 存放日志文件、邮箱目录等经常变化的文件
/proc 存放内存中的映射数据,不占用磁盘
/tmp 存放系统运行过程中使用的一些临时文件

----------------------------------------------------------------------------------------------------------------------------------------------
权限数值化: 基本权限 r=4 w=2 x=1
附加权限 SUID=4 SGID=2 Stiky Bit=1
使用数值形式来设置权限

[root@svr7 ~]# mkdir /test01
[root@svr7 ~]# ls -ld /test01

[root@svr7 ~]# chmod 007 /test01
[root@svr7 ~]# ls -ld /test01

[root@svr7 ~]# chmod 700 /test01
[root@svr7 ~]# ls -ld /test01

[root@svr7 ~]# chmod 750 /test01
[root@svr7 ~]# ls -ld /test01

[root@svr7 ~]# chmod 755 /test01
[root@svr7 ~]# ls -ld /test01

-------------------------------------------------------------------------------------------------------------------------------------------------
历史命令 HISTORY
管理/调用曾经执行过的命令
– histroy:查看历史命令列表
– history -c:清空历史命令
– !n:执行命令历史中的第n条命令
– !str:执行最近一次以str开头的历史命令

调整历史命令的数量
[root@svr7 ~]# vim /etc/profile
HISTSIZE=1000 //默认记录1000条

[root@svr7 ~]# history -c
[root@svr7 ~]# history

[root@svr7 ~]# cat /etc/redhat-release

[root@svr7 ~]# hostname

[root@svr7 ~]# history

[root@svr7 ~]# !cat

------------------------------------------------------------------------------------------------------------------------------------
du,统计文件的占用空间
– du [选项]... [目录或文件]...

– -s:只统计每个参数所占用的总空间大小
– -h:提供易读容量单位(K、M等)

[root@svr7 ~]# du -sh /root/ /home/ /etc/
4.0M /root/
35M /etc/
132M /boot/

date,查看/调整系统日期时间
– date +%F #年月日
– date +%R #时间
– date +"%Y-%m-%d %H:%M:%S" #年月日,时分秒
– date -s yyyy-mm-dd HH:MM:SS" #修改日期时间

[root@svr7 ~]# date +%Y%m%d
[root@svr7 ~]# date +%Y-%m-%d
[root@svr7 ~]# date +%F
[root@svr7 ~]# date -s "2017-11-11 9:46"

-------------------------------------------------------------------------------------------------------------------------------------------------

自定义Yum仓库

1.众多自定义RPM软件包,将真机上tools目录上传到虚拟机A
真机:
[root@room9pc14 桌面]# scp -r tools root@192.168.4.7:/
虚拟机A:
[root@svr7 ~]# ls /

2.生成repodata仓库数据文件
[root@svr7 ~]# createrepo /tools/other/
[root@svr7 ~]# ls /tools/other/
[root@svr7 ~]# ls /tools/other/repodata/

3.书写客户端,指定新的仓库源
[root@svr7 ~]# vim /etc/yum.repos.d/dvd.repo
[dvd]
name=dvd
baseurl=http://192.168.4.254/rhel7
enabled=1
gpgcheck=0
[myrpm]
name=myrpm
baseurl=file:///tools/other
enabled=1
gpgcheck=0
[root@svr7 ~]# yum repolist

--------------------------------------------------------------------------------------------------------------------------------------------

[root@svr7 ~]# yum -y install cmatrix
[root@svr7 ~]# rpm -q cmatrix

查询rpm包安装清单
[root@svr7 ~]# rpm -ql cmatrix

[root@svr7 ~]# cmatrix
[root@svr7 ~]# cmatrix -C red

[root@svr7 ~]# oneko & #放入后台
[root@svr7 ~]# killall oneko #杀掉所有的oneko程序

-----------------------------------------------------------------------------------------------------------------------------------------
zip归档工具,跨平台的压缩工具

归档+压缩操作
– zip [-r] 备份文件.zip 被归档的文档...

[root@svr7 ~]# zip -r /opt/test.zip /boot/ /etc/passwd
[root@svr7 ~]# ls /opt

释放归档+解压操作
– unzip 备份文件.zip [-d 目标文件夹]

[root@svr7 ~]# unzip /opt/test.zip -d /mnt/
[root@svr7 ~]# ls /mnt
[root@svr7 ~]# ls /mnt/etc
[root@svr7 ~]# ls /mnt/boot

-----------------------------------------------------------------------------------------------------------------------------------------------
vim文本编辑器

[root@svr7 ~]# cp /etc/passwd /opt/test
[root@svr7 ~]# vim /opt/test

命令模式操作

光标跳转
Home 键 或 ^、数字 0 跳转至行首
End键 或“$”键 跳转到行尾
PgUp 键、PgDn 键 向上翻页、向下翻页
1G 或 gg 跳转到文件的首行
G 跳转到文件的末尾行

复制粘贴
复制 yy、5yy 复制光标处的一行、5行
粘贴 p 粘贴到光标处之后
x 或 Delete键 删除光标处的单个字符
dd、6dd 删除光标处的一行、6行
d^ 从光标处之前删除至行首
d$ 从光标处删除到行尾
u 撤销

查找/撤销/保存
/word 向后查找字符串“word”
n、N 跳至后/前一个结果
u 撤销最近的一次操作
Ctrl + r 取消前一次撤销操作
ZZ 保存修改并退出

末行模式操作

:r /etc/filesystems 读入其他文件内容

[root@svr7 ~]# echo 123 > /opt/1.txt
[root@svr7 ~]# echo abc > /opt/2.txt
[root@svr7 ~]# vim /opt/2.txt

:r /opt/1.txt
:r /etc/passwd
:r /etc/redhat-release

字符串替换

:s /old/new 替换当前行第一个“old”
:s /old/new/g 替换当前行所有的“old”
:n,ms /old/new/g 替换第n-m行所有的“old”
:%s /old/new/g 替换文件内所有的“old

:s /root/admin 替换当前行第一个“root”
:s /root/admin/g 替换当前行所有的“root”
:1,10s /root/admin/g 替换第1-10行所有的“root”
:%s /root/admin/g 替换文件内所有的 root

------------------------------------------------------------------------------------------------------------------------------------------

:set nu|nonu 显示/不显示行号
:set ai|noai 启用/关闭自动缩进

--------------------------------------------------------------------------------------------------------------------------------------------
/root/.vimrc #此文件默认没有,但可以再vim修改配置
vim /root/.vimrc
修改配置文件,设置vim预先执行的操作

[root@svr7 ~]# vim /root/.vimrc

set nu
set ai

-----------------------------------------------------------------------------------------------------------------------------------------

创建软连接(快捷方式):ln -s 原始文件/目录 软连接文件
[root@svr7 ~]# ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 /opt/eth0
[root@svr7 ~]# ls -l /opt/eth0
lrwxrwxrwx. 1 root root 41 11月 11 14:11 /opt/eth0 -> /etc/sysconfig/network-scripts/ifcfg-eth0

创建硬连接:ln 原始文件 硬连接文件

ln,创建软连接(快捷方式)

# ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 /opt/eth0
# ls /opt/

# ls -l /opt/eth0
# cat /opt/eth0

# ln -s /etc/redhat-release /opt/rh
# ls /opt/

# cat /opt/rh

i节点 : 编号标识硬盘的存储空间

ln,创建软连接
软连接 --> 原始文档 --> i节点 --> 文档数据

ln,创建软连接

– 软连接 --> 原始文档 --> i节点 --> 文档数据
– ln -s 原始文件或目录 软连接文件
若原始文件或目录被删除,连接文件将失效
软连接可存放在不同分区/文件系统

ln,创建硬连接
– 硬连接 --> i节点 --> 文档数据
– ln 原始文件 硬连接文件
若原始文件被删除,连接文件仍可用
硬连接与原始文件必须在同一分区/文件系统
软连接和硬连接
区别:软连接-若原始文件或目录被删除,连接文件将失效
软连接可存放在不同分区/文件系统

硬连接-若原始文件被删除,连接文件仍可用
硬连接与原始文件必须在同一分区/文件系统
硬连接不支持创建目录

[root@svr7 ~]# rm -rf /opt/*

[root@svr7 ~]# echo 123 > /opt/A
[root@svr7 ~]# cd /opt/
[root@svr7 opt]# cat A
[root@svr7 opt]# ln -s /opt/A /opt/A1 #软连接
[root@svr7 opt]# ls
[root@svr7 opt]# ln /opt/A /opt/A2 #硬连接
[root@svr7 opt]# ls

[root@svr7 opt]# cp A A3 #复制
[root@svr7 opt]# ls
[root@svr7 opt]# ls -i #只有硬连接不会产生新文件

[root@svr7 opt]# rm -rf /opt/A
[root@svr7 opt]# ls
[root@svr7 opt]# cat A1
cat: A1: 没有那个文件或目录
[root@svr7 opt]# cat A2
[root@svr7 opt]# cat A3
----------------------------------------------------------------------------------------------------------------------------------------
系统环境变量
PATH : 提供命令程序的搜寻路径

提示命令没有找到?
1.命令有误
2.命令没有安装
3.该命令的程序,没有在PATH值中

[root@svr7 /]# vim /opt/hello
#!/bin/bash
echo 'hello world'
[root@svr7 /]# chmod +x /opt/hello
[root@svr7 /]# hello #运行失败

[root@svr7 /]# echo $PATH
[root@svr7 /]# ln -s /opt/hello /usr/bin/hello
[root@svr7 /]# hello #运行成功

---------------------------------------------------------------------------------------------------------------------------------------
源码包编译安装

主要优点
– 获得软件的最新版,及时修复bug
– 软件功能可按需选择/定制,有更多软件可供选择
– 源码包适用各种平台

RPM包:rpm、yum 运行安装

利用gcc、make工具 make install
源码包 ------------------------>可以执行的程序--------------------------->运行安装

步骤1:安装gcc、make

[root@svr7 /]# yum -y install gcc make
[root@svr7 /]# rpm -q gcc
[root@svr7 /]# rpm -q make

步骤2:tar解包,释放源代码至指定目录
# rm -rf /opt/*
# tar -xf /tools/inotify-tools-3.13.tar.gz -C /opt/
# ls /opt/
# 以下所有步骤都要在,解压目录下执行

步骤3: ./configure 配置,指定安装目录/功能模块等选项
# cd /opt/inotify-tools-3.13/
# ./configure --prefix=/mnt/myrpm

./ 当前运行的程序

步骤4:make 编译,生成可执行的二进制程序文件
# make

步骤5:make install 安装,将编译好的文件复制到安装目录
# make install
# ls /mnt/myrpm/

----------------------------------------------------------------------------------------------------------------------------------------------
获取命令帮助,man帮助

5 : 文本文件的帮助信息

[root@svr7 /]# man passwd
[root@svr7 /]# man 5 passwd

通常 会提供“--help”帮助选项

------------------------------------------------------------------------------------------------------------------------------------------------

补充:
wc -l 文件的绝对路径 #统计文件有多少行

1. 请统计Linux一共有多少用户?
[root@svr7 /]# wc -l /etc/passwd
43 /etc/passwd

2.统计/etc目录下,以".conf"结尾的文件有多少个?(不包含子目录)

[root@svr7 /]# ls -l /etc/*.conf | wc -l

3.统计/etc目录下,以".conf"结尾的文件有多少个?(包含子目录)

[root@svr7 /]# find /etc -name "*.conf" | wc -l

find选项

-mtime +|-修改天数

[root@svr7 /]# find /var/log/ -mtime +1000 #1000天之前

[root@svr7 /]# find /var/log/ -mtime -10 #最近10之内

--------------------------------------------------------------------------------------------------------------------------------------------------
查看网络链接信息

netstat -anptu

-a: 列出所有的进程
-n:以数字的形式显示
-p:进程名称及PID信息
-t:tcp连接
-u:udp连接

-------------------------------------------------------------------------------------------------------------------------------------------

主机名与IP地址映射关系 /etc/hosts(DNS解析)只为本机提供解析

[root@svr7 /]# tail -2 /etc/hosts
192.168.4.7 svr7.tedu.cn
192.168.4.10 haha.tedu.cn

[root@svr7 /]# ping svr7.tedu.cn

[root@svr7 /]# ping haha.tedu.cn

---------------------------------------------------------------------------------------------------------------------------------------------

0.0.0.0: 22
表示本机所有ip地址(网卡)都开放22号端口
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网络 计算机 红帽