目录结构及其详细作用
-
/ (根目录)
- Linux文件系统的起点,所有文件和目录都在其下。
-
/bin
- 存放系统启动和运行时所需的基本命令,如
ls
,cp
,mv
,rm
,这些命令在单用户模式下或系统崩溃时仍然可用。
- 存放系统启动和运行时所需的基本命令,如
-
/boot
- 包含启动引导加载器的文件和Linux内核,比如
vmlinuz
,initrd.img
。此外,还有启动配置文件,如grub
配置文件。
- 包含启动引导加载器的文件和Linux内核,比如
-
/dev
- 设备文件所在目录,每个文件代表一个设备,如硬盘 (
/dev/sda
), 光驱 (/dev/cdrom
), 终端 (/dev/tty
) 等。
- 设备文件所在目录,每个文件代表一个设备,如硬盘 (
-
/etc
- 存放系统的配置文件和子目录。例如,用户账号信息在
/etc/passwd
,网络配置文件在/etc/network/interfaces
(或/etc/netplan
)。
- 存放系统的配置文件和子目录。例如,用户账号信息在
-
/home
- 用户主目录,每个用户在
/home
下有一个子目录,如/home/alice
。用户的个人文件和配置文件通常都在这里。
- 用户主目录,每个用户在
-
/lib
- 存放系统运行时的共享库文件和内核模块,基本命令在运行时所依赖的库也存放在这里。
-
/media
- 挂载点目录,通常用于自动挂载可移动介质(如U盘、光盘等)。
-
/mnt
- 临时挂载文件系统的挂载点,管理员手动挂载时常使用。
-
/opt
- 用于存放第三方软件包,通常是一些可选的软件包和附加应用。
-
/proc
- 虚拟文件系统,提供系统进程和内核信息,每个进程都有一个对应的子目录,如
/proc/{pid}
,其中包含该进程的相关信息。
- 虚拟文件系统,提供系统进程和内核信息,每个进程都有一个对应的子目录,如
-
/root
- 超级用户(root)的主目录,与普通用户的主目录类似,但具有更高权限。
-
/sbin
- 存放系统管理员使用的系统命令,如
ifconfig
,reboot
,shutdown
。这些命令通常需要超级用户权限才能执行。
- 存放系统管理员使用的系统命令,如
-
/srv
- 服务数据目录,存放系统服务的数据,例如Web服务器的数据可能存放在
/srv/www
。
- 服务数据目录,存放系统服务的数据,例如Web服务器的数据可能存放在
-
/tmp
- 临时文件目录,任何用户或应用程序都可以在此创建临时文件,系统重启后可能会被清空。
-
/usr
- 用户二进制文件和数据,包括许多子目录:
/usr/bin
:存放用户命令的二进制文件。/usr/sbin
:存放系统管理员命令的二进制文件。/usr/lib
:存放共享库文件。/usr/share
:存放共享数据,如手册页、文档、图标等。/usr/local
:本地安装的软件包,通常不通过包管理器安装。
- 用户二进制文件和数据,包括许多子目录:
-
/var
- 变量数据文件,如日志文件、缓存文件、临时文件等。常见子目录:
/var/log
:系统日志文件。/var/tmp
:需要长时间保存的临时文件。/var/lib
:存放应用程序状态信息。/var/spool
:任务队列数据,如打印队列。
- 变量数据文件,如日志文件、缓存文件、临时文件等。常见子目录:
常用指令及其详细说明
1. 文件和目录操作
-
ls
:列出目录内容。bashls -l # 详细列表 ls -a # 显示隐藏文件
-
cd
:切换目录。bashcd /home/user # 切换到指定目录 cd .. # 切换到上一级目录 cd ~ # 切换到用户主目录
-
pwd
:显示当前目录路径。bashpwd
-
mkdir
:创建新目录。bashmkdir newdir mkdir -p /path/to/newdir # 递归创建目录
-
rmdir
:删除空目录。bashrmdir olddir
-
rm
:删除文件或目录。bashrm file.txt rm -r olddir # 递归删除目录及其内容 rm -f file.txt # 强制删除文件
-
cp
:复制文件或目录。bashcp source.txt dest.txt cp -r sourcedir/ destdir/ # 递归复制目录
-
mv
:移动或重命名文件或目录。bashmv oldname.txt newname.txt mv /path/to/file /new/path/
2. 文件查看和编辑
-
cat
:查看文件内容。bashcat file.txt
-
more
/less
:分页查看文件内容。bashmore file.txt less file.txt
-
head
:查看文件开头部分。bashhead file.txt head -n 20 file.txt # 查看前20行
-
tail
:查看文件结尾部分。bashtail file.txt tail -n 20 file.txt # 查看后20行 tail -f file.txt # 动态显示文件新内容(常用于日志文件)
-
nano
/vi
/vim
:文本编辑器,编辑文件。bashnano file.txt vi file.txt vim file.txt
3. 文件权限和所有权
-
chmod
:更改文件或目录权限。bashchmod 644 file.txt # 设置文件权限为644(rw-r--r--) chmod +x script.sh # 增加执行权限 chmod -R 755 /path # 递归更改目录及其内容权限
-
chown
:更改文件或目录所有者。bashchown user:group file.txt chown -R user:group /path # 递归更改目录及其内容所有者
-
chgrp
:更改文件或目录所属组。bashchgrp group file.txt chgrp -R group /path # 递归更改目录及其内容所属组
4. 系统管理
-
ps
:显示当前进程。bashps aux # 显示所有进程的详细信息 ps -ef # 显示所有进程(另一种格式)
-
top
:实时显示系统资源使用情况。bashtop
-
kill
:终止进程。bashkill PID # 终止指定进程ID的进程 kill -9 PID # 强制终止进程
-
df
:显示磁盘使用情况。bashdf -h # 以人类可读的格式显示
-
du
:显示目录或文件大小。bashdu -h file.txt # 显示文件大小 du -sh /path # 显示目录总大小
-
free
:显示内存使用情况。bashfree -h
-
uname
:显示系统信息。bashuname -a # 显示所有信息 uname -r # 显示内核版本
-
shutdown
:关闭系统。bashshutdown -h now # 立即关机 shutdown -r now # 立即重启 shutdown -h +10 # 10分钟后关机
-
reboot
:重启系统。bashreboot
5. 网络操作
-
ifconfig
:配置网络接口(较新的系统中用ip
命令代替)。bashifconfig ifconfig eth0 up # 启用网络接口 ifconfig eth0 down # 禁用网络接口
-
ping
:测试网络连接。bashping google.com
-
netstat
:显示网络状态。bashnetstat -tuln # 显示所有监听端口 netstat -p # 显示进程信息
-
scp
:安全复制文件。bashscp file.txt user@remote:/path/to/destination scp -r /