牛客 Linux专项

1、怎样更改一个文件的权限设置?chomd
2、缺省的Linux系统中,从后台启动进程,应在命令的结尾加上哪个符号? &
3、文件exer1的访问权限为rw-r–r--,现要增加所有用户的执行权限和同组用户的写权限,命令为:
chomd a+x,g+w exer1 或者 chomd 755 exer1
3题解析:

  • 文字设定法
    chmod [who] [+ | - | =] [mode] 文件名¼
    [who]
    u ------->用户(user)-------> 文件或目录的所有者
    g ------->同组用户(group)-------> 与文件属主有相同组ID的所有用户
    o ------->其他用户(other)
    a-------->所有用户(all)
    操作符[+ | - | =]
    添加某权限 “+”
    取消某权限 “-”
    赋予给定权限并取消其他所有权限 “=”
  • 数字设定法
    chomd [mode] 文件名¼
    首先须知道:
    0表示没有权限
    1表示可执行权限 x
    2表示可写权限 w
    4表示可读权限 r
    将所具有权限的对应值相加
    数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)
    u: r+w+x=4+2+1 =7;
    g: r+w+x=4+2+1=7;
    o: r+x =4+1=5;
    即 chomd 775 exer1

4、在RHEL5系统中,“run.sh”是Shell执行脚本,在执行./run.sh file1
file2 file3 命令过程中,变量$1的值为 file2
4题解析:
在这里插入图片描述
程序员的世界,万物从0开始。
shell中,一定要记得命令行参数,$0表示脚本程序名。后面才是参数
5、下列不属于Linux内核锁的一项是(D )
A Semaphore (信号量)
B Spinlock (自旋锁)
C seqlock (顺序锁)
D Message
6、下列关于网络编程的描述中,错误的是(D)
A 一个 Socket 可以绑定多个网卡
B 客户端和服务器端都可以主动关闭 Socket
C Socket 支持阻塞模式和非阻塞模式
D TCP 和 UDP 协议不能绑定同一端口
6题解析:

数据包传递过程:
在网络层IP数据包向上传递的时候会查看数据包中的协议类型
如果协议类型是TCP,则交给TCP
如果协议类型是UDP,则交给UDP
到了传输层,再根据端口号将数据传送到应用层相应的应用程序,TCP、UDP端口是独立的
7、Unix系统中,哪些可以用于进程间的通信?(ABCD)
A Socket B 共享内存 C 消息队列 D 信号量
7题解析:
【转】unix进程间的通信方式

(1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。
(2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建。
(3)信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于BSD的,BSD为了实现可靠信号机制,又能够统一对外接口,用sigaction函数重新实现了signal函数)。
(4)消息(Message)队列:消息队列是消息的链接表,包括Posix消息队列system V消息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺
(5)共享内存:使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。
(6)内存映射(mapped memory):内存映射允许任何多个进程间通信,每一个使用该机制的进程通过把一个共享的文件映射到自己的进程地址空间来实现它。
(7)信号量(semaphore):主要作为进程间以及同一进程不同线程之间的同步手段。
(8)套接口(Socket):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由Unix系统的BSD分支开发出来的,但现在一般可以移植到其它类Unix系统上:Linux和System V的变种都支持套接字。

进程间通讯:
1.Linux:管道、信号、消息队列、共享内存、信号量、套接字(socket);
2. Windows:管道、消息队列、共享内存、信号量、套接字。
线程间的通讯:
1. Linux:互斥量、信号量、条件变量;
2. Windows:互斥量、信号量、临界区、事件
8、死锁发生的必要条件为:互斥条件、请求和保持、不可剥夺、循环等待
【转】
死锁是不是可以解释成打麻将的对子对死了:
互斥条件就是两边都不打对子,
请求和保持,两个人都想要这张牌碰,
不可剥夺,我没法抢对面的牌,
循环等待,一轮一轮的等有人打下来一张。
9、Windows平台通过栈溢出想要利用包含stack cookie保护的函数可能的方式
有:暴力猜解cookie内容、更改函数内部变量改变逻辑、SEH覆盖
10、以下属于网络操作系统的是?A B D E G
A、Unix
B、Linux
C、WIN98
D、WINDOWS NT
E、NETWARE 4.11
F、LAN MANGER 4.0

发布了51 篇原创文章 · 获赞 11 · 访问量 1790

猜你喜欢

转载自blog.csdn.net/weixin_45276914/article/details/105122345