整理一些Unix命令行小工具

统计cpp文件中有多少行代码:

1
2
find . | grep \.cpp$ | xargs cat | wc -l
cat $(find . | grep \.cpp$) | wc -l

挺有意思的。

压缩

1
2
3
4
5
6
7
8
9
10
11
tar -cvf jpg.tar *.jpg #[//将目录里所有jpg文件打包成tar.jpg](https://xn--jpgtar-k18i60zu6u9rh3xhkqa1h032blufb97e1p9e.jpg/)

tar -czf jpg.tar.gz *.jpg #[//将目录里所有jpg文件打包成jpg.tar后](https://xn--jpgjpg-k18i60zu6u9rh3xhkqa1h032blufb97e1p9e.xn--tar-x33e/),并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

tar -cjf jpg.tar.bz2 *.jpg #[//将目录里所有jpg文件打包成jpg.tar后](https://xn--jpgjpg-k18i60zu6u9rh3xhkqa1h032blufb97e1p9e.xn--tar-x33e/),并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg #[//将目录里所有jpg文件打包成jpg.tar后](https://xn--jpgjpg-k18i60zu6u9rh3xhkqa1h032blufb97e1p9e.xn--tar-x33e/),并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg #rar格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg #zip格式的压缩,需要先下载zip for linux

解压

1
2
3
4
5
6
7
8
9
10
tar -xvf file.tar         #打开 tar包
tar -xzvf file.tar.gz #[//解压tar.gz](https://xn--tar-vo3e979v.gz/)
tar -xjvf file.tar.bz2 #解压 tar.bz2
tar -xZvf file.tar.Z #[//解压tar.Z](https://xn--tar-vo3e979v.z/)
tar -Jxvf fle.tar.xz #[//解压tar.xz](https://xn--tar-vo3e979v.xz/)
unrar e file.rar #解压rar

#“x”:解压时保存原压缩文件目录结构。

unzip file.zip //解压zip

总结

1、*.tar 用 tar -xvf 解压

2、*.gz 用 gzip -d或者gunzip 解压

3、*.tar.gz和*.tgz 用 tar -xzf 解压 tar.xz 用 tar -Jxvf 解压

4、*.bz2 用 bzip2 -d或者用bunzip2 解压

5、*.tar.bz2用tar -xjf 解压

6、*.Z 用 uncompress 解压

7、*.tar.Z 用tar -xZf 解压

8、*.rar 用 unrar e解压

9、*.zip 用 unzip 解压

可以用unrar命令解压rar后缀的文件

unrar e test.rar 解压文件到当前目录

unrar x test.rar /path/to/extract

unrar l test.rar 查看rar中的文件

unrar v test.rar 更详细

unrar t test.rar 测试是否可以成功解压

Linux下查询哪个文件夹占据较大磁盘空间

到某个目录下

1
2
3
4
5
6
7
8
$ du -sh *
8.0K $RECYCLE.BIN
24K Data
4.0K Desktop
4.0K Documents
4.0K Downloads
4.0K JcatDaemonLogs
...

带上排序?

1

查看挂载

1
2
3
4
5
6
7
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 378G 0 378G 0% /dev
tmpfs 378G 144M 378G 1% /dev/shm
tmpfs 378G 1.6G 377G 1% /run
tmpfs 378G 0 378G 0% /sys/fs/cgroup
/dev/mapper/rootvg-root 49G 21G 29G 42% /

Linux命令行查看视频分辨率

ChatGPT

在Linux命令行中,你可以使用 ffprobe 命令来查看视频的分辨率。ffprobe 是 FFmpeg 套件中的一个工具,可以用于分析媒体文件的信息。

要查看视频的分辨率,你可以使用以下命令:

1
ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 <video_file.mp4>

这个命令会输出视频的宽度和高度,例如:

1
1920x1080

请确保你已经安装了 FFmpeg 包,以便使用 ffprobe 命令。如果没有安装,你可以使用包管理器(如 aptyum)来安装它。