1.操作系统和内核
常见操作系统:
windows iOS macOS 安卓 塞班 鸿蒙 deepin ubuntu centos
内核分类:
nuix(收费、不开源)
linux(开源免费)
(操作系统基于内核)
unix :1969 贝尔实验室 肯.汤姆森
Linux :林纳兹
linux内核5大功能:
Ø 文件管理:通过文件系统对文件组织管理
Ø 内存管理:完成内存的申请、释放等工作
Ø 网络管理:通过网络协议栈对数据包进行收发
Ø 进程管理:程序的一次执行过程,进程的创建、销毁、调度等
Ø 设备管理:设备驱动的管理
2.Linux文件管理
windows 文件管理:
分盘进行管理 (C/D/E/F)
Linux文件管理:
倒立的树(目录树(directory tree)),分为根目录、子目录。
Linux文件管理依据FHS标准:
http:// https://baike.sogou.com/v2391379.htm?fromTitle=FHS
linux目录结构:
/ 根目录
bin 常用程序(二进制文件) eg:ls cd rm mv
sbin 系统管理程序
boot 系统引导文件
dev 设备文件(鼠标等)
eto 系统程序和常用的配置文件
home 用户目录文件
lib 库文件(类似于windows 的System32文件夹)
mnt 默认分区挂载目录 (含共享文件夹)
opt 第三方软件安装目录
proc 系统状态文件
root 管理员目录
tmp 存放临时文件
usr 用户目录文件
bin 用户自己的常规文件
include c、c++文件
3.Shell基础命令
1.打开终端
用户界面 :ctrl + alt + t
终端里打开另一个终端届面 :ctrl + shift + n
在一个终端内打开多个窗口 :ctrl + shift + t
2.终端内容
linux @ ubuntu : ~ $
用户名 分隔符 主机名 分隔符 用户的家目录 普通用户
【扩展】
查看用户名命令
linux@ubuntu:~$ whoami
linux
查看主机名命令
linux@ubuntu:~$ hostname
ubuntu
切换到root(管理员)用户命令
su root 可以简写为:su
linux@ubuntu:~$ su root
密码:
root@ubuntu:/home/linux#
退出root(管理员)用户命令
root@ubuntu:/home/linux# exit 或者:su 普通用户名
exit
linux@ubuntu:~$
3.ls
ls :查看当前目录路径下的文件列表
ls -a :(all)显示当前目录下面所有文件,包括隐藏文件
在 linux文件中(点).开头的文件都是隐藏文件
ls -lh :将文件大小转换为相应的数量级
-rw-r-r-1 linux linux 8.3K Sep 22 2012 examples.desktop
ls -R :递归显示所有文件目录
ls -i :显示文件系统给文件分配的inode号
ls -l :查看文件详情信息
【扩展】
rw-r--r-- 1 linux linux 8445 Sep 22 2012 examples.desktop
文件类型 文件权限 数值 用户 组 文件大小 文件日期 文件名
(a)文件类型(7类):bsp-lcd
b :block 块设备驱动文件 //驱动课程讲解
s :socket 套接字文件 //网络课程讲解
p :pipeline 管道文件 //IO进程课程讲解
- : 普通文件 //txt,.c,.py,mp3
l : 链接文件 //类似于windows里面的
c :char 字符文件 //键盘
d :directory 目录文件 //文件夹
(b)文件权限:
r : read 读权限
w : write 写权限
x : 可执行权限
- : 没有权限
rw r-- r--
用户权限 组权限 其它用户(类似于windows客户模式)
数字化表示权限:八进制表示 0-7
r : 4
w : 2
x : 1
- : 没有权限
Demo: 761
用户权限 :rwx
组权限 :rw
其它权限 :x
Demo: 751
用户权限 :rwx
组权限 :r-x
其他权限 :--x
(c)数值:
目录 :子目录个数 也属于一个目录
文件 :副本的个数
4.cd
切换目录
格式:cd相对路径/绝对路径
绝对路径:从根目录出发
linux@ubuntu:~$ cd /home/linux/桌面
linux@ubuntu:~/桌面$
相对路径:从当前路径出发
cd 桌面
特殊符号表示:
cd 或 cd ~:回到家目录
Linux@ubuntu:/桌面$ cd ~
linux@ubuntu:~$
cd ~ :回到上一个目录
/home/linux/桌面
linux@ubuntu:~/桌面$ cd-
/home/linux
cd./ :切换到当前目录下
cd ../ :切换到上一次目录
5.pwd
显示当前绝对路径
linux@ubuntu:~$ pwd
/home/linux
6.clear
清屏 (快捷键Ctrl + L)
windows dos:CLS
7.touch
创建文件,如果文件不存在则创建,存在则更新时间戳,内容不会发生改变。
格式 :touch 文件名
多个文件创建:touch 1.C 2.C 3.C
【扩展】 时间戳
8.mkdir
mkdlrdemo:创建一个目录,存在则报错
linux@ubuntu:~/桌面$ mkdir demo
mkdir:无法创建目录"demo":文件已存在
指定权限的目录创建:
mkdir-m:创建目录
mkdir-m 664 test:创建一个具有664权限的目录
cd test:错误
linux@ubuntu:~/桌面$ cd test
bash:cd:test:权限不够
解决办法:1.增加权限
2.使用管理员身份
mkdir p: 创建文件夹及其子目录
10.rm
11.chmod
修改权限(change modle),权限一般是8进制表示,一般加一个前缀0。
12.cp
13.mv
14.echo
打印命令,类似于printf
【扩展】echo可以结合一下两个符号实现重定向和追加功能。
linux@ubuntu:~/桌面/day2$ echo hello world > hello.c
linux@ubuntu:~/桌面/day2$ cat hello.c
hello world
linux@ubuntu:~/桌面/day2$ echo i love stuy > hello.c
linux@ubuntu:~/桌面/day2$ cat hello.c
i love stuy
linux@ubuntu:~/桌面/day2$ echo hello world >> hello.c
linux@ubuntu:~/桌面/day2$ cat hello.c
i love stuy
hello world
15.cat
16.sudo
申请临时权限
linux@ubuntu:/$ mkdir 1.c
mkdir: 无法创建目录"1.c": 权限不够
linux@ubuntu:/$ sudo touch 1.c
[sudo] password for linux:
linux@ubuntu:/$ ls
1.c cdrom home lib64 mnt root selinux tmp vmlinuz
bin dev initrd.img lost+found opt run srv usr
boot etc lib media proc sbin sys var
linux@ubuntu:/$ sudo rm 1.c
linux@ubuntu:/$ ls
bin dev initrd.img lost+found opt run srv usr
boot etc lib media proc sbin sys var
cdrom home lib64 mnt root selinux tmp vmlinuz