猫宁!!!
在centos7上操作这一切
第1节:什么是shell
centos7默认使用shell的bash
cat /etc/shells
第2节:linux的启动过程
BIOS(主板,引导介质)---MBR(硬盘,主引导记录)---BootLoader(grub)(启动引导内核,确定内核版本)--kernel(启动内核)---systemd---系统初始化---shell
一般进入BIOS是键入F2
linux自带脚本
dd if=/dev/sda of=mbr.bin bs=446 count=1
hexdump -C mbr.bin
dd if=/dev/sda of=mbr1.bin bs=512 count=1
hexdump -C mbr1.bin|more
寻找grub配置文件
查看内核版本
寻找初始化路径,针对centos6
top -p 1,显示systemd这个进程,针对centos7
cd /etc/rc.d,针对centos6
cd /etc/systemd/system/,针对centos7
systemd读取各种服务
查看文件类型
查看脚本的内容
第3节:shell脚本的格式
一条命令只做一件事
进入一个目录并查看其中的内容
cd /var/;ls,中间采用分号进行间隔
创建1.sh,内容为cd /var/;ls,赋予可读可执行权限,chmod u+rx 1.sh,执行就好了
cd /var/;ls;pwd;du -sh;du -sh *
一行一条命令便于阅读,极其方便,可以重复使用。创建一个文件的时候,默认有读的权限,但是没有执行的权限。
这个时候不需要分号了。sh 1.sh或者bash 1.sh
查看文件的权限
为了防范格式不兼容的问题,需要一个shell文件的声明,#!/bin/bash,保证在各个平台系统正常使用
./1.sh也可以执行,采用系统默认方式,此外#也可以注释这个脚本的用途,最好放在第二行说明
source ./1.sh,也可以实现执行脚本,显示结果
第4节:脚本不同执行方式的影响
1.sh(完全新建,没有给予可执行权限)内容如下
bash 1.sh,似乎没有进入/tmp目录
修改1.sh,并执行,说明脚本执行完之后又返回root目录下
创建2.sh,没有可执行权限,唯一一个需要可执行权限的
./2.sh
source ./2.sh
. ./2.sh,直接进入相应的目录,这两个不需要可执行权限
内建命令,不需要创建子进程,对当前运行环境造成影响。
外部命令,需要创建子进程
第5节:管道
管道符号‘|’,将前一个命令执行的后果传递给后面的命令,连接好应用程序,连接输入输出
管道和信号是一样
ls -l|more,如果ls -l的内容很多的话,这种方式可以只显示其中的一部分
more 1.sh查看1.sh之中的内容
cat anaconda-ks.cfg,可以查看文件中的所有内容,cat anaconda-ks.cfg|more就是查看部分,分页显示
直接输入cat,可以产生一个进程
直接输入ps -f
两者结合,cat |ps -f,有了一个cat的进程,一直卡在那里,没有执行完全,而且2551对应cat,2552对应ps -f
进程存在的时候,查看某一个进程的运行文件
ps-f 已经执行完了,所以没有文件,避免管道符中使用内部命令
分号是隔开两个命令,相互之间可以无关联,管道符是连接作用
第一疗程,over。。。。。。
原文地址:https://www.cnblogs.com/landesk/p/11619267.html