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

Linux安装及学习

安装部分

由于是第一次接触虚拟机知识,之前也没什么了解,我选择完全按照老师教程里的安装vbox虚拟机。

虚拟机安装的过程很顺利,不做详细讲解。

出现的问题

  • 在启动我新建的虚拟电脑时出现了问题。问题显示如下

我在百度以后得到了学姐的帮助。进入BIOS,选择Configuration中的Intel Uirtual Technology,将Disabled改为Enabled 后保存。

  • 我在安装增强功能时显示安装失败。问题显示如下

在查找资料挣扎了很久之后...好吧,发现是我一开始新建虚拟电脑时粗心,将版本选成了32bit,我的主机系统是64bit,这造成了冲突。重新建立虚拟电脑就顺利解决了。

收获

第一次独立安装虚拟机和系统,在一开始知识照着老师的教程一步一步做,在遇到问题后,我努力自己尝试解决,并没有急于立刻求助别人,在思考过程中,我逐渐理解了虚拟机和系统之间的关系(在此之前真的是一只电脑小白)除此之外,和win不同的系统操作方法也让我感到新颖,Linux不像win好上手易于理解,相对更直观地把每一步操作都显示出代码,清楚地展现在我眼前。假期间我还根据百度自己调出了win里的终端,修改了不知道为啥自己跳脱的无线网设置。

学习部分

一、学习别出心裁的Linux命令学习法

  • Linux的构架:硬件、内核、系统调用、壳(shell)、库函数、应用。
  • Ubuntu快捷键

    Ctrl+Alt+T:打开终端;

    Ctrl+Shift+T:新建标签页;

    Alt+数字+N:跳转标签页;

    Tab:补全终端命令,在C语言编程中也常用;

    上键:切换历史命令;

    Ctrl+C:中断程序;

  • Linux命令

    命令格式:command [options] [arguments]

  • man命令

    manual(手册、指南),可以使用man man命令查看帮助,其中man -k用于搜索关键字,根据相匹配数字来查找所需内容。接着可以用man -f查看命令基本功能。

  • cheat命令

    看起来就很有趣,但是...好吧,看了老师的讲解一头雾水,还是老实安装动手实操。

    安装的时候提示我无法获得锁/var/lib/dpkg/lock-open(11:资源暂时不可用),大概是我瞎玩耍的时候什么命令执行了一半?orz..输入指令sudo rm/var/lib/dpkg/lock强行终止就可以了,希望不要留下什么后遗症。

  • 其他核心命令

    find查找文件路径

    locate神速版本find

    grep对文件全文检索

    whereis,which查找命令工具装在什么地方.

二、Linux系统简介

  • 构成部分(见上部分)、历史简介、主要人物
  • Linux为开源自由软件,部分软件质量和体验欠缺。安全性比Windows更高。操作入门难,但效率极高。
  • 关于学习Linux:现阶段还处在一个新鲜的尝试和接触阶段,尚不清楚自己要用它来做什么。不过我非常认同老师说的打好基础的重要性,把概念结合实际操作理解透彻了再想应用,我认为更稳妥。

三、基本概念和操作

  • 终端的概念:本质上是对应着 Linux 上的 /dev/tty 设备,默认提供了 6 个纯命令行界面的终端,在物理机系统上你可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行切换,通过按下[Ctrl]+[Alt]+[F7]来切换回图形界面。
  • shell壳:他是我们与系统交流的中间程序,也是控制系统的脚本语言。
  • 命令行操作touch创建文件、cd进入一个目录、pwd查看当前所在目录,其他命令可参看Linux命令大全
  • 重要快捷键

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

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

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

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

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

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

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

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

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

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

  • 通配符:通配符是一种特殊语句,主要有星号(*)和问号(?),用来对字符串进行模糊匹配(比如文件名、参数名)。
  • shell通配符

    *:匹配0或多个字符

    ?:匹配任意一个字符

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

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

    [c1-c2]:匹配c1-c2中的任意单一字符

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

    {c1,c2,...}:匹配c1-c2中的全部字符

四、用户及文件权限管理

  • 查看用户:输入whoami回车,输出第一列为当前伪终端用户名,第二列的pts/数字表示打开的伪终端序号,第三列则表示当前伪终端的启动时间。
  • who命令

    -a:打印能打印的全部

    -d:打印死掉的进程

    -m:和am i,mom likes相同

    -q:打印当前登录用户数和用户名

    -u:打印当前登录用户登录信息

    -r:打印运行等级

  • 创建用户

    在 Linux 系统里, root 账户拥有整个系统至高无上的权利,比如 新建/添加 用户。

    这时就需要sudo这个命令。

    新建一个用户:$ sudo adduser 用户名

    添加用户到系统并默认为新用户创建 home 目录:

    $ ls /home

    切换新建用户:$ su -l 用户名

    之后输入密码...退出用户和退出终端方法一致。

  • 用户组

    使用groups命令,显示为用户名:用户组或者使用cat命令,直接查看/etc/group文件。用户需要加入sudo组才能获得root权限,操作如下:

    $ su shiyanlou # 此处需要输入shiyanlou用户密码
    $ groups lilei
    $ sudo usermod -G sudo lilei
    $ groups lilei
  • 删除用户$ sudo deluser 用户--remove-home
  • 查看文件权限

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

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

  • ls命令的常用用法:

    ls:列出并显示当前目录下的文件

    -A:显示除了 .(当前目录)和 ..(上一级目录)之外的所有文件,包括隐藏文件(Linux 下以 . 开头的文件为隐藏文件)。

    -Al:查看某一个目录的完整属性

    -dl<目录名>:显示所有文件大小

    -AsSh:其中小s为显示文件大小,大 S 为按文件大小排序,可用man知道如何按其它方式排序

  • 变更文件所有者$sudo chown <新所有者> <文件名>
  • 修改文件权限
  • 方式一:二进制数字表示

    rwx对应拥有者,所属用户组,其他用户

    $ chmod 数字 文件名

  • 方式二:加减赋值操作

    go 还有 u 分别表示 group、others 和 user,+-分别表示增加和去掉相应的权限

    $ chmod go-rw 文件名

  • adduseruseradd区别

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

五、Linux 目录结构及文件基本操作

  • FHS标准

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

  • 目标路径

    windows里磁盘、文件夹也有路径。在Linux中,使用 cd 命令可以切换目录。- 表示上一次所在目录, 通常表示当前用户的 home 目录。

  • 绝对路径

    以根" / "目录为起点的完整路径,以你所要到的目录为终点。这与windows我们下载软件时选择路径类似。

  • 相对路径

    以当前目录 . 为起点,以你所要到的目录为终点.使用 pwd 命令可以获取当前所在路径(绝对路径)。

  • 新建文件

    新建空白文件,因为在其它目录没有权限,所以需要先 cd ~ 切换回用户的 /home/用户名 目录

  • 新建目录

    使用 mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性。使用 -p 参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录(这在安装软件、配置安装路径时非常有用)。效果为$ mkdir -p father/son/grandson

  • 复制文件:

    使用 cp(copy)命令复制一个文件到指定目录。$ cp test(文件名) father/son/grandson(路径)

  • 复制目录

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

  • 删除文件:

    使用 rm命令删除一个文件,用 -f可以强制删除参数。

  • 删除目录:

    要成功删除目录需要加上 -r 或者 -R 参数。

  • 移动文件:

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

  • 重命名文件:

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

  • 查看文件:

    cat:正序显示打印文件内容到标准输出(终端),加上 -n 参数显示行号

    tac:倒序打印文件内容到标准输出(终端)

    nl:添加行号并打印,比cat -n 更专业的行号打印命令

  • 使用 moreless 命令分页查看文件

    用于阅读文件。打开后默认只显示一屏内容,终端底部显示当前阅读的进度。可以使用 Enter 键向下滚动一行,使用 Space 键向下滚动一屏,按下 h 显示帮助,q 退出。

  • 使用 headtail 命令查看文件

    只查看文件的头几行(默认为 10 行,不足 10 行则显示全部)和尾几行。

  • 查看文件类型:使用 file 命令查看文件的类型

六、环境变量与文件查找

  • 变量

    declare:创建一个变量

    =:赋值运算符

    echo&$:读取变量的值,$ 符号用于表示引用一个变量的值

    变量名:并不是任何形式的变量名都是可用的,变量名只能是英文字母、数字或者下划线,且不能以数字作为开头

  • 环境变量
  • 判定环境变量:在当前进程的子进程有效则为环境变量,否则不是。
  • 三种环境变量相关的命令:

    set:显示当前 Shell 所有变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。

    env:显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。

    export:显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量。

  • 环境变量永久生效

    /etc/bashrc/etc/profile ,它们分别存放的是 shell 变量和环境变量。如果想要添加一个永久生效的环境变量,只需要打开 /etc/profile,在最后加上你想添加的环境变量就好啦。

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

    一定要使用绝对路径添加自定义路径到 PATH 环境变量:$PATH=$PATH:/home/shiyanlou/mybin

    >>: 表示将标准输出以追加的方式重定向到一个文件中

    > : 是以覆盖的方式重定向到一个文件中

  • 变量修改

  • 变量删除:使用 unset 命令删除一个环境变量
  • 让环境变量立即生效:
  • $ source .zshrc(配置文件)
  • $ . ./.zshrc(后面的文件必须指定完整的绝对或相对路径名)
  • 搜索文件

    whereis简单快速: 直接从数据库中查询,只能搜索二进制文件(-b),man 帮助文件(-m)和源代码文件(-s)。

    locate快而全: 手动执行一次 updatedb 命令,用于更新它的查找对象——“ /var/lib/mlocate/mlocate.db ”数据库,它可以用来查找指定目录下的不同文件类型。

    which小而精: 通常使用 which 来确定是否安装了某个指定的软件,因为它只从 PATH 环境变量指定的路径中去搜索命令

    find精而细: 它不但可以通过文件类型、文件名进行查找而且可以根据文件的属性(如文件的时间戳,文件的权限等)进行搜索。find 的第一个参数是要搜索的地方:$ sudo find /etc/ -name 文件或目录

    注意 find 命令的路径是作为第一个参数的, 基本命令格式为 find [path] [option] [action] 。

  • 与时间相关的命令参数:

    -atime:最后访问时间

    -ctime:最后修改文件内容的时间

    -mtime:最后修改文件属性的时间

  • 与这些参数相关的天数命令(以 -mtime 参数举例)

    -mtime n:n 为数字,表示为在 n 天之前的“一天之内”修改过的文件

    -mtime +n:列出在 n 天之前(不包含 n 天本身)被修改过的文件

    -mtime -n:列出在 n 天之内(包含 n 天本身)被修改过的文件

    -newer file:file 为一个已存在的文件,列出比 file 还要新的文件名

  • 列出 home 目录中,当天(24 小时之内)有改动的文件:

    $ find ~ -mtime 0

  • 列出用户家目录下比 Code 文件夹新的文件:

    $ find ~ -newer /home/shiyanlou/Code

七、文件打包与压缩

  • 常见常用的压缩包文件格式

    *.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 程序压缩的文件

  • 一些参数

    -r: 表示递归打包包含子目录的全部内容

    -q: 表示为安静模式

    -o: 表示输出文件,需在其后紧跟打包输出文件名

    -O: 解压时可以指定编码类型unzip -O GBK 中文压缩文件.zip

    du: 分别查看默认压缩级别、最低、最高压缩级别及未压缩的文件的大小 $ du -h -d 0 *.zip ~ | sort(其中-h意为表达为人们可读的方式-d意为所查看文件的深度)

    -x:排除我们上一次创建的 zip 文件,否则又会被打包进这一次的压缩文件中。 $ zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou -x ~/*.zip设置压缩级别为 9 和 1(9 最大,1 最小)只能使用绝对路径

    -e: 创建加密压缩包

    -l: 将 LF 转换为 CR+LF,排除在 Windows 系统上打开看起来是没有换行的问题

  • zip压缩打包程序

    打包 :zip 打包输出文件名.zip 被打包目录 (目录请加 -r 参数)

  • zip解压缩

    解包:unzip something.zip(解压sth.到当前目录)

  • rar 打包压缩命令
  • rar 的命令参数没有 -,如果加上会报错
  • 从指定压缩包文件中删除某个文件:$ rar d shiyanlou.rar .zshrc
  • 查看不解压文件:$ rar l shiyanlou.rar
  • 使用 unrar 解压 rar 文件:$ unrar x shiyanlou.rar(全路径解压);$ mkdir tmp $ unrar e shiyanlou.rar tmp/(去掉路径解压)
  • tar 打包工具
  • 打包:tar -zcvf something.tar something
  • 解包:tar -zxvf something.tar
  • 指定路径:-C 参数

    压缩文件格式: 参数

    *.tar.gz : -z

    *.tar.xz : -J

    *tar.bz2 : -j

  • 一些参数:

    -c:创建一个 tar 包文件

    -f:用于指定创建的文件名,注意文件名必须紧跟在 -f 参数之后

    -p:保留绝对路径符

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

    只查看不解包文件 -t 参数:$ tar -tf shiyanlou.tar

八、文件系统操作与磁盘管理

  • 查看磁盘的容量
  • df: 查看磁盘的容量
  • 增强可读性用参数-h: $ df -h

  • 查看目录的容量
  • du: 查看目录的容量
  • 增强可读性用参数-h
  • 指定查看目录的深度-d:

  • 常用参数:

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

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

  • 创建虚拟磁盘
  • dd命令:用于转换和复制文件,也可以读取文件或写入到这些文件。它的命令行选项格式为选项=值.可以用选项if(input file,输入文件)和of(output file,输出文件)改变标准输入和输出。
  • 使用 dd 命令创建虚拟镜像文件:

    从/dev/zero设备创建一个容量为 256M 的空文件:

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

  • 使用 mkfs 命令格式化磁盘

    将我们的磁盘镜像格式化为ext4文件系统:

    $ sudo mkfs.ext4 virtual.img(磁盘)

    Linux支持的文件系统:

  • 使用 mount 命令挂载磁盘到目录树

    mount: mount 指令是告诉操作系统,对应的文件系统已经准备好,可以使用了,而该文件系统会对应到一个特定的点(称为挂载点)。挂载好的文件、目录、设备以及特殊文件即可提供用户使用。

    mount命令的一般格式如下:

    mount [options] [source] [directory]

    一些常用操作:

    mount [-o [操作选项]] [-t 文件系统类型] [-w|--rw|--ro] [文件系统源] [挂载点]

  • 使用 umount 命令卸载已挂载磁盘

    $ sudo umount /mnt

  • 使用 fdisk 为磁盘分区

    进入磁盘分区模式:

    $ sudo fdisk virtual.img

九、Linux下的帮助命令

  • 内建命令与外部命令
  • 得到这样的结果说明是内建命令,正如上文所说内建命令都是在 bash 源码中的 builtins 的.def中

    xxx is a shell builtin

  • 得到这样的结果说明是外部命令,正如上文所说,外部命令在/usr/bin or /usr/sbin等等中

    xxx is /usr/sbin/xxx

  • 若是得到alias的结果,说明该指令为命令别名所设定的名称

    xxx is an alias for xx --xxx

  • help命令
  • ubuntu 的环境base内置有help命令,可以直接使用
  • help 命令是用于显示 shell 内建命令的简要帮助信息,但是只能用于显示内建命令的帮助信息
  • ls --help:外部命令的话基本上都有一个参数--help
  • man命令
  • 通过查看系统文档中的 man 也可以得到程序的更多相关信息和 Linux 的更多特性
  • 打开手册之后我们可以通过 pgup 与 pgdn 或者上下键来上下翻看,可以按 q 退出当前页面
  • man手册章节

  • info命令

    man 和 info 就像两个集合,它们有一个交集部分,但与 man 相比,info 工具可显示更完整的 GNU 工具信息。

原文地址:https://www.cnblogs.com/wangyaojia/p/8460608.html

时间: 2024-10-07 10:19:56

20165322 预备作业3 Linux安装及学习的相关文章

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

20165230 预备作业3 Linux安装及学习 安装Linux操作系统 通过学习实践基于VirtualBox虚拟机安装Ubuntu图文教程,开始了虚拟机的安装,根据教程按着步骤一步一步的完成. 遇到的问题: 1.在安装Ubuntu系统软件的时候,点开官网下载页出现了错误,下载未能成功 2.在选择启动盘的时候没有直接选择压缩包,而是解压后选择的文件,出现了安装错误 解决办法: 1.通过求助于同学,得到了Ubuntu系统软件的下载资源,得以成功下载 2.通过重新下载Ubuntu系统软件,并重新选

20165211 预备作业3 Linux安装与学习

20165211 预备作业3 Linux安装与学习 1. Linux安装 涉及软件:VirtualBox,Ubuntu 参考教程:基于VirtualBox安装Ubuntu图文教程 安装过程的问题 在安装VirtualBox之后,创建虚拟机的过程中,类型为Linux,但在版本里找不到64-bit的Ubuntu. 在网上查找了一些资料之后,我发现是自己的电脑没有开启虚拟化,应该要进入BIOS打开虚拟化.这里真的要吐槽一下win10,我找了很多的方法教程,才终于找到了进入BIOS的方法.这应该也和各个

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

20165212 预备作业3Linux安装及学习 Linux虚拟机的安装过程 我像大部分同学一样,通过助教学姐给的Ubuntu下载地址下载映像文件.VB,但是屡次出现问题,不停的闪出一下错误提示窗口: 在像同学求助无果之后我使用VM.Ubuntu安装了Linux虚拟机(安装过程与云班课中的基本相同),并且可以正常使用 Linux学习过程记录及作业 1.Linux系统简介 学习记录 终端模拟器:为了实现在一个窗口中完成用户的输入和输出.本质是Linux上的dev/tty设备,打开方式:ctrl+a

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

Linux 安装及学习 一.VirtualBox和Ubuntu的安装 依照老师所给的步骤下载了VirtualBox 5.2.6和Ubuntu 16.04.3. 按照步骤一步一步进行了安装,出现的问题有Ubuntu下载安装错误最后在中文版网址下载安装成功,还有在安装增强功能时,因版本问题增强功能已安装了就没有覆盖安装. 收获:这是自己第一次安装系统,既感到有趣,又感到具有挑战性,不断丰富了自己的经验,让我对学习计算机语言有了更多的期待,虽然在这之间要解决很多问题,但依旧耐着性子寻找答案最终得到了解

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

Linux安装及学习 一.VirtualBox和Ubuntu安装 问题一:虚拟机中Ubuntu的版本 在设置虚拟机的操作系统的版本时,我发现我的电脑只能设置32-bit的Ubuntu版本.教程上选用了64-bit的,不知道出了什么问题. 不过教程上说只需要选择Ubuntu就行,可能没什么问题. 但我怀疑是我没有下载安装最新版本的Ubuntu,于是在第二部我下载好了以后又回来试一试. 那么问题来了...... 首先是之前下载的网址失效了,我问同学找到了新网址:http://cn.ubuntu.co

20165216 预备作业3 Linux安装及学习.

Linux 安装及学习 一.关于VirtualBos和Ubuntu的安装 对于本次安装,由于没有安装系统的经验,大多是按照老师的步骤去进行的.在本次安装中,出现的一个较大的问题是虚拟机系统版本中,并没有Ubuntu(64-bit). 一开始我认为可能是程序读取失败,重启后发现仍有问题,在查阅电脑属性的图         (如下图) 以及通过securable验证电脑位数以及是否可运行64位的虚拟机 最后都无问题,最终发现在蓝墨云班课中有同学提出并由另一个同学解决了得,最终通过修改Security

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

java第三次预作业--Linux安装及命令入门(学习记录) 通过老师给的学习基于VirtualBox虚拟机安装Ubuntu图文教程,我在自己笔记本上安装Linux操作系统,在安装过程中我遇到一些问题: Ubuntu下载时,发现老师给的地址总是显示无法找到网页,在这卡了很久,最终是通过和同学要压缩包的方式完成了下载: 在准备安装utubun时,发现网络不好的情况下,安装utubun时下载更新无法选中 安装虚拟机增强时,在输入代码完成最终操作时,发现最后一行的密码输入没有反应 最终我翻阅云班课中的

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

一.Linux安装 首先我按照老师所给的步骤下载了VirtualBox 5.2.6和Ubuntu 16.04.3.有流程下载很简单,但是在下载的过程中还是出现了一些问题. 1.VirtualBox 只能安装32位的系统 经过百度搜寻找到了解决问题的方法,需要在开机时要到BIOS里设置一下,开启CPU虚化.具体步骤为<解决VirtualBox只能安装32位系统的问题> 2.按照老师所给的链接下载了Ubuntu之后无法打开 未发现是什么原因,不过通过其他渠道重新下载之后就可以正常打开了. 二.Li

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

一.Linux安装 安装过程按照老师博客中的步骤依次进行,出现了以下问题. 虚拟机系统版本只能安装32位的系统 百度找到了解决方法,要到BIOS里开启CPU虚化. 二.Linux命令学习 1.别出心裁的Linux命令学习法 要掌握的快捷键 CTRL+ALT+T:打开终端,天天使用终端,用鼠标打开太低效了: CTRL+SHIFT+T:新建标签页,编程时有重要应用: ALT+数字N:终端中切换到第N个标签页,编程时有重要应用: Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可