Linux学习笔记

scorlw 发布于

Linux安装与网络配置

VMware 15 Pro安装CentOS 8的教程请看:VMware安装CentOS 8.1(CentOS 8系列可参考)详细教程_godxiaolong的博客-CSDN博客_centos8 vmware安装

网络连接

虚拟机中的网络连接方式基本有三种,桥接、NAT、Host-Only,且VMware还会自动生成vmnet1和vmnet8。

桥接:

桥接就是通过一台或几台设备将几个网络串起来形成连接。这边主要介绍虚拟机所采用的桥接方式,虚拟出来的操作系统就像是局域网中的一独立的主机,它可以通过路由器网线访问网内任何一台机器。不过虚拟机需要占用你同一个网段的一个 IP 地址,当且仅当虚拟机和实体机在同一个网段,两者才可以进行通信,如:虚拟机 IP:192.168.1.101,实体机 IP:192.168.1.100

NAT:

NAT模式实际是虚拟了一个网卡出来,虚拟机直接使用链接这个虚拟网卡,每次访问和交互通过这个虚拟网卡交换数据。虚拟机发送数据给实体机:虚拟机系统->虚拟网卡->实体机系统(可以发现是不经过真实网卡的流程简单很多);虚拟机访问外网:虚拟机系统->虚拟网卡->实体机系统->真实网卡->路由器->外网。

Host-only:

在 Host-Only 模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机。其实 Host-Only 网络和 NAT 网络很相似,不同的地方就是 Host-Only 网络没有 NAT 服务,所以虚拟网络不能连接到 Internet 。主机和虚拟机之间的通信是通过 VMware Network Adepter VMnet1 虚拟网卡来实现的。

参考:桥接、NAT、Host-only上网方式的区别”_wuhuimin521的博客-CSDN博客_host-only

Linux网络配置

在Linux中,可以采用ifconfig命令来进行网络信息的查看以及修改。

1
ifconfig eth0 192.168.1.156 //给第一块网卡设置其ip地址
  • eth是网卡的文件名,0表示第一块网卡;
  • 在Host—Only与NAT模式下,需要设置ip地址与主机的地址在同一个频段。

Linux常用命令

命令格式

命令 [-选项] [参数] 例:ls -la /etc

说明:1. 个别命令不遵循此格式

​ 2.当有多个选项时,可以写在一起

​ 3.简化选项与完整选项:-a 等于 –all

文件处理命令

目录处理命令

ls

英文原意:list 执行权限:所有用户

1
2
3
4
5
6
ls //查看该目录下的文件
ls -a //all查看该目录下的所有文件(包括隐藏文件)
ls -l //long查看该目录下文件的所有信息
ls -lh //long humanity人性化查看文件所有信息,l与h可以互换位置,主要体现在文件大小方面
ls -d //显示目录属性
ls -i //查看当前目录下文件的i节点
1
2
3
ls -lh
-rw-r--r--. 1 root root 1.9K 5月 20 18:25 initial-setup-ks.cfg
权限 引用次数 所有者 所属用户组 大小 修改日期 文件名
1
2
3
4
5
-rw-r--r--
第一位:-表示二进制文件,d表示目录,l表示软链接文件
后面三组分别表示对应用户的操作权限:
u:所有者 g:所属组 o:其他人
r:读 w:写 x:执行

mkdir

英文原意:make directories 执行权限:所有用户

1
mkdir -p [目录名] //创建新目录,-p为递归创建,直接创建目录可以舍去

cd

英文原意:change directory 执行权限:所有用户

1
2
cd [目录] //跳转到指定目录
cd .. //回到上一级目录

pwd

英文原意:print working directory 执行权限:所有用户

1
pwd //显示当前目录

rmdir

英文原意:remove empty directories 执行权限:所有用户

1
rmdir [目录名] //删除空目录

cp

英文原意:copy 执行权限:所有用户

1
2
3
cp -rp [原文件或目录] [目标目录] //拷贝文件或目录
cp -r //复制目录
cp -p //保留文件属性
  1. 可以一次复制多个文件或目录到目标目录
  2. 可以将文件新的名字写在目标目录中,实现复制的同时改名
  3. -p选项可以实现在不改变文件最后修改时间等属性的情况下复制文件

mv

英文原意:move 执行权限:所有用户

1
mv [原文件或目录][目标目录] //剪切文件、改名

rm

英文原意:remove 执行权限:所有用户

1
2
3
rm -rf [文件或目录] //删除文件或目录
rm -r 删除目录
rm -f 强制执行

文件处理命令

touch

英文原意:touch 执行权限:所有用户

1
touch [文件名] //创建空文件,可以同时创建多个,名称里有空格的话可以用引号引起来表示是一个文件名,但不建议文件名中带有空格

cat

执行权限:所有用户

1
2
cat [文件名] //显示文件内容
cat -n [文件名] //显示行号

tac

执行权限:所有用户

1
tac [文件名] //显示文件内容(反向列示)

more

执行权限:所有用户

1
2
3
4
more [文件名] //分页显示文件内容
//空格或f 翻页
//enter 换行
//q 退出

less

执行权限:所有用户

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
less [用户名] //分页显示文件内容(可向上翻页)
//上述more的操作均可以使用
//使用上箭头与pageup可以实现向上滚动/翻页
//less状态下使用 /[内容] 可以实现搜索,使用n实现搜索项的向下查找
/[内容]:向下搜索[内容]的功能
?[内容]:向上搜索[内容]的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向上翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一页
回车键 滚动一行
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页

head

执行权限:所有用户

1
head -n [行数] [文件] //显示文件前面几行,不写行数默认显示前十行

tail

执行权限:所有用户

1
2
tail -n [行数] [文件] //显示文件前面几行,不写行数默认显示前十行
-f //动态显示文件末尾内容

链接命令

ln

英文原意:link 执行权限:所有用户

1
2
3
4
5
6
ln -s [原文件] [目标文件] //生成链接文件
//ex:
ln -s /etc/issue /tmp/issue.soft
//创建文件issue的软链接
ln /etc/issue /tmp/issue.hard
//创建文件issue的硬链接

软链接:类似于Windows中的快捷方式

  1. 文件权限为:lrwxrwxrwx,因为软链接的权限不代表原文件的权限
  2. 文件大小较小,因为其只是符号链接
  3. /tmp/issue.soft -> /etc/issue,箭头指向原文件

硬链接

  1. 相当于拷贝cp -p + 同步更新
  2. 原文件被删除也可以继续访问
  3. 通过i节点识别
  4. 不能跨分区
  5. 不能针对目录使用

权限管理命令

chmod

执行权限:所有用户

1
2
3
4
5
6
chmod [{ugoa}{+-=}{rwx}] [文件或目录] //修改文件或目录权限
chmod [mode=421] [文件或目录] //修改文件或目录权限
-R //递归修改

//权限的数字表示:
r=4 w=2 x=1
权限等级 权限含义 对文件的含义 对目录的含义
r 读权限 可以查看文件的内容 可以列出目录中的内容
w 写权限 可以修改文件内容 可以在目录中创建、删除文件
x 执行权限 可以执行文件 可以进入目录

注:决定一个文件是否可以被删除的是其目录的权限。

chown

执行权限:所有用户

1
chown [用户] [文件或目录] //改变文件或目录的所有者

chgrp

执行权限:所有用户

1
chgrp [用户] [文件或目录] //改变文件或目录的所属组

umask

执行权限:所有用户

1
2
umask [mode=421] //修改新建文件或目录的缺省权限
-S //以rwx的形式显示新建文件或目录的缺省权限

注:新建的文件一般没有可执行权限

文件搜索命令

find

执行权限:所有用户

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
find [搜索范围] [匹配条件] //文件搜索

find /etc -name init //在目录/etc中查找文件init(精确搜索)区分大小写
find /etc -name *init* //可以实现模糊搜索的效果
find /etc -iname init //不区分大小写搜索

*:任意数量(可以是0)字符
?:单个字符

find / -size +204800 //在根目录下查找大于100MB的文件
//+n 大于n -n 小于n n 等于n
//Linux下存储数据的最小单位是数据块,1数据块=512字节=0.5KB

find /home -user laoli //在home目录下查找所有者为laoli的文件
-group //根据所属组查找

find /etc -cmin -5 //在etc目录下查找5分钟内被修改过属性的文件和目录
-amin //访问时间 access
-cmin //文件属性 change
-mmin //文件内容 modify

find /etc -size +163840 -a -size -204800 //在etc下查找大于80MB且小于100MB的文件
-a //两个条件同时满足
-o //两个条件满足其一即可

find /etc -name inittab -exec ls -l {} \;
//在/etc下查找inittab文件并显示其详细信息
-exec/-ok 命令{}\; //对搜索结果执行操作,-ok会进行询问

-type //根据文件类型查找
//f 文件 d 目录 l 软链接文件

-inum //根据i节点查找

locate

执行权限:所有用户

1
2
3
4
5
locate [文件名] //在文件资料库里查找文件
//locate为定期更新的资料库,可以比find更加快速的查找到满足条件的文件,类似于Windows里的everything
//问题1:新建立的文件可能没有被收录到资料库中,所以可能出现查找不到的情况
//可以使用updatedb命令进行手动更新
//问题2:/tmp目录下的文件不被收录,所以查找不到

which

执行权限:所有用户

1
which [命令] //搜索命令所在的目录及别名信息

whereis

执行权限:所有用户

1
whereis [命令] //搜索命令所在目录与帮助文档所在的路径

grep

执行权限:所有用户

1
2
3
4
5
6
grep [指定字符] [文件] //在文件中搜索字符串匹配的行并输出
-i //不区分大小写
-v //排除指定字符串

grep mysql /root/install.log //在install.log文件中查找包含mysql的行
grep -v ^# /etc/inittab //^表示行首,#常用于注释。在inittab文件中查找不以#开头的行

帮助命令

man

英文原意:manual 执行权限:所有用户

1
2
3
4
5
6
7
8
9
10
11
man [命令或配置文件] //查看命令或配置文件的帮助信息
//man查找配置文件的帮助信息时,直接写配置文件名,不需要加绝对路径(加路径则显示文件的所有内容

//在Linux中,有一些命令与配置文件重名,例如passwd,默认使用man查询的是命令
//可以使用man 5 passwd来进行配置文件的查询
//1代表命令,5代表配置文件

whatis [命令] //查看命令的简短信息
apropos [配置文件] //查看配置文件的简短信息
[命令] --help //查看命令的选项
//info和man差不多

help

执行权限:所有用户

1
help [命令] //获得Shell内置命令的帮助信息

用户管理命令

useradd

执行权限:root

1
useradd [用户名] //添加新用户

passwd

执行权限:所有用户

1
2
3
passwd [用户名] //修改该用户的密码
//root可以修改任何用户的密码,普通用户只能修改自己的密码
//root可以使用简单密码作为用户的密码,用户不可以

who

执行权限:所有用户

1
2
who //查看登录用户信息
//登陆用户名 登录终端(tty表示本地终端,pts表示远程终端 登录时间 IP地址

w

执行权限:所有用户

1
w //查看登录用户的详细信息

压缩解压命令

gzip

执行权限:所有用户

1
gzip [文件] //压缩文件为.gz格式

gunzip

执行权限:所有用户

1
2
gunzip [压缩文件] //解压缩.gz格式的压缩文件
//也可以使用gzip -d

tar

执行权限:所有用户

1
2
3
4
5
6
7
tar [选项] [压缩后的文件名] [目录] //打包目录为.tar.gz格式
-c //打包
-x //解包
-v //显示详细信息
-f //指定文件名
-z //打包同时压缩或解压缩.gz文件(与c选项或x选项有关)
-j //打包同时压缩或解压缩.bz2文件(与c选项或x选项有关)

zip

执行权限:所有用户

1
2
zip [选项] [压缩后文件名] [文件或目录] //压缩文件或目录为zip格式,相对于gzip,可以保留原始文件
-r //压缩目录

unzip

执行权限:所有用户

1
unzip [压缩文件] //解压.zip格式的压缩文件

bzip2

执行权限:所有用户

1
bzip2 [选项] [文件] //压缩文件为.bz2格式-k //产生压缩文件后保留原文件//bzip2的压缩比较大

bunzip2

执行权限:所有用户

1
bunzip2 [选项] [文件] //解压缩文件为.bz2格式-k //解压缩文后保留原文件

网络命令

write

执行权限:所有用户

1
write <用户名> //给在线用户发消息,以Ctrl+D保存结束

wall

英文原意:write all 执行权限:所有用户

1
wall [message]  //发送广播信息(给所有在线用户)

ping

执行权限:所有用户

1
2
ping [选项] [IP地址]
-c //指定发送次数

ifconfig

英文原意:interface configure 执行权限:root

1
ifconfig [网卡名称] [IP地址] //查看和设置网卡信息

mail

执行权限:所有用户

1
mail [用户名] //查看发送电子邮件(用户未在线也可以收到)

last

执行权限:所有用户

1
last //列出目前与过去登入系统的用户信息

lastlog

执行权限:所有用户

1
2
lastlog //查看所有用户上次登录时间
lastlog -u [uid] //查看该uid用户上次登录时间

traceroute

执行权限:所有用户

1
traceroute //显示数据包到主机间的路径

netstat

英文原意:net state 执行权限:所有用户

1
2
3
4
5
6
netstat [选项] //显示网络相关信息
-t //TCP协议
-u //UDP协议
-l //监听
-r //路由
-n //显示IP地址和端口号

setup

执行权限:root

1
2
setup //配置网络
//配置完后需要使用service network restart进行设备的重启

mount

执行权限:所有用户

1
2
mount -t [文件系统] [设备文件名] [挂载点]
mount -t iso9660 /dev/sr0 /mnt/cdrom //挂在光盘

关机重启命令

shutdown

执行权限:所有用户

1
2
3
4
5
6
7
8
9
10
11
12
13
shutdown [选项] [时间] //关机或重启
-c //取消前一个关机命令
-h //关机
-r //重启

//其他关机命令
//halt
//poweroff
//init 0

//其他重启命令
//reboot
//init 6

logout

执行权限:所有用户

1
logout //退出登录命令