2019年10月28日Linux专项练习
2019年10月28日Linux专项练习
考点1:Linux给文件添加执行权限的命令
为脚本程序指定执行权限命令的参数为
- A
chmod +x filename.sh
- B
chown +x filename.sh
- C
chmod +w filename.sh
- D
chown +r filename.sh
显示答案/隐藏答案
正确答案: A解析
chmod
拆开是change modify
是修改
之意,chown
拆开是change own
是修改拥有者
之意
考点2:Linux crontab
Linux crontab
中*****/usr/local/run.sh
这句话5个*
号分别代表什么?
- A 分钟 小时 日 月 星期
- B 秒 分钟 小时 日 月
- C 秒 分钟 小时 日 星期
- D 分钟 小时 日 月 年
显示答案/隐藏答案
正确答案: A解析
crontab
是Unix
和Linux
用于 设置周期性被执行的指令 ,是互联网很常用的技术,很多任务都会设置在crontab
循环执行,如果不使用crontab
,那么任务就是常驻程序
分时日月周(分食日月粥)
crontab
基本格式 :
1 | * * * * * command |
第1列
表示分钟1~59 每分钟用*或者 */1表示第2列
表示小时1~23(0表示0点)第3列
表示日期1~31第4列
表示月份1~12第5列
标识号星期0~6(0表示星期天)第6列
要运行的命令
查看crontab cat /etc/crontab
1 | [root@localhost ~]# cat /etc/crontab |
考点3:arp协议
arp协议用了()
- A broadcast
- B multicast
- C unicast
- D 以上选项都不正确
显示答案/隐藏答案
正确答案: A解析
arp(address resolution protocol)
是地址解析协议,arp
协议发的都是广播包unicast
:单播,multicast
:多播,broadcast
:广播。
考点4:kill命令
你尝试登出时收到一个错误消息,显示你还有任务未完成,你需要使用下面哪个命令?
- A kill PID-of-the-process
- B kill job-number-of-process
- C kill
- D kill PID-of-the-last-command
显示答案/隐藏答案
正确答案: A解析
- kill pid 让进程正常退出
- kill %job number 直接杀掉进程
考点5:shell脚本的命令行参数
如何获取上一条命令执行的返回码
- A
$!
- B
$0
- C
$?
- D
$#
显示答案/隐藏答案
正确答案: C解析
变量 | 描述 |
---|---|
$0 |
脚本启动名(包括路径) |
$n |
第n个参数,n=1,2,…9 |
$* |
所有参数列表(不包括脚本本身) |
$@ |
所有参数列表(独立字符串) |
$# |
参数个数(不包括脚本本身) |
$$ |
当前程式的PID |
$! |
执行上一个指令的PID |
$? |
执行上一个指令的返回值 |
考点6:clone和fork的区别
下列关于 clone 和 fork 的区别描述正确的有?
- A clone和fork最大不同在于fork不再复制父进程的栈空间,而是自己创建一个新的。
- B clone和fork最大不同在于clone不再复制父进程的栈空间,而是自己创建一个新的。
- C clone是fork的升级版本,不仅可以创建进程或者线程,还可以指定创建新的命名空间(namespace)、有选择的继承父进程的内存、甚至可以将创建出来的进程变成父进程的兄弟进程等等
- D fork是clone的升级版本,不仅可以创建进程或者线程,还可以指定创建新的命名空间(namespace)、有选择的继承父进程的内存、甚至可以将创建出来的进程变成父进程的兄弟进程等等
显示答案/隐藏答案
正确答案: C解析
fork()函数复制时将父进程的所有资源都通过复制数据结构进行了复制,然后传递给子进程,所以fork()函数不带参数;
clone()函数则是将部分父进程的资源的数据结构进行复制, 复制哪些资源是可选择的 ,这个可以通过参数设定,所以clone()函数带参数,没有复制的资源可以通过指针共享给子进程。
- fork()是全部复制
- vfork()是共享内存
- clone()是可以将父进程资源有选择地复制给子进程,而没有复制的数据结构则通过指针的复制让子进程共享,具体要复制哪些资源给子进程,由参数列表中的clone_flags来决定。另外,clone()返回的是子进程的pid。
考点7:tar打包命令
在linux中用使用tar命令将文件aaa打包为bak.tar。
- A
tar -cf bak.tar aaa
- B
tar -xf bak.tar aaa
- C
tar -czf bak.tar aaa
- D
tar -rf bak.tar aaa
显示答案/隐藏答案
正确答案: A解析
tar解压缩命令
语法:tar [主选项+辅选项]
文件或者目录
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项
主选项 | 描述 |
---|---|
-c |
创建的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。 |
-x |
从档案文件中释放文件。相当于拆包。 |
-t |
列出档案文件的内容,查看已经备份了哪些文件。 |
特别注意,主选项c,x,t仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。 |
辅助选项
辅助选项 | 描述 |
---|---|
-z |
是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压?一般格式为xx.tar.gz或xx. tgz |
-j |
是否同时具有 bzip2 的属性?亦即是否需要用 bzip2压缩或解压?一般格式为xx.tar.bz2 |
-v |
压缩的过程中显示文件!这个常用 |
-f |
使用档名,请留意,在f之后要立即接档名喔!不要再加其他参数! |
-p |
使用原文件的原来属性(属性不会依据使用者而变) |
考点8:进程间通信的方式
Unix系统中,哪些可以用于进程间的通信?()
- A Socket
- B 共享内存
- C 消息队列
- D 信号量
显示答案/隐藏答案
正确答案: ABCD解析
Linux进程间通信
- 管道、
- 信号、
- 消息队列、
- 共享内存、
- 信号量、
- 套接字(
socket
)
Windows进程间通信
- 管道、
- 消息队列、
- 共享内存、
- 信号量(
semaphore
)、 - 套接字(
socket
)
Linux线程间通信
- 互斥量(
mutex
), - 信号量,
- 条件变量
Windows线程间通信
- 互斥量(
mutex
), - 信号量(
semaphore
)、 - 临界区(
critical section
)、 - 事件(
event
)