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 |