技术笔记2026-05-28
Linux系统学习
##### Linux 系统目录介绍
```bash
# Bingary的缩写,存放可执行命令(二进制程序)
/bin
# 存放启动Linux时使用的一些核心文件,系统内核,引导文件(不要动)
/boot
# Device的缩写,存放的是Linux的外部设备
/dev
# 存放系统管理所需要的所有配置文件和子目录
/etc
# 用户的主目录,Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
/home
# 存放着系统最基本的动态连接共享库,作用类似Windows里额DLL文件(不要动)
/lib 或者 /lib64
# 一般情况下是空的,当系统非法关机后,存放一些文件(存放突然关机的一些文件)
/lost+found
# 用于挂载外接存储,硬盘,U盘 /media 系统自动挂载,/mnt手动临时挂载
/media 或 /mnt
# 用来存放一些临时文件,系统会自动定期清理
/tmp
# 非常重要的目录,用户的很多应用程序和文件放在这个目录下,类似于Windows下的program files目录
/usr
# 服务数据目录,存放网站,FTP,文件服务等对外提供服务的数据
/srv
# 和/bin相同,存放可执行命令(二进制程序) 管理员专用命令,普通用户无权执行
/sbin
# 该目录为系统管理员,也被称为超级权限者的用户主目录
/root
# 大型第三方软件(部分数据库,运维面板),独立程序放这里
/opt
# 虚拟目录,用于管理硬件,内核参数,调整硬件,驱动,系统内核配置用
/sys
# 该目录是一个虚拟目录,它是系统内存的映射,可以通过访问该目录来获取系统信息
/proc
# 存放不断变化的数据(运行中产生的文件,日志,缓存,数据库数据),服务器故障排查高频目录
/var
# 临时文件系统,存储系统启动以来的信息,系统重启后,这个目录下的文件应该被删除
/run
# 存放系统预装软件,第三方程序,库,帮助文档
/usr
```
##### Linux 命令
* 系统命令
```bash
#将数据由内存同步到硬盘中
sync
# 关机指令
shutdown # 关机
shutdown -h 10 # 10分钟后关机
shutdown -h now # 立马关机
shutdown -h 10:30 # 系统在今天10:30关机
shutdown -h +10 # 十分钟后关机
shutdown -r now # 立马重启
shutdown -r +10 # 10分钟后重启
reboot # 重启
halt # 关闭系统
top # 实时查看进程,cpu,内存 (按p按cpu排序)
htop # 彩色升级版top(更直观)
ps aux # 列出所有进程
kill 进程PID # 正常结束进程
kill -9 进程PID # 强制杀死进程
pidof redis-server # 查看redis进程PID
free -h # 查看内存,交换空间使用
df -h # 查看磁盘分区占用
du -sh 目录 # 查看单个目录总大小
du -h # 查看当前目录各文件大小
sar -u # 查看历史CPU占用
dmesg # 查看内核日志(死机,OOM报错)
journalctl -xe # 查看系统服务日志
ip a # 查看网卡,IP地址
hostname -I # 快速查看本机外网IP
ping 域名/IP # 测试网络连通
curl 网址 # 访问网址,测试端口连通
netstat -tulpn # 查看监听端口,占用端口的进程
ss -tulpn # 新版推荐,替代netstat
ufw status # 查看防火墙状态
ufw allow 端口/tcp # 放行端口
ufw deny 端口/tcp # 禁止端口
systemctl start 服务名 # 启动服务
systemctl stop 服务名 # 停止服务
systemctl restart 服务名 # 重启服务
systemctl status 服务名 # 查看服务状态
systemctl enable 服务名 # 设置开机自启
systemctl disable 服务名 # 取消开机自启
ssh 用户名@服务器IP # 远程登录服务器
ssh -p 端口 用户名@IP # 指定端口登录
scp 本地文件 用户名@IP:目标路径 # 本地传输文件到服务器
scp 用户名@IP:服务器文件 本地路径 # 服务器文件下载到本地
clear # 清屏
history # 查看执行过的历史命令
exit # 退出终端/退出ssh
```
* 目录文件命令
```
# 切换目录
cd /home # 切换到home目录下
cd .. # 返回上一个目录
cd ~ # 回到当前用户家目录
cd - # 回到上一次所在目录
ls # 平铺列出当前目录下的文件/文件夹
ls -a # 列出所有文件,包括隐藏文件
ls -l # 以列表形式展示,并且展示详细信息(权限,大小,时间)
ls -lh # 人性化显示文件大小(以M显示文件大小,便于理解)
pwd # 展示当前所在的目录路径
mkdir 文件夹名 # 创建目录
mkdir -p 文件夹名 # 可以递归创建多级目录 mkdir a/b/c/d/e
rmdir # 删除目录(只能删除空目录)
rmdir -p # 同理,递归删除目录
cp 源文件 目标路径 # 复制目录或文件
cp -r 源文件 目标路径 # 复制整个文件夹
rm # 删除文件或目录
rm -f # 忽略不存在的文件,不会出现警告,强制删除
rm -r # 递归删除
rm -rf # 强制删除,不询问
rm -i # 互动,删除询问是否删除
mv 源文件 目标 # 移动文件或目录 或者重命名文件
cat 文件名 # 一次性查看整个文件
less 文件名 # 分页查看(上下滚动,q退出)
head 文件名 # 查看文件前10行
tail 文件名 # 查看文件后10行
tail -f 文件名 # 实时跟踪文件
nano 文件名 # 简易编辑
vim 文件名 # 高级编辑器
find / -name "文件名" # 从根目录全局查找文件
find /home -name "*.log" # 查找/home目录下所有.log日志文件
grep "关键字" 文件名 # 在文件中搜索关键词
grep -i "关键词" 文件名 # 忽略大小写搜索
grep -r "关键词" /目录 # 递归搜索整个目录下包含关键词的文件
tar -zxvf 压缩包.tar .gz 目录/文件 # 压缩
tar -zxvf 压缩包.tar .gz # 解压
# zip格式的压缩和解压
zip 压缩包名.zip 文件/目录
unzip 压缩包名.zip
```
* 用户,权限指令
```
whoami # 查看当前登录用户
useradd 用户名 # 添加用户
passwd 用户名 # 设置/修改密码
userdel 用户名 # 删除用户
su root # 切换到root用户
sudo 命令 # 临时用管理员权限执行
# -rw-rw-r-- 1 root root 0 May 27 17:56 1.txt
# 通过ls列举的文件开头10个字符代表的含义 例如dr-xr-xr-x
# 开头第一个字符为d代表文件夹,
# l代表链接(相当于windows中的快捷方式)
# - 横杠代表文件
# 后面9个字符是权限信息,分成3组,每组三个字符,均由rwx组成
# r代表可读,w代表可写,x代表可执行,如果没有权限用-横杠标识
# 第一组代表的是当前用户的权限,第二组代表用户组的权限,第三组代表其他用户的权限
chgrp # 更改文件属于哪个用户组
chgrp [-R] 属组名 文件名 # -R 递归修改文件属组,该目录下所有文件属组都会修改
chown # 更改文件属于哪个用户
chown [-R] 属主名 文件名
chown [-R] 属主名:属组名 文件名 # 也可以同时修改文件属组
chmod [-R] xyz 文件/目录 # 更改文件属性
# 文件的权限可以用字母rwx,也可以用数字,r:4,w:2,x:1
# 例如修改文件的权限 chmod rwx 1.txt 也可以写成chmod 777 1.txt
# 7代表r,w,x,三种权限的数值相加
```
Linux