【BUAA S3系统编程复习】Linux基础

Linux简介

GNU、Linux与GPL

人们习惯用Linux(实际应该叫GNU/Linux)来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统,该系统遵循GPL协议

LinuxOS的组成

  1. 内核:整个系统的核心部分

  2. shell:用户与计算机交流的接口

  3. 文件结构(根文件系统)

    从管理的角度看, Linux以文件为中心;从运行的角度看,Linux以进程为中心。

  4. 实用工具

内核是核心,要使用肯定需要用shell与用户交流,而交流主要通过使用工具操作文件来进行

Linux的安装

磁盘分区

在这里插入图片描述

  • 在硬盘上建立多个单独存储区域,在物理硬盘上进行逻辑硬盘的分割
  • 主分区存放操作系统的引导程序文件和操作系统文件

BIOS启动调用

在这里插入图片描述

LILO ( Linux Loader),也是一种 Boot Manager (启动引导程序),也可以不用LILO而是用 Grub 引导

打开电源后,首先是BIOS开机自检,启动操作系统

Linux 系统启动

内核的引导 → 运行 init → 系统初始化 → 建立终端 → 用户登录系统

在这里插入图片描述

Linux常用命令

查看帮助

  1. man

    • 显示操作系统文档内的信息,space看下一页 q退出
    • 常用命令格式 man [section number] [-k] command
      • The Section numbers
        1. 代表用户命令
        2. 代表系统调用及内核服务
        3. 库函数
        4. 特殊文件、设备驱动及硬件
        5. 配置文件
        6. 游戏 娱乐
        7. 环境、表等
        8. 系统管理及维护
        9. 内核例程(非标准)
      • 如果不输入 Section Number,那么 man显示按照上述顺序显示的第一个结果
    • 按照关键字从帮助文档中搜索
      • man -k command 命令 和notion快捷键一样都是k
    $ man 3 write
    $ man write
    $ man -k ls
    
  2. info info command

    • 一个基于菜单的超文本系统
    • 命令浏览系统在线帮助文档
    • 可通过链接和交叉引用来浏览文档
  3. - -help

    工具选项,显示程序内部的信息,是程序的作者加上去的,一般比man出来的要简单

Linux命令基础

文件名与路径

  • 文件最大256个字符,不能含有“/”

命令参数

  • 短参数可以合并,赋值不写“=”;长参数不能合并,赋值要写“=”
command -abcd --parameter1 --parameter2
command -p 10
command --parameter=10

虚拟控制台

Linux是多用户操作系统,可以通过虚拟控制台(一般有七个)实现多个用户同时登录或一个用户多次登录(Alt键+功能键,功能键通常为F1~F6)

常用命令

操作目录与文件,管理用户、磁盘与系统,配置管理网络与进程

目录操作

$ ls [选项] [文件名/目录名/通配符]  #查看目录及文件
$ ls -a  #列出所有文件
$ ls -d  #列出所有目录
$ ls -l  #列出文件的详细信息
ls -l l* #列出当前目录下以“l”开头的文件的详细信息

$ pwd    #显示用户的当前工作目录

$ cd [目录名]   #切换目录
			   #如果不输入目录名,即返回用户主目录
			   #如果目录名输入`-`即显示并返回**上次更改目录之前的目录**

$ mkdir [参数] 目录名  #创建目录
$ rmdir [参数] 目录名  #删除目录
			#**删除目录时要保证目录内已无任何文件或目录,否则命令不成功**
			#参数-p表示递归删除或创建目录
rmdir -p ccc/new  #表示删除ccc/目录中的new目录,若删除new后ccc也为空,则ccc也被删除
									#**p**arent together

文件操作

$ cat [文件名称]     #显示文本文件内容
$ cat file1         #显示file1的内容
$ cat file1 file2>file3   #把file1和file2的内容输入到file3中
$ cat < file << EOF   #从文件中读取输入,并直到遇到EOF(End Of File)为止

$ cp [文件] [目的地]   #拷贝文件
$ cp /root/* /temp   #将root下的所有文件(不包括隐藏文件)拷贝到根目录下的temp内

$ mv [文件名1] [文件名或目录名]   #文件更名或搬移

$ rm [文件名]   #删除文件

$ find [目录名] [选项]   #搜索文件或目录
$ find . -name "*.c"    #列举当前目录及其子目录下所有扩展文件名是'.c'的文件
#-print 表示将匹配文件输出到标准输出
#-size 表示根据文件大小查找
#-user 表示根据文件所有者查找
#-exec 表示对匹配的文件执行该选项所给出的命令,命令格式为'command' {} \;例子如下
find . -name "*.asm" -exec ls -l {} \; #注意空格和结尾格式

$ grep [字符串] [文件名]   #在**文件**中查找字符串
$ grep tigger file1      #在file1中查找tigger字符串
$ grep -v -n printf 2.6.c
#-v表示在文件中查找**不包含**printf的行,-n表示将该行的行号显示出来

$ command > filename 2 > &1 #把标准输出和标准错误输出重定向到一个文件中
		# >> << 追加重定向

echo "2+4"  #输出 2+4
echo "2+4" | bc  #输出 6 ,bc是计算器语言
  • catmoreless
    • cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,常与重定向符号配合使用,适用于文件内容少的情况
    • more和less用于显示文件内容超过一屏的内容,一次显示一页,并且提供翻页的功能。more比cat强大,less比more强大
  • *cp mv rm*需要注意的几个选项
    • -f 强制执行
    • -i 交互式的执行命令
    • -r 递归删除、拷贝。 mv命令没有该选项

文件备份和压缩

$ tar cvf [打包的文件名] [要打包的文件]
tar cvf test.tar *.txt   #将当前目录下所有txt文件打包为text.tar

$ gzip [选项] [文件目录列表] # 压缩命令
$ gunzip [选项] [压缩包包名] # 解压缩命令
$ zip [-r] [压缩后的文件名称] 文件或目录 # 压缩
$ unzip [选项] 压缩包包名 # 解压缩
# zip更像一个打包器,能把多个多件放到一个zip中,压缩后保留源文件
# gzip一次只对一个文件压缩,通常与tar命令一起用,压缩后不保留源文件

关机和系统命令

$ shutdown [选项] [时间][警告信息] #关机
$ date
$ who 

用户管理命令

$ chmod 权限参数 文件或目录名称 #改变文件权限
		#文件的用户权限属性可用9位表示,每位用0或者1表示,1表示具有对应的权限,0表示没有该权限
		#一般可将对应的三位二进制码转换为8进制,比如111→7
$ chmod [u/g/o/a] [+/-/=] [权限] FileName/DirecName
$ chown 用户账号 文件或目录名称 #改变文件拥有者

磁盘管理命令

$ df [可选参数]
$ df -k #显示系统配置的每个磁盘当前被占用的空间大小
$ du #逐级进入指定目录的每一个子目录,并显示该目录占用文件系统数据块的情况

进程管理命令

$ ps #查询正在执行的进程
$ kill #终止正在执行的进程或者发送信号
kill -9 PID #无条件删除进程号为PID的进程
$ at #在指定的时刻运行指定的命令
$ cron #周期性的执行指定的程序

Vi编辑器的使用

在这里插入图片描述

  • 命令模式下按 v 进入可视模式

POSIX标准和LSB标准

  • 可移植操作系统接口标准。定义了操作系统应该为应用程序提供的接口标准,是 IEEE 为要在各种 UNIX 操作系统上运行软件而定义的一系列 API 标准的总称。
    • POSIX 并不局限于 Unix 系统,Microsoft windows NT 等也支持 POSIX 标准。
  • LSB 是 Linux 标准化领域中事实上的标准,使各种软件可以很好地在兼容 LSB 标准的系统上运行。
    • LSB 以 POSIX 和 SUS 标准为基础,还增加了对二进制可执行文件格式规范的定义,保证 Linux 上应用程序源码和二进制文件的兼容性

LSB是在POSIX基础上改进后更适合Linux的标准,主要实现了二进制的兼容

  • 18
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值