目录

linux-ubuntu-使用时一些小问题整理-持续更新

linux - ubuntu 使用时一些小问题整理 — 持续更新


ubuntu 中 root用户默认不存在解决办法

root 默认不存在,要使用 root 需要为 root 设置新密码:

sudo passwd root

然后再输入密码,就可以使用root:

su root

下载vim:

apt-get install vim

在Ubuntu系统中,将用户添加到 sudoers 文件中,使其能够以超级用户权限执行命令,通常可以通过以下几种方法实现:

方法1:将用户添加到 sudo

Ubuntu系统中, sudo 组的成员默认具有 sudo 权限。因此,将用户添加到 sudo 组是最简单且推荐的方式。

  1. 打开终端

  2. 使用以下命令将用户添加到 sudo

    sudo usermod -aG sudo <username>

    其中, <username> 是需要添加到 sudo 组的用户名。

  3. 注销并重新登录 ,或者重启系统,使更改生效。

方法2:直接编辑 sudoers 文件

虽然不推荐直接编辑 sudoers 文件,因为操作不当可能会导致系统权限问题,但有时也可以通过以下步骤实现:

  1. 打开终端

  2. 使用 visudo 命令编辑 sudoers 文件

    sudo visudo

    visudo 命令会打开一个文本编辑器(通常是 nanovi ),并自动检查语法错误。

  3. 在文件中添加以下行

    <username> ALL=(ALL:ALL) ALL

    这表示用户 <username> 可以以任何用户的身份执行任何命令。

  4. 保存并退出编辑器

    • 如果使用的是 nano ,按 Ctrl+X ,然后按 Y 确认保存,最后按 Enter 键退出。
    • 如果使用的是 vi ,按 Esc 键,输入 :wq 并按 Enter 键保存并退出。

修改用户的shell类型、问题:用户的提示符只有 $

pupu用户的提示符只有 $ ,没有显示当前目录等信息,并且快捷键用不了,这可能是因为其默认的shell是 sh 而不是 bashsh 不支持一些快捷键操作,如方向键等,因此需要将pupu用户的shell改为 bash

编辑 /etc/passwd 文件

使用文本编辑器打开 /etc/passwd 文件:

sudo vi /etc/passwd

找到pupu用户对应的行,将行末的 /bin/sh 改为 /bin/bash ,修改后的行类似如下:

pupu:x:1002:1003::/home/pupu:/bin/bash

保存并退出编辑器。

使配置生效

切换到pupu用户,查看是否能够正常显示提示符和使用快捷键:

su - pupu

检查环境变量配置

如果修改shell类型后问题仍然存在,可以检查pupu用户的环境变量配置。编辑 ~/.bashrc 文件,确保其中没有错误的配置:

nano ~/.bashrc

如果发现异常配置,可以参考默认的 /etc/skel/.bashrc 文件进行修复。

使用 useradd 命令创建用户

sudo useradd -m -s /bin/bash 新用户名
  • -m :自动创建用户的家目录( /home/新用户名 )。
  • -s /bin/bash :指定用户的默认shell为bash,确保支持快捷键和完整功能。

设置用户密码

sudo passwd 新用户名

按提示输入并确认新用户的密码。

添加到用户组

sudo usermod -aG sudo 新用户名

将新用户添加到sudo组,使其具有管理员权限。

验证用户配置

切换到新用户,检查家目录、shell功能和快捷键是否正常:

su - 新用户名

通过以上步骤创建的新用户,其提示符会显示用户名、主机名和当前目录,并且支持方向键等快捷键操作。

恢复home家目录

以root用户身份登录,并且当前所在目录是根目录 / 。从输出结果来看,根目录下有一个异常的 home 目录( home$'\b' ),这可能是由于之前的误操作导致的。

修复步骤

1. 删除异常的 home 目录

首先,删除这个异常的 home 目录:

rm -rf /home$'\b'
2. 重新创建正常的 home 目录

创建一个正常的 home 目录:

mkdir /home
3. 设置 home 目录的权限

确保 home 目录的权限正确:

chmod 755 /home
4. 重新创建用户的家目录

pupuubuntu 用户重新创建他们的家目录:

mkdir /home/pupu
mkdir /home/ubuntu
5. 设置家目录的所有权和权限

确保这些家目录的所有权和权限正确:

chown -R pupu:pupu /home/pupu
chown -R ubuntu:ubuntu /home/ubuntu
chmod 700 /home/pupu
chmod 700 /home/ubuntu
6. 恢复默认的shell配置文件

如果家目录被删除,用户的shell配置文件(如 .bashrc.profile 等)也会丢失。我们可以从系统的默认配置文件中恢复这些文件。

对于 pupu 用户:

cp /etc/skel/.bashrc /home/pupu/
cp /etc/skel/.profile /home/pupu/
chown pupu:pupu /home/pupu/.bashrc
chown pupu:pupu /home/pupu/.profile

对于 ubuntu 用户:

cp /etc/skel/.bashrc /home/ubuntu/
cp /etc/skel/.profile /home/ubuntu/
chown ubuntu:ubuntu /home/ubuntu/.bashrc
chown ubuntu:ubuntu /home/ubuntu/.profile
7. 验证修复结果

切换到 pupu 用户,验证是否能够正常访问家目录并执行操作:

su - pupu

同样,切换到 ubuntu 用户进行验证:

su - ubuntu

修复 .git 目录权限解决方案

在上传代码到gitee的时候如果是第一次,并且在 git commit 的时候忽略了他的报错 ,再使用sudo去使用root权限上传就会导致虽然代码上传了,但是没有绿点的问题。

https://i-blog.csdnimg.cn/direct/9597ab337dde43e2a5b23903136197b5.png

方法 1:修复 .git 目录权限

.git 目录及其文件的所有权归还给当前用户(替换 pupu 为你的实际用户名):

sudo chown -R pupu:pupu .git

此命令递归修复 .git 目录下所有文件的属主,确保普通用户有读写权限。

方法 2:直接修复关键文件权限

如果仅需修复 COMMIT_EDITMSG 文件:

sudo chown pupu:pupu .git/COMMIT_EDITMSG

后续操作

  1. 重新提交代码

    git add .
    git commit -m "你的提交信息"
    git push
  2. 验证提交者信息

    • 提交后检查 Git 日志,确保作者信息正确:

      git log --pretty=format:"%h - %an, %ae, %ad"
    • 如果作者信息仍为 root ,使用 git commit --amend 修正(见下文)。


修正历史提交的作者信息(可选)

如果之前的提交仍关联 root 身份,可通过以下命令修正:

git commit --amend --author="你的Gitee用户名 <你的Gitee绑定邮箱>"
git push --force

关键注意事项

  1. 避免使用 sudo 操作 Git

    • Git 仓库无需 root 权限,始终以普通用户操作。
    • 如果遇到权限问题,优先修复目录权限,而非使用 sudo
  2. 检查全局 Git 配置

    • 确保已正确配置全局邮箱和用户名:
    git config --global user.email "你的Gitee绑定邮箱"
    git config --global user.name "你的Gitee用户名"
  3. 强制推送的风险

    • git push --force 会覆盖远程仓库历史,仅在私有仓库或独立开发时使用。

ubuntu、vim编译器配置:

https://i-blog.csdnimg.cn/direct/2e73d53cf25943f0a348a1214a8d2166.png

curl https://gitee.com/mirrorvim/vim-fast/raw/master/shell/webinstall.sh | bash

((在安装完毕后如果遇到输出混乱的问题,可以直接关闭终端重启就可以了))

  1. 出现

    https://i-blog.csdnimg.cn/img_convert/d0ff4bcb19bb5be3aa05bf377cf39a65.png

    后按下回车

  2. 出现下图,安装完成

https://i-blog.csdnimg.cn/img_convert/efe86aeabb4264662a1c639ad4b3b1a8.jpeg

xshell,tmux 打开的颜色混乱

  • xshell中 “工具” -> “选项” -> “高级”->“使用本色”,打开后重启xshell
  • tmux
1. 通过`echo $TERM` 查找终端类型,通常是`xterm-256color`或者`screen-256color`

2. 编辑`~/.tmux.conf` 添加
set -g default-terminal "xterm-256color"
#set -g default-terminal "screen-256color"   # 如果使用screen-256color则用这条指令
set-option -ga terminal-overrides ",*256col*:Tc"
3. 重启tmux
  • 如果还是无法解决,可以切换主题为onedark,并关闭termguicolors,设置
  • let g:onedark_termcolors=256

其他问题直接查看大佬的gitee就行