linux (1)文件和目录常用命令

时间:2023-01-08 16:28:17
1查看文件和目录
命令  功能  案例 说明
ls 查看文件和目录 ls -a/l/f/r/R/s/h
file 查看文件类型 file  test.txt
file *
find 查找文件或者目录 fin /etc -name "*.sh" 查找etc目录下sh文件
fin . -iname test 查当前目录下名字忽略大小写为test的文件
fin . -type d -name test 目录为test
fin . -type f -perm 777 权限为777
fin . -type f ! -perm 777 权限不为777
fin ~ -type f  -perm /a+w 主目录权限只读文件
fin . -type f/d  -empty 空文件或者目录
fin . -user/group root root用户或者用户组的文件和目录
fin . -type f -mtime 3 3天前修改
fin . -type f -mtime +3  -mtime -5 3天前5天内修改
fin . -type f -cmin/amin -60 1个小时内修改或者访问
fin . -type f -size 3MB 大小为3MB
fin . -type f -size +3MB -exec rm -rf {} \ 删除大于3MB的文件
cat  查看文件 cat test.txt
head 显示文件头部 head -n  5 test.txt 显示前5行
head -n -5 test.txt 显示除后5行的所有行
head -c -5 test.txt 显示前5个字节
tail 显示文件尾部 tail -n  5 test.txt 显示后5行
tail -f test.txt 即时显示新写入的行,常用来监控日志
less 分屏显示文件 less test.txt
more 分屏显示文件 more test.txt
wc(word count) 查看文件统计信息 wc test.txt or wc l/w/c/L 行数/单词/字节/最长的行长度
2管理文件和目录
命令  功能  案例 说明
mkdir 创建目录 mkdir  etc
mkdir -p bak/etc 如果父目录不存在,则创建
touch 创建文件/改变时间戳 touch test.sh
touch -a/c/m/t/r t1.sh  修改访问/更新(避免创建)/变更(访问不变)/格式/遗传
cp 复制文件/目录 cp t1.sh  t2.sh
cp * /temp
cp -a/d/p/r 存档模式(dpr)/保留软链接/权限、所有权、时间/递归复制目录
mv 移除/重命名文件/目录 mv  * /temp
mv  t1.sh  t2.sh
mv  -i/u t1.sh  删前提示/只移动目标目录不存在的文件或者目录
rm  删除文件/目录 rm  t1.sh/*
rm -i/f/r etc 删前提示/删前提示(忽略不存在文件)/递归删除
ln 链接文件/目录 ln -s /temp/t1.sh  /xielj 在xielj目录创建软链接到/temp/t1.sh
ln    /temp/t1.sh  /xielj 在xielj目录创建硬链接到/temp/t1.sh
3管理文件和目录权限
chmod 赋值权限 chmod 731 t1.sh 赋值用户rwx、用户组wx、其他用户x权限
chmod [u/g/o/a][+/-/=][r/w/x] t1.sh 1 u 所有者、g用户组、o其他、a所有人
2 +加上 -收回 =只赋给
3 r读、w写、x执行
ex:chmod g+w t1.sh(给用户组权限加上写权限)
chmod -R [u/g/o/a][+/-/=][r/w/x] t1.sh 递归 
find -type d -exec chmod -R 755 {} \ 修改子目录的所有权限
chown 修改所有者和用户组信息 chown xielj t1.sh 修改所有者为xielj
chown :xie   t1.sh 修改用户组为xie
chown xielj:xie   t1.sh 同时修改所有者和用户组信息
chown -c/f/R/v/ xielj:xie   t1.sh 发生改变输出信息/不显示错误信息/递归/运行时显示详细信息
chgrp chgrp -c/f/R/v/ xie  t1.sh 发生改变输出信息/不显示错误信息/递归/运行时显示详细信息
4文本处理
sort 排序 sort t1.sh
sort -u/n/r t1.sh 排序去重/数字排序/倒序排序
sort -t ',' -k2,2 t1.sh 以‘,’为分隔符的第二列排序
sort -t ',' -k2nr,2 t1.sh 以‘,’为分隔符的第二列数字倒序排序
uniq 去重 uniq t1.sh
uniq -c t1.sh 统计出现重复的次数
uniq -d/D/u t1.sh 只显示有重复的行(一次)/只显示有重复的行(所有)/只显示不重复的行
uniq -w/s/f 3 t1.sh 只统计前3个字符/统计跳过前3个字符/统计跳过前3列
tr 替换/删除字符 echo linux | tr a-z A-Z 替换
echo -d linux | tr a-z A-Z 删除
echo -s linux | tr a-z A-Z 除第一个后面都删除
grep 查找 grep xie /etc/t1.sh 搜索包含xie的行
grep -i/r/w/c/n/v xie /etc/t1.sh 忽略大小写/递归/强制匹配单词/统计匹配次数/行号/出匹配外其他信息
grep -rl xie /etc/t1.sh 显示文件的名字
diff 比较 diff t1.sh t2.sh