Linux初入门扉 ( 一 )
一、换源
许多linux发行版自带包管理器,不同软件源速度不一样。
因为大多数官方自带软件源都在国外,国内访问速度很慢。因此使用一键换源脚本linuxmirrors官网来更换国内软件源,选择离你近的节点
1 |
|
二、常用命令(以ubuntu为例)
ls
ls(list)获取当前文件夹下的文件,使用方法
1 |
|
eza 是一款现代化的替代方案,用来取代 Unix 和 Linux 系统默认附带的 ls 命令,它在传统 ls 的基础上,提供了更多功能、更优的默认输出、更现代的风格。
它支持颜色区分文件类型、权限、Git 状态等,还支持符号链接、扩展属性等内容。最重要的是,它是一个小巧的单一二进制文件,运行非常快,安装也方便。
ubuntu安装eza:
1 |
|
- -T 树型输出和tree差不多
- -L 2 指定输出层数为2
- -I 忽略指定目录,这里以node_modules为例
另外也支持ls的用法比如
1 |
|
eza还支持显示图标带上--icons参数,不过需要安装nerdfront字体

cat
cat(concatenate)实际的功能是连接多个文件,然后输出。但是当只有一个文件的时候,cat 就会直接输出这个文件,所以 cat 最常见的用途就是输出单个文件。
用法:
1 | # 输出File的内容 |
bat 是一个 cat 的替代品,输出支持语法高亮和分页。可以使用如下命令安装:
1 |
|
用法
1 |
|

1 |
|
常用的表达式:
| 选项 | 含义 |
|---|---|
| -name ‘*.ext’ | 文件名后缀为 ext。其中 * 是任意匹配符 |
| -type d | 文件类型为目录,其他的类型例如 f(普通文件) |
| -size +1M | 大于 1M 的文件,+ 代表大于这个大小,对应地,- 代表小于之后的大小 |
| -or | 或运算符,代表它前后两个条件满足一个即可 |
fd 是 find 的更现代、好用的替代。在 Ubuntu 下需要安装 fd-find 包,并且命令名为 fdfind(而非 fd)。可以彩色输出,观感更好。

tar
打包压缩命令
用法
1 |
|
常用选项:
| 选项 | 含义 |
|---|---|
| -A | 将一个存档文件中的内容追加到另一个存档文件中 |
| -r, –append | 将一些文件追加到一个存档文件中 |
| -c, –create | 从一些文件创建存档文件 |
| -t, –list | 列出一个存档文件的内容 |
| -x, –extract, –get | 从存档文件中提取出文件 |
| -f, –file=ARCHIVE | 使用指定的存档文件 |
| -C, –directory=DIR | 指定输出的目录 |
| -v, –verbose | 详细列出处理的文件 |
| -z, –gzip, –gunzip, –ungzip | 使用 gzip 算法处理存档文件 |
| -j, –bzip2 | 使用 bzip2 算法处理存档文件 |
| -J, –xz | 使用 xz 算法处理存档文件 |
| –zstd | 使用 zstd 算法处理存档文件 |
| -a, –auto-compress | 通过后缀自动选择压缩算法(推荐) |
三、用户
查看 /etc/passwd文件,来得到系统中用户的配置信息。

在此文件中,每一行都代表一个用户,每行中用户信息由冒号 : 隔开,存储着包括用户名、用户编号 (UID, User ID)、家目录位置等信息。更多介绍,可以通过man 5 passwd查阅。
根用户
在前文中我们知道,在使用 apt 安装软件时,我们需要在前面加上 sudo。这可以使我们以根用户 (root) 的身份安装软件。
根用户 / root 用户在 Linux 操作系统中拥有最高的权限,可以对系统做任何操作(包括删除所有系统文件这一类极端危险的操作)。root 用户的用户数据存储在 /root 下。
在我们使用 sudo 的时候,输入自己的密码并验证正确之后,sudo 就会以 root 用户的身份,执行后面我们希望执行的命令。而使用 apt 安装的软件存储在了系统的目录下,所以必须要以 root 用户的身份安装。这就是我们平时需要 sudo 来安装软件的原因。
系统用户
除了你、root 和其他在用你的电脑/服务器的人(如果有)以外,剩下还有很多用户,如 nobody, www-data 等。它们由系统或相关程序创建,用于执行服务等系统任务。不要随意删除这些用户,以免系统运行出现问题。
普通用户
普通用户可以登录系统,并对自己的家目录下的文件进行操作。所有普通用户的家目录都在 /home/ 下,位于 /home/username/ 的位置,其中 username 是用户名。
普通用户无法直接修改系统配置,也无法为系统环境安装或卸载软件。
四、文件层次结构
/bin
存储必须的程序文件,对所有用户都可用。
/boot
存储在启动系统时需要的文件。
/dev
存储设备文件。
/etc
存储系统和程序的配置文件。
/home
用户的家目录。存储用户自己的信息。
/lib
存放系统运行必须的程序库文件。
/media 和 /mnt
这两个目录都用于挂载其他的文件系统。/media 用于可移除的文件系统(如光盘),而 /mnt 用于临时使用。
/opt
存放额外的程序包。一般将一些大型的、商业的应用程序放置在这个目录。
root
root 用户的家目录。
/run
系统运行时的数据。在每次启动时,里面的数据都会被删除。
/sbin
存储用于系统管理,以及仅允许 root 用户使用的程序。如 fsck(文件系统修复程序)、reboot(重启系统)、useradd(添加用户)等。
/srv
存储网络服务的数据。
/tmp
临时目录,所有用户都可使用。
/usr
大多数软件都会安装在此处。其下有一些目录与 / 下的结构相似,如:
/usr/bin
/usr/lib
/usr/sbin
/usr/include: 存储系统通用的 C 头文件。当然,里面会有你非常熟悉的头文件,如 stdio.h。
/usr/local: 存储系统管理员自己安装的程序,这些文件不受系统的软件管理机制(如 apt)控制。/usr/local 里面的层次结构和 /usr 相似。
/usr/share: 存储程序的数据文件(如 man 文档、GUI 程序使用的图片等)。
/var
存储会发生变化的程序相关文件。例如下面的目录:
/var/log:存储程序的日志文件。
/var/lib:存储程序自身的状态信息(如 lock file)。这个目录和 library 的关系并不大。
/var/run:存储程序运行时的数据(部分发行版会将该目录符号链接到 /run 目录)。
/var/spool:存储「等待进一步处理」的程序数据。
