DAY 8 总结表格 所有目录搞清楚放啥的![I)5T}ZL]FQJ~(FN)ED2XWV.png
3S`7@J%~2T`Z0H}E{OS{E@0.png根主要目录 关于目录说明
/bin 常用二进制命令所在的目录 /bin已经成为/usr/bin的软链接
/boot Linux的内核及系统引导程序所的文件目录 引导分区的挂载点
/dev 设备文件的目录如声卡 磁盘 光驱 即设备分区
/etc 二进制软件安装包(yum , rmp)等的配置文件默认目录
/home 普通用户的家目录
/lib 启动系统和运行命令所需的共享库文件和内核模块存放目录
/lost+found 在ext3文件系统中 系统崩溃或意外关机产生的文件碎片 所在目录
/mnt 临时挂载点 光驱或者u盘
/opt 自定义的软件安装包所在目录 即额外的应用软件包
/proc 操作系统运行时 存放进程和内核信息的目录 虚拟的文件系统
/root 超级用户的家目录
/sbin 超级用户执行的系统命令存放目录
/tmp 存放临时文件的目录
/srv 系统提供的服务数据 给用户使用的数据存放位置
/usr 第二目录层次 下面有两个重要子目录
/usr/local 默认软件安装目录
/usr/src 程序源码目录
/var 放可变化的数据 像日志缓存的地方
/etc下的重要文件目录
目录 说明
/etc/sysconfig/network-scripts/ifcfg-eth0 网卡配置文件 设置网卡信息就在这里面设置
/etc/resolv.conf DNS客户端配置文件即域名解析系统注意:网卡配置文件的DNS会覆盖/etc/resolv.conf的DNS配置
/etc/sysconfig/network 主机名配置文件 永久修改主机名:
编辑/etc/sysconfig/network进行修改
依次执行setup然后“network configuration”然后“DNS configuration”图形化修改
/etc/hosts 本地的DNS解析文件 系统会优先使用本地的域名解析系统
/etc/fstab 配置开机设备自动挂载的文件
/etc/rc.local 存放开机自启动程序命令的文件
/etc/inittab 系统启动设定运行级别等配置的文件 已经废弃
/etc/profile及/etc/bashrc 配置系统的环境变量/别名等的文件
/etc/profile.d 用户登录后执行的脚本所在的目录
/etc/issue和/etc/issue.net 配置在用户登录终端前显示信息的文件在企业服务器中 为了防止泄露服务器版本 一般会把issue文件内容清空
/etc/init.d 软件启动程序所在的目录 基本废弃 systemctl取代
/etc/motd 配置用户登录系统之后显示提示内容的文件
/etc/redhat-release 声明Red Hat 版本号和名称信息的文件
/etc/sysctl.conf Linux内核参数设置文件 内核配置和优化都在这里面修改 重要
/etc/group 设定用户的组名与相关信息 (课上没讲)
/etc/passwd 账号信息文件 (课上没讲)
/etc/shadow 密码信息文件 (课上没讲)
/etc/sudores Sudo命令配置文件(权限提升) (课上没讲)
/usr目录的重要知识介绍
/usr/local/ 编译安装软件默认的位置路径
/usr/src 存放源码文件的目录
/var目录下的路径知识
1./var/log 记录系统及软件运行信息的文件所在目录
日志名字 文件类型 作用
/var/log/messages 文本文件 系统级日志文件
/var/log/secure 文本文件 安全日志文件 用户登录信息
/var/log/dmesg 文本文件 硬件信息加载情况日志文件
执行dmesg查看内核系统软件信息
/var/log/cron 文本文件 定时任务日志
/var/log/wtmp 二进制文件 记录登录者信息的日志 执行last命令自动读取该文件
/var/log/lastlog 二进制文件 记录用户近期登录情况 执行lastlog命令自动读取该文件
/Proc下的重要路径知识
路径名称 路径说明
/proc/cpuinfo 当前cpu信息文件 /proc/cpuinfo 查看CPU
/proc/meminfo 当前内存信息文件 free -m 查看内存
/proc/loadavg 当前系统的平均负载文件 查看负载uptime
/proc/mounts 当前设备挂载列表信息文件
/proc/interrupts 当前系统中断文件信息
总结表格 所有目录搞清楚放啥的
根主要目录 关于目录说明
/bin 常用二进制命令所在的目录 /bin已经成为/usr/bin的软链接
/boot Linux的内核及系统引导程序所的文件目录 引导分区的挂载点
/dev 设备文件的目录如声卡 磁盘 光驱 即设备分区
/etc 二进制软件安装包(yum , rmp)等的配置文件默认目录
/home 普通用户的家目录
/lib 启动系统和运行命令所需的共享库文件和内核模块存放目录
/lost+found 在ext3文件系统中 系统崩溃或意外关机产生的文件碎片 所在目录
/mnt 临时挂载点 光驱或者u盘
/opt 自定义的软件安装包所在目录 即额外的应用软件包
/proc 操作系统运行时 存放进程和内核信息的目录 虚拟的文件系统
/root 超级用户的家目录
/sbin 超级用户执行的系统命令存放目录
/tmp 存放临时文件的目录
/srv 系统提供的服务数据 给用户使用的数据存放位置
/usr 第二目录层次 下面有两个重要子目录
/usr/local 默认软件安装目录
/usr/src 程序源码目录
/var 放可变化的数据 像日志缓存的地方
/etc下的重要文件目录
目录 说明
/etc/sysconfig/network-scripts/ifcfg-eth0 网卡配置文件 设置网卡信息就在这里面设置
/etc/resolv.conf DNS客户端配置文件即域名解析系统注意:网卡配置文件的DNS会覆盖/etc/resolv.conf的DNS配置
/etc/sysconfig/network 主机名配置文件 永久修改主机名:
编辑/etc/sysconfig/network进行修改
依次执行setup然后“network configuration”然后“DNS configuration”图形化修改
/etc/hosts 本地的DNS解析文件 系统会优先使用本地的域名解析系统
/etc/fstab 配置开机设备自动挂载的文件
/etc/rc.local 存放开机自启动程序命令的文件
/etc/inittab 系统启动设定运行级别等配置的文件 已经废弃
/etc/profile及/etc/bashrc 配置系统的环境变量/别名等的文件
/etc/profile.d 用户登录后执行的脚本所在的目录
/etc/issue和/etc/issue.net 配置在用户登录终端前显示信息的文件在企业服务器中 为了防止泄露服务器版本 一般会把issue文件内容清空
/etc/init.d 软件启动程序所在的目录 基本废弃 systemctl取代
/etc/motd 配置用户登录系统之后显示提示内容的文件
/etc/redhat-release 声明Red Hat 版本号和名称信息的文件
/etc/sysctl.conf Linux内核参数设置文件 内核配置和优化都在这里面修改 重要
/etc/group 设定用户的组名与相关信息 (课上没讲)
/etc/passwd 账号信息文件 (课上没讲)
/etc/shadow 密码信息文件 (课上没讲)
/etc/sudores Sudo命令配置文件(权限提升) (课上没讲)
/usr目录的重要知识介绍
/usr/local/ 编译安装软件默认的位置路径
/usr/src 存放源码文件的目录
/var目录下的路径知识
1./var/log 记录系统及软件运行信息的文件所在目录
日志名字 文件类型 作用
/var/log/messages 文本文件 系统级日志文件
/var/log/secure 文本文件 安全日志文件 用户登录信息
/var/log/dmesg 文本文件 硬件信息加载情况日志文件
执行dmesg查看内核系统软件信息
/var/log/cron 文本文件 定时任务日志
/var/log/wtmp 二进制文件 记录登录者信息的日志 执行last命令自动读取该文件
/var/log/lastlog 二进制文件 记录用户近期登录情况 执行lastlog命令自动读取该文件
/Proc下的重要路径知识
路径名称 路径说明
/proc/cpuinfo 当前cpu信息文件 /proc/cpuinfo 查看CPU
/proc/meminfo 当前内存信息文件 free -m 查看内存
/proc/loadavg 当前系统的平均负载文件 查看负载uptime
/proc/mounts 当前设备挂载列表信息文件
/proc/interrupts 当前系统中断文件信息
Linux系统运行级别的说明如下:
0 关机(请不要把系统运行级别设置为0)
1 单用户模式 (root用户密码忘记,可用此模式找回)
2 没有NFS,多用户模式
3 命令行模式 文本模式(企业级服务器核心运行状态)
4 未使用
5 图形化模式 桌面模式 X11(桌面个人版系统运行状态)
6 重启(不要把系统运行级别设置为6)
CentOS6和CentOS7运行级别即文件的链接关系如下,可以看出来,基本是换汤不换药,区别就是原来的2-4合并成了一个多用户文本模式了:
/usr/lib/systemd/system/runlevel0.target -> poweroff.target #<==关机模式。
/usr/lib/systemd/system/runlevel1.target -> rescue.target #<==救援模式。
/usr/lib/systemd/system/runlevel2.target -> multi-user.target #<==多用户模式。
/usr/lib/systemd/system/runlevel3.target -> multi-user.target #<==多用户模式。
/usr/lib/systemd/system/runlevel4.target -> multi-user.target #<==多用户模式。
/usr/lib/systemd/system/runlevel5.target -> graphical.target #<==图形模式。
/usr/lib/systemd/system/runlevel6.target -> reboot.target #<==重启模式。
DAY9
Linux(CentOS6)系统启动流程说明
第一步
开启开机按钮 计算机加载BIOS自检 即开机BIOS自检
第二步
读取MBR信息
第三步
加载Grub菜单
第四步
加载kernel内核以及驱动程序 加载内核
第五步
启动init进程 读取inittab文件 运行init进程
第六步
Init进程执行rc.sysinit初始化系统
第七步
Init进程加载内核相关模块
第八步
init进程执行对应运行级别下的脚本
第九步加载/etc/rc.local
第十步
启动mingetty 进入登录前的状态
第六到第十
6设定系统级别
7初始化系统
8运行对应级别下的启动脚本
9加载开机自启动程序
10 启动显示登录页面
Centos7的开机自启动程序
1开机自检BIOS
2MBR 引导
3GRUB 菜单
4加载内核
5运行systemd程序
6读取运行级别
7(并行启动各种服务)
8启动显示登录界面
VI VIM编辑器
VIM的三种模式
1普通模式
2编辑模式
3命令模式
对应关系如下图所示
image.pngVIM快捷键
|
命令
|
说明
|
|
普通模式;移动光标的操作
| |
|
G
|
将光标移动到文件的最后一行
|
|
gg
|
将光标移动到文件的第一行 等价于1gg或1G
|
|
0
|
数字0 光标移动到当前行的开头
|
|
$
|
光标移动到当前行的结尾
|
|
ngg
|
移动到N行
|
|
H
|
移动到当前窗口最上面的一行
|
|
M
|
移动到当前窗口的中间一行
|
|
L
|
移动到当前窗口最下面的一行
|
|
h或左键
|
光标向左一个字符
|
|
J或下键
|
向下一个字符
|
|
k或上键
|
向上一个字符
|
|
l或右键
|
向右一个字符
|
|
普通模式搜索与替换操作
| |
|
/oldboy
|
从光标向下寻找oldboy的字符串
|
|
?oldboy
|
向上寻找oldboy的字符串
|
|
n
|
向下重复前一个搜索的动作
|
|
N
|
向上重复前一个搜索的动作
|
|
: s/原内容/替换内容
|
替换光标所在行内容
|
|
: s/原内容/替换内容/g
|
替换光标所在行整行内容
|
|
:%s/原内容/替换内容/g
|
替换整个文本内容
|
|
普通模式复制粘贴删除等操作
| |
|
yy
|
复制光标当前行
|
|
Nyy
|
复制光标向下N行
|
|
p/P
|
小p向下一行粘贴 大P向上一行粘贴
|
|
dd
|
删除(剪切)光标当前行
|
|
ndd
|
删除光标向下N行
|
|
u
|
撤销上一步操作
|
|
.
|
重复前一个操作 就一个小数点
|
|
x
|
向后删除字符
|
|
X
|
向前删除字符
|
|
d1G
|
删除当前行至第一行
|
|
dG
|
删除当前行至最后一行
|
|
d0
|
删除当前光标文本至行首
|
|
d$
|
删除当前光标文本至行尾
|
| | |
|
进入编辑模式
| |
|
i
|
在当前光标所在处插入
|
|
a
|
在当前光标的下一个字符处插入
|
|
I
|
在当前所在行的行首非空格处插入
|
|
A
|
在当前所在行的行尾插入
|
|
O
|
在当前所在行的上一行插入新的一行
|
|
o
|
在当前所在行的下一行插入新的一行
|
|
ESC
|
退出编辑模式回到命令模式
|
|
命令行模式
| |
|
:wq
|
保存退出
|
|
:q
|
退出
|
|
:q!
|
强制不保存退出
|
|
:wq!
|
强制保存退出
|
|
:set nu
|
显示行号
|
|
:set nonu
|
取消行号
|
命令总结
1.echo 显示输出文本内容
-n 不自动换行
-E不解析转义字符
-e 支持转义字符
\t代表tab
\n代表换行
2.cat 合并文件和查看文件内容
cat 查看文件内容
cat 123.txt 456.txt>789.txt 合并文件
cat>>文件<<EOF 文件内容EOF 创建文件 或者编辑文件或者追加内容
-n 从1开始对所有输出的内容编号
-b 和-n的功能相似 但忽略空白行行号
3.more 分页显示文件内容
-num 指定屏幕显示大小为num行
+num 从行号num开始显示
子命令
h或? 查看帮助
空格键 向下滚动一屏
z 向下滚动一屏
b 向上滚动一屏
q 退出
/查找的文本 查找指定文本
:f 输出文件名和当前的行号
-n 查看前n行
4less 分页显示文件内容
-i 搜索时忽略大小写
-N 显示每行的行号
子命令
b 想前翻一页
空格键向后翻一页
u 向上翻半页
d 向下半页
/字符串 向下搜索字符串
?字符串****向上搜索字符串
q 退出
5.head 显示文件内容头部
-n 显示文件前****n****行
6tail 显示文件内容尾部
-n 显示文件后****N****行
-f****实时输出文件变化后追加的数据
6tac 翻转文件行数 了解就好
7rev 左右翻转文件 了解就好
DAY10
1.1 老男孩思想之如何提升自学能力
1、养成主动看书的习惯。
2、养成预习的习惯。
这就是工作中领导分配任务,让你去搞定的模拟。
3、课堂上积极思考,对老师提问的问题主动回答,
对于不会的要主动发问。
4、对老师留的课后拓展的作业要能够完成。
5、对学习的内容要深度编码总结(思维导图总结,画图总结)等
抓重点:女浴室着火
知识==>短时记忆===>编码加工===>
长时记忆(存储大脑里)===>提取
6、课后遇到不会的不要轻易问别人,要学会自己解决问题。
笔记/书===查帮助文档==搜索引擎==>
加一些Linux交流群===身边人同学、项目经理、老师
7、提升阅读外语的能力。
通过计算机技术知识反向学习外语
a.学过的单词记录单词对应的意思的英文
fhs目录层次标准里去查或man cp看名字
b.总结100个报错的翻译
command not found
命令 没有 找到
Linux里严格区分大小写
tr 替换或删除字符
-d 删除字符
[root@oldgirl ~]# cat test.txt
Welcome to oldboy training.
we are excellent.
[root@oldgirl ~]# tr "w" "9" < test.txt
Welcome to oldboy training.
9e are excellent.
[root@oldgirl ~]# tr w 9 < test.txt
Welcome to oldboy training.
9e are excellent.
所有字符都尽量加双引号。
2grep文本过滤工具
-v 显示不匹配的行 取反
-n 显示匹配行及行号
-i 不区分大小写 默认是区分大小写的
-E 使用扩展的egrep命令
-w 只匹配过滤的单词
-o 显示匹配的内容
[root@oldgirl ~]# cat test.txt
Welcome to oldboy training.
we are excellent.
[root@oldgirl ~]# grep -i "w" test.txt
Welcome to oldboy training.
we are excellent.
[root@oldgirl ~]# grep "w" test.txt
we are excellent.
[root@oldgirl ~]# grep -iv "w" test.txt
[root@oldgirl ~]# grep "oldboy" test.txt
Welcome to oldboy training.
oldboy1
[root@oldgirl ~]# grep -o "oldboy" test.txt
oldboy
oldboy
[root@oldgirl ~]# ifconfig|grep "10.0.0.201"
inet 10.0.0.201 netmask 255.255.255.0 broadcast 10.0.0.255
[root@oldgirl ~]#
[root@oldgirl ~]#
[root@oldgirl ~]# ifconfig|grep -o "10.0.0.201"
10.0.0.201
[root@oldgirl ~]# ifconfig|grep -o "10.0.0.201"
10.0.0.201
[root@oldgirl ~]#
[root@oldgirl ~]#
[root@oldgirl ~]#
[root@oldgirl ~]# grep -oi "oldboy" test.txt
oldboy
oldboy
[root@oldgirl ~]#
[root@oldgirl ~]# grep -oiw "oldboy" test.txt
oldboy
[root@oldgirl ~]# grep -E "to|are" test.txt
Welcome to oldboy training.
we are excellent.
[root@oldgirl ~]# egrep "to|are" test.txt
Welcome to oldboy training.
we are excellent
考题:在/data目录下创建oldboy.txt,并增加"I am studying linux."一行内容。
该题有多种解题方法,下面来一一分析讲解。
方法1:
[root@oldgirl ~]# ls -ld /data
ls: cannot access /data: No such file or directory
[root@oldgirl ~]# mkdir /data -p
[root@oldgirl ~]# ls -ld /data
drwxr-xr-x. 2 root root 6 Mar 13 10:20 /data
[root@oldgirl ~]# vim /data/oldboy.txt
I am studying linux.
[root@oldgirl ~]# cat /data/oldboy.txt
I am studying linux.
方法2:
[root@oldgirl ~]# mkdir -p /data
[root@oldgirl ~]# echo "I am studying linux." >/data/oldboy.txt
[root@oldgirl ~]# cat /data/oldboy.txt
I am studying linux.
方法3:
cat>/data/oldboy.txt <<EOF
I am studying linux.
I am studying linux.
I am studying linux.
EOF
<==EOF成对出现,后面这个顶格。
老男孩思想:操作后检查的习惯,才能提升正确率.
重定向符号的核心知识*****
超重点。
或1>标准输出重定向,箭头方向就是数据流向,
把左边的数据流向到右边,会清空右边之前的数据。
清空前备份:
[root@oldgirl ~]# cp test.txt{,.ori}
[root@oldgirl ~]# cp test.txt test.txt.ori
清空文件:
[root@oldgirl ~]# >test.txt
[root@oldgirl ~]# cat test.txt
echo "I am studying linux." >/data/oldboy.txt
或1>>追加输出重定向,内容追加到文件尾部。
[root@oldgirl ~]# echo "I am studying linux." >>/data/oldboy.txt
[root@oldgirl ~]# cat /data/oldboy.txt
I am studying linux.
I am studying linux.
I am studying linux.
<或0<标准输入重定向,箭头方向就是数据流向,
standard input, writing to standard output.
标准 输入 写 到 标准 输出
[root@oldboyedu ~]# tr "am" "01" </data/oldboy.txt
I 01 studying linux.
I 01 studying linux.
I 01 studying linux.
I 01 studying linux..
<<或0<<追加输入重定向,箭头方向就是数据流向,
2> 标准错误输出重定向,箭头方向就是数据流向,把左边的【报错】输出到右边(覆盖)。
2>> 标准错误追加输出重定向,箭头方向就是数据流向,把左边的【报错】输出到右边(追加)。
固定定义:
数字1 标准输出(standard output)
数字0 标准输入(standard input)
数字2 错误输出(error output)
[root@oldboyedu ~]# echo "I am studying linux." 1>/data/oldboy.txt
[root@oldboyedu ~]# cat /data/oldboy.txt
I am studying linux.
[root@oldboyedu ~]# echo "I am studying linux.." 1>>/data/oldboy.txt
[root@oldboyedu ~]# cat /data/oldboy.txt
I am studying linux.
I am studying linux..
[root@oldboyedu ~]# tr "am" "01" 0</data/oldboy.txt
I 01 studying linux.
I 01 studying linux..
<<
用法;
cat<<EOF
I am oldboy
EOF
cat>oldboy.txt<<EOF
I am oldboy
EOF
[root@oldboyedu ~]# cat>oldboy.txt<<EOF
I am oldboy
EOF
[root@oldboyedu ~]# cat oldboy.txt
I am oldboy
方法3:
cat>/data/oldboy.txt <<EOF
test
liyao
oldboy
EOF
<==EOF成对出现,后面这个顶格。
此外还有一个特殊重定向用法:将标准错误重定向到标准输出,即标准错误和标准输出一样从定向到文件中,这个功能有3种实现命令方法。
方法1:echo "I am oldboy" >oldboy.txt 2>oldboy.txt
方法2:echo "I am oldboy" &>oldboy.txt
方法3:echo "I am oldboy" 1>oldboy.txt 2>&1
cat>test.txt <<EOF
test
liyao
oldboy
EOF
考题:已知文件test.txt内容为:
test
liyao
oldboy
请给出再屏幕输出test.txt内容时,不包含oldboy字符串的命令。
[root@oldboyedu ~]# grep -v "oldboy" test.txt
test
liyao
[root@oldboyedu ~]# head -2 test.txt
test
liyao
[root@oldboyedu ~]# grep -E "test|liyao" test.txt
test
liyao
文件属性:文件的大小 时间 类型 权限 属主
索引节点:文件的唯一标识
身份证: 人的唯一标识
进程号: 进程的唯一标识
[root@oldboyedu ~]# ls -lhi
total 24K
33631870 -rw-r--r--. 1 root root 4 Mar 13 11:29 a.txt
33631871 -rw-r--r--. 1 root root 30 Mar 13 11:28 b.txt
16777289 drwxr-xr-x. 2 root root 64 Mar 7 11:57 data1
33631866 -rw-r--r--. 1 root root 712 Mar 11 15:58 grep.txt
33631863 -rw-r--r--. 1 root root 12 Mar 13 11:23 oldboy.txt
16964029 drwxr-xr-x. 2 root root 6 Mar 7 10:56 test
33631865 -rw-r--r--. 1 root root 24 Mar 13 11:46 test.txt
33631864 -rw-r--r--. 1 root root 54 Mar 13 10:26 test.txt.ori
1 2 3 4 5 6 7 8 9 10
共10列
第一列:inode索引节点编号(相当于人的身份证、家庭住址,全国唯一);
系统读取文件时首先通过文件名找到inode号码,然后才能读取到文件内容。
第二列:文件类型及权限。这一列共11个字符,
其中第一个字符为文件类型,
随后的9个字符为文件的对应权限,
最后一个字符点号“.”是和selinux有关的一个标识;
第三列: 硬连接数
第四列: 属主:文件的拥有者,用户
第五列: 属组:文件属于的组,用户组
第六列: 大小
第七列: 月份
第八列: 日
第九列: 时间
第十列: 文件名
老男孩思想:学习的时候重视过程,工作的时候重视结果。
第二列第一个字符:文件类型
一切皆文件。Windows用扩展名区分文件,Linux里有自己的文件类型,Linux的里扩展名
兼容windows方便区分文件。
1.- 普通文件(regular file)
图片 视频 文档 都是文件
创建:touch vim echo cat
拷贝、移动:cp、mv
删除:rm
三种类型:
a.纯文本文件:字符数字等内容
b.数据文件:存放命令收集的信息。
c.二进制文件:可执行的命令。
[root@oldboyedu ~]# file d.txt
d.txt: ASCII text
[root@oldboyedu ~]# file /var/log/lastlog
/var/log/lastlog: data
[root@oldboyedu ~]# file /bin/cat
/bin/cat: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=8ac8b57ae50762a4a0480486839107e87b3c284d, stripped
2.d 目录(directory)
生成: mkdir -p
复制:cp -a/-r
删除: rm -fr
区分:
a.开头为d
b.颜色为蓝色
c.ls -p,目录结尾加斜线,斜线结尾
DAY11
网友评论