Linux 常用操作命令--持续更新
Linux 常用操作命令
linux下查找某个文件的位置
1: whereis
whereis <程序名称>
查找软件的安装路径
-b 只查找二进制文件
-m 只查找帮助文件
-s 只查找源代码
-u 排除指定类型文件
-f 只显示文件名
-B <目录> 在指定目录下查找二进制文件
-M <目录> 在指定目录下查找帮助文件
-S <目录> 在指定目录下查找源代码
2:locate
locate <文件名称>
在文件索引数据库中搜索文件
-d <数据库路径> 搜索指定数据库
updatedb
更新文件索引数据库
3:find
find [路径] <表达式>
# 查找文件
-name <表达式> 根据文件名查找文件
-iname <表达式> 根据文件名查找文件,忽略大小写
-path <表达式> 根据路径查找文件
-ipath <表达式> 根据路径查找文件,忽略大小写
-amin <分钟> 过去N分钟内访问过的文件
-atime <天数> 过去N天内访问过的文件
-cmin <分钟> 过去N分钟内修改过的文件
-ctime <天数> 过去N天内修改过的文件
-anewer <参照文件> 比参照文件更晚被读取过的文件
-cnewer <参照文件> 比参照文件更晚被修改过的文件
-size <大小> 根据文件大小查找文件,单位b c w k M G
-type <文件类型> 根据文件类型查找文件。b 块设备 c 字符设备 d 目录 p 管道文件 f 普通文件 l 链接 s 端口文件
-user <用户名> 按归属用户查找文件
-uid <uid> 按UID查找文件
-group <群组名> 按归属群组查找文件
-gid <gid> 按GID查找文件
-empty 查找空文件
# 从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行
find / -type f -name "*.log" | xargs grep "ERROR"
# 系统查找到httpd.conf文件后即时在屏幕上显示httpd.conf文件信息。
find/-name"httpd.conf"-ls
# 在根目录下查找某个文件
find . -name "test"
4.grep
# 从文件内容查找匹配指定字符串的行:
grep "被查找的字符串" 文件名
# 从文件内容查找与正则表达式匹配的行:
grep –e “正则表达式” 文件名
# 查找时不区分大小写:
grep –i "被查找的字符串" 文件名
# 查找匹配的行数:
grep -c "被查找的字符串" 文件名
# 从文件内容查找不匹配指定字符串的行:
grep –v "被查找的字符串" 文件名
# 在某个目录下查找包含某个字符串的文件
grep -r "zh_CN" ./
Linux中“Argument list too long”解决方法
当我想执行以下命令时,报错:
mv train2014/* coco_train2014/
-bash: /bin/mv: Argument list too long
这是因为这些命令的参数太长,即文件个数过多。其中 train2014 文件夹的内容全是 .jpg 格式的图片文件
解决的方法如下:
find train2014/ -name "*.jpg" | xargs -i mv {} coco_train2014/
同理使用 cp, ls 等命令也可以以同样的方式执行:
拷贝:
find train2014/ -name "*.jpg" | xargs -i cp {} coco_train2014/
删除:
find train2014/ -name "*.jpg" | xargs -i rm {}
Linux 打包压缩命令
01: tar
# 打包文件
tar -cvf 打包文件.tar 被打包的文件/路径...
# 解包文件
tar -xvf 打包文件.tar
选项含义
c -- > 生成档案文件,创建打包文件
x --> 解开档案文件
v --> 列出归档解档的详细过程,显示进度
f --> 指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后
02: gzip
tar 与 gzip 命令结合可以实现文件 打包和压缩,tar 只负责打包文件,但不压缩,用 gzip 压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.gz, 在Linux中,最常见的压缩文件格式就是 xxx.tar.gz
在 tar 命令中有一个选项 -z 可以调用 gzip,从而可以方便的实现压缩和解压缩的功能
# 压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...
# 解压缩文件
tar -zxvf 打包文件.tar.gz
# 解压缩到指定路径,注意:要解压的目录必须存在
tar -zxvf 打包文件.tar.gz -C 目标路径
03: bzip2
tar 与 bzip2 命令结合可以实现文件 打包和压缩 (用法和gzip一样),tar 只负责打包文件,但不压缩,用 bzip2 压缩 tar 打包后文件,其扩展名一般用 xxx.tar.bz2
在 tar 命令中有一个选项 -j 可以调用 bzip2,从而可以方便的显示压缩和解压缩的功能
命令格式如下
# 压缩文件
tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径...
# 解压缩文件
tar -jxvf 打包文件.tar.bz2