============================= 2022.04.04
- 在 Linux 中,将文件属性设置为所有者只读,其余无任何权限的命令为(假设文件名为 myfile)
chmod 400 myfile
chmod 改变文件属性;chown改变文件的拥有者;
chmod rwxrwxrwx file
三组参数分别对应文件所有者权限,同组用户权限,其他用户权限。
- linux系统中,以下哪个文件会记录用户操作的历史记录?()
/var/log/syslog
默认RedHat Linux不生成该日志文件,但可以配置/etc/syslog.conf让系统生成该日志文件。它和/etc/log/messages日志文件不同, 它只记录警告信息,常常是系统出问题的信息,所以更应该关注该文件。
/var/log/messages
messages 日志是核心系统日志文件。它包含了系统启动时的引导消息,以及系统运行时的其他状态消息。IO 错误、网络错误和其他系统错误都会记录到这个文件中。其他信息,比如某个人的身份切换为 root,也在这里列出。
/home/.bash_profile
每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!
/home/.bash_history
-
UNIX系统由哪几部分组成?
Kernel(内核) Shell(外壳) 文件系统及应用程序 -
awk’BEGIN { Arr[2,79]=78 __________ }’
为了让执行的结果是78,应该填()语句
SUBSEP(Subscript Separator) 数组下标的分隔字符, 预设值为”\034″实际上, awk中的 数组 只接受 字串 当它的下标,如: Arr[“John”]。
但使用者在 awk 中仍可使用 数字 当阵列的下标,甚至可使用***的数组(Multi-dimenisional Array) 如: Arr[2,79]。 事实上,awk在接受 Arr[2,79] 之前,就已先把其下标转换成字串”2\03479″,之后便以Arr[“2\03479”] 代替 Arr[2,79]。
#!bin/bash
awk 'BEGIN {
arr[2, 79] = 79
print arr[2,79]
print arr["2\03479"]
idx = 2 SUBSEP 79
print arr[idx]
print arr[ 2, 79]
}'
‘BEGIN 后语句只执行一次
- 下列哪些可以用于Linux进程间通讯?
UNIX套接字
信号量
无名管道
文件锁
共享内存
无名管道:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程)。
单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。
数据的读出和写入:一个进程向管道中写的内容被管道另一端的进程读出。写入的内容每次都添加在管道缓冲区的末尾,并且每次都是从缓冲区的头部读出数据。
有名管道:不同于管道之处在于它提供一个路径名与之关联,以FIFO的文件形式存在于文件系统中。这样,即使与FIFO的创建进程不存在亲缘关系的进程,只要可以访问该路径,就能够彼此通过FIFO相互通信(能够访问该路径的进程以及FIFO的创建进程之间),因此,通过FIFO不相关的进程也能交换数据。值得注意的是,FIFO严格遵循先进先出(first in first out),对管道及FIFO的读总是从开始处返回数据,对它们的写则把数据添加到末尾。它们不支持诸如lseek()等文件定位操作。
===================================2022.4.10
- 有一个文件ip.txt,每行一条ip记录,共若干行,已排好序,下面哪个命令可以实现“统计出现次数最多的前3个ip及其次数”?( )
sort -nr nowcoder.txt | uniq -c | sort -nr | head -n 3
先排序,后uniq -c 相邻合并 ,再排序, 再取前三个