1.文件系统结构
Linux系统是一个文件系统,也是一个跟系统文件,树形结构
- /root:管理员家目录
- /home:普通用户家目录
- /bin:普通用户常用命令
- /sbin:管理员专属命令
- /etc:系统配置文件
- /usr:软件安装、程序资源
- /var:日志、缓存、动态数据
- /tmp:临时文件,重启清空
- /dev:硬件设备文件
- /mnt:手动挂载光盘、U 盘
- /lib:系统运行依赖库文件
- /boot:系统开机启动文件
2.ip a
作用:查看本机网卡、IP 地址、MAC 地址
3.cd
cd绝对路径:一根(/)开头的,到要去的最终路径
cd相对路径:不以根开头,相对当前所在路径,一般..就是相对路径
cd -: 返回上一次的所在的路径
cd (cd ~)(/root)(~root)($HOME): 返回所在的家目录
pwd:列出当前所在路径(一般输出绝对路径)
4.ls(列出某个目录下的文件清单,默认当前路径下的文件清单)
ls -l =ll (列出详细信息)

ls -a(查看隐藏文件)
ls -h (以人类可读的方式显示,一般-l结合使用)
ls -R(递归查看子目录)

ls -t(按照时间排序,由远到近,➕r,由近到远)
ls -S(按照大小排序,由大到小,➕r,由小到大)

5.文件管理
1.文件创建
touch 文件名 (空文件)
vi/vim 文件名 (创建新文件,编辑已有文件)
输出重定向(>)覆盖(>>)追加

2.文件查看
cat 文件名 (查看文件所有内容,文件多,容易刷屏)
less 文件名 (空格,ctrl+f,向下)(ctrl+b,向上)(快速翻,首行home,尾行end)(搜索,/,?)(shift从上往下,shift+n,从下往上)
more 文件名 空格,ctrl+f,向下)(ctrl+b,向上)
head 文件名 (默认查看前10行)

tail 文件名 (默认查看后10行)
3.文件复制
cp 文件名 目标目录

复制目录要➕-r(递归)

4.文件移动(重命名)
mv 默认实现对目录的递归

mv 旧名字 新名字(重命名)
5.文件删除
rm -f 文件名

-f(强制性删除,没有询问)
6.目录管理
1.创建目录
mkdir 文件名
-p (创建多级目录)mkdir -p /dir1/dir2/dir3
2.查看目录
ls 文件名
-d (只查看目录)
3.移动目录mv
mv命令,语法同文件移动,无需额外参数。
4.删除目录rm
-fr(强制递归删除)
7.历史命令history
echo $HISTSIZE(查看条数)
临时:HIETSIZE=100
永久:vim /etc/profile
export HIETSIZE=100
source /etc/profile 立即生效
!#(执行指定序号的历史命令)
!!(执行最后一次命令)
!ls(执行最近一次ls命令)
history -c (清空记录)
history -d (删除指定命令)
8.find 文件查找命令
which 命令的核心作用就是查找可执行命令的完整路径,判断命令是否存在
核心语法:find 查找路径 条件
1.按文件名查找
find 路径 -name "文件名" # 按名称查找(区分大小写)
find 路径 -iname "文件名" # 不区分大小写查找
find 路径 -name "*.txt" # 通配符查找所有 .txt 文件
2.按文件类型查找
find 路径 -type f # 普通文件
find 路径 -type d # 目录
find 路径 -type l # 软链接文件
3.按文件大小查找
find 路径 -size +n单位 # 大于n
find 路径 -size -n单位 # 小于n
find 路径 -size n单位 # 等于n
find . -size +1M -size -3M # 查找1M~3M之间的文件
find -size 的比较是先向上取整到指定单位,再判断,不是直接比较实际字节数。
想精确匹配文件大小,优先用 c(字节)作为单位,避免取整带来的预期偏差。
4.按文件修改时间查找
find 路径 -mtime +n # 修改时间 > n天
find 路径 -mtime -n # 修改时间 < n天
find 路径 -mtime n # 修改时间 = n天
5.找到文件后执行的动作
|------------------|-----------------|
| 参数 | 作用 |
| -print | 默认动作,打印文件路径 |
| -ls | 长格式列出文件详情 |
| -delete | 直接删除找到的文件(⚠️慎用) |
| -ok 命令 {} \; | 执行命令前询问确认 |
| -exec 命令 {} \; | 直接对文件执行命令 |
- 执行带
-delete的命令前,建议先去掉-delete执行一遍,确认文件列表是否正确,避免误删。 - 用
-exec时,结尾的{} \;不能省略,{}代表找到的文件本身。
示例:
find . -size +10M -exec ls -lh {} \; # 列出大于10M的文件详情
find /tmp -type f -mtime +7 -delete # 删除/tmp下7天前的临时文件
6.组合条件
-a:逻辑与(默认,可省略)-o:逻辑或!:逻辑非
示例:
find . -name "*.log" -a -size +100M # 查找大于100M的.log文件
find . -type f ! -name "*.txt" # 查找非.txt的普通文件
9.find 命令高频实战场景
# 删除/tmp下 7天前的普通文件(不删目录)
find /tmp -type f -mtime +7 -delete
# 把/var/www下所有目录权限改为755,文件改为644
find /var/www -type d -exec chmod 755 {} \;
find /var/www -type f -exec chmod 644 {} \;
# 找出根目录下大于1G的文件(仅看一层)
find / -maxdepth 1 -size +1G -type f -exec ls -lh {} \;
# 把/etc下所有.conf配置文件备份到/backup目录
find /etc -name "*.conf" -type f -exec cp {} /backup/ \;
# 查找当前目录下的空文件
find . -type f -size 0c
# 查找当前目录下的空目录
find . -type d -empty
# 查找当前目录下,修改时间在1-3天之间的.txt文件
find . -name "*.txt" -type f -mtime +1 -mtime -3
# 查找/var/log下,不是.log后缀且大于10M的文件
find /var/log ! -name "*.log" -size +10M -type f
10.关机和重启
1.关机命令
shutdown -h now立刻关机poweroff直接关机halt停止系统
2.重启命令
shutdown -r now立刻重启reboot直接重启
3.延时操作
shutdown -h 1010 分钟后关机shutdown -c取消定时关机 / 重启
4.用户注销
logout 退出当前登录账号
11.alias别命名
1. 临时设置别名(重启失效)
alias 别名='原命令'示例:alias ll='ls -l'
2. 查看所有别名
alias
3. 取消别名
unalias 别名
4. 永久生效(写入配置)
编辑用户配置:vim ~/.bashrc末尾添加别名,保存后生效source ~/.bashrc
12.输出重定向
> 覆盖输出
命令 > 文件 清空原有内容
写入新数据例:ls > a.txt
>> 追加输出
命令 >> 文件 末尾新增内容不覆盖
例:date >> a.txt
2> 错误重定向
错误信息单独存入文件
例:ls abc 2> err.log
&> 全部重定向
正确 + 错误信息统一写入
例:ls /home abc &> all.txt