目录结构及其详细作用
-
/ (根目录)
- 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 /