操作系统实践 笔记

记录一下,不然期末真的挂了。

目录

 

第一章  Linux Introduction

第二章    UNIX Shells

第三章 File System

第六章 File Processing


第一章  Linux Introduction

                                         UNIX Software Architecture

 

                                                                        Linux Boot Step

 

systemctl 命令

systemctl 命令有两大类功能:

  1. 控制 systemd 系统
  2. 管理系统上运行的服务
systemctl --version   查看系统版本

systemctl enable/disable service_name   控制启动服务

eg:为 prometheus 服务创建了配置文件 /lib/systemd/system/prometheus.service

sudo systemctl enable prometheus.service

 

/etc/rc.local

这是使用者自定开机启动程序,把需要开机自动运行的程序写在这个脚本里

/etc/passwd, /etc/shadow

在 /etc/passwd文件中的每个用户都有一个对应的记录行,记录着这个用户的一下基本属性。该文件对所有用户可读。

/etc/shadow是passwd文件的一个影子,/etc/shadow文件中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。但是/etc/shadow文件只有系统管理员才能够进行修改和查看。

本章命令:

修改密码命令:passwd

退出登录命令:exit (Ctrl -d)

重启命令:reboot

关机命令:–shutdown :1.  shutdown -h now 立刻关机(root用户使用)      2.shutdown -h 10 10分钟后自动关机

                                       如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启

                  poweroff   立刻关机

                  halt  立刻关机

 

 

第二章  UNIX Shells

Unix Shellsbash, csh, sh, ksh

用户的shell保存在/etc/passwd 中,可通过grep命令查看配置:

grep username /etc/passwd

grep命令:使用正则表达式搜索文本,并把匹配的行打印出来

改变shell命令:chsh

 

/etc/profile与$HOME/. bash_profile,$HOME/.bashrc

每当系统登陆时都要读取这两个文件,用来初始化系统所用到的变量,其中/etc/profile是超级用户所用,$HOME/.bash_profile是每个用户自己独立的,我们可以修改该文件来设置一些变量。$HOME/.bashrc 在每次启动bash shell(打开终端或者在终端输入sh)后执行。

本章命令

查看环境变量命令:env,set

查看某个环境变量命令:echo name

显示当前所在工作目录的全路径命令:pwd

在shell中可以操作的指令或可执行档:man

常见环境变量:

$PATHcommand searching path(命令搜索路径)

$HOMEuser logging on directory(用户登录目录)

$PS1command prompt(命令提示符)

$LANG: language

Hot key

Ctrl + u : delete characters to the begin

Ctrl + k : delete characters to the end   

Ctrl + c : cancel the command  

Ctrl + a : move the cursor to the begin

Ctrl + e : move the cursor to the end

Shell Metacharaters(元字符)

Metacharaters

purpose

Example

$

Dereference shell variable(引用变量)

echo $PATH

To quote multiple

characters but allow substitution

echo $PWD

To quote multiple

characters

echo $PWD

*

To match zero or more characters(匹配零个或多个字符)

rm *.tmp

?

To substitute a wild card for exactly one characters(用通配符代替一个字符)

rm ?.tmp

[ ]

To insert wild cards(插入通配符)

rm [1-3].tmp

`

To substitute a command(替换命令)

PATH=$PATH:`pwd`

~

To name home directory(主目录名字)

ls ~/

\

To escape a single character(转义单个字符)

rm a\ b\ c

      Linux基础之-元字符

第三章 File System

列出文件系统的整体磁盘空间使用情况命令:df

磁盘分区命令:fdisk

格式化分区命令:mkfs

挂载磁盘分区命令:mount   (自动挂载的分区:/etc/fstab)

命令格式:mount [-t vfstype] [-o options] device dir 

七种文件类型
普通文件类型 
Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-] 
目录文件 
就是目录, 能用 # cd 命令进入的。第一个属性为 [d],例如 [drwxrwxrwx] 
块设备文件 
块设备文件 : 就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b] 
字符设备 
字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c] 
套接字文件 
这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型 
管道文件 
FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p] 
链接文件 
类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]

第六章 File Processing

1.cat命令:用于连接文件并打印到标准输出设备上。

参数选项:

-n 或 --number:由 1 开始对所有输出的行数编号。

-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

2.nl 命令:将指定的文件添加行号标注后写到标准输出

3.more命令:类似 cat ,不过会以一页一页的形式显示,按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。

参数选项:

  • -num 一次显示的行数
  • +num 从第 num 行开始显示

4.od命令:读取所给予的文件的内容,并将其内容以八进制字码呈现出来。

5.head,tail命令:是用来显示文件的开头或结尾至标准输出中

参数选项:

  • -n <行数> 显示行数

6.wc命令:利用wc指令我们可以计算文件的Byte数、字数、或是列数

参数选项:

  • -c或--bytes或--chars 只显示Bytes数。
  • -l或--lines 只显示行数。
  • -w或--words 只显示字数。

7.diff命令:diff命令用于比较文件的差异。diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。

参数选项:

  • -y或--side-by-side  以并列的方式显示文件的异同之处。
  • -i或--ignore-case  不检查大小写的不同。
  • -u或--unique 仅显示出一次的行列。

8.uniq命令:用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。(不加参数删除重复行,当重复的行并不相邻时,uniq 命令是不起作用的)

参数选项:

  • -c或--count 在每列旁边显示该行重复出现的次数。
  • -d或--repeated 仅显示重复出现的行列

9.patch命令:patch指令让用户利用设置修补文件的方式,修改,更新原始文件。(结合diff命令使用)

使用案例(升级文件):

diff old new > patch_file

patch old patch_file

10.gzip命令:gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。

参数选项:

  • -c或--stdout或--to-stdout  把压缩后的文件输出到标准输出设备,不去更动原始文件。
  • -d或--decompress或----uncompress  解开压缩文件。

11.bzip2命令:bzip2采用新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。

参数选项:

  • -c或--stdout  将压缩与解压缩的结果送到标准输出。
  • -d或--decompress  执行解压缩。
  • -v或--verbose  压缩或解压缩文件时,显示详细的信息。
  • -k或--keep  bzip2在压缩或解压缩后,会删除原始的文件。若要保留原始文件,请使用此参数。

12.find命令:用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

参数选项:

-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

13.which命令:which指令会在环境变量$PATH设置的目录里查找符合条件的文件。

参数选项:

  • -n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
  • -p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。

14.whereis命令:whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

15.sort命令:sort可针对文本文件的内容,以行为单位来排序。

参数选项:

  • -b 忽略每行前面开始出的空格字符。
  • -c 检查文件是否已经按照顺序排序。
  • -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
  • -f 排序时,将小写字母视为大写字母。
  • -r 以相反的顺序来排序。
  • -n 依照数值的大小排序。
  • -t选项,后面可以设定间隔符
  • -k来指定列数了

16.cut命令:显示每行从开头算起 num1 到 num2 的文字。

参数选项:

  • -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
  • -c :以字符为单位进行分割。
  • -d :自定义分隔符,默认为制表符。
  • -f :与-d一起使用,指定显示哪个区域。
  • -n :取消分割多字节字符。仅和 -b 标志一起使用。

实例:当你执行who命令时,会输出类似如下的内容:

$ who
rocrocket :0           2009-01-08 11:07
rocrocket pts/0        2009-01-08 11:23 (:0.0)
rocrocket pts/1        2009-01-08 14:15 (:0.0)

如果我们想提取每一行的第3个字节,就这样:

$ who|cut -b 3
c
c

17.paste命令:paste 指令会把每个文件以列对列的方式,一列列地加以合并

18.grep命令:用于查找文件里符合条件的字符串。

选项参数:

  • -c 或 --count : 计算符合样式的列数。
  • -i 或 --ignore-case : 忽略字符大小写的差别。
  • -n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
  • -v 或 --revert-match : 显示不包含匹配文本的所有行。

19.sed命令:利用脚本来处理文本文件。

20.awk命令:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值