目录

Linux笔记

Linux笔记

本来最开始学Linux时用VMware装了个ubuntu镜像,但用起来卡卡的。虽然最开始时冲着图像界面去的,但后来发现用命令行操作更常用。于是又装了个WSL2学习命令行操作。而且挂载磁盘也比VMware方便。官方文档也很详细,中文支持很好,所以学习起来也很方便。 这里记一下使用过程中遇到的一些问题。

并没打算搞个命令大全之类的,只是记一下最常用且有用的几个。用多了随时添,没必要整一大堆跟背单词一样。

  • ls 列出目录中的文件
  • cd 更改当前目录
  • pwd 打印当前工作目录
  • cat 显示文件的内容
  • rm 删除文件
  • find 在目录层次结构中搜索文件
  • whereis 在特定目录中查找符合条件的文件
  • sudo 以超级用户身份执行命令
  • touch 创建文件/修改文件属性
  • nohup 在系统后台不挂断地运行命令
  • hostname -I 获取ip地址,用户访问wsl中启动的服务
  • du 查看文件占用
  • nano 编辑器,对没linux基础的我来说比vim好用
  • micro 也是编辑器,需要额外安装。操作逻辑更接近windows
  • htop 交互式进程查看器,支持鼠标操作

有种说法是再ubuntu的应用设置中选择重置,亲测无效。

后来又找到别的方法。输入wsl.exe --unregister Ubuntu,再wsl --install就能重新注册用户了。

后续流程按官方的最佳实践来就行。

  1. 如clash等代理软件打开Allow LAN(允许局域网链接)选项

  2. 在wsl中,使用 cd~ 进入用户目录

  3. 编辑.bashrc文件,在末尾添加如下内容:

    hostip=$(ip route show | grep -i default | awk '{ print $3}')
     export https_proxy="http://${hostip}:7890"
     export http_proxy="http://${hostip}:7890"
     export all_proxy="socks5://${hostip}:7890"
  4. 保存退出,执行 source ~/.bashrc 使配置生效

  5. 使用wget www.google.com测试是否成功

我看很多教程获取ip地址都用的 cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*' 可我看官方教程ip route show | grep -i default | awk '{ print $3}' 也不知道为什么,反正我用前一个不行后一个行。

虽然Homebrew官网上就一句话:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

但如果你真的直接把这行代码复制粘贴到终端,大概率看到如下报错:

Error: Failed to install Homebrew Portable Ruby and cannot find another Ruby 3.3!
If there's no Homebrew Portable Ruby available for your processor:
- install Ruby 3.3 with your system package manager (or rbenv/ruby-build)
- make it first in your PATH
- try again

提示说找不到适合你的处理器架构的Ruby 3.3版本,所以我们需要先安装一个Ruby 3.3版本。这里顺便推荐一个版本管理工具vfox

安装Ruby后再安装Homebrew,在茫茫的返回中你找到一行:

==> Installation successful!

但是当你再次输入brew -v命令时,却提示command not found。再看一眼发现了在这行上面还有个报错:

Warning: /home/linuxbrew/.linuxbrew/bin is not in your PATH.
  Instructions on how to configure your shell for Homebrew
  can be found in the 'Next steps' section below.

这是因为Homebrew的安装路径不在你的PATH环境变量中,所以需要手动添加。

echo 'export PATH="/home/linuxbrew/.linuxbrew/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

执行如上命令将homebrew添加到path。这时再执行brew -v就能看到版本号了。

当然可以一个root打天下。但我还是想为不同用途分下多用户。记一下用户操作。

新建用户useradd 选项 用户名。可选项如下:

  • -c comment 指定一段注释性描述。
  • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
  • -g 用户组 指定用户所属的用户组。
  • -G 用户组,用户组 指定用户所属的附加组。
  • -s Shell文件 指定用户的登录Shell。
  • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

推荐操作:sudo useradd -m username -s /bin/bash -g sudo,创建用户的同时新建主目录并设置bash。

删除用户userdel 选项 用户名。推荐操作userdel -r username-r选项将连主目录一起删除。

修改用户usermod 选项 用户名。选项同上。

修改密码passwd 选项 用户名。可选项如下:

  • -l 锁定口令,即禁用账号。
  • -u 口令解锁。
  • -d 使账号无口令。
  • -f 强迫用户下次登录时修改口令。

查看用户组group usernameid username