rm命令有哪些

rm 命令是 Linux 和类 Unix 系统中用于删除文件和目录的命令。以下是一些常用的 rm 命令选项:

  1. rm [file...]:删除指定的文件。
  2. rm -i [file...]:删除文件前会询问用户确认。
  3. rm -f [file...]:强制删除文件,不会提示确认。
  4. rm -r [directory]:递归删除目录及其内容。
  5. rm -R [directory]:与 -r 相同,递归删除。
  6. rm -v [file...]:详细模式,删除文件时显示详细信息。
  7. rm -d [directory]:删除空目录(在某些系统中可能需要 -- 来区分选项和目录名)。
  8. rm -I [file...]:与 -i 类似,但当同时删除多个文件时,只在删除前询问一次。
  9. rm --preserve-root:防止删除根目录。
  10. rm --no-preserve-root:允许删除根目录(默认行为)。
  11. rm --one-file-system:不跨越文件系统删除文件。
  12. rm --ignore-fail-on-non-empty:忽略非空目录的错误。
  13. rm --interactive={once,always}:设置交互模式,可以是 once 或 always
  14. rm --no-warn:不显示警告信息。

使用 rm 命令时应该非常小心,因为一旦删除了文件,通常很难恢复。在执行删除操作之前,最好先使用 ls 命令检查要删除的文件或目录。此外,对于重要的数据,应该先进行备份。

发表在 未分类 | 留下评论

修改linux下的文件夹和文件权限!

-Rchmodchown 命令中的一个选项,用于递归地应用权限或所有者设置到文件夹及其所有子文件和子文件夹。

-R 选项的用途

  1. chmod -R
    递归地更改文件夹及其所有子文件和子文件夹的权限。 例子:
   chmod -R 755 foldername

这条命令会将 foldername 文件夹及其所有内容的权限设置为 755,即所有者具有读、写、执行权限,组和其他人具有读和执行权限。

  1. chown -R
    递归地更改文件夹及其所有子文件和子文件夹的所有者和用户组。 例子:
   chown -R user:group foldername

这条命令会将 foldername 文件夹及其所有内容的所有者更改为 user,用户组更改为 group

使用 -R 选项时要小心,因为它会影响文件夹中的所有文件和子文件夹。如果只想更改特定文件或子文件夹的权限,应该明确指定那些文件或文件夹。

数字 755 是用来表示文件或文件夹权限的数字模式,其中每个数字代表不同类别用户的权限。数字权限的每一位分别代表不同的权限设置:

  1. 数字结构
  • 第一个数字:所有者的权限
  • 第二个数字:组用户的权限
  • 第三个数字:其他用户的权限
  1. 每个数字的含义
  • 7 = rwx(读、写、执行)
  • 6 = rw-(读、写)
  • 5 = r-x(读、执行)
  • 4 = r--(读)
  • 3 = wx-(写、执行)
  • 2 = w--(写)
  • 1 = --x(执行)
  • 0 = ---(无权限)

755 的具体含义:

  • 7(所有者的权限):表示所有者(文件的创建者)具有读(r)、写(w)和执行(x)权限。
  • rwx = 7
  • 5(组用户的权限):表示与文件所有者在同一组的用户具有读(r)和执行(x)权限,但没有写(w)权限。
  • r-x = 5
  • 5(其他用户的权限):表示所有其他用户具有读(r)和执行(x)权限,但没有写(w)权限。
  • r-x = 5

总结

  • 755 使得文件的所有者能够读、写、执行该文件,而组用户和其他用户只能读和执行该文件,但不能修改它。

除了 755,还有很多其他数字模式可以用来设置文件和文件夹的权限。每个数字由三个权限位组成,分别是读(r)、写(w)和执行(x)。这些位可以组合成不同的数字权限模式。以下是一些常见的数字模式及其含义:

常见的数字模式及其权限

  1. 777
  • 所有者、组用户和其他用户都具有读(r)、写(w)和执行(x)权限。
  • 权限模式:rwxrwxrwx
  1. 755
  • 所有者:读(r)、写(w)、执行(x)
  • 组用户:读(r)、执行(x)
  • 其他用户:读(r)、执行(x)
  • 权限模式:rwxr-xr-x
  1. 644
  • 所有者:读(r)、写(w)
  • 组用户:读(r)
  • 其他用户:读(r)
  • 权限模式:rw-r--r--
  1. 700
  • 所有者:读(r)、写(w)、执行(x)
  • 组用户:无权限
  • 其他用户:无权限
  • 权限模式:rwx------
  1. 600
  • 所有者:读(r)、写(w)
  • 组用户:无权限
  • 其他用户:无权限
  • 权限模式:rw-------
  1. 444
  • 所有者、组用户和其他用户都只有读(r)权限。
  • 权限模式:r--r--r--
  1. 333
  • 所有者、组用户和其他用户都只有写(w)和执行(x)权限,没有读(r)权限。
  • 权限模式:-wx-wx-wx
  1. 000
  • 所有者、组用户和其他用户都没有任何权限。
  • 权限模式:---------

权限位解释

  • r(读权限,4):允许读取文件内容。
  • w(写权限,2):允许修改文件内容。
  • x(执行权限,1):允许执行文件(如果文件是程序或脚本)。

权限数字计算

每个权限位的数字值相加形成一个三位数字的权限模式。例如:

  • 权限 rwx = 4 + 2 + 1 = 7
  • 权限 rw- = 4 + 2 = 6
  • 权限 r-- = 4

你可以通过组合这些数字来设置不同的权限。例如,755 是一个常用的权限设置,表示所有者可以完全访问文件,而其他用户只能读和执行文件。

发表在 未分类 | 留下评论

将 Linux 上的 VSCode 改为 Consolas 字体

将 Linux 上的 VSCode 改为 Consolas 字体

Linux 上的 VSCode 写起代码来总让人觉得莫名烦躁,而 Windows 上面的 VSC 就赏心悦目很多,想了很久之后终于发现是默认字体的问题。Windows 上面的 VSC 默认是 Consolas 字体,在 Ubuntu 上面大概是 Droid Sans 家族的某种版本,实在是不好看,所以换掉。

首先要在 Ubuntu 上安装 Consolas:

wget https://down.gloriousdays.pw/Fonts/Consolas.zip

unzip Consolas.zip

sudo mkdir -p /usr/share/fonts/consolas

sudo cp consola*.ttf /usr/share/fonts/consolas/

sudo chmod 644 /usr/share/fonts/consolas/consola*.ttf

cd /usr/share/fonts/consolas

sudo mkfontscale && sudo mkfontdir && sudo fc-cache -fv

这样就装好了。用 fc-list 可以看所有安装的字体。

之后在 VSC 的 preference 中修改对应的项:

“editor.fontFamily”: “‘Consolas’, ‘Droid Sans Mono’, ‘monospace’, monospace, ‘Droid Sans Fallback'”

这样就可以了

20181130 Update:

如果没有 root 权限,由于 ~/.fonts 实际上就是用户个人的字体文件夹,因此我们在 $HOME 文件夹下也可以做到同样的事情:

wget https://down.gloriousdays.pw/Fonts/Consolas.zip

unzip Consolas.zip

mkdir ~/.fonts

cp consola*.ttf ~/.fonts

cd ~/.fonts

mkfontscale

mkfontdir

fc-cache -fv ~/.fonts

之后用 fc-list 可以看到新安装的字体,在 VSCode 中也可以进行调整。

发表在 未分类 | 留下评论

rpm包和下载的tar包如何安装

在 Linux 系统中,.rpm.tar 包是两种常见的软件包格式。以下是如何在基于 RPM 的 Linux 发行版(如 Fedora、CentOS、RHEL 等)中安装这两种包的方法:

安装 RPM 包:

  1. 使用 rpm 命令
  • 首先,确保你有安装 rpm 工具。
  • 使用以下命令安装 .rpm 包:
    bash sudo rpm -ivh package.rpm
  • 其中 package.rpm 是你下载的 RPM 包的文件名。
  1. 解决依赖性问题
  • 如果安装过程中出现依赖性问题,你可以使用 yumdnf 命令来解决(取决于你的发行版):
    bash sudo dnf install package.rpm
  • 或者,如果你使用的是较旧的系统,可能需要使用 yum
    bash sudo yum install package.rpm

安装 TAR 包:

  1. 提取 TAR 包
  • .tar 包可能只是一个压缩归档,里面包含源代码或其他文件。首先,你需要提取它:
    bash tar -xvf archive.tar
  1. 编译和安装
  • 如果 TAR 包包含源代码,通常需要编译它们:
    bash cd directory ./configure make sudo make install
  • 其中 directory 是提取后的目录名,archive.tar 是你下载的 TAR 包的文件名。
  1. 直接安装 TAR.GZ 或 TAR.BZ2 包
  • 如果 TAR 包是二进制文件(例如 .tar.gz.tar.bz2),你可能可以直接使用 rpm 命令安装:
    bash sudo rpm -ivh package.tar.gz
  • 或者先解压,然后根据包内的指示进行安装。

注意事项:

  • 在安装任何软件包之前,建议检查包的完整性和来源的可靠性,以避免安全风险。
  • 如果你正在安装的软件包与系统上的其他软件包有冲突,你可能需要先卸载冲突的包或解决依赖性问题。
  • 在编译源代码时,确保你的系统上安装了必要的编译工具和库。

请根据你的具体 Linux 发行版和软件包的类型选择合适的安装方法。如果你不确定如何操作,可以查阅软件包提供的文档或在线资源。

发表在 未分类 | 留下评论

如何本地安装apt和pacman的软件包

在不同的操作系统中,安装软件包的方式会有所不同。apt 是 Debian 及其衍生版(如 Ubuntu)的包管理器,而 pacman 是 Arch Linux 及其衍生版(如 Manjaro)的包管理器。以下是在各自系统中本地安装软件包的基本步骤:

在基于 Debian 的系统(使用 apt):

  1. 下载软件包
  • 你可以从软件源或者官方网站下载 .deb 文件。
  1. 安装软件包
  • 使用 dpkg 命令安装下载的 .deb 文件:
    bash sudo dpkg -i /path/to/package.deb
  • 如果软件包依赖其他未安装的包,可以使用 apt-get 来解决依赖问题:
    bash sudo apt-get install -f

在基于 Arch Linux 的系统(使用 pacman):

  1. 下载软件包
  • 你可以从 Arch Linux 的官方仓库或者 AUR(Arch User Repository)下载 .tar.xz 源码包或者 .pkg.tar.xz 二进制包。
  1. 安装软件包
  • 使用 pacman 命令安装下载的包:
    bash sudo pacman -U /path/to/package.pkg.tar.xz
  • 如果是从 AUR 下载的源码包,你需要先构建然后安装:
    bash cd /path/to/package makepkg -si

通用步骤:

  1. 下载软件包
  • 你可以使用 wgetcurl 等工具下载软件包:
    bash wget http://example.com/package.deb # 或者 curl -O http://example.com/package.deb
  1. 安装软件包
  • 对于 .deb 文件,使用 dpkg
    bash sudo dpkg -i package.deb sudo apt-get install -f
  • 对于 .pkg.tar.xz 文件,使用 pacman
    bash sudo pacman -U package.pkg.tar.xz

请注意,直接从互联网下载软件包并安装可能会带来安全风险,因为无法保证软件包的来源是安全的。始终建议使用官方软件源或者受信任的第三方源来安装软件包。此外,如果你不熟悉构建和安装软件的过程,可能会遇到依赖性问题或者包冲突,所以在安装之前请确保你了解这些风险。

发表在 未分类 | 留下评论

apt和apt-get有什么区别

aptapt-get 都是 Debian 及其衍生版(如 Ubuntu)Linux 发行版中用于管理软件包的工具,它们都使用相同的软件包数据库和依赖性解析器。尽管它们在功能上非常相似,但它们之间存在一些差异:

  1. 用户界面
  • apt 是一个命令行用户界面(CLI)前端,它提供了一个更友好的界面,并且可以交互式地处理任务。
  • apt-get 是一个更传统的命令行工具,它通常用于非交互式环境,比如脚本中。
  1. 命令选项
  • apt 命令通常更简洁,它会自动处理一些任务,比如在安装软件包时自动安装依赖项。
  • apt-get 需要更明确的命令选项来执行相同的任务,例如,使用 apt-get install 来安装软件包。
  1. 功能
  • apt 支持更多的高级功能,如自动下载和安装软件包的依赖项,以及更好的错误处理。
  • apt-get 则更为基础,它提供了一些 apt 不具备的命令选项,比如 apt-get dselect-upgrade
  1. 兼容性
  • aptapt-get 的现代替代品,它旨在提供更好的用户体验和更多的功能。
  • apt-get 已经存在很长时间,因此许多旧的脚本和文档可能仍然使用 apt-get
  1. 未来方向
  • Debian 和 Ubuntu 官方推荐使用 apt 作为主要的软件包管理工具。
  • apt-get 仍然得到支持,但可能会逐渐被 apt 取代。

在实际使用中,大多数用户可能会发现 apt 更加方便和直观。然而,如果你正在处理一个特定的脚本或遵循一个教程,可能会遇到需要使用 apt-get 的情况。在大多数日常任务中,两者可以互换使用,但 apt 通常被认为是更现代的选择。

发表在 未分类 | 留下评论

apt命令

apt 是 Debian 及其衍生版(如 Ubuntu)Linux 发行版中的高级包装工具,它用于处理软件包的安装、更新和删除。以下是一些常用的 apt 命令:

  1. 更新软件包列表
   sudo apt update
  1. 升级所有已安装的软件包
   sudo apt upgrade
  1. 升级系统并安装新的软件包
   sudo apt full-upgrade
  1. 搜索软件包
   apt search <软件包名>
  1. 显示软件包的详细信息
   apt show <软件包名>
  1. 安装软件包
   sudo apt install <软件包名>
  1. 卸载软件包
   sudo apt remove <软件包名>
  1. 自动删除不再需要的软件包
   sudo apt autoremove
  1. 清理下载的软件包存档
   sudo apt clean
  1. 删除软件包并清理配置文件sudo apt purge <软件包名>
  2. 列出已安装的软件包dpkg -l | grep <软件包名>
  3. 列出所有软件包的状态apt list --installed
  4. 修复依赖关系sudo apt -f install
  5. 模拟安装软件包(不实际安装): apt install <软件包名> -s
  6. 编辑软件包源列表
    sudo nano /etc/apt/sources.list

这些命令覆盖了 apt 的基本功能,包括软件包的搜索、安装、更新和删除。要获取更多信息或了解高级用法,可以使用 man apt 命令查看手册页。

发表在 未分类 | 留下评论

winget命令

WinGet 是微软推出的 Windows 包管理器,它允许用户通过命令行界面来发现、安装、升级、配置和卸载 Windows 10 和 Windows 11 上的应用程序。以下是一些基本的 WinGet 命令及其用法:

  1. 搜索软件包
   winget search <关键词>

例如,搜索 Visual Studio Code:

   winget search vscode
  1. 安装软件包
   winget install <软件包名或ID>

例如,安装 Visual Studio Code:

   winget install Microsoft.VisualStudioCode
  1. 显示软件包信息
   winget show <软件包名>
  1. 管理应用源
   winget source
  1. 查看 WinGet 版本
   winget -v, --version
  1. 显示工具的常规信息
   winget --info
  1. 升级所有已安装的软件包
   winget upgrade
  1. 卸载软件包
   winget uninstall <软件包名或ID>
  1. 验证清单文件
   winget validate <文件路径>
  1. 计算安装程序的哈希值
    winget hash <文件路径>

这些命令可以帮助用户更高效地管理 Windows 系统上的软件包。更多详细信息和高级用法,可以参考 Microsoft 官方文档 。

发表在 未分类 | 留下评论

pacman命令

pacman 是 Arch Linux 及其衍生版(如 Manjaro)的包管理器,它提供了许多命令来管理软件包。以下是一些常用的 pacman 命令:

  1. 更新软件包数据库:
   pacman -Sy
  1. 升级所有已安装的软件包:
   pacman -Su
  1. 升级整个系统(包括内核):
   pacman -Syu
  1. 安装新的软件包:
   pacman -S <package_name>
  1. 从本地文件安装软件包:
   pacman -U <package_file.pkg.tar.xz>
  1. 搜索软件包:
   pacman -Ss <search_term>
  1. 搜索已安装的软件包:
   pacman -Qs <search_term>
  1. 列出所有已安装的软件包:
   pacman -Q
  1. 列出特定软件包的详细信息:
   pacman -Qi <package_name>
  1. 列出特定软件包中的所有文件: pacman -Ql <package_name>
  2. 删除软件包但保留其依赖项: pacman -R <package_name>
  3. 删除软件包及其未使用的依赖项: pacman -Rs <package_name>
  4. 删除软件包、配置文件和未使用的依赖项: pacman -Rn <package_name>
  5. 清除缓存中的软件包文件: pacman -Sc
  6. 查找哪些软件包依赖于某个特定文件: pacman -Qo <file_path>
  7. 列出所有可升级的软件包: pacman -Qu
  8. 列出所有不再作为其他软件包依赖的软件包(孤儿包): pacman -Qdt
  9. 列出所有被废弃的软件包: pacman -Qm
  10. 列出所有显式安装的软件包: pacman -Qe
  11. 查看软件包的依赖关系:
    pacman -Qi <package_name> | grep -A 9 "Required By"

这些命令覆盖了 pacman 的基本功能,包括安装、搜索、查询和删除软件包。要获取更多信息或了解高级用法,可以使用 man pacman 命令查看手册页。

发表在 未分类 | 留下评论

Yay软件管理包命令

yay 是一个在 Arch Linux 和基于 Arch 的发行版中广泛使用的 AUR 助手,它提供了许多命令来简化包管理任务。以下是一些 yay 的常用命令:

  1. 更新系统并升级所有软件包:
   yay

或者

   yay -Syu
  1. 仅更新 AUR 软件包:
   yay -Sua
  1. 安装新的软件包(来自仓库和 AUR):
   yay -S <package_name>
  1. 从仓库和 AUR 搜索软件包:
   yay -Ss <search_term>
  1. 显示已安装软件包和系统健康状况的统计数据:
   yay -Ps
  1. 删除软件包但保留配置和依赖:
   yay -R <package_name>
  1. 删除软件包、配置文件和未使用的依赖:
   yay -Rns <package_name>
  1. 清除缓存:
   yay -Sc
  1. 列出所有已安装的软件包:
   yay -Q
  1. 搜索已安装的软件包: yay -Qs <search_term>
  2. 显示软件包信息: yay -Qi <package_name>
  3. 打印包更新: yay -Pu
  4. 生成用于开发更新的开发包 DB:
    yay -Y --gendb

这些命令覆盖了大多数日常的包管理需求,从安装新软件到维护系统更新。使用这些命令可以有效地管理你的 Arch Linux 系统。更多高级用法和选项,可以参考 yay 的手册页或官方文档。

发表在 未分类 | 留下评论