linux 学习环境
git bash¶
Git Bash在Windows上模拟bash环境,允许用户在Windows操作系统上使用Bash shell和大多数标准Linux命令:文件操作、文本操作、文本编辑、进程管理等。Git Bash软件体积相对较小,安装简单,可以快速获得一个基本的linux环境用于练习或简单数据处理。
下载地址:https://git-scm.com/download/win
选择 64-bit Git for Windows Setup
下载安装。
安装完成之后,在开始
菜单中找到git bash
打开即可,或鼠标点击桌面,然后右键
->git bash
,如下,可以看到有很多常用的linux命令,使用这些命令也可以处理地Windows下的文件和数据。
username@DESKTOP-XXXXXXX MINGW64 ~
$ which ls
/usr/bin/ls
$ ls /usr/bin/
'[.exe'* cp.exe* funzip.exe* grep.exe* mktemp.exe* msys-gpg-error-0.dll* msys-svn_repos-1-0.dll* psl-make-dafsa* ssh-keyscan.exe* unlink.exe*
addgnupghome* csplit.exe* gapplication.exe* groups.exe* mount.exe* msys-gssapi-3.dll* msys-svn_subr-1-0.dll* psl.exe* ssh-pageant.exe* unzip.exe*
applygnupgdefaults* cut.exe* gawk-5.0.0.exe* gsettings.exe* mpicalc.exe* msys-hcrypto-4.dll* msys-svn_swig_perl-1-0.dll* ptx.exe* ssh.exe* unzipsfx.exe*
arch.exe* cygcheck.exe* gawk.exe* gunzip* msgattrib.exe* msys-heimbase-1.dll* msys-svn_wc-1-0.dll* pwd.exe* sshd.exe* update-ca-trust*
astextplain* cygpath.exe* gdbus.exe* gzexe* msgcat.exe* msys-heimntlm-0.dll* msys-tasn1-6.dll* readlink.exe* ssp.exe* updatedb*
autopoint* cygwin-console-helper.exe* gencat.exe* gzip.exe* msgcmp.exe* msys-hogweed-6.dll* msys-ticw6.dll* realpath.exe* start* users.exe*
awk.exe* d2u.exe* getconf.exe* head.exe* msgcomm.exe* msys-hx509-5.dll* msys-unistring-2.dll* rebase.exe* stat.exe* vdir.exe*
b2sum.exe* dash.exe* getemojis* hmac256.exe* msgconv.exe* msys-iconv-2.dll* msys-uuid-1.dll* rebaseall* strace.exe* vendor_perl/
backup* date.exe* getfacl.exe* hostid.exe* msgen.exe* msys-idn2-0.dll* msys-wind-0.dll* recode-sr-latin.exe* stty.exe* vi*
base32.exe* dd.exe* getopt.exe* hostname.exe* msgexec.exe* msys-intl-8.dll* msys-z.dll* regtool.exe* sum.exe* view.exe*
base64.exe* df.exe* gettext.exe* iconv.exe* msgfilter.exe* msys-kafs-0.dll* mv.exe* reset.exe* sync.exe* vim.exe*
basename.exe* diff.exe* gettext.sh* id.exe* msgfmt.exe* msys-krb5-26.dll* nano.exe* restore* tabs.exe* vimdiff.exe*
basenc.exe* diff3.exe* gettextize* infocmp.exe* msggrep.exe* msys-ksba-8.dll* nettle-hash.exe* rm.exe* tac.exe* vimtutor*
bash.exe* dir.exe* gio-querymodules.exe* infotocap.exe* msginit.exe* msys-lz4-1.dll* nettle-lfib-stream.exe* rmdir.exe* tail.exe* watchgnupg.exe*
bashbug* dircolors.exe* git-flow* install.exe* msgmerge.exe* msys-magic-1.dll* nettle-pbkdf2.exe* rnano.exe* tar.exe* wc.exe*
bunzip2.exe* dirmngr-client.exe* git-flow-bugfix join.exe* msgunfmt.exe* msys-mpfr-6.dll* ngettext.exe* runcon.exe* tclsh.exe* which.exe*
bzcat.exe* dirmngr.exe* git-flow-config kbxutil.exe* msguniq.exe* msys-ncursesw6.dll* nice.exe* rview.exe* tclsh8.6.exe* who.exe*
bzcmp* dirname.exe* git-flow-feature kill.exe* msys-2.0.dll* msys-nettle-8.dll* nl.exe* rvim.exe* tee.exe* whoami.exe*
bzdiff* docx2txt* git-flow-hotfix ldd.exe* msys-apr-1-0.dll* msys-npth-0.dll* nohup.exe* scp.exe* test.exe* winpty-agent.exe*
bzegrep* docx2txt.pl* git-flow-init ldh.exe* msys-aprutil-1-0.dll* msys-p11-kit-0.dll* notepad* sdiff.exe* tic.exe* winpty-debugserver.exe*
bzfgrep* dos2unix.exe* git-flow-log less.exe* msys-asn1-8.dll* msys-pcre-1.dll* nproc.exe* sed.exe* tig.exe* winpty.dll*
bzgrep* du.exe* git-flow-release lessecho.exe* msys-assuan-0.dll* msys-perl5_32.dll* numfmt.exe* seq.exe* timeout.exe* winpty.exe*
bzip2.exe* dumpsexp.exe* git-flow-support lesskey.exe* msys-bz2-1.dll* msys-psl-5.dll* od.exe* setfacl.exe* toe.exe* wordpad*
bzip2recover.exe* echo.exe* git-flow-version libtcl8.6.dll* msys-cbor-0.8.dll* msys-readline8.dll* openssl.exe* setmetamode.exe* touch.exe* xargs.exe*
bzless* egrep* gitflow-common link.exe* msys-com_err-1.dll* msys-roken-18.dll* p11-kit.exe* sexp-conv.exe* tput.exe* xgettext.exe*
bzmore* env.exe* gitflow-shFlags ln.exe* msys-crypt-0.dll* msys-sasl2-3.dll* passwd.exe* sftp.exe* tr.exe* xxd.exe*
c_rehash* envsubst.exe* gkill.exe* locale.exe* msys-crypto-1.1.dll* msys-serf-1-0.dll* paste.exe* sh.exe* true.exe* yat2m.exe*
captoinfo.exe* ex.exe* glib-compile-schemas.exe* locate.exe* msys-edit-0.dll* msys-smartcols-1.dll* patch.exe* sha1sum.exe* truncate.exe* yes.exe*
cat.exe* expand.exe* gobject-query.exe* logname.exe* msys-expat-1.dll* msys-sqlite3-0.dll* pathchk.exe* sha224sum.exe* trust.exe* zcat*
chattr.exe* expr.exe* gpg-agent.exe* ls.exe* msys-ffi-7.dll* msys-ssl-1.1.dll* perl.exe* sha256sum.exe* tset.exe* zcmp*
chcon.exe* factor.exe* gpg-connect-agent.exe* lsattr.exe* msys-fido2-1.dll* msys-svn_client-1-0.dll* perl5.32.1.exe* sha384sum.exe* tsort.exe* zdiff*
chgrp.exe* false.exe* gpg-error.exe* mac2unix.exe* msys-gcc_s-seh-1.dll* msys-svn_delta-1-0.dll* pinentry-w32.exe* sha512sum.exe* tty.exe* zegrep*
chmod.exe* fgrep* gpg-wks-server.exe* md5sum.exe* msys-gcrypt-20.dll* msys-svn_diff-1-0.dll* pinentry.exe* shred.exe* tzset.exe* zfgrep*
chown.exe* fido2-assert.exe* gpg.exe* minidumper.exe* msys-gettextlib-0-19-8-1.dll* msys-svn_fs-1-0.dll* pinky.exe* shuf.exe* u2d.exe* zforce*
chroot.exe* fido2-cred.exe* gpgconf.exe* mintheme* msys-gettextsrc-0-19-8-1.dll* msys-svn_fs_fs-1-0.dll* pkcs1-conv.exe* sleep.exe* umount.exe* zgrep*
cksum.exe* fido2-token.exe* gpgparsemail.exe* mintty.exe* msys-gio-2.0-0.dll* msys-svn_fs_util-1-0.dll* pldd.exe* sort.exe* uname.exe* zipgrep*
clear.exe* file.exe* gpgscm.exe* mkdir.exe* msys-glib-2.0-0.dll* msys-svn_fs_x-1-0.dll* pluginviewer.exe* split.exe* uncompress* zipinfo.exe*
cmp.exe* find.exe* gpgsm.exe* mkfifo.exe* msys-gmodule-2.0-0.dll* msys-svn_ra-1-0.dll* pr.exe* ssh-add.exe* unexpand.exe* zless*
column.exe* findssl.sh* gpgsplit.exe* mkgroup.exe* msys-gmp-10.dll* msys-svn_ra_local-1-0.dll* printenv.exe* ssh-agent.exe* uniq.exe* zmore*
comm.exe* fmt.exe* gpgtar.exe* mknod.exe* msys-gnutls-30.dll* msys-svn_ra_serf-1-0.dll* printf.exe* ssh-copy-id* unix2dos.exe* znew*
core_perl/ fold.exe* gpgv.exe* mkpasswd.exe* msys-gobject-2.0-0.dll* msys-svn_ra_svn-1-0.dll* ps.exe* ssh-keygen.exe* unix2mac.exe*
Cygwin¶
Cygwin a large collection of GNU and Open Source tools which provide functionality similar to a Linux distribution on Windows.
cygwin是一个在windows平台上运行的linux模拟环境,相比git bash有更多的命令可以使用,还可以在改环境里面编译安装软件。
进入官网,找到对应版本进行下载 官网
- install from internet 从网络上安装
- 配置安装的目录以及使用的用户.默认即可
- 配置本地包目录,默认在C盘,可以选择其它盘
- 代理.默认即可
- use URL 使用镜像.可以选择阿里云镜像 https://mirrors.aliyu.com
- 安装linux工具跟库, view 根据分类查看目录,一般使用 category,比如可以在shell下选择
zsh
安装
Copying skeleton files.
These files are for the users to personalise their cygwin experience.
They will never be overwritten nor automatically updated.
'./.bashrc' -> '/home/username//.bashrc'
'./.bash_profile' -> '/home/username//.bash_profile'
'./.inputrc' -> '/home/username//.inputrc'
'./.profile' -> '/home/username//.profile'
username@DESKTOP-XXXXXXX ~
$ ls
username@DESKTOP-XXXXXXX ~
$ pwd
/home/username
username@DESKTOP-XXXXXXX ~
$ cd C:
username@DESKTOP-XXXXXXX /cygdrive/c
$ pwd
/cygdrive/c
WSL¶
适用于Linux的Windows子系统(WSL)可让开发人员按原样运行 GNU/Linux 环境,包括大多数命令行工具、实用工具和应用程序,且不会产生传统虚拟机或双启动设置开销。
您可以:
- 在 Microsoft Store 中选择你偏好的 GNU/Linux 分发版。
- 运行常用的命令行软件工具(例如 grep、sed、awk)或其他 ELF-64 二进制文件。
- 运行 Bash shell 脚本和 GNU/Linux 命令行应用程序,包括:
- 工具:vim、emacs、tmux
- 语言:NodeJS、Javascript、Python、Ruby、C/C++、C# 与 F#、Rust、Go 等
- 服务:SSHD、MySQL、Apache、lighttpd、MongoDB、PostgreSQL。
- 使用自己的 GNU/Linux 分发包管理器安装其他软件。
- 使用类似于 Unix 的命令行 shell 调用 Windows 应用程序。
- 在 Windows 上调用 GNU/Linux 应用程序。
- 运行直接集成到 Windows 桌面的 GNU/Linux 图形应用程序
- 将 GPU 加速用于机器学习、数据科学场景等
WSL1¶
启用WSL¶
Windows搜索框搜索 启用
,打开 启用或关闭 Windows 功能
,勾选适用于Linux的 Windows 子系统
,下载完成之后重启。
安装linux系统¶
- Windows搜索框搜索
store
,打开Microsoft Store
- 搜索linux,
- 从搜过结果中选择合适的版本安装
WSL2¶
WSL 2 架构在几个方面优于 WSL 1
功能 | WSL 1 | WSL 2 |
---|---|---|
Windows 和 Linux 之间的集成 | ✅ | ✅ |
启动时间短 | ✅ | ✅ |
与传统虚拟机相比,占用的资源量少 | ✅ | ✅ |
可以与当前版本的 VMware 和 VirtualBox 一起运行 | ✅ | ✅ |
托管 VM | ❌ | ✅ |
完整的 Linux 内核 | ❌ | ✅ |
完全的系统调用兼容性 | ❌ | ✅ |
跨 OS 文件系统的性能 | ✅ | ❌ |
windows版本要求:Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11
WSL2基于Hyper-V虚拟技术,需要提前开启虚拟化支持。
Windows搜索框搜索 启用
,打开 启用或关闭 Windows 功能
,勾选虚拟机平台
,下载完成之后重启。
- 在
Windows 图标
右键,选择Windows PowerShell(管理员)(A)
启动powershell终端 - 在终端窗口中输入:wsl --install 即可自动执行。
PS C:\users\username> WSL --install 正在安装: 虚拟机平台 已安装 虚拟机平台。 正在安装:适用于 Linux 的 windows 子系统 已安装 适用于 Linux的 windows 子系统。 正在下载:WSL 内核 正在安装: WSL 内核 已安装 WSL 内核。 正在下载:GUI 应用支持 正在安装:GUI 应用支持 已安装 GUI 应用支持。
- 在完成 已安装 GUI 应用支持 后, 按住CTRL+C取消操作后重启。
- 开机后调出终端,输入执行
wsl --set-default-version 2
将 WSL 默认版本调整为 WSL2。 - 在 Microsoft Store 中找到对应发行版进行安装即可;也可通过命令行安装。
命令行安装方法:
wsl -l -o
可查看可安装的发行版,记录发行版名称如ubuntu-20.04
PS C:\users\username> wsl -l -o 以下是可安装的有效分发的列表。 请使用“wsl --install -d <分发>”安装。 NAME FRIENDLY NAME Ubuntu Ubuntu Debian Debian GNU/Linux kali-linux Kali Linux Rolling openSUSE-42 openSUSE Leap 42 SLES-12 SUSE Linux Enterprise Server v12 Ubuntu-16.04 Ubuntu 16.04 LTS Ubuntu-18.04 Ubuntu 18.04 LTS Ubuntu-20.04 Ubuntu 20.04 LTS
wsl --install --d ubuntu-20.04
安装ubuntu20.04
- 安装完毕后,
wsl -l -v
可查看安装的发行版的WSL版本。 - 在开始菜单中打开Ubuntu
更换安装目录¶
上述安装步骤,默认将Ubuntu安装在C盘中,C盘空间不够可能会影响后续使用,因此我们可以将其安装在更大的盘中,如D盘。
- 在D盘中创建文件夹WSL,然后在WSL文件夹中创建文件夹Ubuntu;
下载相关文件,如 https://aka.ms/wslubuntu2004,建议使用迅雷下载
其它linux发行版本的下载链接如下所示,参考 WSL手动安装
https://aka.ms/wslubuntu https://aka.ms/wslubuntu2204 https://aka.ms/wslubuntu2004 https://aka.ms/wslubuntu2004arm https://aka.ms/wsl-ubuntu-1804 https://aka.ms/wsl-ubuntu-1804-arm https://aka.ms/wsl-ubuntu-1604 https://aka.ms/wsl-debian-gnulinux https://aka.ms/wsl-kali-linux-new https://aka.ms/wsl-sles-12 https://aka.ms/wsl-SUSELinuxEnterpriseServer15SP2 https://aka.ms/wsl-SUSELinuxEnterpriseServer15SP3 https://aka.ms/wsl-opensuse-tumbleweed https://aka.ms/wsl-opensuseleap15-3 https://aka.ms/wsl-opensuseleap15-2 https://aka.ms/wsl-oraclelinux-8-5 https://aka.ms/wsl-oraclelinux-7-9
将下载的
wslubuntu2004
放入新建的文件夹D:\WSL\Ubuntu\
中,并重命名为wslubuntu2004.zip
- 将
wslubuntu2004.zip
解压,将解压出来的文件中的Ubuntu_2004.2021.825.0_x64.appx
重命名为Ubuntu_2004.2021.825.0_x64.zip
- 将
Ubuntu_2004.2021.825.0_x64.zip
解压,双击ubuntu2004.exe
即可打开Ubuntu如果出现如下报错Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.10.16.3-microsoft-standard-WSL2 x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Tue Dec 6 11:25:37 CST 2022 System load: 0.0 Processes: 8 Usage of /: 0.4% of 250.98GB Users logged in: 0 Memory usage: 0% IPv4 address for eth0: 172.22.85.201 Swap usage: 0% 0 updates can be installed immediately. 0 of these updates are security updates. The list of available updates is more than a week old. To check for new updates run: sudo apt update This message is shown once once a day. To disable it please create the /root/.hushlogin file. root@DESKTOP-XXXXX:~#
下载这个软件 https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi 安装,重启系统再双击Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x800701bc Error: 0x800701bc WSL 2 ?????????????????? https://aka.ms/wsl2kernel Press any key to continue...
ubuntu2004.exe
打开Ubuntu
更换源¶
以Ubuntu 20.04为例,不同版本参考
# 更新证书
apt-get install --only-upgrade ca-certificates
mv /etc/apt/sources.list /etc/apt/sources.list.back
sudo sed -i "s@http://.*archive.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
sudo apt-get update
sudo apt-get upgrade
虚拟机¶
使用virtualbox或VMware Workstation Player安装linux虚拟机,可以体验完整的linux从安装到完整系统的使用。
Linux Images 中有各种Linux发行版本的virtualbox和VMware,可以直接下载使用,避免自己从头安装。
云服务器¶
前面几种方式都是在自己本地电脑上模拟Linux环境,新手用户也可以买一台云服务器,拥有一台属于自己的服务器,用于练习或者数据分析。
目前各个云服务器厂商为了做推广,新用户或者学生用户,会有比较优惠的活动,新手用户可以尝试轻量应用服务器,一般配置较低,价格较低,适合练习Linux、搭建博客等。
国内常用的云服务器厂商:
国内下载github上的软件或国外的数据可能速度会比较慢,可以尝试使用海外的云服务器。
vultr 支持Alipay支付,支持按量使用付费,使用结束后销毁服务器就不会再计费,服务器IP国内不通时也可以免费更换IP
本文阅读量 次本站总访问量 次