Linux简介
Linux最初由Linus Torvalds出于兴趣编写。
Linux具有稳定、安全、多任务多用户、资源消耗少等特点。
体系结构
1、一切皆文件:配置文件保存为纯文本
2、一般有5个主要部分:
- 内核(kernel):系统核心功能,内核接口的使用为系统调用
- shell:接收用户命令,然后调用相应的应用程序
- 公共库函数:构建在系统调用接口之上
- 文件系统
- 应用程序
3、内核、shell和文件系统一起形成了基本的操作系统结构,使用户可以运行程序、管理文件并使用系统。
Shell 教程
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
几个常用命令:
ls(英文全拼:list files): 列出目录及文件名
cd(英文全拼:change directory):切换目录
pwd(英文全拼:print work directory):显示目前的目录
mkdir(英文全拼:make directory):创建一个新的目录
cp(英文全拼:copy file): 复制文件或目录
rm(英文全拼:remove): 删除文件或目录
mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
clear:清屏
shutdown:关机
df:查看磁盘空间大小和剩余空间大小
1
2
3
4sed 's/旧内容/新内容/[g全局替换 i忽略大小写 数字替换第n个]' 文件名
sed '行号或模式' 文件名 #删除
sed '2i\内容' 文件名 #在第二行前插入
sed '2i/a\内容' 文件名 #追加
Linux vi/vim
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
但是目前我们使用比较多的是 vim 编辑器。
基本上 vi/vim 共分为三种模式,命令模式(Command Mode)、输入模式(Insert Mode)和命令行模式(Command-Line Mode)。
命令模式供用户执行命令,以对文档进行管理。不管用户当前处于何种模式,按ESC键则进入命令模式。
输入模式可输入内容。
命令行模式供用户搜索字符、保存文件或结束编辑等。
用户启动vi/vim时,自动进入命令模式,需要按i进入输入模式,才能输入文本。
在命令模式下按:进入命令行模式,此时输入
- :w 保存文件
- :q 退出
- :wq 保存并退出
- :q! 强制退出
文件内容
111 | 2223333444455555 |
---|---|
/bin | 存放Linux的常用命令,包含系统必需可执行二进制文件 |
/sbin | 和/bin类似,用来系统管理,只有root能用 |
/dev | 包含所有设备文件 |
/home | 存放一般用户的个人目录 |
/lib | 存放系统的库文件 |
/usr | 用户程序所在目录 |
/boot | 系统启动时的所需文件 |
/etc | 存放系统管理时用的各种文件配置和子目录 |
/mnt | 临时文件,提供安装点 |
/tmp | 存放程序执行时产生的临时文件 |
/var | 系统日志 |
/root | 超级用户的个人目录 |
文件目录权限:读写r,写入w,执行x
rwx | 二进制表示 | 权限的八进制 | 含义 |
---|---|---|---|
— | 000 | 0 | 无 |
–x | 001 | 1 | 可执行 |
-w- | 010 | 2 | 可写 |
r– | 011 | 3 | 可写可执行 |
r-w | 100 | 4 | 可读 |
r-x | 101 | 5 | 可读可执行 |
rw- | 110 | 6 | 可读可写 |
rwx | 111 | 7 | 可读可写可执行 |
修改文件目录权限
- chmod [八进制数字] [文件] #第一个数为拥有者权限,第二个是组用户权限,第三个是其他用户权限
- chmod {[ugoa] [+-=] [rwx]} [文件]
u–拥有者 g–组用户 o–其他用户 a–所有人
+–增加某项权限 -–去掉某项权限 =–赋予某项权限
权限符–rwx
进程环境
- 进程是指具有独立功能的程序的一次运行过程,是系统资源分配和调度的基本单位
- 执行中的程序叫进程
- 可以有多个进程关联到同一程序,并同时执行
进程状态:
- 运行状态:进程正在使用CPU运行的状态
- 就绪状态:等待CPU分配
- 等待状态:因等待某个事件或系统资源而无法运行
- 僵死状态:进程已结束,但控制信息仍然存在,浪费内存
- 停止状态:已停止
作业:正在执行的一个或多个相关进程
进程组:一个或多个进程的集合,通常与同一作业相关联
会话:一个或多个进程组的集合
线程
线程,又被成为轻量级进程,是计算机中独立运行的最小单位,运行时占用很少的系统资源
- 进程:资源管理最小单位
- 线程:进程内的独立执行代码的实体和调度单元
进程是操作系统管理资源的基本单元,而线程是系统调度的基本单元
一个进程可以拥有一个或多个线程,同一进程的多个线程共享同一地址空间
多进程父子依赖不强,逻辑性强
多线程使用空间小,灵活,适用并发任务,交互容易
aaa
用户组命令
1 | useradd [用户名] #添加新用户 |
文件命令
1 | chgrp [组] [文件] #修改所属的组 |
环境
1 | set #显示当前shell中定义的所有变量 |
脚本运行
正确返回0,错误返回非0值
使用’$?‘返回执行状态
测试数据的值
- -eq:判断是否相等(=)
- -ne:判断是否不相等(!=)
- -gt:判断大于(>)
- -ge:大于等于(>=)
- -lt:小于(<)
- -le:小于等于(<=)
测试文件状态格式[ 表达式 ]
参数
- -e 文件名:文件存在返回真
- -r 文件名:文件存在且可读返回真
- -w 文件名:文件存在且可写返回真
- -x 文件名:文件存在且可执行返回真
- -s 文件名:文件存在且至少有1个字符返回真
- -d 文件名:是目录返回真
- -f 文件名:是普通文件返回真
- -c 文件名:字符型特殊文件返回真