现在的位置: 首页 > 操作系统 > 正文

linux期末复习知识点小结(二)——Linux操作系统

2019年08月12日 操作系统 ⁄ 共 3755字 ⁄ 字号 评论关闭

Linux是一个多用户多任务的操作系统,可以有多个用户同时登陆系统

用户分为超级管理员(root)和一般用户,root具有最高权限

 

Linux的文件系统基础

Linux使用标准的目录结构——树型结构,无论操作系统管理几个磁盘分区,这样的目录树只有一个,树根为/ (斜杠:/ slash, 反斜杠:\ backslash)。

Linux的目录树



v  /bin   这个目录存放着最经常使用的命令

v  /boot 存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件。

v  /dev 该目录下存放的是Linux的外部设备,称为设备文件

v  /etc 这个目录用来存放所有的系统管理所需要的配置文件和子目录

v  /home 用户的主目录

v  /lib 这个目录里存放着系统最基本的动态链接共享库

v  /lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文 件。

v  /mnt 系统提供这个目录是为了让用户临时挂载别的文件系统。

v  /proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

v  /root 超级管理员的主目录。

v  /sbin  s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

v  /tmp  这个目录是用来存放一些临时文件的。

v  /usr  要用到的很多应用程序和文件几乎都存放在该目录下。

v   /var   这个目录中存放着在不断扩充着的东西,习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件,电子邮件。

 

工作目录(Working Directory)或当前目录(CurrentDirectory)。

工作目录用“.”表示,其父目录用“..”表示

“~”引用自己的主目录

绝对路径是指从“根”开始的路径;

相对路径是指从用户工作目录开始的路径。

 

内部命令和外部命令

当shell接收到一个命令后,它首先判断是否是内部命令,

若是则在当前进程中执行该命令——当前进程执行

否则根据被打通的路径($PATH环境变量)判断是否是外部命令,若是则创建一个新进程执行该命令。——新进程执行

补充:一般的外部命令是那些功能较强大、占用空间较大的扩展命令,他一般不包含在shell中,因此在系统启动时并不装入内存。只有外部命令需要时才调入内存,用完后释放所占用的内存空间。外部命令是需要生成子进程来执行程序的!

 

Linux常用命令

 

v  多用户管理:adduser, deluser, passwd,su, who,id

v  目录相关的:pwd,cd, mkdir, rmdir, ls

v  文件相关的:cp, mv, rm, chmod, chown, whereis(确定文件所在位置),touch

v  注销及关机:logout, halt(只能root使用), reboo(只能root使用)t,exit

v  查看和编辑文本:less, more, cat, vi

v  其他命令:man, startx,  history , tar, gzip,echo, bc, wc, cut, grep, sort, head, tail等

 

pwd (print working directory)、cd (change directory)

ls (list) -l 长格式显示,  -a 显示所有文件,   -i显示索引节点号,例: ls –l *.c

cat  “catenate” 连接 –b  标注行号 , -A显示所有控制字符

cat a b > c

 

Linux下的主要文件类型

v  常规文件(-) :文本文件和二进制文件

v  目录文件(d) :将文件的名称和它的索引节点号结合在一起的一张表(记住:目录也是文件)

v  设备文件(c or b) :每种I/O设备对应一个设备文件

v  管道文件(p) :主要用于在进程间传递数据,又称先进先出(FIFO)文件

v  链接文件(L) :又称符号链接文件,它提供了共享文件的一种方法

 

访问权限和文件模式

用户类型:u——用户,g——宿主用户的同组用户,o——除文件宿主和同组用户外的所有其他用户,a——表示所有用户。

“—”表示撤销某种权限,“+”表示增加某种权限,“=”表示赋予某种访问权限

 

文本编辑器

 

Linux下的文本编辑器(Editor)主要有:

v  ed

v  edit

v  vi (visual interpreter)

v  vim (Vi IMproved)

v  Emacs

 

vim 简介

 

vim的三种工作方式及相互切换:

v  命令行方式  ——默认进入

v  插入编辑方式 ——命令行方式中输入“i ”

v  末行命令方式 ——插入编辑方式中输入Esc 或者“Ctrl+C”

注:Ubuntu下默认安装的不是vim,用命令:

   $apt-get install vim

命令行方式下的常用命令

H j k l ; x ; dw ; d$ ; dd ; y2w ; y3y ; p; u

 

末行命令方式下的常用命令

/word ; ?word ;搜索word

:s(substitute) 查找和替换

如 :1,$s/word/newword/g

 :wq ;  :q!   ;   :set nu  ;   :set ai 文本的每一新行均与上行对齐

 

其他命令

1、Echo 显示一行文本;

2、tar 打包(归档),选项-zcvf、解包,-zxvf

      tar –zcvf dir.tar.gz  dir

      tar –zxvf dir.tar.gz

3、gzip,gunzip 压缩、解压文件

4、bc 计算工具

echo“scale=3;4/3+2” | bc

或者直接使用文本中的公式,然后bc file

进制转换

echo “obase=2;7” |bc

echo “ibase=2;1111110”| bc

过滤器(Filters)

5、wc (Word Count)计数函数

-l:统计文件的行数; –w:统计单词个数; –c统计字节个数

6、sort 排序。常用选项:

  -d 按字典中字母的正序排序; -r 反序排序; -n 按数字表示的数值大小进行排序

7、uniq 删除连续重复行,常用选项: -c 重复数前置


8、head 输出文本的前十行(默认),常用选项:-n 指定行数

9、tail 输出文本的后十行(默认),常用选项:  -n指定行数

10、cut 按列或按域截取输入行中所指出的内容,常用选项:

  -d 制定定界符, 定界符默认空格和Tab ; -f 按域截取


Ubuntu默认为Tab键

11、tr 用来从标准输入中通过替换或删除操作进行字符转换,tr 只能进行字符的替换、缩减和删除,不能用来替换字符串

–d:删除字符集中的字符 ;–s:将连续出现的字符压缩成一个;-c
 取字符串中字符集的补集

字符替换:

字符缩减:


Cat file | tr a-z A-Z 与tr a-z A-Z<file等效

 

12、grep 全程查找正则表达式并打印,选项
-v 筛选出不包含匹配模式的行

格式:grep pattern file


13、sed是流编辑器(stream editor)的缩写,常用来文本替换和删除

替换:sed ‘s/pattern/replace_string/g’  file



删除:sed  ‘/pattern/d’  file




Awk

awk的名字来源于Bell实验室的三名开发者Aho  ,Weinberger和Kernighan姓氏的首字母组合,它主要完成字符串查找、替换、加工等操作,它还包含有可以进行模式装入、流控制、数学运算、进程控制等语句,是一个功能强大的模式扫描和处理工具。

awk工作时,从输入流中一次读取一行,将该行与指定模式比较,对于匹配该行的模式执行相应的动作。每行的不同字段依次命名为$1,$2,….$NF.默认字段分隔符为空格或制表符。

格式:awk [-F char] ‘program’ filename 或 awk –fprogramfile filename

 

下面成绩保存在一个文本中:

zhao Physics 77

wang Mathematics 86

zhang Chemistry 98

zhao Mathematics 83

wang Physics 57

zhang Physics 89

1)用awk计算出每个同学的总分

zhang@chenchao-Inspiron-5423:~$ awk '{sum[$1]+=$3} END{for(name insum) print name,sum[name]}' grade

zhao 160

wang 143

zhang 187

2)用awk计算出每个同学的平均分

zhang@chenchao-Inspiron-5423:~$ awk '{sum[$1]+=$3} END{for(name insum) print name,sum[name]/(NF-1)}' grade

zhao 80

wang 71.5

zhang 93.5

 

GCC简介

GCC (the GNU Compiler Collection),GNU推出的功能强大、性能优越的多平台编译器。它能将C、C++源程序、汇编程序和目标程序进行编译或链接成可执行文件。

GCC常用选项-S, -c, -o

例如当前有个hello.c源程序:

$ gcc   hello.c //生成a.out可执行程序

$ gcc –S hello.c //只编译,生成hello.s汇编程序

$ gcc –c  hello.c //编译及汇编,但不链接,生成hello.o目标文件

$ gcc –o  hello hello.c //编译汇编及链接,生成hello可执行程序


C语言编译系统



抱歉!评论已关闭.