1、linux基础:
应用:1、服务器 2、嵌入式操作系统
2、Linux系统:结构
比喻成(工厂)
1、用户空间 (销售部)
(1)、程序,shell命令(翻译),脚本 Linux基础
(2)、shell
2、内核空间 (生产部)
(1)、系统调用 系统级的程序 (保安) IO进程
(2)、内存管理
(3)、进程管理
(4)、文件系统 管理磁盘
(5)、IO管理 输入输出设备。
ARM体系结构: CPU 接口编程
系统移植:
驱动开发:
文件系统:管理磁盘,
单位:T G M K 1024;
磁盘类型:
从存储介质分:
硬盘:机械硬盘,固态硬盘
光盘:CD DVD VCD
U盘:
存储格式:
NTFS FAT32 FAT16 常用于Windows
EXT3 EXT2 常用于Linux
文件的目录结构:
Linux 倒置的树结构
文件的命名:
严格区分大小写。
Linux 目录构成:
/bin 存放系统的二进制文件。
/dev 存放设备文件。
设备文件: hda hda1
/etc 存放系统配置文件
服务启动文件
/home 用户家目录的位置
/mnt 挂载目录
/root 超级用户家目录
文件的路径:
相对路径 从当前目录开始 的路径
绝对路径 从根目录开始的 路径
shell命令:
命令的构成:
指令 选项 参数 (一条命令的三要素之间用空格隔开)
ls -l mb.c 显示指定文件的详细信息
比如:
-rw-r--r-- 1 xwq xwq 47 7月 26 16:44 mb.c
0644
1、文件的类型: 7种
-:普通文件
d:目录文件
p:管道文件
c:字符型设备文件
b:块设备文件
s:套接字文件
l:链接文件
2、文件的权限 rwx(所有者) r--(组用户) r--(其他用户)
用3位8进制数表示3组权限:
r--
100 = 04
r-x = 5
06 110
3、文件的硬链接数
4、文件的所有者和所属组
xwq xwq
5、文件的大小。
6、文件的最后一次修改时间 7月 26 16:44 时间戳
3、链接文件:
1、软链接
等同于Windows中的快捷方式。
创建软链接文件:
ln -s 源文件名 目标文件名
2、硬链接
创建硬链接,实际上是复制文件的INode号。
对硬链接进行读写执行都是操作源文件本身。
创建硬链接文件:
ln 源文件名 目标文件名
=================
4、shell命令中的符号:
1、通配符: 筛选
* 在该处可以匹配任意长度任意字符
? 在该处可以匹配一个长度任意字符
[123] 在该处匹配一个长度字符,字符必须在范围内
[^123] 在该处匹配一个长度字符,字符不在范围内
[a-z] 在该处匹配一个长度字符,字符必须在范围内
2、\ 转义字符 将一个有特殊含义字符转换为字符本身
3、/ 目录的分隔符
4、| 管道符号
连接两个命令,目的将上一命令的输出作为下一命令的输入
wc 命令。统计输入的字符,-l 行数 -w 单词数
统计当前目录中.c文件的个数?
grep 搜索输入中的字符,并将满足条件的行输出
5、`` 命令置换符
将下一命令的输出作为上一命令的参数或选项;
6、重定向符
> 将命令输出重定向到文件,以新建的方式
>> 将命令输出重定向到文件,以追加的方式
< 将文件的内容作为命令 的输入
5、shell基本命令:
磁盘相关命令:
df -h: 检查文件系统空间占用情况
du -sh : 显示目录或文件所占用的磁盘空间
fdisk -l 显示所有磁盘设备信息
目录相关命令:
chmod 修改文件或目录的权限
chown 修改所有者
chgrp 修改组
文件相关命令:
显示文件:
cat more less head tail
file:查看文件的详细类型
文件的归档压缩
tar -cvzf 压缩包名 目录或文件列表(c 归档)
文件解压
tar -xvzf 要解压的包名 (x 裁剪)
6、用户相关的命令:
用户:
用户名
密码
用户组名
用户ID 用户组ID
用户家目录
创建一个用户:
adduser 添加用户
用户的密码文件 /etc/passwd
修改用户名和家目录
usermod -d /home/userhome -m -l UserNewName UserOldName
密码更改
passwd
删除用户:
deluser
deluser --remove-home user1 删除用户以及其家目录
删除用户组
delgrp 用户组名
su - 切换用户,同时变更环境变量
su -c 临时使用某个用户身份运行命令
7、进程相关的命令:
运行中的程序,进程:
进程PID,唯一的。
进程状态:
阻塞态
运行态
..
调度:
查看Linux系统中进程:
ps -aux 查看系统中所有的进程
ps -aux | grep 程序 查看系统中指定的进程
top -p 程序PID 查看程序的
进程的状态:
R 运行中
T 暂停
S 阻塞
将前台程序放入到后台
ctrl + z 自动暂停
将后台程序放到前台
fg 1
启动后台暂停 的进程
bg 1
结束进程
kill -9 PID
优先级:
动态修改程序的运行优先级
sudo renice -n 3 9364
sudo renice -n 优先级 进程PID
启动程序,指定优先级,
nice -n 3 ./a.out