一、查看以及目录切换
ls列出当前目录文件ls -l详细列表(权限、大小、时间)ls -a显示隐藏文件pwd查看当前所在路径cd 目录进入目录cd ..返回上一级cd ~回到家目录- cd - 返回刚刚所在的目录
二、创建与删除
touch 文件名创建空文件- touch file.txt 创建file文件
- 再次使用,touch file.txt 会更新该文件的读取时间(atime)和修改时间(mtime)
- touch -d "2026-03-08 14:30:00" test.txt 把 test.txt 的 atime/mtime 设为 2026年3月8日14:30
- file.txt已经创建
- touch -a file.txt 只更新访问时间
- touch -m file.txt 只更新修改的时间
- 查看执行后的文件信息
- start file.txt 会有三个时间,分别是访问时间,修改时间,内容/数据变化时间

- ll 进行查询,默认的是展示的是修改时间

- start file.txt 会有三个时间,分别是访问时间,修改时间,内容/数据变化时间
- touch file.txt 创建file文件
mkdir 目录创建文件夹mkdir -p a/b/c递归创建多级目录
rm 删除- rm file.txt
删除文件,无法删除目录。 - **
rm -r /test/pro/main.py**删除目录各目录下的内容 - rm -rf
文件/目录强制删除不提示(慎重)
- rm file.txt
三、查看文件内容
cat 文件直接查看全文 (适合小文件查看,大文件会刷屏)- 两个参数
- cat -n file.txt 表示查看时展示行数
- cat -a file.txt 表示查看时会显示制表符之类的字符
- cat file1.txt file2.txt > file.txt 表示将两个文件内容合并,源文件不会被删除
- 两个参数
- find
- find [查询路径][查询条件][执行操作]
- --type 文件类型 f文件 d目录 l软链接 c设备
- -name 文件名称,可以配合*、?通配符进行使用
- -size n ,大小,z
+n= 大于 n、-n= 小于 n、n= 等于 n - -mtime n 天数,
+n=n 天前修改、-n=n 天内修改、n= 正好 n 天前 - -user 用户名,按照用户名查找
- -group 组,按照组查找
- -perm 777,按照权限为777的查找
- -empty ,查找空文件/空目录
- find /home \( -type f -name "*.txt" -size +100k -mtime -7 -user alice -group dev -perm 644 \) \ -o \ -empty
- find [查询路径][查询条件][执行操作]
擦less 文件分页查看(上下翻页)- 箭头上下进行滚动翻页查看
- 空格向下翻页/ b键向上翻页查看
- 输入 /a ,表示在文章中查找出现a的位置,n键下一个,N上一个
- q退出less浏览
head 文件看文件开头- head -n 66 file.txt 查看文件前66行
tail 文件看文件末尾-
tail -n 66 file.txt 查看文件后66行
-
tail -f 文件实时跟踪日志touch test.log while true; do echo "当前时间:$(date)" >> test.log; sleep 1; done- 创建简单文件实操
- 执行 tail -f file.log 对时间进行实时监控
- ctrl+c 退出less模式
-
- grep
- grep -i "hello" text.txt 筛选包含hello的行,忽略大小写
- grep -v "hello" text.txt 排除有hello的行
- grep -n "hello" text.txt 帅选包含hell的行并显示所在行数
- grep -c "hello" text.txt 统计hello 出现的次数
- grep -o "hello" text.txt 只显示hello,不会显示整行内容
- grep -ir/R "error" /var/log/ 递归查询整个目录下存在error的文件/目录,忽略大小写
- grep -A 2 "hello" text.txt 展示hello所在行并显示后两行
- grep -B 1 "hello" text.txt 展示hello所在行并显示前1行
- grep -C 2 "hello" text.txt 展示hello所在行并显示改行的前后2行
- 管道 连接多个命令通过|连接
- grep "20260101" text.log | grep -c "error" text.log 展示日期为20260101并且带有error的日志行
- wc
- wc test.txt 统计该文件包含的行数(l) ,单词数(w),字节数(c)
- wc -w test.txt 表示只显示该文件的单词数
- 直接输入wc 会进入输入模式,按ctrl+d退出模式后,会统计在输入模式下输入的行数(l) ,单词数(w),字节数(c)
- wc test.txt 统计该文件包含的行数(l) ,单词数(w),字节数(c)
- vim
- vim file 编辑文件,进入编辑模式
- i键,进入输入模式
- x 删除光标所在位置的字符 || u 撤销上一个操作
- a键盘,进入插入模式
- o,光标所在行的下方插入行 || O,光标所在行的上方插入行
- dd 剪切当前行 || yy 复制当前行
- p 将剪贴的内容复制到光标的下一行 || P 将剪贴的内容复制到光标的上一行
- :底部输入
- :w 保存
- :q! 不保存强制退出
- :wq 保存并退出
- echo
- 在控制台输出内容 echo "Hello world!" 会直接输出Hello World
- echo "Hello world!" > file.txt 追加内容到对应文件
- echo -e "AA\nBB\nCC" >testfile.txt -e解析转移字符 \n 表示换行
四、复制、移动、重命名
- 复制
cp t1.txt /home/ 将t1文件复制到/home/路径下cp -r /test1/ /home/test2/ 将test1目录下的文件夹完整的复制到test2中
- 移动 / 重命名
mv file.txt /home/test/ 将file.txt移动到/home/test目录下
五、压缩解压
- tar
- tar -zcvf test.tar.gz test
将test整个目录进行打包,会在当前目录下生成test.tar.gz新目录 - tar -zxvf test.tar.gz
对test.tar.gz进行解压,当前目录会出现test目录。解压到指定路径 -C参数 tar -zxvf test.tar.gz -C /home/test2
- tar -zcvf test.tar.gz test
- zip
- zip -r test.zip test如果是目录,一定要加-r,否则只会压缩最开始的单一空目录
- -x 排除文件 zip -r test.zip test -x "test/inner/ * "排除 test/inner/下的所有
- -e 加密 解压时候需要输入密码
- -u 更新压缩包 zip -u test.zip test/newfile.txt 往已有的
test.zip里添加新文件newfile.txt
- unzip
- unzip test.zip 直接解压到当前目录
- unzip -d test.zip /home/test2/ 解压到指定路径下
- -n 已有文件不会覆盖,跳过 -o强制覆盖
- -p 解压有密码的压缩包
- -t 测试压缩包是否有损坏,不会进行解压
- zip -r test.zip test如果是目录,一定要加-r,否则只会压缩最开始的单一空目录
六、权限与属性
chmod修改文件/目录权限chown 用户:组 文件修改所属用户 / 组- chmod user2 test.txt 修改文件test的所有者为user2
- chmod zhangsan:school test.txt 修改文件text的所有者为张三同时修改文件所属组为school.txt
- chmod :school test.txt 仅修改所属组
- chmod -rv zhangsan:school /test1/file.txt 递归修改并展示修改过程,目录下的文件以及子目录都会被修改
- chmod --reference=t1 t2 将t2文件修改为和t1一样
- chmod 访问者+/-权限 文件
- 访问者:u(所有者)、g(文件所属的组) 、o(其他所有用户)、a(表示ugo组合)
- 权限:r (4)、w(2) 、x(1)
- chmod u+rw text.txt 给text.txt文件的所有者添加读写权限