(001)linux基础知识


命令解析器

命令解析器:根据命令的名字,命令解析器去调用对应的可执行程序。


常用组合建

终端中常用的组合键:

  • Ctrl + a 光标跳到行首
  • Ctrl + e 光标跳到行尾
  • Ctrl + u 删除光标前面的字符

目录结构

Linux系统目录结构:树形结构

  • 根目录 / :
  • /bin:存一些经常使用的命令。命令解析器自动配置了环境变量到此处找可执行程序来执行
  • /dev:存Linux的外部设备,每个设备对应一个文件
  • /etc:存系统管理所需要的配置文件和子目录
  • /home:每个用户都有一个自己的目录,家目录(又称宿主目录)~
  • /lib:存系统基本的动态链接库,同windows下的DLL
  • /media:存Linux识别的设备,挂载到这个目录下
  • /mnt:为了让用户临时挂载别的文件系统
  • /opt:给主机额外安装软件的目录
  • /root:超级用户的目录
  • /usr:用户软件资源目录

用户目录

  • 绝对路径:从根目录开始写
  • 相对路径:相对于当前工作目录(...-邻近的两个目录之间切换)
  • $:当前用户是普通用户
  • #:当前用户是超级用户
  • 切换到超级用户 $ sudo su,退出时 exit
  • 例:当前登录用户@主机名

软链接和硬链接

软链接:相当于一个快捷方式(并非复制,看文件大小就知道)

  • ln -s 文件名 快捷方式名: 快捷方式名一般加.soft结尾,这种方式不能在全文件系统中使用
  • ln -s 绝对路径 快捷方式名: 快捷方式名一般加.soft结尾,这种方式能在全文件系统中使用

硬链接:给原来的文件做个备份(做了拷贝,同样大小,但并不占用磁盘空间)

  • 可以通过 ls -l 看相应文件的硬链接数
  • ln 文件名 快捷方式名: 一般加.hard结尾
  • 可以给目录创建软链接,但不能给目录创建硬链接

找到i结点就能找到对应的文件,硬链接映射到的都是同一个i结点,所以修改其中的一个,其他再去查看这个文件时内容是会发生变化的。
在这里插入图片描述


文件权限

文件所有者u | 文件所属组g | 其他人o 对文件的操作权限

修改文件权限的方法:

  • 1)文字设定: chmod [who] [+、-、=] [mode],例如$ chmod o+w test.txt,不写就代表所有人a,例如$chmod +x test.txt
  • 2)数字设定:满权限777,读权限对应4,写权限对应2,执行权限对应1

修改文件所有者:

  • $ sudo chown [所有者] [文件名]

修改文件所属组

  • $ sudo chown [新的所有者:新的组的名字] [文件名]
  • 或者 $ sudo chgrp [新的组的名字] [文件名]

一个目录必须要有执行权限,这样才能进来


文件类型

  • 普通文件:-
  • 目录:d
  • 链接符号:|
  • 块设备:b
  • 字符设备:c
  • socket文件:s
  • 管道:p

环境变量

Linux操作系统是多用户多任务的,同一时间可以有多个用户用多个账号登录到该操作系统上,而每个用户的操作习惯不一样,于是用环境变量来适配。

1、PATH 环境变量:是可执行文件的搜索路径

  • 通过 $ env | grep PATH 来查看,键值对的格式为:key=value : value : ...,如
  • PATH=/usr/local/sbin:/usr/local/bin
  • 打印环境变量:$ echo $PATH

2、HOME 环境变量:记录家目录

  • 打印环境变量:$ echo HOME

3、环境变量的操作函数

  • getenv 函数
  • setenv 函数
  • unsetenv 函数

网络相关命令

在这里插入图片描述


用户管理

1、添加用户:$ sudo adduser 用户名,并切换 $ su 用户名

2、添加组:$ sudo groupadd 组名


FTP服务器搭建(vsftpd)

1、作用主要是负责文件的上传和下载。

  • 服务器端:需要修改配置文件并重启服务
  • 客户端:实名/匿名用户登录,lftp客户端访问ftp服务器

2、安装过程:

  • $ sudo apt-get install vsftpd
  • $ cd /etc
  • $ sudo vi vsftpd.conf
  • anonymous_enable=NO 不允许匿名用户登录
  • wirte_enable=YES 实名登录用户具有上传数据的权限
  • anon_upload_enable=YES 匿名用户可以上传数据
  • anon_mkdir_write_enable=YES 匿名用户可以在服务器上创建目录
  • anon_root=/home/xxx/xxx 匿名用户的根目录
  • $ sudo service vsftpd restart

3、用户登录(属于其它人)

实名:

  • $ ftp 服务器IP
  • 输入服务器的用户名和密码

匿名(只能在一个指定的目录范围内工作,需要在服务器上创建这个匿名用户的根目录):

  • $ ftp 服务器IP
  • 用户名输 anonymous,密码直接enter

4、文件的上传和下载,不允许操作目录(可以打包解决):

  • 上传:$ put [fileName]
  • 下载:$ get [fileName]

5、退出 exit

6、也可以用 lftp 客户端访问 ftp 服务器

  • $ sudo apt-get install lftp
  • $ lftp IP
  • $ login
  • 上传多个文件:$ mput file1 file2...
  • 下载多个文件:$ mget file1 file2...
  • 上传目录:$ mirror -R dirName
  • 下载目录:$ mirror dirName

nfs网络共享服务器

作用:共享文件夹,共享资源放到这个共享文件夹,通过nfs共享服务器共享给组里的人

  • 服务器端:创建共享目录(mkdir)、修改配置文件(/etc/exports里写共享目录和权限)和重启服务(sudo service nfs-kernel-server restart)
  • 客户端:使用挂载服务器共享目录的方式实现($ sudo mount 服务器IP:共享目录 挂载的地方) ,然后就能到挂载点查看共享的资源

ssh服务器

作用:对多个地点的服务器,只要远程登录去操作这个服务器就行。服务器端需要安装ssh。

  • 远程登录:$ ssh 用户名@IP
  • 退出:$ logout

超级拷贝 scp

跨越主机,在不同主机之间进行数据拷贝。通过scp只需获取远程服务器的一个目录,而不用去搭建ftp服务器

  • $ scp -r 目标用户名@目标主机IP:/目标文件绝对路径 /本机的绝对路径

虚拟地址空间

应用程序在执行时OS会分配虚拟地址空间,虚拟地址空间分为0-3G的用户空间和3G-4G的内核空间。

  • 由CPU内部的MMU按页(4k)来完成虚拟内存和物理内存之间的映射,这保证了在小内存容量的情况下也能跑起来4G的进程
  • 在同时运行同一个程序时,同一个地址映射到物理内存的位置是不一样的。但这些个PCB描述的内容是不一样的,描述的是不同的进程的信息,只是它们位于同一块物理内存中。
  • 内核空间中有一个PCB进程控制块,有一个文件描述符表(大小为1024的数组),比如0的文件描述符对应标准输入STDIN_FILENO
  • 用户空间0G到3G布局为
  • 环境变量
  • 命令行参数(如argc,argv)
  • 共享库
  • .bss段(存未初始化的全局变量,可读写)
  • .data段(存初始化的全局变量,可读写)
  • .rodata(只读)
  • .text段(存代码或二进制机器指令,CPU先从这里开始读,main函数在此处。只读)
  • 受保护的地址(0-4k,不允许用户访问)

程序和进程

  • 可执行程序是存放在磁盘上的已经编译好的二进制文件,不占用系统的资源(如CPU、内存、锁等)
  • 进程是活跃的程序,在内存中执行,占用系统资源
  • 伪并行:应用程序是排着队轮流使用CPU的(CPU分配了一定的时间片给进程),通过时钟中断等方式来切换

进程控制块PCB:这是一个task_struct结构体,位于内核空间,包含下面的一些信息:

  • 进程ID(pid_t类型,非负整数),标识进程
  • 进程状态
  • 就绪(等待CPU分配时间片)
  • 运行(占用CPU)
  • 挂起(阻塞时主动放弃CPU,等待除CPU以外的其它资源)
  • 终止(运行结束)
  • 进程作上下文切换时需要保存和恢复的一些CPU寄存器数据
  • 虚拟地址和物理地址的对应关系
  • umask掩码:用来设置文件的权限
  • 文件描述符表
  • 信号的相关信息
  • 用户ID和组ID
  • 会话和进程组
  • 进程可以使用的资源上限($ ulimit -a 查看)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值