一.基础网络设置与远程访问
1.网络
NAT(网络地址交换)模式:满足虚拟机的基本上网要求,虚拟机可以上网但是真实电脑无法访问到
桥接模式:把虚拟机当做真实网络中的一台计算机
内部网络:虚拟机和真实计算机相互之间无法访问,虚拟机之间可以互相访问
仅主机:主机可以访问虚拟机,虚拟机不能访问主机
网卡1:NAT 网卡2:仅主机
virtualbox虚拟机网络设置
2.远程访问
rocky地址:192.168.176.152
用自己的计算机ping一下,可以ping通
systemctl set-default:默认设置 graphical target图形化界面/muti-user target终端页面
sudo systemctl set-default multi-user.target 开机进入终端页面
下载Xshell,连接Rocky,减少虚拟机对系统资源的耗用
二.开关机
1.开机
ctrl+alt+] 退到Xshell
命令提示符:[root@localhost ~]$
登录用户@(分隔符)本地登录 当前所处的位置 #当前为root $普通用户
~:当前用户在它的家目录里
exit:退出临时命令
su 切换用户
2.重启
reboot:重启linux,要求必须有超级管理员的权限
shutdown -h now:关机命令,也要有管理员权限
三.linux常用命令

1.文件操作命令
命令格式:Command [options] [arguments]
$rm -r(--recursive的简写) dir
命令 短选项 参数(操作对象)
文件操作命令:
①ls(list):列出参数的属性信息

ls:列出当前路径下的文件名 -l:详细列出当前位置下的文件 -al:列出所有文件(包含隐藏文件)
.表示当前目录 ..表示上一级目录
ll:ls -l的简写
②cd(change directory):切换目录
cd 参数 比如:cd ./Public切换到以当前目录为相对路径的Public目录中
cd .. 切换工作路径到上一级目录
cd /etc/yum 切换到绝对路径/etc/yum目录中
cd ~ 切换到家目录(home里的)
cd -回到上一层
pwd 查看当前目录
linux只有一个根目录,下面有许多子目录,没有盘符
如何区分文件和目录:以-开头的即为文件,d开头的为目录,l开头的是快捷方式
③touch命令:创建新文件,更新文件
touch 123.c
④mkdir:创建目录(即文件夹)
mkdir 123
mkdir [选项] 参数 -p:创造路径 -v:显示创建的过程
⑤rm:删除目录中的文件或目录
rm -r:递归删除
⑥cp:copy
cp [选项] 源文件 目标目录
cp -R ./public ./桌面
cp -Rp ./public ./桌面 拷贝时所有者等信息不改变
⑦mv:move(剪切)
mv 源文件或目录 目标目录
mv ./111.java ./public/112.java 移动且重命名(权限)
重命名文件:mv 111.java 113.java cp ./112.java ./test/114.java拷贝且重命名
⑧rmdir:删除空目录
rmdir -p ./temp/123/456 实际中用rm即可
⑨查看文件命令
cat:正向输出文件内容
tac:逆向输出文件内容(最后一行在前)
more:分页输出,一行一行滚动
head:head -n(显示前n行) 文件名
tail:tail -n(显示后n行) 文件名
2.文件权限管理命令
windows中扩展名决定文件类型, .com/.exe/.bat统称为可执行文件
linux中:扩展名来识别文件类型(给用户看)
如:- rw- rw- r-- 普通文件 可读可写不可执行(拥有者的权限) 可读可写不可执行(所在组的权限) 可读不可写不可执行(其他人);
d rwx rwx r-x 目录
①chmod
修改权限 chmod {augo} (all user group other) {+-=} 文件或目录 chomd a+r 123.c
②chown
把文件拥有者进行修改 chown root(用户) file(文件或目录)
③chgrp
变更文件所在工作组 chgrp root itheima
3.文件搜索查找命令
①which+检索内容
只能检索内置命令,不能检索普通文件
②find
检索整个硬盘,根据名称、时间、大小等检索 find -name 111.java
③locate
locate +文件 如:locate 111.java,新创建的文件无法检索到
updatedb:手动更新数据库,即可找到新创建的文件
④grep
grep itheima /etc/passwd 字符串 位置
查找文件:管道命令 ls -l | grep 字符串
4.linux网络与通信
①ifconfig:查看ip地址
②配置动态ip地址
vim ifcfg-enp0s3:修改
动态获取ip方法:修改bootproto=dhcp,onboot=yes
修改后重启一下网络服务即可systemctl restart network
③配置静态ip地址
bootproto=static onboot=yes
在最后加上几行,IP地址、子网掩码、网关、dns服务器

重启网络服务
④netstat
列出网络系统的状态信息
netstat 选项

⑤ping
ping测试连通性
ping 选项 参数
⑥write/wall
write:向另一个用户发信息 write 用户 hello
wall:向所有用户发信息 wall 信息
如果需要发中文,则需要配置系统语言
5.压缩与解压缩
①zip
zip 112.java.gz ./112.java 把112.java文件压缩为112.java.gz
zip -r test.gz ./test 将test文件夹压缩为test.gz
gzip 会把原文件删掉
bzip2 同时压缩许多文件
②unzip
unzip 需要解压的压缩文件名
gunzip 用gzip压缩的就要用gunzip进行解压
bunzip2 -k 解压时保留原文件
③tar
打包命令 tar -czvf test2.tar.gz ./test(对test目录进行打包)
-c打包 -v打包时有信息提示 -f打包时重命名 -z进行gzip的压缩 -czvf
-x解包 -xzvf

6.帮助命令
①man
解释命令 如:man zip
②info
解释命令 如:info zip
--help 查看参数信息等
③whatis
也是解释命令:简洁解释
④whoami
查阅当前用户身份
四.Vi编辑器的使用方法
1.命令模式
对文档内容进行编辑操作,光标的移动

2.插入模式
vim 112.java切换掉插入模式 按i进行插入操作
按esc回到命令模式
命令详见课本p42
此模式下可以编程
3.底行模式
按shift+:
q退出 wq写入后退出 w!强制退出
:set nu设置行号
:n 光标移动到第n行
:/xx 在文档中查找,n查找下一个,N查找上一个



vimrc,永久设置
五.GCC与GDB
1.GCC
yum -y install gcc 安装gcc,c语言编译
安装上之后:
①预处理:清理无关文件 gcc -E
②编译:高级语言代码编译成二进制代码 gcc -S
③汇编:变为汇编语言 gcc -o
④链接过程:文件连接起来
单文件编译:$ gcc hello.c 换名称-o,后面加上名称
多文件编译:$ gcc _hello.c_add.c -o _main
先编译gcc 111.c -o 111.exe 再执行 ./111.exe(若没有-o,默认生成a.out文件)
2.GDB
GDB调试工具,可以逐行执行
①在代码中加入调试信息,并调试程序
$ gcc gdbtest.c -o app -g
(gdb) gdb.app
②列出程序代码,并设置断点
list 行号
b 行号
b 22 if i=5 在22行设定带条件的断点
info b 查看断点
disable Num 取消断点
