20165236郭金涛 预备做业3 Linux安装及学习

我在Linux安装过程遇到的问题:

一、“不能为虚拟电脑XX打开一个新任务”:linux

 出现这种状况是电脑没有开启blos,解决方法是:开机进入联想界面的时候,直接按F2能够快速进入选择开启blossql

    Linux学习shell

  •  第一章 Linux简介

主要介绍了操做系统的基本概念, Linux 的历史,Linux 与 Windows 的区别等知识。
image

swift

无偿使用vim

安全性高安全

效率高ruby

可定制性bash

应用范畴广app

 


第二章 基本概念及操做

使用 Linux 时,不是直接与系统打交道,而是经过 Shell 来完成的。less

Linux 操做系统下的 Shell 既是用户交互的界面,也是控制系统的脚本语言。

Ubuntu 终端默认使用的是 bash。

建立文件touch file

进入目录cd /etc/

查看当前目录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 将终端显示向下滚动
历史输入命令


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

{c1..c2}| 匹配 c1-c2 中所有字符 如{1..10}

banner主要程序

安装

$ sudo apt-get update $ sudo apt-get install sysvbanner 

打印

$ banner shiyanlou 

字体改变

$ printerbanner -w 50 A 

 


第三章 用户及文件权限管理

  • 查看用户
    $ who am i
    $ who mom likes
  • who命令
参数 说明
-a 打印能打印的所有
-d 打印死掉的进程
-m 同am i,mom likes
-q 打印当前登陆用户数及用户名
-u 打印当前登陆用户登陆信息
-r 打印运行等级
  • 新建用户$ sudo adduser lilei
  • 切换登陆用户$ su -l lilei
  • 退出 exitCtrl+d
  • 查看本身属于哪些用户组

    1.groups命令$ groups shiyanlou

    2.查看/etc/group/文件$ cat /etc/group | sort
    过滤信息$ cat /etc/group | grep -E "shiyanlou"

  • 将其余用户加入sudo用户组

$ su shiyanlou $ groups lilei $ sudo usermod -G sudo lilei $ groups lilei
  • 删除用户 $ sudo deluser lilei --remove-home
  • 变动文件全部者

    $ cd /home/lilei $ ls iphone6 $ sudo chown shiyanlou iphone6
  • 修改文件权限
    $ chmod 700 iphone6
    $ chmod go-rw iphone6

 


第四章 Linux目录结构及文件基本操做

  • Linux目录与Windows目录的区别
  1. Linux以目录为主,Windows以存储介质为主
  • FHS标准
    image
  • 目录路径
  1. 进入上一级目录 $ cd ..
  2. 进入你的home目录 $ cd ~
  3. 使用pwd获取当前目录 $ pwd
  • 绝对路径:以根" / "目录为起点的完整路径,以你所要到的目录为终点
  • 相对路径:以当前目录 . 为起点,以你所要到的目录为终点
  • Linux文件的基本操做
  1. 新建空白文档 touch命令
  2. 新建目录 mkdir命令,使用-p同时建立父目录,例$ mkdir -p father/son/grandson
  3. 复制文件 cp命令,例$ cp test father/son/grandson
  4. 复制目录,cp加上-r-R,例$ cp -r father family
  5. 删除文件:rm,强制删除-f
  6. 删除目录:rm命令加上-r-R
  7. 移动文件:mv,例

    $ mkdir Documents $ mv file1 Documents
  8. 重命名文件:$ mv file1 myfile
  9. 批量重命名:

# 使用通配符批量建立 5 个文件: $ touch file{1..5}.txt # 批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件: $ rename 's/\.txt/\.c/' *.txt # 批量将这 5 个文件,文件名改成大写: $ rename 'y/a-z/A-Z/' *.c
  1. 查看文件cat,tac,nl
  2. 分页查看文件more,less
  3. 查看文件类型,例$ file /bin/ls
  4. 编辑文件,例$ vimtutor

 


第五章 环境变量与文件查找

  • 建立变量$ declare tmp
  • 给变量赋值 $ tmp=shiyanlou
  • 读取变量的值 $ echo $tmp
  • 环境变量

image

与环境变量相关的命令:setenvexport

命 令 说 明
set 显示当前 Shell 全部变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。
env 显示与当前用户相关的环境变量,还可让命令在指定环境中运行。
export 显示从 Shell 中导出成环境变量的变量,也能经过它将自定义变量导出为环境变量。

image

  • 永久生效

Linux变量分为,永久的和临时的。
/etc/bashrc 存放shell变量

/etc/profile 环境变量,永久生效

  • 命令的查找路径和顺序
  1. 查看path环境变量 $ echo $PATH
  2. 建立一个shell脚本文件$ gedit hello_shell.sh
  3. 为文件添加可执行权限$ chmod 755 hello_shell.sh
  4. 执行脚本$ ./hello_shell.sh
  5. 建立一个C语言“hello world”程序$ gedit hello_world.c
  6. 保存后使用 gcc 生成可执行文件$ gcc -o hello_world hello_world.c
  7. 建立目录并移动文件至其中,例:

    $ mkdir mybin $ mv hello_shell.sh hello_world mybin/
  • 添加自定义路径到'PATH'环境变量

添加自定义路径$ PATH=$PATH:/home/shiyanlou/mybin
添加内容 $ echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc

  • 修改和删除已有变量
    1. 变量修改
    变量设置方式 说明
    ${变量名#匹配字串} 从头向后开始匹配,删除符合匹配字串的最短数据
    ${变量名##匹配字串} 从头向后开始匹配,删除符合匹配字串的最长数据
    ${变量名%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最短数据
    ${变量名%%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最长数据
    ${变量名/旧的字串/新的字串} 将符合旧字串的第一个字串替换为新的字串
    ${变量名//旧的字串/新的字串} 将符合旧字串的所有字串替换为新的字串
    1. 变量删除 $ unset temp
  • 如何让环境变量当即生效
    1. source命令,例 $ source .zshrc
    2. source命令的别名.,例 $ source .zshrc
  • 搜索文件
    1. whereis简单快捷,例 $ whereis who
    2. locate快而全,例 $ locate /etc/sh$ locate /usr/share/\*.jpg
    3. which小而精,例 $ which man
    4. find精而细,例 $ sudo find /etc/ -name interfaces
    5. 与时间相关的命令参数
    参数 说明
    -atime 最后访问时间
    -ctime 最后修改文件内容的时间
    -mtime 最后修改文件属性的时间

 


第六章 文件打包和压缩

  • 经常使用压缩包文件格式
文件后缀名 说明
*.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
  1. 使用zip打包文件夹,例:

    $ zip -r -q -o shiyanlou.zip /home/shiyanlou $ du -h shiyanlou.zip $ file shiyanlou.zip
  2. 设置压缩级别打包,例:

$ 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 -h -d 0 *.zip ~ | sort

  1. 建立加密zip包
$ zip -r -l -e -o shiyanlou_encryption.zip /home/shiyanlou
  1. 解压缩文件$ unzip shiyanlou.zip
  2. 安静模式解压缩$ unzip -q shiyanlou.zip -d ziptest
  3. 不解压查看压缩包内容$ unzip -l shiyanlou.zi

指定编码类型unzip -O GBK 中文压缩文件.zip

  • rar
  1. 安装工具
$ sudo apt-get update $ sudo apt-get install rar unrar
  1. 从指定文件或目录建立压缩包或添加文件到压缩包
$ rm *.rar $ rar a shiyanlou.rar .
  1. 删除文件
$ rar d shiyanlou.rar .zshrc
  1. 查看不解压文件
$ rar l shiyanlou.rar
  1. 全路径解压
$ unrar x shiyanlou.rar
  1. 去路径解压
$ mkdir tmp $ unrar e shiyanlou.rar tmp/
  • tar(最经常使用)
  1. 建立tar包
$ tar -cf shiyanlou.tar ~
  1. 解包一个文件到指定目录
$ mkdir tardir $ tar -xf shiyanlou.tar -C tardir
  1. 只查看不解包文件
$ tar -tf shiyanlou.tar
  1. 保留文件属性和跟随连接
$ tar -cphf etc.tar /etc
  1. gzip压缩文件
$ tar -czf shiyanlou.tar.gz ~
  1. 解压*.tar.gz文件
$ tar -xzf shiyanlou.tar.gz
  1. 其余格式
压缩文件格式 参数
*.tar.gz -z
*.tar.xz -J
*tar.bz2 -j

第七章 文件系统操做和磁盘管理

  • 查看磁盘和目录的容量df命令,加上-h更易读
  • du命令查看目录容量
参数 做用
du -h 同--human-readable 以K,M,G为单位,提升信息的可读性。
$ du -h -d 指定查看目录的深度
du -a 同--all 显示目录中全部文件的大小。
du -s 同--summarize 仅显示总计,只列出最后加总的值。
  • 建立虚拟磁盘

  • 建立虚拟镜像文件

$ dd if=/dev/zero of=virtual.img bs=1M count=256 $ du -h virtual.img
  • 格式化磁盘
$ sudo mkfs.ext4 virtual.img
  • 挂在磁盘到目录树
  1. 查看已经挂载的文件系统$ sudo mount
  2. 挂载真正的磁盘到目录树mount [options] [source] [directory]
  3. 经常使用操做mount [-o [操做选项]] [-t 文件系统类型] [-w|--rw|--ro] [文件系统源] [挂载点]
  4. 例:
$ mount -o loop -t ext4 virtual.img /mnt # 也能够省略挂载类型,不少时候 mount 会自动识别 # 以只读方式挂载 $ mount -o loop --ro virtual.img /mnt # 或者mount -o loop,ro virtual.img /mnt
  • 卸载已挂载磁盘$ sudo umount /mnt
  • 为磁盘分区
    1. 查看硬盘分区表信息$ sudo fdisk -l
    2. 进入磁盘分区模式$ sudo fdisk virtual.img
      image
    3. p查看结果
  • 创建镜像与回环设备的关联losetop命令
    步骤以下:
  1. 参看全部回环设备$ sudo losetup /dev/loop0 virtual.img
  2. 解除设备关联$ sudo losetup -d /dev/loop0
  3. 安装kpartx工具

    $ sudo apt-get install kpartx
    $ sudo kpartx -av /dev/loop0 # 取消映射 $ sudo kpartx -dv /dev/loop0
  4. 格式化
  5. 新建四个空目录用于挂载虚拟磁盘:

$ mkdir -p /media/virtualdisk_{1..3} # 挂载磁盘分区 $ sudo mount /dev/mapper/loop0p1 /media/virtualdisk_1 $ sudo mount /dev/mapper/loop0p5 /media/virtualdisk_2 $ sudo mount /dev/mapper/loop0p6 /media/virtualdisk_3 # 卸载磁盘分区 $ sudo umount /dev/mapper/loop0p1 $ sudo umount /dev/mapper/loop0p5 $ sudo umount /dev/mapper/loop0p6
  1. $ df -h命令检查结果

 


第八章 Linux下的帮助命令

内建命令与外部命令

    • 内建命令:shell程序的一部分,包含一些简单的Linux系统命令,不须要建立子进程,执行速度比外部命令快
    • 外部命令:Linux系统中的实用程序部分,包含的程序量很大,命令执行过程由shell程序控制
    • type命令区份内建命令和外部命令.

相关文章
相关标签/搜索