zoukankan      html  css  js  c++  java
  • 202020211 20209308《Linux内核原理与分析》第一周作业

    Linux 基础问题


    1.su、su-与sudo之间的区别

    su 可以切换到用户 user,执行时需要输入目标用户的密码,sudo 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码。su - 命令也是切换用户,但是同时用户的环境变量和工作目录也会跟着改变成目标用户所对应的。

    Note:

    • sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。
    • su : 切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。
    • su - root 输入root密码后切换之root用户但是pwd目录/root

    tips:

    • sudo -i 直接运行sudo命令加-i参数 要求执行该命令的用户必须在sudoers中才可以
    • sudo su 运行sudo命令给su命令提权,运行su命令。 要求执行该命令的用户必须在sudoers中才可以
    • sudo -i 运行结果 PWD=/root
    • sudo su 运行结果 PWD=/home/用户名(当前用户主目录)

    2.目录文件权限格式

    更改文件可读可写可执行权限时用chmod指令
    命令:

    chmod 777 1.c

    格式:

    chmod 权限数字 文件名


    node
    可读 r read 4
    可写 w write 2
    执行操作权限 x execute 1
    之所以是3位数字是因为分别对应【owner权限】 【group权限】 【others权限】
    修改权限简介
    在终端输入:
    chmod o w xxx.xxx
    表示给其他人授予写xxx.xxx这个文件的权限
    chmod go-rw xxx.xxx
    表示删除xxx.xxx中组群和其他人的读和写的权限
    其中:
    u 代表所有者(user)
    g 代表所有者所在的组群(group)
    o 代表其他人,但不是u和g (other)
    a 代表全部的人,也就是包括u,g和o
    r 表示文件可以被读(read)
    w 表示文件可以被写(write)
    x 表示文件可以被执行(如果它是程序的话)
    其中:rwx也可以用数字来代替
    r ------------4
    w -----------2
    x ------------1
    -- ------------0

    3.vim使用命令

    ① vim三种状态:
    命令行模式、插入模式和底行模式。其中点击esc可进入命令行模式
    ② 基本命令:
    在命令行模式下,按一下:冒号键进入底行模式,例如:
      : w filename (输入w filename将文章以指定的文件名filename保存)
      : wq (输入wq,存盘并退出vi)
      : q! (输入q!, 不存盘强制退出vi)
    ③ 输入及删除命令:
    按「i」切换进入插入模式,按"i"进入插入模式后是从光标当前位置开始输入文件;
      按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
      按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
      「x」:每按一次,删除光标所在位置的"后面"一个字符。
      「#x」:例如,「6x」表示删除光标所在位置的"后面"6个字符。
      「X」:大写的X,每按一次,删除光标所在位置的"前面"一个字符。
      「#X」:例如,「20X」表示删除光标所在位置的"前面"20个字符。
      「dd」:删除光标所在行。
      「#dd」:从光标所在行开始删除#行

    4.管道
    管道是一种最基本的IPC机制,作用于有血缘关系的进程之间,完成数据传递。调用pipe系统函数即可创建一个管道。有如下特质:

    1. 其本质是一个伪文件(实为内核缓冲区)

    2. 由两个文件描述符引用,一个表示读端,一个表示写端。

    3. 规定数据从管道的写端流入管道,从读端流出。

    管道的原理: 管道实为内核使用环形队列机制,借助内核缓冲区(4k)实现。

    管道的局限性:

    ① 数据自己读不能自己写。

    ② 数据一旦被读走,便不在管道中存在,不可反复读取。

    ③ 由于管道采用半双工通信方式。因此,数据只能在一个方向上流动。

    ④ 只能在有公共祖先的进程间使用管道。


    在命令行中用到的为匿名管道

    1| ls -al /etc | less
    

    通过管道将ls -al的输出作为 下一个命令less的输入,方便浏览。

    选取命令: cut 、grep
    排序命令:sort、wc、uniq
    双向重定向命令:tee(在数据流的处理过程中将某段信息保存下来,使其既能输出到屏幕又能保存到某一个文件中。)
    字符转换命令:tr,col,join,paste,expand

  • 相关阅读:
    什么是webview
    juqery.fn.extend和jquery.extend
    LeetCode
    5. Longest Palindromic Substring
    42. Trapping Rain Water
    11. Container With Most Water
    621. Task Scheduler
    49. Group Anagrams
    739. Daily Temperatures
    3. Longest Substring Without Repeating Characters
  • 原文地址:https://www.cnblogs.com/ppswaggy/p/13799084.html
Copyright © 2011-2022 走看看