N74第一周作业

  1. 一个完整计算系统的简要介绍。

    硬件系统和软件系统共同构成了一个完整的计算机系统
    
  1. 学会进制的转换,并简单举例完成转换。

    十进制转二进制:除以2,反向取余数,直到商为0终止
    十进制转十六进制:除以16,反向取余数,直到商为0终止
    
  1. 制作一个教程,说明vmware软件如何下载安装。

    
    
  1. 说明GPL和MIT开源协议的区别。

    GPL-强制开源-linux
    GPL(GNU General Public License):GNU通用公共许可协议。
    GPL协议的目的就是强制代码开源和免费使用。
    其最大的特点就是“开源的传染性”。也就是说,假设某公司使用了具有GPL协议的代码库,那么他理论上也必须把自己的代码库开源。
    
    MIT-受公司欢迎的宽松协议-vue
    MIT(The Massachusetts Institute of TechnologyLicense,麻省理工学院许可协议)是众多协议条款中,被广泛使用的其中一种。与其他常见的软件许可协议相比,MIT是相对宽松的软件许可协议。
    MIT协议允许你任意的使用、复制、修改原MIT代码库,随便你卖钱还是开源,唯一需要遵循的原则就是在你的软件中声明你也使用的是MIT协议就行了。
    
  1. 制作2个安装教程,安装rocky 8.5, ubuntu 22.04,并结合xshell说明如何通过虚拟IP登入系统。

    
    
  1. 说明tab键补全命令以及补全路径的原理。

    command 2Tab 所有子命令或文件补全
    string2Tab 以string开头命令
    /2Tab 显示所有根目录下一级目录,包括隐藏目录
    ./2Tab 当前目录下子目录,包括隐藏目录
    *2Tab 当前目录下子目录,不包括隐藏目录
    ~2Tab 所有用户目录
    $2Tab 所有变量
    @2Tab /etc/hosts记录(centos7不支持)
    =2Tab 相当于ls -A(centos7不支持)
    
    路径补全:
    把用户给出的字符串当作路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名
    如果唯一:则直接补全
    否则:再次tab给出列表
    
  1. 说明内部命令和外部命令的区别,以及他们如何获取帮助的?

    内部命令:由shell自带的,用户登录后自动加载并常驻内存中
    外部命令:在文件系统路径下有对应的可执行程序文件,当执行命令时才从磁盘加载至内存中,执行完毕后从内存中删除
    
    whatis 命令使用数据库来显示命令的简短描述
    man 命令提供命令帮助的文件
    whereis 命令查看指定命令相关文件、man帮助文件路径
    
  1. 说明命令行快捷键如何完成,1)快速跳转到行首?2)快速跳转到行尾?3)快速删除当前光标到行尾,4)快速删除光标到行首,5)如何快速取消执行命令。

    1)快速跳转到行首    ctrl+a
    2)快速跳转到行尾    ctrl+e
    3)快速删除当前光标到行尾    ctrl+u
    4)快速删除光标到行首       ctrl+k
    5)如何快速取消执行命令 ctrl+c
    
  1. 总结Linux目录结构说明每个目录主要的用途。

    /boot:系统启动引导文件存放目录
    /bin:所有用户使用的基本命令 软连接;真实路径为/usr/bin
    /sbin:管理类的基本命令序       软连接;真实路径为/usr/sbin
    /lib:启动时程序依赖库文件       软连接;真实路径为/usr/lib
    /etc:配置文件目录
    /home/USERNAME:普通用户家目录
    /root:管理员的家目录
    /mnt:临时文件系统挂载点
    /dev:设备文件及特殊文件存储位置
    /opt:第三方应用程序的安装位置
    /tmp:临时文件存储位置
    /usr: 第三方软件和系统软件安装位置
    /var: 存放会变化的数据,例如日志、网页
    /proc: 用于输出内核与进程信息相关的虚拟文件系统
    /sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
    
  1. 总结文件通配 *, ?, [a-z], [0-9], ~,{a..z},
    [:alnum:] [:alpha:] [:blank:]
    [:digit:] [:graph:] [:lower:]
    [:punct:] [:space:] [:upper:]等常用通配符。

    * #匹配零个或多个字符,但不匹配 "." 开头的文件,即隐藏文件
    ? #匹配任何单个字符,一个汉字也算一个字符
    [a-z] #一个字母
    [0-9] #匹配数字范围
    ~   #当前用户的家目录
    {a..z}  #匹配字母a-z
    
    [:alnum:]   #任意数字或字母
    [:alpha:]   #任意大小写字母
    [:blank:]   #水平空白字符
    [:digit:]   #任意数字,相当于0-9
    [:graph:]   #除空格符(空格键与[TAB]键)之外的所有按键
    [:lower:]   #任意小写字母,表示 a-z
    [:space:]   #垂直或水平空白字符
    [:punct:]   #标点符号
    [:upper:]   #任意大写字母,表示 A-Z 
    
  1. 说明文件系统如何根据用户输入的路径查找到磁盘上的文件的过程。

    输入命令后回车,shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配硬件资源将其运行起来
    
  1. 总结硬链接和软件链接原理,并举例说明如何使用。

    硬链接“链接起来的文件”其实是一个文件系统内的同一个文件/存储位置,只是占用多个目录条目而已,条目指向同一个地址。
    而软连接和其目标文件是两个完全不同的文件,软连接文件本身就是一个文件,其文件内容就是一个路径名,路径名写着目标文件的路径。
    
    
    硬(hard)链接
    格式:
    ln filename [linkname ]
    
    符号 symbolic (或软 soft)链接
    格式:
    ln -s filename [linkname]
    
  1. 说明linux命令管理工作流程,结合管道功能,自行设计几个题目。

    将命令1的STDOUT发送给命令2的STDIN,命令2的STDOUT发送到命令3的STDIN
    所有命令会在当前shell进程的子shell进程中执行
    STDERR默认不能通过管道转发
    
  1. 说明标准输入,标准输出,标准错误输出的区别,及举例说明其功能。

    Linux给程序提供三种 I/O 设备
    
    - 标准输入(STDIN) -0 默认接受来自终端窗口的输入 
    - 标准输出(STDOUT)-1 默认输出到终端窗口 
    - 标准错误(STDERR) -2 默认输出到终端窗口
    
  1. 总结学过的用户,组,权限相关的命令及选项,示例

    ## 3. 1 用户管理
    
    ### 3.1.1 用户创建 useradd
    
    **useradd 命令:**创建新的Linux用户
    
    **格式:**
    
    ```http
    useradd [options] LOGIN
    ```
    
    **常见选项:** 
    
    ```
    -u UID 
    -g GID #指明用户所属基本组,可为组名,也可以GID
    -c "COMMENT" #用户的注释信息
    -d HOME_DIR #以指定的路径(不存在)为家目录
    -s SHELL #指明用户的默认shell程序,可用列表在/etc/shells文件中
    -G GROUP1[,GROUP2,...] #为用户指明附加组,组须事先存在
    -r #创建系统用户 CentOS 6之前: ID<500,CentOS7 以后: ID<1000
    -m #自动建立用户的登入目录
    -M #不要自动建立用户的登入目录
    ```
    
    **useradd 命令默认值设定由/etc/default/useradd定义**
    
    ```
    [root@centos8 ~]#cat /etc/default/useradd
    # useradd defaults file
    GROUP=100
    HOME=/home
    INACTIVE=-1    #对应/etc/shadow文件第7列,即用户密码过期的宽限期
    EXPIRE=        #对应/etc/shadow文件第8列,即用户帐号的有效期
    SHELL=/bin/bash
    SKEL=/etc/skel  #新用户家目录下的默认文件
    CREATE_MAIL_SPOOL=yes
    ```
    
    
    
    ### 3.1.2 用户属性修改 usermod
    
    **usermod 命令:**可以修改用户属性
    
    **格式:**
    
    ```
    usermod [OPTION] login
    ```
    
    **常见选项:**
    
    ```
    -u UID: 新UID
    -g GID: 新主组
    -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使
    用-a选项
    -s SHELL:新的默认SHELL
    -c 'COMMENT':新的注释信息
    -d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
    -l login_name: 新的名字
    -L: 锁定指定用户,在/etc/shadow 密码栏的增加 ! 
    -U: 解锁指定用户,将 /etc/shadow 密码栏的 ! 拿掉
    ```
    
    
    
    ### 3.1.3 删除用户 userdel
    
    **userdel命令:** 可删除Linux 用户
    
    **格式:**
    
    ```
    userdel [OPTION]... Login
    ```
    
    **常见选项:**
    
    ```
    -f, --force  强制,删除正在登录的用户失败时使用
    -r, --remove 删除用户家目录和邮箱
    ```
    
    ### 3.1.5 设置密码 passwd
    
    **passwd 命令:** 修改用户密码
    
    **格式:**
    
    ```
    passwd [OPTIONS] UserName
    ```
    
    **常用选项:**
    
    ```
    -d:删除指定用户密码
    -l:锁定指定用户
    -u:解锁指定用户
    -e:强制用户下次登录修改密码
    --stdin:从标准输入接收用户密码,Ubuntu无此选项
    -n mindays:指定最短使用期限
    -x maxdays:最大使用期限
    ```
    
    **范例:非交互式修改用户密码**
    
    ```
    [root@centos8 ~]#echo -e '123456\n123456' | passwd mage
    ```
    
    **范例:批量修改用户口令**
    
    ```
    echo username:passwd | chpasswd 
    ```
    
    ## **3.2 组管理**
    
    ### 3.2.1 创建组 groupadd
    
    **groupadd命令:**实现创建组
    
    **格式:**
    
    ```
    groupadd [OPTION]... group_name
    ```
    
    **常见选项:**
    
    ```
    -g GID  #指明GID号;[GID_MIN, GID_MAX]
    -r      #创建系统组,CentOS 6之前: ID<500,CentOS 7以后: ID<1000
    ```
    
    **范例:**
    
    ```
    groupadd -g 48 -r apache
    ```
    
    
    
    ### 3.2.2 修改组属性 groupmod
    
     **groupmod命令:** 组属性修改
    
    **格式:**
    
    ```
    groupmod [OPTION]... group
    ```
    
    **常见选项:**
    
    ```
    -n group_name: 新名字
    -g GID: 新的GID
    ```
    
    
    
    ### 3.2.3 组删除 groupdel
    
    **groupdel 命令:** 可以删除组
    
    **格式:**
    
    ```
    groupdel [options] GROUP
    ```
    
    **常见选项:**
    
    ```
    -f, --force 强制删除,即使是用户的主组也强制删除组,但会导致无主组的用户不可用无法登录
    ```
    
    ### 4.1.1 设置文件的所有者 chown
    
    **chown 命令:**修改文件的属主或属组
    
    **格式:**
    
    ```
    chown [OPTION]... [OWNER][:[GROUP]] FILE...
    ```
    
    **用法说明:**
    
    ```
    OWNER:GROUP或OWNER.GROUP #同时修改所有者和属组,不修改的为空即可
    ```
    
    **范例:**
    
    ```
    [root@centos8 data]#chown root.bin f1.txt
    [root@centos8 data]#ll 
    total 4
    -rw-r--r-- 1 root bin 709 Dec 18 10:13 f1.txt
    [root@centos8 data]#chown wang:admins f1.txt
    [root@centos8 data]#ll
    total 4
    -rw-r--r-- 1 wang admins 709 Dec 18 10:13 f1.txt
    ```
    
    ### 4.2.2 修改文件权限 chmod
    
    **chmod 命令:**修改指定文件权限
    
    **格式:**
    
    ```
    chmod [OPTION]... MODE[,MODE]... FILE...
    ```
    
    **说明: 模式法格式**
    
    ```
    MODE:who opt permission
    who:u,g,o,a 
    opt:+,-,=
    permission:r,w,x
    修改指定一类用户的所有权限
    u=  g= o= ug=  a= u=,g=
    修改指定一类用户某个或某个权限
    u+ u- g+ g- o+ o- a+ a- + -
    -R: 递归修改权限
    ```
    
    
    
    ### 4.3 新建文件和目录的默认权限
    
    umask 的值可以用来保留在创建文件权限
    
    **实现方式:**
    
    ```
    新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变,文件执行权限危险,没有x即使root也无法执行
    新建目录的默认权限: 777-umask
    
    非特权用户umask默认是 002
    root的umask 默认是 022
    ```
    
    **查看umask**
    
    ```
    umask
    #模式方式显示
    umask –S 
    ```
    
    **修改umask**
    
    ```
    umask #
    ```
    
    **持久保存umask**
    
    ```
    全局设置: /etc/bashrc 
    用户设置:~/.bashrc
    ```
    
    
    
    ## 4.4 Linux文件系统上的特殊权限
    
    ### 4.4.1 特殊权限SUID
    
    ```
    任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
    启动为进程之后,其进程的属主为原程序文件的属主
    SUID只对二进制可执行程序有效
    SUID设置在目录上无意义
    ```
    
    **范例:SUID权限设定:**
    
    ```
    chmod u+s FILE...
    chmod 4xxx FILE
    chmod u-s FILE...
    ```
    
    ### 4.4.2 特殊权限SGID
    
    **范例:SGID权限设定:**
    
    ```
    chmod g+s FILE... 
    chmod 2xxx FILE
    chmod g-s FILE...
    ```
    
    ### 4.4.3 特殊权限 Sticky 位
    
    ```
    具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权
    在目录设置Sticky位,只有文件的所有者或root可以删除该文件
    sticky设置在文件上无意义
    ```
    
    **范例:Sticky权限设定:**
    
    ```
    chmod o+t DIR...
    chmod 1xxx DIR
    chmod o-t DIR...
    ```
    
    ### 4.4.4 权限位映射
    
    ```
    SUID: user,占据属主的执行权限位
     s:属主拥有x权限
     S:属主没有x权限
    SGID: group,占据属组的执行权限位
     s: group拥有x权限
     S:group没有x权限
    Sticky: other,占据other的执行权限位
     t:other拥有x权限
     T:other没有x权限
    ```
    
    
    
    ## 4.5 设定文件隐藏权限
    
    设置文件的隐藏权限,可以访问 root 用户误操作删除或修改文件
    
    **chattr 命令:**设置隐藏权限
    
    ```
    +a file     #只能追加内容,不能删除,改名
    +i file     #不能删除,改名,更改
    ```
    
    **lsattr 命令:**显示隐藏权限
    
    **范例:**
    
    ```
    [root@centos8 data]#chattr +i dir
    [root@centos8 data]#lsattr dir
    ------------------ dir/fstab
    ------------------ dir/f1.txt
    [root@centos8 data]#lsattr *
    ------------------ dir/fstab
    ------------------ dir/f1.txt
    ------------------ f11.txt
    ------------------ f22.txt
    [root@centos8 data]#ll
    total 8
    drwxr-xr-x 2 root root  33 Dec 18 14:32 dir
    -rw-r--r-- 1 root root 719 Dec 18 14:30 f11.txt
    -rw-r--r-- 1 root root   6 Dec 18 14:30 f22.txt
    [root@centos8 data]#rm -rf dir
    rm: cannot remove 'dir/fstab': Operation not permitted
    rm: cannot remove 'dir/f1.txt': Operation not permitted
    [root@centos8 data]#lsattr 
    ------------------ ./f11.txt
    ------------------ ./f22.txt
    ----i------------- ./dir
    [root@centos8 data]#chattr -i dir
    [root@centos8 data]#lsattr  
    ------------------ ./f11.txt
    ------------------ ./f22.txt
    ------------------ ./dir
    ```
    
    
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 230,578评论 6 544
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 99,701评论 3 429
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 178,691评论 0 383
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 63,974评论 1 318
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 72,694评论 6 413
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 56,026评论 1 329
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 44,015评论 3 450
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 43,193评论 0 290
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,719评论 1 336
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 41,442评论 3 360
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,668评论 1 374
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 39,151评论 5 365
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,846评论 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 35,255评论 0 28
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 36,592评论 1 295
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 52,394评论 3 400
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,635评论 2 380

推荐阅读更多精彩内容