一、虚拟机的网络类型
- bridged桥接模式:将我们虚拟机中网卡的网络地址放在我们真实的物理机的网卡上。
- NAT网络地址转换模式:虚拟网卡,给虚拟机分配IP。主机相当于局域网中的路由器。
- Host-Only模式:类似于NAT模式,只能访问主机,不能访问外网。
二、系统分区
- 文件系统类型:ext4
- 文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构
- ext2和fat文件系统的比较:
三、Linux目录结构
- /boot:配置文件、内核和其他启动时所需的文件
- /etc:存放系统配置有关的文件
- /home:存放普通用户目录
- /mnt:硬盘上手动挂载的文件系统
- /media:自动挂载移动介质
- /opt:存放一些可选程序
- /root:系统管理员的目录
- /bin:存放一些常用的程序&命令文件
- /sbin:存放系统管理员使用的管理程序
- /tmp:存放临时文件,系统会定期清理该目录下的文件
- /usr:存放一些自己的下载的应用
- /usr/bin:存放程序
- /usr/share:存放一些共享的数据
- /usr/lib:存放一些程序运行必须的库函数
- /usr/local:存放用户自编译安装软件(源码包安装的软件)
/var:存放经常被修改的文件(日志、数据文件)
SWAP分区:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。
四、软件管理工具
4.1 apt常用命令
apt-cache search package 搜索包
apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package 安装包
sudo apt-get install package –reinstall 重新安装包
sudo apt-get -f install 强制安装
sudo apt-get remove package 删除包
sudo apt-get remove package –purge 删除包,包括删除配置文件等
sudo apt-get autoremove 自动删除不需要的包
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-get dselect-upgrade 使用 dselect 升级
apt-cache depends package 了解使用依赖
apt-cache rdepends package 了解某个具体的依赖
sudo apt-get build-dep package 安装相关的编译环境
apt-get source package 下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理下载文件的存档
sudo apt-get check 检查是否有损坏的依赖
注释:
- deb标识软件包的格式:deb表示binary格式(已编译),deb-src表示源代码
- url指的是直接从网上某个软件包所在位置
4.2 Debian软件包管理器dpkg
# dpkg是软件包管理器,用于安装、卸载和供给deb软件包相关信息
dpkg -i package.deb 安装包
dpkg -r package 删除包
dpkg -P package 删除包(包括配置文件)
dpkg -L package 列出与该包关联的文件
dpkg -l package 显示该包的版本
dpkg –unpack package.deb 解开 deb 包的内容
dpkg -S keyword 搜索所属的包内容
dpkg -l 列出当前已安装的包
dpkg -c package.deb 列出 deb 包的内容
dpkg –configure package 配置包
五、Linux常用命令
利用
man
指令可获取某指令详细介绍
man ls
:获取ls
指令详细介绍
5.1 显示或设置系统的日期与时间
date -s
:利用root权限设置时间
5.2 显示一个日历
cal
:显示当前月份的日历cal -y
:显示当年的日历cal 2016
:显示指定年份的日历
5.3 修改密码
passwd
:默认修改当前用户的密码passwd username
:修改指定用户的密码,需要管理员权限
5.4 注销、重启、关机
- 注销:
logout
- 重启:
reboot
- 关机:
shutdown
shutdown -r now
#立即重启shutdown -r +3
#三分钟后重启shutdown -r 16:00
#在16:00时将重启shutdown -c
#取消关机操作
5.5 切换目录
cd
:回到根目录cd /bin
:切换到bin目录cd ..
:切换到上级目录cd -
:切换到上一级
5.6 pwd查看当前的工作路径
5.7 处理文件以及文件夹
1. 创建文件
mkdir my_dir
文件夹mkdir -p my_dir/mytest/abc
多级文件夹
2. 创建文件
touch file1
3. 删除文件
rm -f file1
:强制删除文件rm -rf a/b/file1
:删除指定目录下所有文件
4. 移动文件或目录
mv test.log test.txt
# 文件改名mv test1.txt dir1
#移动文件mv test1.txt test2.tx test3.tx dir1
#移动多个文件
5. 复制文件
cp -r dir1 dir2
# 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名cp -p file1 file2
# 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
6. 查看文件相关信息
stat filename
显示文件详细信息
5.8 统计字符
wc -c
统计字节数。wc -l
统计行数。wc -m
统计字符数。这个标志不能与 -c 标志一起使用。
5.9 查看已执行过的命令
history
显示最近1000条history num
显示最近num条
5.10 查看文件内容
more/less filename
cat filename
5.11 ls
命令及选项详解
ls dir
ls -a
显示所有文件和子目录(包括隐藏文件)ls -A
不包括隐藏文件ls -l
除了文件名,还有文件的详细信息ls -t
按文件修改时间进行排序,而不是按文件名进行排序。ls .
当前目录下所有文件ls ..
父目录下所有文件
df -T
显示文件系统类型du -sh dirname
显示dirname下所有目录及其子目录的大小
5.12 su与sudo知识点
su user
切换用户(如果没有参数默认切换root用户)sudo
切换到root身份
5.13 管道符
将前一个命令的结果交给后一个命令使用
>
:重定向,如果的文件存在,则覆盖文件内容,文件不存在时创建文件>>
:重定向,如果的文件存在,则向文件追加内容,文件不存在时创建文件
5.14 查找文件
locate /etc/sh
搜索etc目录下所有以sh开头的文件。locate ~/a
搜索用户主目录下,所有以a开头的文件。locate -i ~/a
搜索用户主目录下,所有以a开头的文件,并且忽略大小写。
5.15 find使用
1. 根据文件名查找
find / -name filename
find /home -naee ".txt"
find /home -iname ".txt"
2. 根据文件类型查找
find -type
type替换为下列指定语法
语法 | 内容 |
---|---|
f | 普通文件 |
l | 符号连接 |
d | 目录 |
c | 字符设备 |
b | 块设备 |
s | 套接字 |
p | Fifo |
5.16 挂载和卸载设备
mount
查询挂载设备及属性mount /dev/sr0 /mnt
挂载光盘mount iosname.ios -o loop /mnt
挂载ios文件umount /mnt
卸载设备umount -l /mnt
强制卸载
5.17 压缩与解压文件
tar
选项 | 含义 |
---|---|
c | 建立一个压缩文件的参数指令(create 的意思) |
x | 解开一个压缩文件的参数指令 |
t | 查看 tarfile 里面的文件 |
z | 是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩? |
j | 是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩? |
v | 压缩的过程中显示文件!这个常用,但不建议用在背景执行过程 |
f | 使用档名,请留意,在 f 之后要立即接文件名 |
p | 使用原文件的原来属性(属性不会依据使用者而变) |
P | 可以使用绝对路径来压缩 |
N | 比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中 |
特别注意 c/x/t 同时仅能存在一个,因为不可能同时压缩与解压缩。
实例
# 将当前目录下所有.txt文件打包并压缩归档至文件this.tar.gz
tar czvf this.tar.gz ./*.txt
# 将当前目录下的this.tar.gz中文件解压到当前目录
tar xzvf this.tar,gz ./
# 将整个/dirname目录下的文件全部打包成为/tmp/dirname.tar
tar -cvf /tmp/etc.tar /etc # 仅打包,不压缩
tar -zcvf /tmp/etc.tar.gz /etc # 以gzip压缩
tar -jcvf /tmp/etc.tar.bz2 /etc # 以bzip2压缩
# 解压文件
tar -xf filename.tar.gz
tar -xf filename.tar.gz -C /tmp #解压到指定路径
5.18 过滤符
格式:grep [option] pattern [file...]
参数 | 内容 |
---|---|
c | --count 计算符合样式的列数 |
l | --file-with-matches 列出文件内容符合指定样式的文件名称 |
v | --revert-match 显示不包含匹配文本的所有行 |
i | --ignore-case 忽略字符大小写的区别 |
o | 只显示匹配到的关键字 |
E | 使用正则表达式 |
六、用户和用户组
6.1 用户和用户组信息存储文件介绍
/etc/passwd
用户账户信息。/etc/shadow
安全用户账户信息。/etc/group
组账户信息。/etc/gshadow
安全组账户信息。/etc/default/useradd
账户创建的默认值。/etc/skel/
包含默认文件的目录。/etc/login.defs Shadow
密码套件配置。
6.2用户和用户组处理命令
useradd user1
添加用户组userdel user1
删除用户组userdel -r user1
将用户主目录全部删完
usermod -l
修改用户名usermod -L
锁定用户名usermod -U
解除锁定groupadd
添加用户组groupdel
删除用户组
七、终端
7.1 终端相关内容
- 我们默认使用的终端是bash
- Shell是用C语言编写的程序。既是一种命令语言,又是一种程序设计语言。
- 命令语言:交互式解释和执行用户输入的命令
- 程序设计语言:定义这种变量和参数,并提供了许多控制结构
- env 查看当前环境变量
- export name = ‘SN’ 设置或显示环境变量
7.2 echo使用介绍
echo
会将输入的字符串送往标准输出。(输出的字符串间以空白字符隔开并在最后加上换行号)- 一些常用规则
echo -n
不在最后换行echo -e
出现一些转义字符就会加以处理
`bash `\a` 发出警告声; `\b` 删除前一个字符; `\c` 最后不加上换行符号; `\f` 换行但光标仍旧停留在原来的位置; `\n` 换行且光标移至行首; `\r` 光标移至行首,但不换行; `\t` 插入tab; `\v` 与`\f`相同;
八、正则表达式
- ^ 匹配开头
- $ 匹配结尾
- [] 范围匹配
- [a-z] 匹配所有小写字母
- [A-Z] 匹配所有大写字母
- [0-9] 匹配所有数字
. 匹配单个字符
*
表示* 前面的内容出现0次或多次+
表示+ 前面的内容出现1次或多次+ ?
表示? 前面的内容出现0次或1次
实例:
cat a.txt |grep hat$ # 匹配以hat结尾的行
cat a.txt |grep ^hat # 匹配以hat开头的行
cat a.txt | grep -E "[0-9]* " # 匹配有0到多个数字的行
cat a.txt | grep -E "[0-9]+ " # 匹配有至少有1个数字的行
cat a.txt | grep -E "[0-9]?" # 匹配有0到1个数字的行