查找和过滤文件
find:在目录中查找文件并执行操作。
find /path/to/directory -name "*.tmp" -exec rm {} \;
grep:在文件中查找匹配的文本,并结合 find 使用。
find /path/to/directory -type f -exec grep -l "search_string" {} \;
批量重命名文件
使用 rename 命令批量重命名文件。
rename 's/\.txt$/.md/' *.txt
使用 for 循环进行更复杂的重命名操作。
for file in *.txt; do mv "$file" "new_$file"; done
文件内容操作
sed:流编辑器,用于修改文件内容。
sed -i 's/old_string/new_string/g' filename.txt
awk:用于处理和分析文本文件。
awk '{print $2, $3}' filename.txt
文件比较
diff:比较文件内容,显示不同之处。
diff file1.txt file2.txt
comm:比较两个已排序文件并输出差异。
comm file1.txt file2.txt
压缩和解压文件
tar:打包和解压文件。
tar -czvf archive.tar.gz /path/to/directory
tar -xzvf archive.tar.gz
zip 和 unzip:压缩和解压 ZIP 文件。
zip -r archive.zip /path/to/directory
unzip archive.zip
创建符号链接
ln:创建文件或目录的符号链接。
ln -s /path/to/original /path/to/link
文件权限管理
chmod:更改文件权限。
chmod +x script.sh
chown:更改文件所有者和组。
- 示例:将文件的所有者改为 user,组改为 group
chown user:group filename.txt
合并和拆分文件
合并文件
cat file1.txt file2.txt > merged.txt
拆分文件
split -l 1000 largefile.txt part_
权限和属性管理
查看文件属性
- 使用 ls -l 查看文件的详细信息,包括权限、所有者和大小。
ls -l filename.txt
修改文件的时间戳
touch filename.txt
使用 rsync 进行文件同步
rsync:用于高效地同步文件和目录。
rsync -avz /local/path user@remote:/remote/path