Nowcoder专项练习:Linux(二)

    xiaoxiao2022-07-14  168

    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执行权限- - x2写入权限- w -3执行权限和写入权限:1(执行)+2(写入)= 3- w x4读取权限r - -5读取权限和执行权限:1(执行)+4(读取)= 5r - x6读取权限和写入权限: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 快速关机重启动时跳过fsckn 快速关机不经过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)