本文主要是本人在使用linux的时候操作文件以及目录的常见的命令,主要内容如下:

  • ls 按照时间修改顺序列出文件,以M/G方式(human readable)显示出文件(如ls -lth) ,显示隐藏文件等

  • 判断文件是否存在test -f filename && echo “File exists”

  • 通配符文件的删除

  • 文件的移动(少了以及大量),批量重命名等

  • SecureCRT linux与win10下文件的传送(rz, sz)例如linux下大批量的文件传输到win10下

  • dh (disk usage) 目录大小查看,排序

  • linux文件(主要是代码的树型查看)

  • 文件查找(locate /find)

转载注明出处哈
“http://blog.csdn.net/haluoluo211/article/details/77714264”


ls

前段时间在linux上面跑C++程序的时候,偶尔程序会挂掉,这个时候我们需要通过core dump文件定位问题。而core dump文件有一大推我们需要安装最新的修改时间排序,显示的大小等信息:

然后在
sudo gdb AntiChatFilterd /data/core_files/core-AntiC659
通过gdb调试(注意上面省略了一些字符)

显示所有的文件,包括隐藏文件:ls -a
或者ls -ld .?*

按照最近修改时间排序 ls -lt (反向排序在ls -lrt)

最常用还有比如回到上一层目录 cd -

判断文件是否存在: test -f filename && echo “File exists”

通配符删除文件


一般 rm -f filename删除文件
比如我们要删除多个文件
rm -f 1.jpg 2.jpg 或者 rm -f {1,2}.jpg

rm -f *.jpg 删除所有的jpg

当rm 删除文件列表太长可以使用for循环
for f in *.pdf; do rm “$f”; done

文件移动重命名


比如重命名目录
mv /home/user/oldname /home/user/newname

当我们移动很多文件的时候,往往会报错参数太长
下面给出一个自己的示例

awk -F, ‘NR>1&&2==1{print2==1{print 1}’ submission_model_1_v1.csv | xargs mv –target-directory=result_1

上面通过 xagrs 把所有的图片通过参数,然后 mv到target directory中

或者(下面是移动文件并按照 0000x.jpg格式化重命名)
find -name ‘*.jpg’ \ # find jpg s
| awk ‘BEGIN{ a=0 }{ printf “mv \”%s\” %04d.jpg\n”, $0, a++ }’ # build mv command
| bash # run that command

文件批量重命名


比如我要把目录下所有的 png->jpg

rename 's/\.png$/\.jpg/' *.png
# 或者
for file in *.png
domv "$file" "${file%.png}.jpg"
done

又比如想按照 0001~0010 ,jpg 这样的形式命名可以


find -name '*.jpg' \  # find png s
| awk 'BEGIN{ a=0 }{ printf "mv \"%s\" %04d.jpg\n", $0, a++ }'  # build mv command
| bash # run that command

sz /rz (以及批量linux文件->win10)


一般 sudo rz -bey (覆盖原有文件,一般不会传送终止,如果终止了一般 disconnect SecureCRT 然后重新回到目录下 rz -bey 即可)

linux文件-》win10下 一般 sz filename即可

但是传送大量文件就有问题,参数太长
也可以类似上面的for 循环

#!/bin/sh
read -p "input the class num: " class
class_num=`awk '$2=='$class' {class_num+=1;} END {print class_num}' train.txt`
echo "$class  sample size is: $class_num"read -p "input the num of how many samples you wants to download: " download_num
step=$((class_num / download_num))
echo "step size is $step"
# all_files-> a.jpg b.jpg c.jpg
all_files=`awk -v c="$class" '$2==c {print $1} ' train.txt `
d_f=" "
count=0
for i in $all_files
docount=$(($count+1))if [ $count -eq $step ]thencount=0d_f="$d_f  $i"  #there is a space between two variablefi
done
echo "after for loop, the end of sz"
cd /data5/light/storm_1_1/images
sudo sz $d_f
cd -

其中 train.txt 部分内容如下:

head -2 train.txt
train/4C0/4C0B77F76A1C58DE372F984AA8A807BEFF04F63A.png 0
train/4C0/4C0A77546E80894F8F89EE8D7AB8C7E159A99193.png 0tail -2 train.txt
train/64f/64fc3277521ff37177cbb43329b891dcb8f01203.png 27
train/9C9/9C999B0A7FBEA214C3C8546549447A9902151ACB.png 16

dh (disk usage) 目录大小查看,排序


先上个简单示例,查看boost的这个目录大小:

-h, --human-readable  print sizes in human readable
format (e.g., 1K 234M 2G)(以合适的方式显示文件大小)
-s, --summarize display only a total for each
 argument(显示总的大小)

dh -h --max-depth=1 *

sort -h 按照大小排序,-r反向排序(故而最大的在第一个)


linux文件(主要是代码的树型查看)


tree ( 查看项目的目录结构) sudo apt-get install tree

tree -d

etc
|-- abrt
|   |-- abrt-action-save-package-data.conf
|   |-- abrt.conf
|   |-- gpg_keys
|   `-- plugins
|       |-- CCpp.conf
|       `-- python.conf

转载注明出处哈
“http://blog.csdn.net/haluoluo211/article/details/77714264”

文件查找(locate /find)


文件查找主要是find/locate一般locate查找比较快,但记得sudo updatedb(如果长时间没有更新)

locate -i new.txt (-i 忽略大小写Ignore Case )
find / -name “filename”
目的:在根目录“/”开始搜被称为filename的文件,“filename”文件名可以包含通配符(*,?)

Regular files only(当前目录下查找以my开头的文件查找)
$ find . -name ‘my*’ -type f

linux工作中常用文件操作命令相关推荐

  1. [Linux]工作中常用的Unix命令

    Linux命令工作实际笔记 一.查看磁盘文件大小: du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-size][--exclud ...

  2. 【Linux】Linux命令大全----常用文件操作命令

    目录 ls :ls -a    ls -l    ls –F cd:cd /     cd .. 或者 cd .. //     cd ../.. // dir:mkdir   rmdir cp    ...

  3. 工作中常用的linux命令,Linux工作中常用到的一些命令(持续更新)常用的

    1.查看运行级别3开启的服务列表: chkconfig --list|grep 3:on 2.查找某类型的文件并计算总大小. find / -name *.conf -exec wc -c {} \; ...

  4. Linux 工作中 常用命令

    文章目录 1.Xftp无法使用时 2.模糊查询删除文件 3.vim 编辑文件 4.ll 查看该路径下的目录 5.cd ../切换到项目根目录 6.删除文件 7.tomcat中启动.停止服务 8.查看项 ...

  5. Linux系统中常用的docker镜像命令

    在虚拟机中操作的镜像命令: 1.列出所有在运行的容器信息: 可以看到容器ID和名字等 docker ps 2.查看所有镜像: 可以看到镜像ID和名字等 docker images 3.通过dokerf ...

  6. Linux系统中常用命令行命令、快捷键、创建长路径的快捷键

    Linux系统中常用命令行命令.快捷键.创建长路径的快捷键 1.常用Linux命令: 1.1 文件和目录: cd /home 进入 '/home' 目录 cd - 返回上一级目录 cd -/- 返回上 ...

  7. 嵌入式linux系统中常用的文件系统

    原文:https://blog.csdn.net/li_wen01/article/details/80090624 嵌入式linux系统中常用的文件系统: 闪存主要有NOR和NAND两种技术:因为F ...

  8. linux命令打包文件,Linux系统中打包文件的命令详解

    linux系统中遇到要打包文件的时候我们该使用什么命令呢?下面由秋天网 Qiutian.ZqNF.Com小编为大家整理了linux系统中打包文件的命令详解的相关知识,希望对大家有帮助! linux系统 ...

  9. 实战!工作中常用到哪些设计模式

    前言 平时我们写代码呢,多数情况都是流水线式写代码,基本就可以实现业务逻辑了.如何在写代码中找到乐趣呢,我觉得,最好的方式就是:使用设计模式优化自己的业务代码.今天跟大家聊聊日常工作中,我都使用过哪些 ...

  10. 递归计算Linux目录中的文件

    如何递归计算Linux目录中的文件? 我找到了这个: find DIR_NAME -type f ¦ wc -l 但是当我运行它时,它返回以下错误. find:paths必须在表达式之前:| #1楼 ...

最新文章

  1. HDOJ 1214 圆桌会议
  2. 分类模型的性能评估——以SAS Logistic回归为例(1): 混淆矩阵
  3. mysql写入监控_zabbix监控mysql操作
  4. MySQL通过source命令执行sql文件
  5. 基于Windows8与Visual Studio2012开发内核隐藏注册表
  6. java笔试题_公司真题 | 用友2018秋招Java笔试题(四)
  7. Verizon收购雅虎交易完成 硅谷第一美女梅耶尔辞职
  8. cv2.show()cv2.waitKey()cv2.VideoCapture()的使用
  9. android之camera2获取数据
  10. 转《18个实时音视频开发中会用到开源项目》
  11. 从PCA和SVD的关系拾遗
  12. nodejs koa2 mysql_springboot动态加载sigar - SegmentFault 思否
  13. C++中头文件iostream介绍
  14. [转]在创业公司做架构师,你需要解决哪些问题?
  15. 语言模型(language model)
  16. AutoCAD2020安装教程
  17. 浏览器垃圾与回收机制
  18. j3455linux网卡不亮,最新J3455主板直接安装黑群晖的若干问题解决办法
  19. FITC-GSL I荧光素标记的西非单叶豆凝集素 I
  20. 最新版 苹果 IOS AppStore证书申请全流程 包括p12文件

热门文章

  1. GPU运算能力对(2022.4.5更新)
  2. matlab 画标准正态曲线,matlab中如何画标准正态分布的密度函数曲线?
  3. php 导出 设置多表头,PHP Excel 导出文件,自定义表头
  4. 领你走进10位管理大师的思想境界
  5. 计算机更新后无法远程,重装系统后无法进行远程桌面连接怎么办
  6. 卷皮网aso优化数据分析报告
  7. C盘中的Users\admin文件夹太大清理方法
  8. RPM常用命令及RPM中文手册
  9. 线性布局和表格布局的嵌套使用
  10. 等比例压缩图片文件大小