本文介绍了Linux环境搭建的过程以及遇到的问题和解决方案,并且介绍了常用的Linux命令.
一、Linux环境搭建
整体所需的环节
- 安装VMware
- 安装Linux (这边我选的是Server版本)
- 安装配置Samba(Samba是一种Linux和Windows之间进行文件共享的协议。安装该协议后,可以理解为在linux是插在windows上的一个U盘。)
- 安装编辑器(如VSCode,Sourcelnsight)
- ssh操作终端软件(如xshell,putty)
- 安装配置gcc/g++
VMware和xshell的安装不再赘述,基本都是简单的操作。这边介绍在VMware安装Linux,以及两种共享文件夹的方法
1、通过Smaba对Linux进行开发环境搭建的过程
# 安装Samba sudo apt-get install samba # 创建文件夹/home/share,并修改权限为777 sudo mkdir share sudo chmod 777 share # 修改Samba配置文件,无账号密码直接访问共享文件夹 sudo vim /etc/samba/smb.conf # 进入smf.conf文件后,在最后添加 [Share] comment = My Samba path =/home/zxm/share browseable=yes writable=yes # 设置账号,并根据提示输入密码 sudo smbpasswd -a zxm # 重启smbd服务 sudo service smbd restart
在主机下检测能否ping通虚拟机的ip地址,如果可以,在主机下通过映射之后,可以实现与Linux操作之间的互通,
比如在映射后的盘里直接新建文件,可以在Linux中查看到。同样在Linux建立的文件也会在盘中生成。也就是Linux中写代码,window中编译
zxm@ubuntu:~$ cd share/ zxm@ubuntu:~/share$ ls //NewCode.txt zxm@ubuntu:~/share$ touch ovoice.c
最后还需安装gcc编译
# 安装gcc sudo apt-get install build-essential
2、通过VMware进行共享文件夹
1)在主机创建要共享的文件夹,并设置VMware的共享文件夹
2)显示和管理虚拟机和主机之间共享文件夹的信息
vmware-hgfsclient
结果是:share_zxm
3)在虚拟机创建要共享的文件夹
mkdir share
4)将远程共享目录 /share_zxm 挂载到本地目录 /home/zxm/share上
sudo vim /etc/fstab
随后输入
.host:/share_zxm /home/zxm/share fuse.vmhgfs-fuse allow_other,defaults 0 0
- .host:/share:远程共享目录的路径,格式为 <远程主机名或IP地址>:<共享目录路径>。在这里,.host 是 VMWare
Tools 提供的特殊别名,表示宿主机的IP地址,/share 是远程共享目录的路径。
- /home/zxm/data:挂载点(mount point),即将远程共享目录挂载到本地的目录路径。
5)重新挂载所有条目
sudo mount -a
这样子就大功告成,主机的share_zxm和虚拟机的share是共享的同一个文件
6)卸载挂载点 /home/zxm/share
umount /home/zxm/share
二、Linux安装过程中遇到的问题
1、xshell连接IP时出现如下报错
原因是环境安装时没有安装ssh服务,因此解决方法是回到Ubuntu中重新安装ssh服务器,分别输入命令:sudo apt-get update,sudo apt-get install openssh-server
如果还要安装Samba,同样输入sudo apt-get install samba
2、出现错误“sudo:vim:command not found”
解决方法是输入命令:sudo apt-get install vim-gtk
3、如何修改ubuntu的sources.list源为阿里的
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup //备份源列表 sudo vim /etc/apt/sources.list //打开sources.list文件修改 #替换掉文件中所有的内容,然后保存退出(编辑状态是按i,保存退出是按“Esc”后输入“:wq”) deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse #一定要刷新 sudo apt-get update
三、 Linux常用命令
1、处理目录常见的命令:
- ls:列出目录
- cd:切换目录
- pwd:显示目前的目录
- mkdir:创建一个新的目录
- rmdir:删除一个空的目录,但若里面不为空的话命令无法执行。
- cp:复制文件或目录
- rm:移除文件或目录
- mv:移动文件与目录,或修改文件与目录的名称
zxm@ubuntu:~$ ls share zxm@ubuntu:~$ cd share zxm@ubuntu:~/share$ ls NewCode.txt ovoice.c zxm@ubuntu:~/share$ pwd /home/zxm/share zxm@ubuntu:~/share$ mkdir secret zxm@ubuntu:~/share$ ls NewCode.txt ovoice.c secret zxm@ubuntu:~/share$ rmdir secret zxm@ubuntu:~/share$ ls NewCode.txt ovoice.c zxm@ubuntu:~/share$ cp NewCode.txt NewCode_copy.txt zxm@ubuntu:~/share$ ls NewCode_copy.txt NewCode.txt ovoice.c zxm@ubuntu:~/share$ rm NewCode_copy.txt zxm@ubuntu:~/share$ ls NewCode.txt ovoice.c zxm@ubuntu:~/share$ mkdir Netmap zxm@ubuntu:~/share$ ls Netmap NewCode.txt ovoice.c zxm@ubuntu:~/share$ mv NewCode.txt Netmap/ zxm@ubuntu:~/share$ ls Netmap ovoice.c zxm@ubuntu:~/share$ ls Netmap/ NewCode.txt zxm@ubuntu:~/share$ mv ovoice.c ovoice_copy.c zxm@ubuntu:~/share$ ls Netmap ovoice_copy.c zxm@ubuntu:~/share$ rmdir Netmap/ //如文件非空,rmdir不能删除 rmdir: failed to remove 'Netmap/': Directory not empty
2、处理文本编辑的常用命令
- cat:以只读方式查看文件内容
- vim:以可编辑方式查看文件内容,打开之后输入"i"进入编辑状态,结束后按"Esc"键,再输入":wq"表示保存输入的内容,输入":q!"表示不保存
- more: 一页一页的显示文件内容
- less: 与 more 类似,但是比 more 更好的是,他可以往前翻页!
- head -n: 只看头n行
- tail -n: 只看尾巴n行
zxm@ubuntu:~/share$ ls NewCode.txt ovoice.c zxm@ubuntu:~/share$ cat NewCode.txt hello world zxm@ubuntu:~/share$ vim NewCode.txt //结束时候输入:wq zxm@ubuntu:~/share$ cat NewCode.txt hello world hello China zxm@ubuntu:~/share$ vim NewCode.txt//结束时候输入:q! zxm@ubuntu:~/share$ cat NewCode.txt hello world hello China