• 20165315 预备作业3 Linux安装及学习


    20165315 预备作业3 Linux安装及学习

    一、在自己笔记本上安装Linux操作系统

    因为对操作电脑的不熟悉,我在第一项任务上就花费了一定的时间,在安装过程有如下问题:

    • 我的电脑是苹果公司的MacBook,是OS X系统,而不是老师给的教程中的windows系统,在操作过程中有很多不同
    • 我的电脑上之前有VMware虚拟机,而老师教程中给出的是基于VirtualBox虚拟机上的操作,我想尝试基于VMware虚拟机操作,但是失败了

    于是经过了许多的尝试后,我在蓝墨云班课中询问了同学老师,在通讯工具上询问了班上已经完成任务的同学后,成功通过安装VirtualBox虚拟机,在OS X系统上完成了安装Ubuntu的任务。

    还有一个问题:如何安装VirtualBox虚拟机增强功能?我的虚拟机开机页面如下图所示:

    二、通过实践学习别出心裁的Linux命令学习法,掌握Linux命令的学习方法

    操作系统的功能我总结为两点:管家婆和服务生:

    • 管家婆:通过进程、虚拟内存和文件三个重要抽象管理计算机的CPU、内存、I/O设备。
    • 服务生:为用户提供shell,为程序员提供系统调用。

    --引自《别出心裁的Linux命令学习法》

    这篇文章通过形象的比喻——管家婆和服务生,对windows系统和Linux系统不同的比较,让我对一开始完全陌生的Linux系统和其中的命令有了深刻的印象和大概的了解,但是光是看概念和例子还是有点迷茫的。

    三、参考上面的学习方法通过实践学习Linux 基础入门(新版)课程,掌握常用的Linux命令

    我是第一次在实验楼这种特殊的环境下练习,非常陌生又新奇。通过几次练习后,我发现这种练习方法非常有效,在上一环节的学习中,我只是浏览概念或者看一些上面已经有结果的例子,还是不理解。但是在实验楼边看代码边输入试验,不但有趣,而且有助于学习。

    学习笔记:

    • 第三节 用户及文件权限管理

    1、查看用户

    请打开终端,输入命令:

    $ who am i
    或者
    $ who mom likes

    2、创建用户

    $ sudo adduser lilei

    注释:

    su <user> 可以切换到用户 user

    sudo <cmd> 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组

    su - <user>命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量

    $ ls /home这个命令不但可以添加用户到系统,同时也会默认为新用户创建 home 目录

    使用如下命令切换登录用户:

    $ su -l lilei

    2、在 Linux里面如何知道自己属于哪些用户组呢?

    方法一:使用 groups 命令

    $ groups shiyanlou

    方法二:查看 /etc/group 文件

    $ cat /etc/group | sort

    可以使用命令过滤掉一些你不想看到的结果:

    $ cat /etc/group | grep -E "shiyanlou"

    3、用 shiyanlou 用户执行 sudo 命令将 lilei 添加到 sudo 用户组,让它也可以使用 sudo 命令获得 root 权限:

    $ su shiyanlou
    $ groups lilei
    $ sudo usermod -G sudo lilei
    $ groups lilei```
    

    4、删除用户

    $ sudo deluser lilei --remove-home

    变更文件所有者

    $ touch iphone6

    可见文件所有者是 lilei

    现在,换回到 shiyanlou 用户身份,使用以下命令变更文件所有者为 shiyanlou

    $ cd /home/lilei
    $ ls iphone6
    $ sudo chown shiyanlou iphone6
    $ ll iphone6
    

    5、修改文件权限

    方式一:二进制数字表示

    为了演示,先在文件里加点内容:

    $ echo "echo "hello shiyanlou"" > iphone6

    然后修改权限:

    $ chmod 700 iphone6

    现在,其他用户已经不能读这个iphone6文件了

    方式二:加减赋值操作

    $ chmod go-rw iphone6

    go 还有 u 分别表示 groupothersuser+- 分别表示增加和去掉相应的权限

    • 第四节 Linux 目录结构

    1、FHS 标准

    $ sudo apt-get update
    $ sudo apt-get install tree
    $ tree /
    

    2、目录路径

    使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录(以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,可以使用 ls -a 命令查看隐藏文件), - 表示上一次所在目录, 通常表示当前用户的 home 目录。使用 pwd 命令可以获取当前所在路径(绝对路径)。

    进入上一级目录:

    $ cd ..

    进入 home 目录:

    $ cd ~

    使用 pwd 获取当前路径:

    $ pwd

    3、新建空白文件

    $ touch test

    新建目录

    创建名为“ mydir ”的空目录:

    $ mkdir mydir

    使用 -p 参数同时创建父目录(如果不存在该父目录):

    $ mkdir -p father/son/grandson

    4、复制文件

    $ cp test father/son/grandson

    复制目录

    $ cp -r father family

    5、删除文件

    $ rm test

    强制删除:

    $ rm -f test

    删除目录

    $ rm -r family

    6、移动文件

    将文件“ file1 ”移动到 Documents 目录:

    $ mkdir Documents
    $ mv file1 Documents
    

    重命名文件

    将文件“ file1 ”重命名为“ myfile ”:

    $ mv file1 myfile

    批量重命名

    使用通配符批量创建 5 个文件:

    $ touch file{1..5}.txt

    批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件:

    $ rename 's/.txt/.c/' *.txt

    批量将这 5 个文件,文件名改为大写:

    $ rename 'y/a-z/A-Z/' *.c

    7、查看文件

    使用 cattacnl 命令查看文件(其中 cat 为正序显示,tac 为倒序显示)

    比如查看passwd 文件:

    $ cat passwd

    可以加上 -n 参数显示行号:

    $ cat -n passwd

    使用 head 和 tail 命令查看文件

    $ tail /etc/passwd

    只看一行:

    $ tail -n 1 /etc/passwd

    查看文件类型:

    $ file /bin/ls

    • 第五节 环境变量与文件查找

    1、创建一个变量

    $ declare tmp

    使用 "=" 号赋值运算符,将变量 tmp 赋值为 shiyanlou

    $ tmp=shiyanlou

    读取变量的值,使用 echo 命令和 $ 符号:

    $ echo $tmp

    2、环境变量

    创建一个 Shell 脚本文件:

    $ gedit hello_shell.sh

    在脚本中添加如下内容,保存并退出:

    #!/bin/bash
    
    for ((i=0; i<10; i++));do
        echo "hello shell"
    done
    
    exit 0
    

    为文件添加可执行权限:

    $ chmod 755 hello_shell.sh

    执行脚本:

    $ ./hello_shell.sh

    创建一个 C 语言“ hello world ”程序:

    $ gedit hello_world.c
    #include <stdio.h>
    
    int main(void)
    {
        printf("hello world!
    ");
        return 0;
    }
    

    保存后使用 gcc 生成可执行文件:

    $ gcc -o hello_world hello_world.c

    shiyanlou 家目录创建一个 mybin 目录,并将上述 hello_shell.sh 和 hello_world文件移动到其中:

    $ mkdir mybin
    $ mv hello_shell.sh hello_world mybin/
    

    现在可以在 mybin 目录中分别运行刚刚创建的两个程序:

    $ cd mybin
    $ ./hello_shell.sh
    $ ./hello_world
    

    3、变量删除

    $ unset temp

    4、搜索文件

    whereis 简单快速:

    $whereis who

    locate 快而全:

    $ locate /etc/sh

    查找/usr/share/下所有 jpg 文件:

    $ locate /usr/share/*.jpg

    which 小而精:

    $ which man

    **find **精而细:

    $ sudo find /etc/ -name interfaces

    • 第六节 文件打包与压缩

    1、zip 压缩打包程序

    使用 zip 打包文件夹:

    $ zip -r -q -o shiyanlou.zip /home/shiyanlou
    $ du -h shiyanlou.zip
    $ file shiyanlou.zip
    

    设置压缩级别为 9 和 1(9 最大,1 最小),重新打包:

    $ zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou -x ~/*.zip
    $ zip -r -1 -q -o shiyanlou_1.zip /home/shiyanlou -x ~/*.zip
    

    再用 du 命令分别查看默认压缩级别、最低、最高压缩级别及未压缩的文件的大小:

    $ du -h -d 0 *.zip ~ | sort

    创建加密 zip 包

    使用 -e 参数可以创建加密压缩包:

    $ zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou

    2、使用 unzip 命令解压缩 zip 文件

    shiyanlou.zip 解压到当前目录:

    $ unzip shiyanlou.zip

    使用安静模式,将文件解压到指定目录:

    $ unzip -q shiyanlou.zip -d ziptest

    3、rar 打包压缩命令

    安装 rar 和 unrar 工具:

    $ sudo apt-get update
    $ sudo apt-get install rar unrar
    

    从指定文件或目录创建压缩包或添加文件到压缩包:

    $ rm *.rar
    $ rar a shiyanlou.rar .
    

    从指定压缩包文件中删除某个文件:

    $ rar d shiyanlou.rar .zshrc
    * 查看不解压文件:
    $ rar l shiyanlou.rar
    

    使用 unrar 解压 rar 文件全路径解压:

    $ unrar x shiyanlou.rar

    去掉路径解压:

    $ mkdir tmp
    $ unrar e shiyanlou.rar tmp/
    

    4、tar 打包工具

    创建一个 tar 包:

    $ tar -cf shiyanlou.tar ~

    解包一个文件(-x 参数)到指定路径的已存在目录(-C 参数):

    $ mkdir tardir
    $ tar -xf shiyanlou.tar -C tardir
    

    只查看不解包文件 -t 参数:

    $ tar -tf shiyanlou.tar

    保留文件属性和跟随链接:

    $ tar -cphf etc.tar /etc

    创建不同的压缩格式的文件:

    在创建 tar 文件的基础上添加 -z参数,使用 gzip 来压缩文件:

    $ tar -czf shiyanlou.tar.gz ~

    解压 *.tar.gz 文件:

    $ tar -xzf shiyanlou.tar.gz

    5、常用命令:

    zip:

    > 打包 :zip something.zip something (目录请加 -r 参数)
    > 解包:unzip something.zip
    > 指定路径:-d 参数
    

    tar:

    > 打包:tar -zcvf something.tar something
    > 解包:tar -zxvf something.tar
    > 指定路径:-C 参数
    
    • 第七节 文件系统操作与磁盘管理

    1、使用 df 命令查看磁盘的容量

    $ df

    我们以一种你应该看得懂的方式展示:

    $ df -h

    2、使用 du 命令查看目录的容量

    默认同样以 blocks 的大小展示

    $ du

    加上-h参数,以更易读的方式展示

    $ du -h

    -d参数指定查看目录的深度

    只查看1级目录的信息

    $ du -h -d 0 ~

    查看2级

    $ du -h -d 1 ~

    3、常用参数

    --human-readable 以K,M,G为单位,提高信息的可读性:

    du -h

    --all 显示目录中所有文件的大小:

    du -a

    --summarize 仅显示总计,只列出最后加总的值:

    du -s

    4、创建虚拟磁盘

    dd命令从标准输入读入用户输入到标准输出或者一个文件:

    输出到文件

    $ dd of=test bs=10 count=1

    输出到标准输出

    $ dd if=/dev/stdin of=/dev/stdout bs=10 count=1

    在打完了这个命令后,继续在终端打字,作为你的输入

    将输出的英文字符转换为大写再写入文件:
    $ dd if=/dev/stdin of=test bs=10 count=1 conv=ucase

    使用 dd 命令创建虚拟镜像文件
    /dev/zero设备创建一个容量为 256M 的空文件:

    $ dd if=/dev/zero of=virtual.img bs=1M count=256
    $ du -h virtual.img
    

    使用 mkfs 命令格式化磁盘将我们的虚拟磁盘镜像格式化为ext4文件系统:

    $ sudo mkfs.ext4 virtual.img

    • 第八节 Linux下的帮助命令

    1、help 命令

    本实验环境是 zsh,而 zsh 中内置并没有 help 命令,可以进入 bash 中,在 bash 中内置有该命令

    $ bash
    $ help ls    内部命令
    $ ls --help    外部命令
    

    2、man 命令

    $ man ls

    3、info 命令

    $ info ls

    详细程度:info > man > help

  • 相关阅读:
    jquery validate 自定义验证方法 日期验证
    转:前端控制器是邪恶的么?
    eclipse打开文件位置Open Explorer 插件
    Eclipse标准版安装J2EE
    短网址生成思路算法
    smarty模板执行原理
    Smarty 变量使用
    Php模板引擎Smarty安装和配置
    转:PHP分页技术的代码和示例
    黑板架构模式及其常见实现方式
  • 原文地址:https://www.cnblogs.com/yh666/p/8465431.html
Copyright © 2020-2023  润新知