基础篇
文章内容主要是依照《鸟哥的Linux私房菜:基础篇》而做
一、安装Linux
ps:BIOS是写入到硬件上面的软件。当开机时,BIOS去读取磁盘的第一个扇区,即MBR,这里放置着开机管理程序。
对于用光盘/U盘等安装Linux系统的步骤:
- 可能需要更改BIOS,设置从光盘中启动,即开机时先去读取光盘内容
- 分区,至少要有/、/home、/swap
- 启动程序grub安装到MBR(勾选即可)
- 配置网络参数
二、在线求助
man + 命令:这里的命令要完整写对
man -k + 命令:这里命令只用写部分
三、文件权限管理
chgrp、chown、chmod
四、档案管理
- 查看:
cat:看首部分
tac:看尾部分
less:从头开始看,可以翻页
- 寻找
whereis + 完整名:从数据库中找
locate + 部分名:从数据库中找
find:从磁盘中找,慢;可以提供丰富参数,如时间范围等等
五、文件系统管理
1. 挂载
目录结构和磁盘上的文件系统,结合起来的过程就是挂载
2. 硬连接/软连接
每个档案既有block内容(存放数据),也有inode内容(存放了权限、属性、以及block地址)
硬连接:多个档案指向的inode是相同的
软连接:近似理解为快捷方式。理论上是,一个档案的block内容存放是另一个档案的node位置
适用场景与不同:
- 硬连接主要用于防止误删除;软连接主要用于快捷
- 硬连接相当于一个真实内容块,有若干个档案指针,只有当档案指针数为0,内容才被清除。
- 软连接相当于指向档案指针的指针,所以当真实档案指针删除了,这些软连接就连接不到目的地址了。
-
#硬连接 ln passwd passwd-hd #软连接 ln -s passwd passwd-so
六、压缩与打包
tar命令用法很是奇特,本身都不知道干嘛用的。
参数-c/x,分别是打包和解包,二者选其一
参数-z/j,就是使用gz/bzip压缩/解压方法,二者选其一
七、BASH
shell是介于用户操作和操作系统之间的应用程序,它接受用户指令并发送给操作系统。
- 变量
-
#增加变量 var = hello world #删除变量 unset var #读取变量 var="lang is $LANG" #改变变量 PATH=$PATH:"/xx"
echo ${path#/*kerberos/bin:} - 环境变量
-
#从变量到环境变量 export var
- 配置文件 为何刚登启动新shell后,shell里面就有那么多变量,原因就是,运行了在配置文件中脚本
- 首先,根据有没有输入密码,分为login shell 和 non-login shell
- login shell,启动后会读取
/etc/profile
- ~/.bash_profile 或 ~/.bash_login 或 ~/.profile(只会读取三者中一个,按顺序找)
non-login shell,启动后仅读取
~/.bashrc
退出登陆后会读取的配置文件
~/.bash_logout
6. 管线pipe
标准输入,标准输出是操作系统为C程序提供的文件指针。默认情况下,它们分别指向键盘和屏幕
管线的作用就是:连接n个命令,前一个命令的标准输出作为后一个命令的标准输入
一般用来配合管道的命令有cut/grep/sort/uniq/wc
echo $PATH | cut -d ':' -f 3,5 last | grep -v 'root' cat /etc/passwd | sort cat /etc/man.config | wc
7. 执行方式
有两种执行方式:
1. 直接执行: 这样执行的过程不会影响原shell
-
-
#二者是一个意思 sh sh02.sh ./sh02.sh
-
2. source执行: 执行结果会影响到原shell,比如改变原shell中的变量等
-
-
-
source sh02.sh
-
-
八、程序管理
1. process与job的区分:
process是进程了,都有独立唯一的pid
job是bash下面的子程序
2. 程序运行态
背景运行: ./redis-server &
背景 -〉 前景: fg [job号]
前景 -〉 背景暂停: ctrl + z
背景暂停 -> 背景运行: bg [job号]
3. 程序运行信息
静态信息: ps
动态信息:top
更新优先级: renice
九、工作排程
1. 主要是两个at、cron(还没细看)
at主要用于制作运行一次的命令
cron用于制作可以周期性执行的命令,比如每5天执行xx.sh等等
十、分析登陆档