20170309 11:00-12:50
vm安装centos系统 swap 内存1.5倍把 8G内存以上就8G swap把 /boot 200M 其他的空间都给 / 根目录
下载 mirrors.aliyun.com 这是国内镜像网站
安装6.7 选择的是最小化安装 最安全嘛
可选包 选择 base debugs tools和 开发环境包tools
设置ip setup
该配置实际修改的配置 就是
/etc/sysconfig/network-scripts/ifcfg-eth0
ifup eth0 启用网卡eth0 如果获取失败 检查 计算机-管理-vmware nat/dhcp等服务是否启动
再ifconfig 查看ip信息
15:30-
第一关 24个linux基本命令
cd /;mkdir /data ;的作用就是在一行执行两个命令语句
提示文件夹已经存在
1、ls -l(long)长格式, -d(directorys)查看目录
ls -ld / 至查看当前目录属性
2、cd change directorys 改变目录 例子:cd 进去家目录
绝对路径 对于Windows 从盘符开始的路径 对于linux 从根开始的路径
相对路径 相对于当前路径 不从 / 根开始,不从头(/根)开始的路径
3、如何查看当前路径 pwd printe work directory 打印工作目录
4、touch 如果文件不存在则创建文件 如果文件存在 就改变文件的访问时间atime等时间戳信息
5、vi和vim
6、echo 输出打印 例子:echo ‘I am studying Linux‘>oldboy.txt
>重定向 会清除文件里所有以前的数据
>>追加 只在文件尾部追加需要的内容
多行追加:
正确的用法: 必须给cat后面加 >>
错误的用法:
20170310 22:48-
特殊符号:
输入重定向 <
xargs 从标准输入获取内容创建和执行命令 -n 数字 分组
箭头的指向就是数据的流向
例子: &> 和 2>&1 这是一样的效果
cat 查看文件内容 例子:cat a.txt
cp copy拷贝文件或者目录 默认不能拷贝目录 -r:递归,用于拷贝目录 -a:相当于-pdr (包含r) -p:保持属性,而非使用默认属性
rm删除目录和文件 -f (force)强制 -r 递归,用于删除目录
强调:删除命令要慎用,非常危险,删除前一定要备份一份。
mv (move) 移动文件和目录
企业一般使用find进行删除:
find 最重要的命令之一 路径 -type(文件类型 f(file),d(directory,c(character)字符,b(block)块,s(socket)) -name “文件名” -mtime 时间,按修改时间查找 ,时间数字 +7 7天以前 ,7 第七天 ,-7 7天以内
20170311 11:45-13:25
http://oldboy.blog.51cto.com/2561410/1650380 linux面试题:删除一个目录下的所有文件,但保留一个指定文件
等哈整理下笔记
grep 过滤需要的内容 -v 排除 linux三剑客之一 老三
例子:
下面是直接过滤包含 li 的 字符串
head 头 -n 显示头几行 不加n默认显示是头10行
tail 尾 -n 显示尾几行 不加n默认显示是尾10行
更新linux补丁 yum update
yum install lrzsz telnet tree nmap nc -y
cp mv rm 都是默认加了-i 加入询问的 也就是别名
自动化的时候 (如果不使用别名 询问你是否确认)
就是用全路径命令 比如 /bin/cp mv rm等 或者 \cp \rm \mv
alias 查看和设置别名 例子:查看别名 直接输入alias+命令
unalias 取消别名
seq sequence 序列
生成ett文件 seq 100 >ett.txt
最low的办法1:
办法2: sed stream editor linux三剑客老二 ,流编辑器 ,实现对文件的增删改替换查
参数-n 取消默认输出 p打印的意思
n取消默认输出 按照规则(第20-30行) p打印输出 引号比较保险规范
办法3:awk 过滤、输出内容 ,也是一门语言。 NR代表行号
方法4:
grep
b before a after c context 记忆方法把
Sed细讲:
-i 修改文件内容 -e允许多项编辑
功能: p打印 g与s联合使用时,表示对于当前全局匹配替换 s常说的是查找并替换 ,用一个字符串替换另一个
sed -i ‘s#oldgirl#xiaojiang#g‘ oldboy.txt #是分隔符,可以用/或者@等替换。
17:15-
sed的例子:
课程 总结:
1、mkdir -p 创建递归文件夹
2、touch 创建文件
3、ls 列表目录
4、cd 切换目录
5、echo 打印目录
6、cp 复制目录文件 -r 递归 -a(dpr)
7、vi 记事本 a或者i开始录入 q推出 w写入 写入保存 :wq 强制推出 :q!
8、head 查看前n行,默认10行, -n 数字
9、rm rm -f force -r 删除目录
10、cat 查看文件内容
11、rmdir 删除目录
12、grep 过滤 -v排除过滤
13、find 查找 -type f文件 d目录 -name “名字” -mtime +7 ,7, -7 +n表示n天以前 -n表示n天以内 n表示第n天
14、sed 增删改查 -i修改 -n取消默认输出 -e多项编辑 p打印 s修改替换 g全局
15、alias 修改设置别名,查看
16、unalias 取消别名
17、xargs 从标准输入读入 创建执行命令 -n(数字) 分组
18、awk -F 指定分隔符 NR 行号{print $1 $2}
19、seq 打印序列 横着打印 seq -s ‘’10
20、pwd 打印当前目录
21、tree 目录树 yum install tree -y
22、tr
23、tail 尾巴 默认后10行,-n 数字
24、vim 复杂编辑器 (写shell,python)
25、mv 移动目录或文件名
特殊符号
> 或者 1>输出重定向 清空已有内容 加入新内容 或者创建之前没有的文件
>>或者 1>>追加重定向
< 或者 0<输入重定向 例子: xargs -n 2 <oldboy.txt
<< 0<< 追加重定向
箭头朝向就是数据量的方向。
| 管道
.或者./ 代表当前目录
.. 上一级目录
/ 根
; 两个命令的分隔符
{} 生成一个序列
区别:
!+字母 调出最近使用过的字母命令 i840 运行历史的第840行命令 history 命令可以查看历史输入命令
!!调出最近的那条命令
!取反的意思
-a and 交集 并且, -o or 并集 或者 !取反 这三个算是类似的参数把
&&也是并且的意思 相当于-a
~ cd ~ 回到家目录
- cd - 回到用户上一次所在目录
yum update fuck的 update 我今天把centos6.7更新到最新的6.8了 。。。。
1、常规分区:数据不是特别重要的业务(集群的某个节点)
/boot 引导分区 200M 主分区
swap 交换分区 内存的1.5倍,内存大于8G,就给8-16G。
/ Linux所有目录的顶点 剩余所有的空间
2、数据重要(数据库、存储 服务器)
/boot 引导分区 200M 主分区
swap 交换分区 内存的1.5倍,内存大于8G,就给8-16G。
/ Linux所有目录的顶点,100-200G
/data 剩余所有空间,存放数据 便于备份
3、特大网站,门户(产品线特别多,需求)
/boot 引导分区 200M 主分区
swap 交换分区 内存的1.5倍,内存大于8G,就给8-16G。
/ Linux所有目录的顶点,100-200G
剩余空间不分配,哪个部门领到了服务器,根据需求再进行分区。
20170312 20:21- 复习笔记
21:20- QQ语音会议
考核题目的要求: 确保你掌握下面的所有考核点
每次视频看完 再看一遍书 录像3次
得学会计划时间 任务优先级 早上就确定任务
习惯的养成 确保每天的学习时间
第十章应该要看完
时间安排
韩文海:如何判断一个网站被攻击,
鸡血哥:访问登录日志 log 浏览器 ip等 封ip 上防火墙啥的
最少的减少故障 和高效恢复 就是保证你上次的动作还原
QQ语音的意义:
快速了解到学员的学习情况
多学会和别人沟通了解
面试也是这个问题 语言的交流
20170313 23:05-24:25
mkdir
-m as in chmod (类似chmod) not a=rwx - umask 一般不用这个 而是使用chmod修改文件权限
-p --parents no error if existing没有目录就创建目录, make parent directories as needed 递归创建目录
-v --verbose print a message for each created directory 显示每次创建目录的信息
{}的用法
类似的效果:
给find命令进行实验创建点目录把:
cd命令:
相对路径: 不从/根开始 test/a/b
绝对路径:从/根开始 /data/test
tree命令:
-d 只显示目录
-L 2 显示到第二层目录
-f 打印每个目录的全路径
-i 不打印树枝
意义:方便保存到文本进行下一步的数据处理
touch命令: 1、创建新文件 2、更新旧文件的时间戳
-a access 访问时间属性 -m modify 访问时间属性 change状态时间属性
stat 命令可以查看时间戳 属性
明天上班时间看完亿图使用把(完成)
20170314 21:22-23:38
linux系统的目录结构介绍:
1、/是所有目录的顶点。
2、目录结构像一颗倒挂的树。
3、目录和磁盘分区没有关联。
4、/下不同的目录可能会对应不同的磁盘或者分区。
linux里设备不挂载是看不到入口的,类似没有窗户的监狱。如果希望设备被访问,就必须给这个设备一个入口,
这个入口就叫做挂载点,挂载点的表现实质就是一个目录。
mount /dev/cdrom /mnt
ls /mnt
df -h
umount /mnt 卸载刚刚挂载的光驱
/boot 200M swap内存1.5倍 8G以上给8G /全给
/dev设备
/etc (yum和rpm)配置文件 默认路径
fstab 开机自动挂载磁盘的 hosts 主机名解析文件 inittab开机启动级别 issue 开机登录信息 motd登录之后显示的信息
networks passwd
vi /etc/motd 就会出现以下例子:
/home 家目录 普通用户的家目录默认数据存放目录
/lib 库文件存放目录
/lost+found 错误关机等数据存放在这里 正常开机后fsck修复这些数据
/mnt 临时挂载存储设备的挂载目录 比如cdrom U盘等目录
/opt目前很好使用
/proc 和内核相关、进程相关信息
/root 管理员root的家目录
/sbin超级权限用户root存放的一些可执行命令: fdisk分区 fsck磁盘检查 halt关机 init运行级别 mkfs格式化 mkswap交换分区 reboot重启 route配置路由
/tmp 临时文件目录
/var 主要是日志文件 /var/log/messages 系统日志文件 /var/log/secure 用户登录信息
小结:重要目录回顾
/dev设备目录
/etc系统配置和服务配置文件、启动命令的目录
/proc 显示内核和进程信息的虚拟文件系统
/tmp 临时文件目录,类似公共厕所,客厅
/home 普通用户的家目录,大臣的家
/root 超级管理的家目录,皇宫
/var 变化的目录,一般是日志文件,cache的目录
/usr 用户程序和数据、帮助文件、二进制命令等的目录。
/bin 普通用户的命令的目录
/sbin 和/usr/sbin 超级用户命令的目录
重要运维思想 讲解:
1、觉得会了是不够 ,还要表达出来,交流,尽可能教给不会的人!
2、表达出来,是一次将知识装入潜意识的过程。听课,就是把知识装入潜意识。
意识层面不是你的,放在潜意识里,才是真的学会了。
潜意识:信念、价值观、行动
让老板加薪:
信念:让他相信你牛逼,相信对公司的贡献大,对他忠诚。(请他吃个饭呀 牛逼 满足他的八大需求 哈哈)
价值观:方法有了
行动:才可能有结果。
重要的子目录的说明: 100%需要掌握的
/etc/sysconfig/network-scripts/ifcfg-eth0 第一块网卡的设置文件
修改完ip后 还需要重启网卡
1、/etc/init.d/network restart 重启了所有网卡(影响所有网卡) 因为工作中别的网卡可能在提供服务 这个办法不好
2、ifdown eth0 && ifup eth0 只针对eth0网卡
netstat -n |grep 192 stat查看文件属性 netstat 查看网络接口信息
20170315 15:56-
/etc/host 局域网的dns
/etc/sysconfig/network 可修改机名和网卡启动、网关等配置。
更改主机名
1、vi /etc/sysconfig/network 永久生效
或者 sed -i‘s#HOSTNAME=oldboy#HOMENAME=oldgirl#g’/etc/sysconfig/network
2、hostname 名字 临时生效
/etc/fstab 实现 开机要挂载的文件系统的一个 文件
第一列:要挂载的设备 第二列:挂载点 第三列:文件系统类型 第四列:挂在选项 可读可写啥的 第五列 是否需要备份 第六列:是否需要磁盘检查fsck
/etc/rc.local 用于存放开机自启动程序命令的文件 (chkconfig常用来管理yum和rmp安装的程序的服务的开机自启动)。自己开发的程序,一般习惯把启动命令放入/etc/rc.local,实现开机启动这些程序,linux开机启动会把/etc/rc.local里的内容执行一遍。
/etc/inittab 设定系统启动时init进程将系统设置成什么样的runlevel运行级别和加载相关的级别对应启动文件设置
20170315 20:00-
/etc/init 用来存放系统或者服务器通过yum或者rpm工具安装的软件的默认启动程序的目录。比如centos、redhat
/etc/profile 系统全局环境变量永久生效的配置文件
/etc/profile.d 加载系统登录程序的目录,命令或者文件独立存在 讲跳板机,登录的时候加载/etc/profile.d的脚本
etc下面的文件目录回顾:
/etc/issue 系统登录前的显示的信息
/etc/motd 系统登录后的显示的信息
/usr/local 通过源码编译安装软件的存放目录
/usr/src 上传的文件源码等 喜欢存放这里
/var/log/messages 系统信息等默认日志文件
ifup ifdown 启动和停止网卡,可以接网卡名 ifup eth0
/var/log/secure 记录登录信息
/proc/meninfo 内存信息 cpuinfo cpu信息 version 系统版本 loadavg 系统负载 mounts 挂载设备
今天必须要掌握的重要目录:
/etc/sysconfig/network-scripts/ifcfg-eth0 网卡配置文件
/etc/resolv.conf DNS配置文件
/etc/hosts 静态路由配置文件
/etc/sysconfig/network 主机名称 hostname
/etc/fstab 磁盘挂载
/etc/rc.local 开机启动项
/etc/inittab 开机启动级别 init0 关机 halt状态 init1 单用户状态 init3 完整的多用户模式 init5 x11 桌面模式 init6 重启
/etc/procfile 全局环境变量
/usr/local
/usr/src
/var/log/message
/var/log/secure
20170316 11:39-
ls相关学习:
正则表达式:
1、 ^表示以 什么开头,^d表示以d开头的文件
延伸阅读: ^$表示空行的内容或者文件 每个空行都有标识符$ grep -v "^$" test.txt 就可以过滤tets.txt中所有的空行
以下是例子,过滤以d开头的文件:
2、$ 表示以什么结尾,/$表示以/结尾的文件
摘取自----------以下PDF
cat相关学习:
cat命令常用功能: 动物猫 “瞄“一下文件内容 就是显示文件内容
1、查看文件内容 例子:cat filename.txt
2、把多个文件合成一个 例子:cat file1.txt file2.txt >newfile.txt
3、创建编辑新文件 例子:cat >file.txt ,后面接需要编辑的内容,ctrl+d或者ctrl+c结束编辑。 此功能应用的不多,了解即可。
4、非交互式的编辑或者追加内容到文件尾部。
这个功能是生产工作最重要的一个应用了,所以必须熟练掌握,这里先给一个命令格式:
cat >>file1.txt<<EOF
I am oldboy training
Welcome to my blog
EOF
5、清空文件内容。 例子:cat /dev/null >file1.txt,这样酒吧文件内容情况了,但是文件还存在,这个功能生产工作中也会用到。
摘抄自----以下PDF:
20170318 8:05-
视频讲解第一关题目
书写命令的时候 ctrl+a 光标移到最前面 (after) ctrl+e光标移到最后面 (end)
第二题时:
方法1:
[[email protected] oldboy]# awk -F "[ :]+" ‘{print $3" "$5" "$7}‘ oldboy.txt
192.168.140.128 192.168.140.255 255.255.255.0
两个分隔符 +和 : 所以前面的:需要使用[ ]包起来
后面的{}里面的分隔符可以用 ,或者“ ”(中间是空格,双引号的就是 所见即所得)
方法2: sed的正则表达式
第4题时:
[[email protected] oldboy]# awk -F ":" ‘NR>9&&NR<21p{print $3}‘ passwd >/data/oldboy/test.txt
-bash: /data/oldboy/test.txt: No such file or directory
[[email protected] oldboy]#
[[email protected] oldboy]#
[[email protected] oldboy]#
[[email protected] oldboy]#
[[email protected] oldboy]# awk -F ":" ‘NR>9&&NR<21p{print $3}‘ passwd >/tmp/oldboy/test/test.txt
-bash: /tmp/oldboy/test/test.txt: No such file or directory
我们发现一个问题咯 >是可以新建文件的 但是仅限制于本目录 超出当前目前时是会报错的 提示没有此文件
第6题时:
[[email protected] oldboy]# find /tmp/oldboy/ -type f ! -name "passwd" -exec rm {} \;
记得固定的格式是 -exec 命令 {} \; 其中{}表示前面的内容 \; 是固定的格式
[[email protected] oldboy]# find /tmp/oldboy/ -type f ! -name "passwd" |xargs rm -rf 这个也是可以的 我最喜欢这个了
第7题:
[[email protected] oldboy]# head -n 5 passwd |tail -n 4
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[[email protected] oldboy]# sed -n ‘2,5‘p passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[[email protected] oldboy]# awk ‘NR>1 && NR<6‘ passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
第8题:
[[email protected] oldboy]# awk -F "[:]" ‘{print $7";"$2":"$3":"$4":"$5":"$6}‘ passwd >passwd
第九题:
[[email protected] data]# find /data -type f -name "*.txt" |xargs sed -i ‘s#oldboy#oldgirl#g‘
第十题:
[[email protected] oldboy]# find -type f -name "*.txt" -size +1M -mtime +7 -exec mv {} /tmp \;