• 20165223 Linux安装及命令入门


    预备作业3:Linux安装及命令入门

    一、VirtualBox和Ubuntu的安装

    通过学习实践基于VirtualBox虚拟机安装Ubuntu图文教程,我开始学习虚拟机的安装,根据教程一步步试着安装。

    安装VirtualBox

    我先点击进入了VirtualBox官网,却只看到了5.2.6和5.1.32两个版本,于是先试着把5.2.6下了下来,想试试看能不能正常安装。然而事情并不尽如人意,安装过程中还是遇到了一些小障碍。

    • 在官网安装的时候下载速度特别慢

    • 在官网中按教程下载的5.2.6版本却在官网中按教程下载的5.2.6版本却莫名变成了5.2.7版本,且安装的时候出现了未知错误。

    因为实在不懂究竟是哪里出了问题,于是我在网上寻找了5.2.6版本的安装包重新下载安装了一次,这次在经过一点小问题后就成功装好了VirtualBox。

    • 在window 7 64位的系统上安装oracle vm virtualBox 之后准备在虚拟机中装系统,发现虚拟机系统选项中只有32位选项没有64位选项,通过查询原因是由于cpu没有开启虚拟化。

      解决方法也不难,在查阅资料后了解到只需重启win10电脑,进入BIOS设置CPU虚拟化,将菜单中Configuration名目下的Intel Virtual Technology的状态从[Disable]切换成[Enable]即可。

    安装Ubuntu

    在询问了几个同学之后,我了解到官网的Ubuntu下载不稳定且缓慢,打开还有错误提示,于是在同学的帮助下找到了另外稳定便捷的途经,并最终成功安装好了Ubuntu。

    二、Linux基础命令的学习

    (1)学习别出心裁的Linux命令学习法

    通过对别出心裁的Linux命令学习法博客的阅读与学习,我了解了Linux相关的一些知识以及各种命令的使用方法。

    • Linux操作系统

    Linux是一种不同于Windows的操作系统,明白了Linux操作系统在计算机系统中包括系统调用和内核两层,如下图所示。

    • Ubuntu重要快捷键
    快捷方式 作用
    CTRL+ALT+T 打开终端
    CTRL+SHIFT+T 新建标签页
    ALT+N 终端中切换到第N个标签页
    Tab 终端中命令补全
    ↑和↓ 切换命令历史
    CTRL+C 中断程序运行
    • Linux 命令
    command [options] [arguments] //即command [选项] [参数]
    
    • man 命令

    man是manual的缩写,通常使用man man命令查看帮助,其中重要的选项有man -k,用于搜索关键字,查找命令,等价命令为apropos;以及man -f cmd,可在找到命令后使用,用于查看命令基本功能,等价命令为whatis

    • cheat 命令

    使用老师给的地址下载后提示我无法打开…可能是安装包有损坏,于是没有自行安装进行深入探讨,只是在实验楼里试用了一下。

    cheat命令是在GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。它提供显示Linux命令使用案例,包括该命令所有的选项和简短但尚可理解的功能。

    ——引用自《别出心裁的Linux命令学习法

    • 其他核心命令

    find: 查找文件在系统中的位置

    locate: 神速版本的find

    grep: 对文件全文检索

    whereiswhich: 查看使用的命令工具装在什么地方

    总结:仔细看完基础博客后,我感受到了Linux学习的前路漫漫,但也因此激发起我的好奇心,还有如此神秘复杂又美丽的语言在等着我去学习去挖掘,我应该更努力的学好这门语言。

    (2) 实验楼的自主学习

    实验楼地址:实验楼

    实验1 Linux 系统简介

    • 实验内容:Linux主要组成部分、历史简介、主要人物、Linux与Windows的不同之处、Linux学习方法
    • 实验结果:进一步了解了Linux操作系统,了解到Linux平台有以下特点:
      • 大都免费
      • 为开源自由软件,用户可以修改定制和再发布,部分软件质量和体验欠缺
      • 比Windows系统更安全
      • 操作方面只需一个键盘就能搞定,一旦熟练掌握将节省大量时间

    实验2 基本概念及操作

    • Linux桌面环境:可以自由定制,大部分用户端都使用的是KDE,GNOME,XFCE,LXDE 等。实验楼目前使用的就是 XFCE 桌面环境。

    • 终端的概念:本质上是对应着 Linux 上的 /dev/tty 设备,默认提供了 6 个纯命令行界面的终端“terminal”来让用户登。,在物理机上可以使用[Ctrl]+[Alt]+[F1]~[F6]进行切换,使用[Ctrl]+[Alt]+[F7]切换回图形界面。

    • Shell(壳)命令解析器,即指“提供给使用者使用界面”的软件,是用户与系统交流的中间程序,也是控制系统的脚本语言。

      普通意义上的 Shell 就是可以接受用户输入命令的程序。它之所以被称作 Shell 是因为它隐藏了操作系统底层的细节。同样的 UNIX/Linux 下的图形用户界面 GNOME 和 KDE,有时也被叫做“虚拟 shell”或“图形 shell”。

    • 基础命令

      touch:创建文件

      cd:进入一个目录

      pwd:查看当前所在目录

    • 快捷键
      Tab:补全命令、目录、命令参数

      Ctrl+c:强行终止当前错误程序

      Ctrl+d:键盘输入结束或输出终端

      Ctrl+s:暂停当前程序,按任意键恢复运行

      Ctrl+z:将当前程序放在后台运行

      fg:后台运行程序恢复前台

      Ctrl+a:光标移至输入行头,相当于Home

      Ctrl+e:光标移至输入行末,相当于End

      Ctrl+k:删除从光标所在位置到行末

      Alt+Backspace:向前删除一个单词

      Shift+PgUp:将终端显示向上滚动

      Shift+PgDn:将终端显示向下滚动

      :历史记录,恢复上一层命令

    • 常用通配符

      *:匹配 0 或多个字符

      ?:匹配任意一个字符

      [list]:匹配list中的任意单一字符

      [!list]:匹配除list中的任意单一字符以外的字符

      [c1-c2]:匹配c1-c2中的任意单一字符 如:[0-9] [a-z]

      {string1,string2,...}:匹配 string1 或 string2 (或更多)其一字符串

      {c1..c2}:匹配 c1-c2 中全部字符 如{1..10}

    • 作业

      • 使用banner命令输出图形文字

      • 使用printerbanner命令输出图形文字(其中- w指定打印宽度)

      • 使用toilet命令输出图形文字

        安装命令:

        sudo apt-get update

        sudo apt-get intsall toilet

      • 使用figlet命令输出图形文字

        安装命令:

        sudo apt-get update

        sudo apt-get intsall figlet

    实验3 用户及文件权限管理

    • 查看用户

      who 命令常用参数

      参数 说明
      -a 打印能打印的全部
      -d 打印死掉的进程
      -m 同am i,mom likes
      -q 打印当前登录用户数及用户名
      -u 打印当前登录用户登录信息
      -r 打印运行等级
    • 创建用户

      su <用户名>:切换用户,需要用户密码

      su -l <用户名>:切换用户,环境变量会跟着改变

      sudo adduser <用户名>:添加新用户

    • 查看用户组

      • 法1:使用groups命令

      • 法2:直接查看/etc/group文件

      • 两种方法中用户需加入sudo组才能获得root权限

    • 删除用户

      sudo deluser <用户名> --remove-home

    • 查看文件权限

      • 文件类型:Linux 里面一切皆文件。

      • 文件权限:一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件。

      • ls命令的常用用法

    参数 说明
    ls 列出并显示当前目录下的文件
    -A 显示除了 .(当前目录)和 ..(上一级目录)之外的所有文件,包括隐藏文件(Linux 下以 . 开头的文件为隐藏文件)
    -Al 查看某一个目录的完整属性
    -dl<目录名> 显示所有文件大小
    -AsSh 其中小s为显示文件大小,大S为按文件大小排序,其它方式排序可用man命令查询
    • 变更文件所有者

      sudo chown <新所有者> <文件名>

    • 修改文件权限

      • 法1:二进制数字表示

    rwx(即一个"7"):每个文件的三组权限顺序固定为拥有者,所属用户组,其他用户

      • 法2:加减赋值操作

    chmod go-rw <用户名>,其中g、o 还有 u 分别表示 group、others 和 user,+和-分别表示增加和去掉相应的权限

    • adduser与useradd的区别

      • useradd 只创建用户,创建完了用 passwd <用户名> 设置新用户的密码

      • adduser 可以一次性完成创建用户,创建目录,创建密码(提示你设置)这一系列的操作

      • useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要用户自行完成输入、确定等一系列操作。

    • 作业

      使用以下指令添加一个用户 loutest,使用 sudo 创建文件 /opt/forloutest,设置成用户 loutest 可以读写。

      sudo adduser loutest

      sudo usermod -G sudo loutest

      sudo touch /opt/forloutest

      chmod 600 /opt/forloutest

      ll /opt/forloutest

    实验4 Linux目录结构及文件基本操作

    • 实验内容:Linux的文件组织目录结构。相对路径和绝对路径。对文件的移动、复制、重命名、编辑等操作。
    • 目录结构
      • FHS标准

    • 目录的四种交互作用的形态

    • 目录路径

      • 路径
        cd:切换目录
        -:上一次所在目录
        :当前用户的 home 目录
        pwd:获取绝对路径
      • 绝对路径
        cd /usr/local/bin
      • 相对路径
        cd ../../usr/local/bin
    • 新建文件touch新建空白文件,若创建名为 test 的空白文件,因为在其它目录没有权限,则需先使用 cd ~ 切换回用户的 /home/用户名 目录

    • 新建目录mkdir新建目录,使用-p参数,同时创建父目录(如果不存在该父目录),可以使用mkdir -p father/son/grandson同时创建一个多级目录(这在安装软件、配置安装路径时非常有用)

    • 复制文件cp test<文件名> father/son/grandson<路径>

    • 复制目录cp -r father family,要成功复制目录需要加上 -r 或者 -R 参数,表示递归复制

    • 删除文件:用rm text删除文件,强制删除参数用rm -f text

    • 删除目录rm -r familyrm -R family

    • 移动文件mv 源目录文件 目的目录,使用mv命令移动文件(剪切)

    • 重命名文件mv 旧的文件名 新的文件名rename批量重命名

    • 查看文件

    命令 效果
    cat 正序显示打印文件内容到标准输出(终端),加上 -n 参数显示行号
    tac 倒序打印文件内容到标准输出(终端)
    nl 添加行号并打印,比cat -n更专业的行号打印命令
    more和less 分页查看文件,用于阅读文件
    head和tail 只查看文件的头几行(默认为 10 行,不足 10 行则显示全部)和尾几行
    查看文件类型 使用 file 命令
    • 作业

    创建一个 homework 目录,建立名为 1.txt~10.txt 文件,并删除 1.txt~5.txt

    实验5 环境变量与文件查找

    • 实验内容:实验5中所包含的内容颇多,让我获益匪浅,最后的“实验雨”也令我十分惊艳很感兴趣。实验内容主要包括介绍环境变量的作用与用法,及几种搜索文件的方法。
    • 作业:找出 /etc/ 目录下的所有以 .list 结尾的文件

    挑战1:寻找文件

    学习到这里,我遇到了第一个小挑战,打开了果然是对前5个实验的一个总结实验,我分为以下三个步骤完成了这次挑战。
    介绍

    • 题目:有一个非常重要的文件(sources.list)但是你忘了它在哪了,你依稀记得它在/etc/目录下,现在要你把这个文件找出来,然后设置成自己可以访问,但是其他用户并不能访问

    • 目标:找到sources.list文件;把文件所有者改为自己(shiyanlou);把权限修改为仅仅只有自己可读可写

    • 解答:

      sudo find /etc/ -name sources.list //寻找指定文件地址

      sudo chown shiyanlou /etc/apt/sources.list //将文件拥有者改为shiyanlou

      chmod 600 /etc/apt/sources.list //使用二进制法改变权限

      ll /etc/apt/sources.list //查看结果

    实验6 文件打包与解压缩

    • 实验内容:介绍 Linux 上常用的压缩/解压工具,主要讲解 zip,rar,tar 的使用
    • Linux常见压缩包文件格式
    文件后缀名 说明
    *.zip zip 程序打包压缩的文件
    *.rar rar 程序压缩的文件
    *.7z 7zip 程序压缩的文件
    *.tar tar 程序打包,未压缩的文件
    *.gz gzip 程序(GNU zip)压缩的文件
    *.xz xz 程序压缩的文件
    *.bz2 bzip2 程序压缩的文件
    *.tar.gz tar 打包,gzip 程序压缩的文件
    *.tar.xz tar 打包,xz 程序压缩的文件
    *tar.bz2 tar 打包,bzip2 程序压缩的文件
    *.tar.7z tar 打包,7z 程序压缩的文件

    重点是zip、rar、tar格式

    • 常见参数
    参数 说明
    -r 递归打包包含子目录的全部内容
    -q 安静模式,即不向屏幕输出信息
    -o 输出文件,需在其后紧跟打包输出文件名
    -x 排除上次创建的zip文件,防止重复打包,只能使用绝对路径
    -e 创建加密压缩包
    -l 将LF转换为CR+LF,排除没有换行的问题

    另外使用参数-[1-9],表示压缩级别为1-9,1表示最快压缩但体积大,9表示体积最小但耗时最久。举例如下:

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

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

    • zip打包和unzip解压

      • zip

        • 打包文件夹:zip 打包输出文件名.zip 被打包目录
      • unzip

        • 解压到当前目录:unzip 压缩文件名.zip

        • 解压到指定目录:unzip -q 压缩文件名.zip -d ziptest

        • 查看压缩包内容:unzip -l 压缩文件名.zip

    • rar打包和unrar解压

      • rar打包

        • 从指定文件或目录创建压缩包或添加文件到压缩包:rm *.rarrar a 打包输出文件名.rar

        • 注意:rar命令参数中没有“-”,否则会报错

        • 从指定压缩包文件中删除某个文件:rar d 压缩文件名.rar .zshrc

        • 查看不解压文件:rar l 压缩文件名.rar

      • unrar解压

        • 全路径解压:

        unrar x shiyanlou.rar

        • 去掉路径解压:

        mkdir tmp

        unrar e shiyanlou.rar tmp/

    • tar打包与压缩

      • tar的解压和压缩都是同一个命令,只需参数不同,使用比较方便

      • tar打包:tar -zcvf something.tar something

      • tar解压:tar -zxvf something.tar

      • 指定路径:-C 参数

        压缩文件格式 参数
        *.tar.gz -z
        *.tar.xz -J
        *tar.bz2 -j
    • 作业:创建一个名为 test 的文件,分别用 zip 和 tar 打包成压缩包,再解压到 /home/shiyanlou 目录

      • 解答:
        使用zip和unzip打包和解压:

        使用tar打包和解压:

    • 总结

      文件格式 解压方法
      *.tar 用tar –xvf解压
      *.gz 用gzip -d或者gunzip解压
      *.tar.gz 和 *.tgz 用tar –xzf解压
      *.bz2 用bzip2 -d或者用bunzip2解压
      *.tar.bz2 用tar –xjf解压
      *.Z 用uncompress解压
      *.tar.Z 用tar –xZf解压
      *.rar 用unrar e解压
      *.zip 用unzip解压

    实验7 文件系统操作与磁盘管理

    • 实验内容:df,du,mount命令的使用及磁盘相关知识学习,这一节内容比较容易,大多是概念性知识点,很多新名词新概念需要进一步理解。
    • 作业:找出当前目录下面占用最大的前十个文件。

    三、总结

    这次的实验是三次预备实验中最困难的,主要的目的是让我们较泛的了解Linux的基本操作,我也确实在实战中掌握了一些操作技巧,更因此感受到了Linux的奇妙之处,激发起我学习的兴趣。希望我能在这一学期的学习中较好地掌握这门语言。

  • 相关阅读:
    F# 语法概览
    Excel 帮助无法正常工作的解决方法
    autofac 组件的实例范围
    visual studio code 中隐藏从 ts 文件生成的 js 文件和 map 文件
    git vim 编辑器基本操作
    nhibernate 中 lazy="no-proxy" 时的问题
    什么是数据科学
    Elasticsearch 疑难解惑
    Hadoop MapReduce执行过程实例分析
    深入浅出JVM
  • 原文地址:https://www.cnblogs.com/moddy13162201/p/8465899.html
Copyright © 2020-2023  润新知