zoukankan      html  css  js  c++  java
  • 安装虚拟机&Linux命令学习

    安装虚拟机&Linux命令学习

    基于VirtualBox虚拟机安装Ubuntu

    1.下载安装VirtualBox

    根据自己电脑(32位操作系统)的实际情况,我在网上找了相应的VirtualBox版本进行下载和安装。

    出现的问题

    1. 版本下错。第一次尝试在官方网站上下载了64位的版本,下载安装时发现与电脑不兼容。
    2. 下载地址出错。我在网上找的适合电脑的版本,用迅雷下载时,默认下载到了F盘,安装过程中显示如下错误:

    我将软件移到了警告中的地址 C:Program FilesOracleVirtualBox 中,重新进行安装。
    3. 安装后在打开软件时弹出获取VirtualBox COM对象失败的提示

    我在百度上搜索这种情况的解决办法,在VirtualBox吧中找到一种方法:开始-运行-打开-Regedit中修改注册表

    HKEY_CLASSES_ROOTCLSID{00020420-0000-0000-C000-000000000046}-InprocServer32
    HKEY_CLASSES_ROOTCLSID{00020424-0000-0000-C000-000000000046}-InprocServer32
    

    C:Windowssystem32oleaut32.dll
    后成功将软件打开。

    2.Ubuntu的安装与配置

    经过 创建虚拟机-安装Ubuntu系统软件-安装VirtualBox虚拟机增强功能-分配共享数据空间等操作,完成Ubuntu的安装和配置。我的电脑是4GB,设置了1GB的虚拟内存。

    出现的问题

    1. 打开终端快捷键的延迟性。在按下Ctrl+Alt+T后不能迅速弹出终端窗口,多次尝试后发现弹出窗口有时会有延迟,需要等一下,不然会一次性弹出多个终端窗口。
    2. 希望能在虚拟机中建一个共享文件夹,实现主机和虚拟机的双向共享。
    3. 命令不同于c语言,空格也是命令的一部分,而且是经常出错的一部分。

    Linux命令的学习

    通过学习别出心裁的Linux命令学习法,总结出以下几点:

    1. 首先是界面,Linux不但为用户提供了桌面环境,在桌面上可以用鼠标操作,还兼顾完全的命令行操作,通过安装增强功能,可以与主机共享文件,共享剪贴板的内容,相当于又一台虚拟电脑。
    2. 其次是掌握一些Ubuntu方便的快捷键,除了上面提到的Ctrl+Alt+T打开终端外,例如Tab可以在输入命令的开头时补全命令,避免输入错误;恢复之前输入过的命令;Ctrl+C可以终止当前程序。
    3. 此外还简单了解几种基本命令,如:Linux命令、man命令、cheat命令,
      其中安装cheat过程如下:
      之后又尝试了cheat findcheat grep虽然还不会使用,但对命令行有了初步的认识。

    Linux基础入门

    按照课程要求学习了实验楼Linux基础入门的前5节,后面的内容还会继续学习。

    • 基本概念与操作
      • UNIX/Linux本身是没有图形界面的,它是运行在 Linux 系统之上的一套软件。
      • 通常在使用Linux时,并不直接与系统打交道,而是通过一个叫做 Shell 的中间程序来完成的。
      • Ctrl+C可以强行终止当前程序但不会使终端退出。
      • 创建和搜索文件
        • 用touch命令创建文件,可同时创建多个文件。
        • $ ls *.txt可以搜索以txt结尾的任一文件。
      • Shell的常用通配符
      • man命令调用某个命令的说明和使用方式man <command_name>,如man man;加上数字后可看特定区段中命令的man页面,如man 1 ls显示ls一般命令
      • banner输出图形字符命令

    这节课包括之前的安装过程给我的感受是Linux安装软件也需要命令,这和我们习惯的windows大不相同。

    • 用户及文件权限管理
      • linux命令:command [options] [arguments]//命令 选项 参数例如ls -a . 其中-a是选项,.是参数

      • 查看用户

        • who命令
          • who am i是当前伪终端的用户名,whoami是当前登陆用户的用户名
      • 创建用户

        • sudo命令
          • sudo adduser <user>可以创建新用户
          • sudo <cmd>以特权级别运行cmd命令,需要当前用户属于sudo组,且需要输入当前用户密码
        • su命令
          • su <user>切换到用户user
          • su - <user>切换到用户user的同时环境变量也会变成user的
        • exitCtrl+D退出当前用户
      • 查看用户组

        • groups命令
        • 查看/etc/group文件
          • 格式为group_name:password:GID:user_list例如:shiyanlou:x:5000:其中'x'表示密码不可见
      • 将用户添加至sudo用户组

      • 删除用户

      • Linux文件类型与权限

        • 文件类型
          • 'd' 目录
          • 'l' 软链接
          • 'b' 块设置
          • 'c' 字符设置
          • 's' socket
          • 'p' 管道
          • '-' 普通文件
        • 文件权限
          • 'r' 允许读权限
          • 'w' 允许写权限
          • 'x' 允许执行权限
          • 一个目录同时具有读权限和执行权限才可以打开并查看内部文件
          • 一个目录要有写权限才允许在其中创建其它文件
        • ls命令的常用参数
          • -l :列出长数据串,包含文件的属性与权限数据等
          • -A :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来
          • -d :仅列出目录本身,而不是列出目录的文件数据
          • -h :将文件容量以较易读的方式(GB,kB等)列出来
          • -R :连同子目录的内容一起列出(递归列出),该目录下的所有文件都会显示出来
          • -s :显示文件大小
          • -S :按文件大小排序
          • 这些参数也可以组合运用,例如:ls -AsSh显示所有文件大小并以普通人能看懂的方式呈现
        • 变更文件所有者
        • 修改文件权限
          • chmod命令参数
            • -R 进行递归的持续更改,即连同子目录下的所有文件都会更改
          • 二进制表示:每个文件的三组权限(拥有者,所属用户组,其他用户)对应一个'rwx',该位权利有对应1。$ chmod 700 text表示text只对我可见
          • 加减赋值:'g''o''u'分别表示group,others,user,'+''-'分别表示增加和去掉相应权限。
    • Linux 目录结构及文件基本操作
      • Linux目录结构:虽然本质上无论是目录结构还是操作系统内核都是存储在磁盘上的,但从逻辑上来说 Linux 的磁盘是“挂在”(挂载在)目录上的,每一个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统。
      • cd命令:它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径
        • '.' 当前目录
        • '..' 上一级目录
        • '-' 上一次所在目录
        • '~' 当前用户的home目录
      • Linux文件基本操作
        • 新建
          • touch 创建空文件
          • mkdir 创建空目录
            • mkdir -p可同时闯将一个多级目录
        • 复制
          • cp 复制空文件
          • cp -r复制目录
        • 删除rm
          • -f强制删除参数
        • 移动mv 源目录文件 目的目录
        • 重命名文件mv 旧文件名 新文件名
        • 查看
          • cat 正序,加上-n参数显示行号
          • tac 倒序
          • nl命令参数
            • -b a:表示无论是否为空行,同样列出行号("cat -n"就是这种方式)
            • -b t:只列出非空行的编号并列出(默认为这种方式)
            • -n ln:在行号字段最左端显示
            • -n rn:在行号字段最右边显示,且不加 0
            • -n rz:在行号字段最右边显示,且加 0
          • 查看文件类型
            • file命令:判断接在file命令后的文件的基本数据
    • 环境变量与文件查找
      • 变量
        • 创建 declare 变量名,注意变量名只能是英文字母,数字或者下划线,且不能以数字作为开头
        • 赋值 =
        • 读取 echo $变量名
      • 环境变量(在当前进程的子进程仍有效)
        • set 显示当前 Shell 所有环境变量

        • env 显示与当前用户相关的环境变量

        • export 显示从 Shell 中导出成环境变量的变量

        • 为了与普通变量区分,通常我们习惯将环境变量名设为大写

        • 添加自定义路径到“PATH”环境变量

          • $ PATH=$PATH:/home/shiyanlou/mybin注意使用绝对路径
          • >>表示将标准输出以追加方式重定向到一个文件中$ echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc
        • 修改

        • 删除 unset

        • 立即生效source.. ./.zshrc

      • 文件查找
    查找命令 优点与局限
    whereis 简单快速,只能搜索二进制文件(-b),man帮助文件(-m)和源代码文件(-s)
    which 小而精,看是否安装指定软件,只从PATH环境变量指定的路径中去搜索命令
    find 精而细
    locate 快而全,刚添加的文件可能找不到,需执行一次updatedb命令

    find命令

    find [PATH] [option] [action]

    结合实验楼和网上众多博客总结如下:

    与时间相关的命令参数:

    • -atime 最后到访时间
    • -ctime 创建时间
    • -mtime 最后修改时间

    与用户或用户组名有关的参数:

    • -user name 列出文件所有者为name的文件
    • -group name 列出文件所属用户组为name的文件
    • -uid n 列出文件所有者为用户ID为n的文件
    • -gid n 列出文件所属用户组为用户组ID为n的文件

    与文件权限及名称有关的参数:

    • -name filename :找出文件名为filename的文件
    • -size [+-]SIZE :找出比SIZE还要大(+)或小(-)的文件
    • -tpye TYPE :查找文件的类型为TYPE的文件,TYPE的主要有:一般文件(f),设备文件(b、c)
      、目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p);
    • -perm mode :查找文件权限刚好等于mode的文件,mode用数字表示,如0755;
    • -perm -mode :查找文件权限必须要全部包括mode权限的文件,mode用数字表示
    • -perm +mode :查找文件权限包含任一mode的权限的文件,mode用数字表示

    小结

    通过实验楼的学习,我对Linux操作系统有了一个初步认识,虽然对很多抽象的命令都不是很理解,但是我会在接下来的学习中,多操作,多实践,进一步感受命令的神奇之处。

  • 相关阅读:
    QML用Qt.labs.settings实现保存用户设置
    周练1
    Django的Hello World
    python 笔记
    Qt Creator 搭配Git 版本控制
    Windows系统下在Git Bash中把文件内容复制到剪贴板的命令
    【转】Qt之JSON保存与读取
    Qt Creator 中文编译失败 怎么办
    Treap树 笔记
    【POJ1037】A decorative fence(DP)
  • 原文地址:https://www.cnblogs.com/lxy1997/p/6351702.html
Copyright © 2011-2022 走看看