Linux从零到一的学习
Linux从零到一的学习
一.目录结构
1. Linux 文件系统目录结构
Linux 文件系统采用层次化的树形结构,根目录为 /
。以下是一些常见的顶级目录及其用途:
目录 | 用途 |
---|---|
/ | 根目录,所有其他目录的起点。 |
/bin | 包含系统启动和运行时所需的可执行文件(如 ls 、cp 等)。 |
/sbin | 包含系统管理员使用的系统工具(如 fdisk 、fsck 等)。 |
/boot | 包含启动 Linux 时需要的文件(如 vmlinuz 、initrd.img 等)。 |
/dev | 包含设备文件,用于访问硬件设备(如 /dev/sda 表示硬盘)。 |
/etc | 包含系统配置文件(如 /etc/passwd 、/etc/hosts 等)。 |
/home | 包含普通用户的主目录,每个用户有自己独立的目录(如 /home/user1 )。 |
/lib | 包含系统运行时所需的动态链接库文件(如 .so 文件)。 |
/media | 用于挂载外部存储设备(如 U 盘、移动硬盘等)。 |
/mnt | 临时挂载文件系统的目录。 |
/opt | 用于安装可选的软件包。 |
/proc | 虚拟文件系统,包含系统和进程信息(如 /proc/cpuinfo )。 |
/root | 系统管理员(root 用户)的主目录。 |
/run | 包含系统运行时生成的文件(如进程 ID 文件)。 |
/srv | 包含服务数据(如 Web 服务器的网页文件)。 |
/sys | 包含系统设备和内核对象的信息。 |
/tmp | 包含临时文件,通常在系统重启时会被清空。 |
/usr | 包含用户程序和文件(如 /usr/bin 、/usr/lib 等)。 |
/var | 包含可变数据文件(如日志文件 /var/log 、邮件 /var/mail 等)。 |
二.命令基础
1. 文件和目录操作
-
ls
:列出目录内容。-l
:以长格式显示文件和目录的详细信息,包括权限、所有者、大小等。-a
:显示所有文件和目录,包括隐藏文件(以点开头的文件)。-h
:以人类可读的格式显示文件大小(如 KB、MB)。- 示例:
ls -la
列出当前目录下所有文件和目录的详细信息,包括隐藏文件。
-
cd
:切换目录。- 示例:
cd /home/user
切换到/home/user
目录。 cd ..
返回上一级目录。cd
返回用户的主目录。
- 示例:
-
pwd
:显示当前工作目录的完整路径。- 示例:
pwd
输出类似/home/user/documents
的路径。
- 示例:
-
mkdir
:创建目录。- 示例:
mkdir newdir
创建一个名为newdir
的目录。 -p
:递归创建目录,例如mkdir -p dir1/dir2/dir3
。
- 示例:
-
rm
:删除文件或目录。- 示例:
rm file.txt
删除文件file.txt
。 -r
:递归删除目录及其内容,例如rm -r dir
。-f
:强制删除,不提示确认,例如rm -rf dir
(小心使用,可能会误删重要文件)。
- 示例:
-
cp
:复制文件或目录。- 示例:
cp file1.txt file2.txt
将file1.txt
复制为file2.txt
。 -r
:递归复制目录,例如cp -r dir1 dir2
。
- 示例:
-
mv
:移动或重命名文件或目录。- 示例:
mv file1.txt file2.txt
将file1.txt
重命名为file2.txt
。 mv file.txt /home/user
将文件移动到/home/user
目录。
- 示例:
2.文件内容查看和编辑
-
cat
:显示文件内容。- 示例:
cat file.txt
显示file.txt
的内容。
- 示例:
-
more
和less
:分页显示文件内容。more
:按页显示文件内容,按空格键翻页。less
:功能更强大,支持上下翻页、搜索等。
-
head
和tail
:显示文件的开始或结束部分。head -n 10 file.txt
显示文件的前 10 行。tail -n 10 file.txt
显示文件的最后 10 行。tail -f file.txt
实时显示文件的新增内容,常用于查看日志文件。
-
vi
或vim
:文本编辑器。- 进入编辑模式:按
i
键。 - 退出编辑模式:按
Esc
键。 - 保存并退出:
:wq
。 - 强制退出不保存:
:q!
。
- 进入编辑模式:按
3.系统信息和管理
-
whoami
:显示当前登录用户。- 示例:
whoami
输出当前用户名称。
- 示例:
-
who
:显示当前登录的用户信息。- 示例:
who
列出所有登录用户及其登录时间。
- 示例:
-
ps
:显示当前进程信息。- 示例:
ps -ef
显示所有进程的详细信息。
- 示例:
-
top
:实时显示系统中占用资源最多的进程。- 示例:
top
打开进程监控界面,按q
退出。
- 示例:
-
df
:显示磁盘空间使用情况。- 示例:
df -h
以人类可读的格式显示磁盘空间。
- 示例:
-
du
:显示文件或目录的磁盘使用情况。- 示例:
du -sh dir
显示目录dir
的总大小。
- 示例:
-
free
:显示内存使用情况。- 示例:
free -h
以人类可读的格式显示内存信息。
- 示例:
4.网络操作
-
ifconfig
或ip
:显示或配置网络接口。- 示例:
ifconfig
显示网络接口信息。 ip addr show
显示网络接口的 IP 地址。
- 示例:
-
ping
:测试网络连接。- 示例:
ping www.example.com
向指定主机发送 ICMP 请求。
- 示例:
-
netstat
:显示网络连接、路由表等信息。- 示例:
netstat -tuln
显示所有监听的 TCP 和 UDP 端口。
- 示例:
-
curl
或wget
:下载文件或访问网络资源。- 示例:
curl -O http://example.com/file.zip
下载文件。 wget http://example.com/file.zip
也可以下载文件。
- 示例:
5.权限管理
-
chmod
:修改文件或目录的权限。- 示例:
chmod 755 file.txt
设置文件的权限为所有者可读写执行,组用户和其他用户可读执行。 - 权限数字表示:
4
:读权限2
:写权限1
:执行权限- 权限组合:
7
=4 + 2 + 1
(读写执行)。
- 示例:
-
chown
:修改文件或目录的所有者。- 示例:
chown user:group file.txt
将文件的所有者设置为user
,所属组设置为group
。
- 示例:
-
chgrp
:修改文件或目录的所属组。- 示例:
chgrp group file.txt
将文件的所属组设置为group
。
- 示例:
6.搜索和过滤
-
grep
:搜索文本内容。- 示例:
grep "keyword" file.txt
在文件中搜索包含关键字的行。 -i
:忽略大小写,例如grep -i "keyword" file.txt
。-r
:递归搜索目录中的文件,例如grep -r "keyword" /path/to/dir
。
- 示例:
-
find
:搜索文件和目录。- 示例:
find /path/to/dir -name "file.txt"
在指定目录中搜索名为file.txt
的文件。 -type
:指定文件类型,例如-type d
表示目录。-mtime
:根据修改时间搜索文件,例如-mtime -1
表示最近一天内修改的文件。
- 示例:
7.其他常用命令
-
history
:显示命令历史。- 示例:
history
列出最近执行的命令。
- 示例:
-
clear
:清屏。- 示例:
clear
清除终端屏幕内容。
- 示例:
-
alias
:创建命令别名。- 示例:
alias ll='ls -la'
创建别名ll
,使其等同于ls -la
。
- 示例:
-
man
:查看命令的手册页。- 示例:
man ls
查看ls
命令的详细说明。
- 示例: