20165309 Linux安装及学习
Linux安装及学习
安装虚拟机
结合娄老师的博客《基于VirtualBox虚拟机安装Ubuntu图文教程》和对一些小问题的百度,我也算是很顺利地完成了安装。

然后,按照步骤安装了虚拟机增强功能并配置了Ubuntu。


最后,通过《做中学之Vim实践教程》,利用vimtutor实践学习了vim编辑器(不知道为啥我用的不是30分钟,而是一个多小时...),随手便签式笔记如下:

实践的过程不仅有趣,而且很帮助记忆~
学习Linux 基础入门(新版)
一、基本概念及操作
重要快捷键
[Tab] 能够补全命令,补全目录、补全命令参数
[Ctrl+c] 强行终止

Shell 常用通配符

一次性创建多个文件:
$ touch love_{1..10}_linux.txt
man命令调用手册页
显示第一区段中的ls命令 man 页面:
$ man 1 ls
帮助文档包含:
1 Executable programs or shell commands(用户命令帮助,是普通的Linux命令)
2 System calls (系统调用帮助,是系统调用、操作系统的提供的服务接口)
3 Library calls (库函数调用帮助,是库函数、C语言中的函数)
4 Special files (usually found in /dev)
5 File formats and conventions eg /etc/passwd(配置文件帮助,是指文件的格式:比如passwd, 就会说明这个文件中各个字段的含义)
6 Games(由各个游戏自己定义)
7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) (是附件还有一些变量,比如environ这种全局变量)
8 System administration commands (是系统管理用的命令,这些命令只能由root使用,如ifconfig)
9 Kernel routines [Non standard]
二、用户及文件权限管理
| 功能 | 命令 |
|---|---|
| 查看用户 | $ who am i |
| 创建用户 | $ sudo adduser lilei |
| 登录用户 | $su -l lilei |
| 退出登录 | $exit 或(Ctrl+D) |
| 删除用户 | $ sudo deluser lilei --remove-home |
| 查看文件权限 | $ls -l |
| 查看所有文件 | $ ls -Al |
| 查看某一个目录的完整属性,而不是显示目录里面的文件属性 | $ ls -dl <目录名> |
| 显示所有文件大小,并以普通人类能看懂的方式呈现 | $ ls -AsSh |

查看自己用户组
# 在有root权限的用户下
# 查看lilei所在的用户组
$ groups lilei
# 将lilei添加到拥有sudo权限的用户组中
$ sudo usermod -G sudo lilei
# 查看lilei所在的用户组
$ groups lilei
修改用户权限
有二进制数字表示和加减赋值操作两种方式。
三、Linux 目录结构及文件基本操作
| 功能 | 命令 |
|---|---|
| 新建文件 | $ touch test |
| 新建目录 | $ mkdir mydir |
| 新建多级目录 | $ mkdir -p father/son/grandson |
| 复制文件 | $ cp test father/son/grandson |
| 复制目录 | $ cp -r father family |
| 删除文件 | $ rm -f test |
| 删除目录 | $ rm -r family |
| 剪切文件 | $ mv src dest |
| 重命名文件 | $ mv file myfile |
| 查看文件 | $ cat -n [file],$ tac [file],$ nl -b a/t -n ln/rn/rz [file] |
| 阅览模式 | $ more [file] |
| 查看文件类型 | $ file [file] |
四、环境变量与文件查找
变量定义
#定义变量
declare $变量名
#或者直接赋值也自动定义变量,注意变量之前不带"$"
变量名=值
#打印变量的值,"$"代表引用变量的值
echo $变量名
涉及到的三种环境变量
- set :显示当前 Shell 所有环境变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量
- env :显示与当前用户相关的环境变量,还可以让命令在指定环境中运行
- export :显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量
输出环境变量
#将普通变量输出为环境变量,能被子进程继承
export 变量名
#比较文件的命令
vimdiff 1.txt 2.txt 3.txt ....
命令的查找路径与顺序
$PATH环境变量设置命令搜索路径
#输出当前命令搜索路径的设置
echo $PATH
#./程序名 表示执行当前目录下的指定程序
$PATH中临时添加自定义路径,用冒号连接路径
PATH=$PATH:/home/shiyanlou/Code
如果永久添加需要修改配置文件
zsh是.zshrc bash是.bashrc
本次修改用户目录下的文件
$ echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc
变量修改
| 变量设置方式 | 说明 |
|---|---|
| ${变量名#匹配字串} | 从头向后开始匹配,删除符合匹配字串的最短数据 |
| ${变量名##匹配字串} | 从头向后开始匹配,删除符合匹配字串的最长数据 |
| ${变量名%匹配字串} | 从尾向前开始匹配,删除符合匹配字串的最短数据 |
| ${变量名%%匹配字串} | 从尾向前开始匹配,删除符合匹配字串的最长数据 |
| ${变量名/旧的字串/新的字串} | 将符合旧字串的第一个字串替换为新的字串 |
| ${变量名//旧的字串/新的字串} | 将符合旧字串的全部字串替换为新的字串 |
变量删除
$ unset temp
让环境变量立即生效
$ source .zshrc或$ . ./.zshrc
注意第二种方式必须指定完整的绝对或相对路径
搜索文件
- whereis 简单快速
- locate快而全
- which小而精
- find精而细
五、文件打包与解压缩
常用命令:

六、文件系统操作与磁盘管理
| 功能 | 命令 |
|---|---|
| 查看磁盘的容量 | $ df |
| 查看目录的容量 | $ du |
常用参数
- du -d #指定查看目录的深度
# 只查看1级目录的信息
$ du -h -d 0 ~
# 查看2级
$ du -h -d 1 ~
- du -h #同--human-readable 以K,M,G为单位,提高信息的可读性。
- du -a #同--all 显示目录中所有文件的大小。
- du -s #同--summarize 仅显示总计,只列出最后加总的值。
简单的磁盘管理
- 用dd命令从标准输入读入用户输入到标准输出或者一个文件
输出到文件
$ dd of=test bs=10 count=1 # 或者 dd if=/dev/stdin 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
- 使用mount命令挂在磁盘到目录树
mount命令的一般格式如下:
mount [options] [source] [directory]
常用操作:
mount [-o [操作选项]] [-t 文件系统类型] [-w|--rw|--ro] [文件系统源] [挂载点]
使用 umount 命令卸载已挂载磁盘:
$ sudo umount 已挂载设备名或者挂载点
- 使用umount命令卸载已挂载磁盘
- 使用fdisk为磁盘分区
- 使用losetup命令建立镜像与回环设备的关联
七、Linux下的帮助命令
| 功能 | 命令 |
|---|---|
| 区分命令是内建的还是外部的 | type |
| 显示 shell 内建命令的简要帮助信息 | help |
| 显示 shell 外部命令的简要帮助信息 | --help |
| 显示系统手册页中的内容 | man |
| 能够更完整的显示出 GNU 信息 | info |
20165309 Linux安装及学习的更多相关文章
- 20165226 预备作业3 Linux安装及学习
20165226 预备作业3 Linux安装及学习 Linux安装 一.下载安装VirtualBox 1.首先在官网下载,点开基于VirtualBox虚拟机安装Ubuntu图文教程 找到版本进行下载安 ...
- 20165230 预备作业3 Linux安装及学习
20165230 预备作业3 Linux安装及学习 安装Linux操作系统 通过学习实践基于VirtualBox虚拟机安装Ubuntu图文教程,开始了虚拟机的安装,根据教程按着步骤一步一步的完成. 遇 ...
- 20165237 预备作业3 Linux安装及学习
Linux安装及学习 安装 对操作系统略知一二的我,按照老师发的基于VirtualBox虚拟机安装Ubuntu图文教程慢慢一步步往下做,虽然中间有些小困难,但最终都得以解决,安装成功. 遇到的小困难: ...
- 20165325 预备作业3 Linux安装及学习
Linux安装及学习 一.VirtualBox和Ubuntu安装 问题一:虚拟机中Ubuntu的版本 在设置虚拟机的操作系统的版本时,我发现我的电脑只能设置32-bit的Ubuntu版本.教程上选用了 ...
- 20165317 Linux安装及学习
Linux安装及学习 一.Linux的安装 我通过virtualbox和ubuntu官网下载了virtualbox5.2.6和ubuntu17.04版本. 在操作过程中,我基本是按照老师的步骤进行的, ...
- 20165336 预备作业3 Linux安装及学习
Linux 安装及学习 一.VirtualBox和Ubuntu的安装 依照老师所给的步骤下载了VirtualBox 5.2.6和Ubuntu 16.04.3. 按照步骤一步一步进行了安装,出现的问题有 ...
- 20165327 预备作业3 Linux安装及学习
20165327 预备作业3 Linux安装及学习 一.学习基于VirtualBox虚拟机安装Ubuntu图文教程,在自己笔记本上安装Linux操作系统,注意尽量选用最新版本的VirtualBox和U ...
- 20165303 预备作业3 Linux安装及学习
=20165303 预备作业3 Linux安装及学习 安装虚拟机 按照http://www.cnblogs.com/rocedu/p/6012545.html步骤进行逐步操作,安装虚拟机. 遇到的问题 ...
- 20165308 预备作业3 Linux安装及学习
Linux安装及学习 Linux的安装 因为做的比较晚, 安装过程按照老师给出的步骤和同学指导并未出现很多问题,只是安装VirtualBox虚拟机增强功能时,代码没输正确,结果一直无法正确安装,后来也 ...
随机推荐
- Python, pandas: how to sort dataframe by index// Merge two dataframes by index
pd.concat([df1, df2], axis=1) df.sort_index(inplace=True) https://stackoverflow.com/questions/404680 ...
- 分布式知识点总结(来自CS-Notes)
转载地址:https://github.com/CyC2018/CS-Notes/blob/master/notes/%E5%88%86%E5%B8%83%E5%BC%8F.md 注:如Paxos等的 ...
- Transaction之EF
了解Entity Framework中事务处理 Entity Framework 6以前,框架本身并没有提供显式的事务处理方案,在EF6中提供了事务处理的API. 所有版本的EF,只要你调用SaveC ...
- Kubernetes之Controllers一
ReplicaSet is the next-generation Replication Controller. The only difference between a ReplicaSet a ...
- SAP本地化-银企直连
SAP本地化-银企直连 http://blog.sina.com.cn/s/blog_a0de8cc80101dee1.html 一.发展历史 2011年,在SAP ECC6 Ehp5中,通过功能增强 ...
- 前端性能优化之按需加载(React-router+webpack)
一.什么是按需加载 和异步加载script的目的一样(异步加载script的方法),按需加载/代码切割也可以解决首屏加载的速度. 什么时候需要按需加载 如果是大文件,使用按需加载就十分合适.比如一个近 ...
- 6-1 建立客户端与zk服务端的连接
6-1 建立客户端与zk服务端的连接 zookeeper原生java api使用 会话连接与恢复; 节点的增删改查; watch与acl的相关操作; 导入jar包;
- Python 注释,类,属性,方法,继承
# coding=utf-8 支持中文 """ 多行注释 声明鸟类 """ class Bird(object): have_feather ...
- Java的CountDownLatch和CyclicBarrier的理解和区别
CountDownLatch和CyclicBarrier的功能看起来很相似,不易区分,有一种谜之的神秘.本文将通过通俗的例子并结合代码讲解两者的使用方法和区别. CountDownLatch和Cycl ...
- C#6.0 语法
属性表达式 属性值初始化 public string name {get;set;} = "张三"; 函数表达式 NULL检查运算符 var aa = Created?.Date; ...