linux基础

易管家 提交于 2019-12-03 10:18:05



一、

1.Linux的I/O模型介绍以及同步异步阻塞非阻塞的区别

同步:

所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。

异步:

异步的概念和同步相对。当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。

阻塞

阻塞调用是指调用结果返回之前,当前线程会被挂起(线程进入非可执行状态,在这个状态下,cpu不会给线程分配时间片,即线程暂停运行)。函数只有在得到结果之后才会返回。
有人也许会把阻塞调用和同步调用等同起来,实际上他是不同的。对于同步调用来说,很多时候当前线程还是激活的,只是从逻辑上当前函数没有返回,它还会抢占cpu去执行其他逻辑,也会主动检测io是否准备好。

非阻塞

非阻塞和阻塞的概念相对应,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。

2.文件处理grep,awk,sed

二、shell

shell符号参考:
https://linux.cn/article-5657-1.html

1.shell命令

1.1$ {}与$

  1. $ 的作用相当于引用某变量的值,例如变量myvar,我们需要通过取得变量的值,即 ` myvar`

  2. $ { }中放的是变量,例如echo $ {hello}取hello变量的值并打印,也可以不加括号比如$hello

1.2. 单引号’'和双引号" "

两者都是解决变量中间有空格的问题。

  1. 单引号''剥夺了所有字符的特殊含义,单引号''内就变成了单纯的字符.单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
    str='this is a string'

  2. 双引号里可以有变量,双引号里可以出现转义字符\,
    转义字符·\放在特殊符号之前,转义特殊符号的作用,仅表示特殊符号本身,这在字符串中常用;

your_name='runoob'str="Hello, I know you are \"$your_name\"! \n"echo -e $str

输出

Hello, I know you are "runoob"!

1.3.反引号``与$()

反引号是命令替换,命令替换是指Shell可以先执行中的命令,将输出结果暂时保存,在适当的地方输出。语法:command

$()也有命令替换的作用

1.4 chmod命令解析

1.4.1. 使用方式1 :chmod [who] [opt] [mode] 文件/目录名

a. 其中who表示对象,是以下字母中的一个或组合:

u:表示文件所有者
g:表示同组用户
o:表示其它用户
a:表示所有用户

b. opt则是代表操作,可以为:

+:添加某个权限
-:取消某个权限
=:赋予给定的权限,并取消原有的权限

c. 而mode则代表权限:

r:可读
w:可写
x:可执行

1.4.2.使用方式2:chmod abc file

  • 参数:其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

  • rwx属性则用二进制表示为 111,即 4+2+1=7。
    若要rw-属性则110,即 4+2=6。
    若要r-x属性则101 即4+1=5

1.4.3. 示例

  1. 为同组用户增加对文件a.txt的读写权限: chmod g+rw a.txt

  2. chmod a=rwx filechmod 777 file效果相同

2.具体题目

2.1 echo expr 3/4

expr是一款表达式计算工具,使用它能完成表达式的求值操作。
echo `expr 3/4`在进行计算时,表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2。

  1. 如果没有空格,如上式所示,表达式会像字符串一输出,3/4

  2. 如果有空格, echo `expr 3 / 4`会输出计算出的整数部分,结果为0,若计算5/4,结果为1

2.2 系统管理员编写扫描临时文件的shell程序tmpsc.sh, 测试该程序时提示拒绝执行,解决的方法有(      )

A. chmod 644 tmpsc.sh
B. chmod 755 tmpsc.sh
C. chmod a+x tmpsc.sh
D. chmod u+x tmpsc.sh
为使用者u添加执行权限x便可,在rwx中x=1

原文:https://blog.csdn.net/qiqi__xu/article/details/89282407

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!