Nowcoder专项练习:Linux(二)

1,chmod权限设置

语法格式:

  • chmod [模式] 文件
  • chmod [八进制] 文件

操作对象:

  • u 主用户
  • g 同组用户
  • o 其他用户
  • a 所有用户

权限类别:

  • r(4) 读
  • w(2) 写
  • x(1) 执行
  • 所有权限(7)

权限设定:

  • +增加权限
  • -取消权限
  • = 唯一设定权限

现在将/目录下的www文件权限改为只有主用户有执行的权限的有:

  • chmod 100 /www
    上面的100是八进制的,如果写成二进制是:001 000 000,会清空原有权限,只给u一个x权限,满足要求。

  • chmod u+x ,g-x,o-x /www
    上面这个表示给主用户添加执行权限,而对同组用户和其他用户取消执行权限,也满足要求。


2,查看不断更新的日志文件

为了查看不断更新的日志文件,可以使用的指令是:

  • tail -f

linux 下 tail 用于看档案的结尾,-f参数是follow的意思,当文件增长时,输出后续添加的数据。


3,Linux下的目录

linux下一切都是文件,无论普通的文件还是硬件设备管理!

因此,目录在linux文件系统中是以文件的形式存在的。


4,相关命令含义

打印文件(demo.log)中包含ERP的行到标准输出:

  • sed -n ‘/ERP/p’ demo.log

其中:

  • sed命令用于行的新增/删除, 行的替换/显示, 搜寻并替换, 直接修改文件。
  • -n:使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到屏幕上。但如果加上 -n 参数后,则只有经过 sed 特殊处理的那一行才会被列出来。
  • p:打印,将某个选择的数据印出来。通常 p 会与参数 sed -n 一起用

5,交换分区

交换分区,就是windows中虚拟内存在linux中的叫法;其空间的分配的推荐做法,交换分区的大小一般是物理内存的两倍。


6,数字权限表示

数字说明权限
0没有任何权限- - -
1执行权限- - x
2写入权限- w -
3执行权限和写入权限:1(执行)+2(写入)= 3- w x
4读取权限r - -
5读取权限和执行权限:1(执行)+4(读取)= 5r - x
6读取权限和写入权限:2(写入)+4(读取)= 6r w -
7所有权限:1 + 2 + 4 = 7r w x

7,ps命令

ps [options] [–help]
显示瞬间行程 (process) 的动态,即显示系统进程的情况。

  • -A 列出所有的进程
  • -w 显示加宽可以显示较多的资讯
  • -au 显示较详细的资讯
  • -aux 显示所有包含其他使用者的行程

8,Ext2和Ext3

EXT2、EXT3
linux环境上的文件系统。ext2/ext3文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。

EXT2、EXT3的区别如下:
(1)ext2和ext3的格式完全相同,只是在ext3硬盘最后面有一部分空间用来存放Journal(日志)的记录;
(2)在ext2中,写资料到硬盘中时,先将资料写入缓存中,当缓存写满时才会写入硬盘中;
(3)在ext3中,写资料到硬盘中时,先将资料写入缓存中,鼗缓存写满时系统先通知Journal,再将资料写入硬盘,完成后再通知Journal,资料已完成写入工作;
(4)是否有Journal的差别:
在ext2中,系统开机时会去检查有效位(Valid bit),如果值为1,表示系统上次有正常关机;如果为0,表示上次关机未正常关机,那系统就会从头检查硬盘中的资料,这样时间会很长;
在ext3中,也就是有Journal机制里,系统开机时检查Journal的资料,来查看是否有错误产生,这样就快了很多;
(5)tune2fs –j 将ext2转换成ext3

Ext3 目前所支持的最大16TB 文件系统和最大2TB 文件,Ext4 分别支持 1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的文件系统,以及 16TB 的文件。


9,TCP状态图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


10,路由设置语句

局域网的网络地址192.168.1.0/24,局域网络连接其他网络的网关地址是192.168.1.1。主机192.168.1.20访问172.16.1.0/24网络时,正确的路由设置应该是什么?

  • route add -net [目的子网] gw [网关地址] netmask [子网掩码] metric [路由跳数]

因此,正确的设置为:

  • route add -net 172.16.1.0 gw 192.168.1.1 netmask 255.255.255.0 metric 1

11,Vi中的替代

Vi编辑器中,怎样将字符AAA全部替换成yyy?

vi/vim 中可以使用 :s 命令来替换字符串。该命令有很多种不同细节使用方法,可以实现复杂的功能。就本题而言,实现全部的AAA替换为yyy,也就是全局替换,需要加参数 g。

  • s/AAA/yyy/g

12,recv的内存操作

调用recv(int sockfd, void *buf, size_t len, int flags)的过程中,一共进行了几次内存复制操作?

在上述操作中,内核从对端接受数据,放在socket的缓存中,然后复制到应用层的buffer,所以一共两个buffer,即一共有两次内存复制操作


13,Linux的重启操作

在linux命令中reboot是重新启动,shutdown -r now是立即停止然后重新启动,都说他们两个是一样的,其实是有一定的区别的。

shutdown

shutdown命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。
精确时间的格式是hh:mm,表示小时和分钟,时间段由+ 和分钟数表示。系统执行该命令后会自动进行数据同步的工作。
该命令的一般格式: shutdown [选项] [时间] [警告信息]
命令中各选项的含义为:

  • k 并不真正关机而只是发出警告信息给所有用户
  • r 关机后立即重新启动
  • h 关机后不重新启动
  • f 快速关机重启动时跳过fsck
  • n 快速关机不经过init 程序
  • c 取消一个已经运行的shutdown

需要特别说明的是该命令只能由超级用户使用。
例1,系统在十分钟后关机并且马上重新启动: # shutdown –r +10
例2,系统马上关机并且不重新启动:# shutdown –h now

halt

halt是最简单的关机命令,其实际上是调用shutdown -h命令。halt执行时,杀死应用进程,文件系统写操作完成后就会停止内核。
halt命令的部分参数如下:
[-f] 没有调用shutdown而强制关机或重启
[-i] 关机或重新启动之前,关掉所有的网络接口
[-p] 关机时调用poweroff,此选项为缺省选项

rebot

reboot的工作过程与halt类似,其作用是重新启动,而halt是关机。其参数也与halt类似。reboot命令重启动系统时是删除所有的进程,而不是平稳地终止它们。因此,使用reboot命令可以快速地关闭系统,但如果还有其它用户在该系统上工作时,就会引起数据的丢失。所以使用reboot命令的场合主要是在单用户模式。

init

init是所有进程的祖先,其进程号始终为1。init用于切换系统的运行级别,切换的工作是立即完成的。

  • init 0命令用于立即将系统运行级别切换为0,即关机;
  • init 6命令用于将系统运行级别切换为6,即重新启动

14,列出所有文件

如果您想列出当前目录以及子目录下所有扩展名为“.txt”的文件,需要的命令应该是什么?

  • find -name“*.txt”

其中,find如若没有指定路径,则默认是在当前目录中。

而对于ls命令而言,ls 命令,直接执行,列表显示当前路径下文件和文件夹,但只显示子级路径,子级为文件夹时不会往下递归


15,cat命令

cat -n file1 file2 命令的意思是什么?

在上面这个命令中:

  • 将几个文件合并为一个文件: $cat file1 file2
  • -n 或 --number 由 1 开始对所有输出的行数编号

上述命令即将file1和file2的文件内容连在一起然后输出到屏幕,并打印行号,file1和file2文件内容不变。


16,访问速率设置

  • anon_max_rate = 0
    设置匿名登入者使用的最大传输速度,单位为B/s,0 表示不限制速度。默认值为0。

  • local_max_rate= 0
    本地用户使用的最大传输速度,单位为B/s,0 表示不限制速度。预设值为0。

这两个参数,也是vsftpd服务流量控制的参数。


17,打印相关命令

  • lprm 命令用于将一个工作由打印机贮列中移除
  • lpq 命令用于查看一个打印队列的状态,该程序可以查看打印机队列状态及其所包含的打印任务。
  • lpd 命令 是一个常驻的打印机管理程序,它会根据 /etc/printcap 的内容来管理本地或远端的打印机。
  • lpr(line printer,按行打印)实用程序用来将一个或多个文件放入打印队列等待打印。

18,硬链接与软链接

(1)软链接可以跨文件系统,硬链接不可以;
(2)硬链接不管是有多少个,都指向的是同一个i节点,只不过会增加节点链接数。只要节点的链接数不是0,文件就会一直存在,不管删除的是源文件还是链接的文件。当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。软链接不直接使用i节点号作为文件指针, 而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的inode, 并在磁盘上有一小片空间存放路径名。总结起来,硬链接不管有多少个,都指向的是同一个节点,只有软链接(有符号链接)才产生新的inode节点。
(3)软连接可以对一个不存在的文件名进行连接 。
(4)软链接可以对目录进行连接。


19,Linux主机负载获取指令

uptime命令过去只显示系统运行多久。现在,可以显示系统已经运行了多长时间,信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

top命令可以查看系统整体状态
最后一些输出信息的解释:
load average: 0.09, 0.05, 0.01
三个数分别代表不同时间段的系统平均负载(一分钟、五 分钟、以及十五分钟),它们的数字是越小越好。在多核处理中,系统的均值不应该高于处理器核心的总数量。
进程使用的内存可以用top,有3个列VIRT RES SHR, 标示了进程使用的内存情况, VIRT标识这个进程可以使用的内存总大小, 包括这个进程真实使用的内存, 映射过的文件, 和别的进程共享的内存等. RES标识这个这个进程真实占用内存的大小. SHR标识可以和别的进程共享的内存和库大小.

sar -u输出显示CPU信息。-u选项是sar的默认选项。该输出以百分比显示CPU的使用情况。

ls跟dos下的dir命令是一样的都是用来列出目录下的文件。

crontab是一个定时执行任务命令,不能查看系统负载。


20,pthread相关函数

  • pthread_create 创建一个线程
  • pthread_join 用来等待一个线程的结束
  • pthread_mutex_init 初始化一个线程互斥锁
  • pthread_exit 结束一个线程

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值