Linux概述及基础命令

一.基础网络设置与远程访问

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 取消断点

相关推荐
恋红尘2 小时前
VM虚拟机配置静态IP,网络
linux·centos
醇氧2 小时前
Window 查看是否安装wsl
linux·运维·服务器
cyw89982 小时前
docker 安装 ollama 并运行
运维·docker·容器
进击切图仔2 小时前
docker compose 的简单使用
运维·docker·容器
ljh5746491192 小时前
chomd 命令的解释和常用用法和高级用法
linux·运维·服务器
_OP_CHEN2 小时前
【Linux系统编程】(四十五)线程池基础:日志系统设计与策略模式的优雅落地
linux·操作系统·线程池·进程·策略模式·c/c++·日志系统
Johnstons2 小时前
当网络运维遇上全流量回溯:一次关于「看得见」的实践
运维·网络
B2_Proxy2 小时前
什么是住宅 IP?住宅代理的工作原理与应用指南
服务器·网络·tcp/ip
zzh0812 小时前
web技术与nginx网站环境部署
运维·前端·nginx