一、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
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 文件名:字符型特殊文件返回真