环境变量 shell
变量: 内存空间 ,命名的内存空间 echo $SHELL 其中SHELL是变量 里面是/bin/bash
sudo su 进入root
printenv 命令
命令: 内部命令和外部命令
shell自带的命令 叫做内部命令 例如 cd 切换目录的,windows中也有
外部命令: 在系统中的某个路径下,有一个与命令同名的可执行程序
type COMMAND: 判断COMMAND是内部还是外部命令
路径: 对操作系统而言,叫做文件管理系统
相对路径
绝对路径 / 有/开始都是绝对
每时每刻都在目录下
工作目录:当前目录 curren working directory
pwd
严格区分大小写,目录名称和文件名称
linux文件名称命: 除了换行符,一般不建议使用 空白,、,?,*
不靠扩展名区分文件类型 最好是见名知意 a.b.c.txt
目录也是文件,目录不能跟文件同名
命令COMMAND:
在#,$
COMMAND [option] [arguments]
选项:用于调整命令执行行为的开关
短选项: -h, -l , -s 选项之间用空格隔开
有些短选项可以组合 -l -h = -lh
有些短选项可以不带 - bsd风格的选项: ps aux
有些短选项需要带参数: -L 512M
长选项: --help , --list
长选项通常不能组合
如果需要参数,长选项的参数通常需要使用= : --size=1M
参数: 命令的作用对象
如何获取命令帮助:
内部命令:
#helo COMAND
外部命令
# COMAND --help
#man COMAND
manual :手册
是有章节概念:
1 用户命令
2 系统调用
3 库调用
4 特殊文件
5 文件格式(命令的配置文件的语法) passwd 用于改密码的
6 游戏相关的
7 杂项
8 管理员命令
翻屏操作:
向后翻: space键
向前翻: b键
一行:向后 enter键 向前 k键
退出 q键
搜索: /KEYWORD ?KEYWORD n:next N:next
[] : 可选内容
<> 必须给出的内容
a|b|c 多选一
... 可以有多个
#info COMAND
有超链接的文档
ls /usr/share/doc
google:
date 命令
只想看现在是几点了?或者几号?
man date
看到大写的 可能要字符串替换
date +%Y 显示年
hat
poweroff
option:
- h: halt
-r: reboot
-c: cancel
cd 改变目录 change directory
ls / 看所有目录
pwd 当前目录
用户: 获取资源或者服务的凭证
验证用户身份的机制,用户认证
密码
cd ..
cd -
.表示当前目录
home/student
./home/student
ls
格式化:
高级格式化
用户视角的文件系统是层次结构 ,在实际磁盘上并不是层次存储的
自顶向下一次追溯的
路径: /home/student
1 严格区分大小写
2 .当前目录, ..上级目录
linux 文件类型
a.txt
b.html 安装文件的存储格式
文件的类型
1、 普通文件
2 、 目录文件
3 、 链接文件 符号链接(软链接)硬链接
4、 特殊文件 :和硬件设备相关,用于作为硬件设备访问入口的文件
块设备: 随机、按块进行存取 硬盘 简写 b
字符设备:线性、按字符逐个存取的设备 键盘、鼠标、CRT显示器 c
5、 套接字文件socket s
附着在某个端口上管道
6、 命名管道 pipe p
ls :list
-a, -A
-l : long 长格式
文件类型 文件权限(3类用户的权限) 文件硬链接的个数 文件的大小 (如果是目录,只显示目录本身大小,而不是里面子目录大小) 文件最近一次被修改的时间 文件名
-h: human-readable
-d :directory
-r : reverse
-R: recursive
-i : inode
FHS:
/bin: 二进制, 为所有用户使用
/sbin: 二进制,为管理员使用
/boot: 内核,bootloader的存放位置
/dev: 设备文件存放位置
/etc: 配置文件
/home :用户的家目录
/lib: 基本的核心共享库和内核模块
/media,/mnt :挂载点
/opt: 可选的额外软件安装路径 一般不装在这儿
/root: 管理员的家目录
/srv: 服务运行的中间数据
/tmp: 临时文件 ,公共位置
/usr : 系统所共享只读的文件,不允许随便改动的文件 share read only
/usr/share
/usr/bin
/usr/sbin
/usr/lib
/usr/include
/usr/local/bin 第三方软件安装
/usr/local/sbin
/usr/local/lib
#include <stdio.h>
head: 头文件 一组定义了库文件中类似功能函数的声明
共享库,function, 功能
/lib/test.so
/var: 因此会发生变化的文件
/var/log: 日志文件
/var/spool
/var/lock 锁文件 当发生资源争用时
/var/lib
/var/lib
/proc: 内核信息 已经被驱动起来 位于内存中的内核信息
/sys: 内核信息 跟硬件设备相关