linux之我常用的20条命令( 之三)

快速清空一个文件

  1. > > rumenz.log
  2. > :> rumenz.log
  3. > true > rumenz.log
  4. > cat /dev/null > rumenz.log
  5. > echo -n "" > rumenz.log
  6. > echo > rumenz.log
  7. > truncate -s 0 rumenz.log

: 在 shell 中是一个内置命令,表示 no-op,大概就是空语句的意思

快读生成一个大文件

生成一个文件名为rumenz.img 大小为 1G 的文件。

  1. > dd if=/dev/zero of=rumenz.img bs=1M count=1024

安全擦除硬盘数据

使用 /dev/urandom 生成随机数据,将生成的数据写入 sda 硬盘中,相当于安全的擦除了硬盘数据。

  1. > dd if=/dev/urandom of=/dev/sda

dd命令制作ISO镜像

执行完这条命令后会出现若干个盘的信息,其中识别U盘的一个比较直观的方式是看容量大小。假设U盘的路径是\dev\sdb

  1. > fdisk -l

umount U 盘

  1. > umount /dev/sdb*

格式化U盘

  1. > mkfs.vfat /dev/sdb -I

如果U盘是空的可能格式化的过程会比较快,否则可能会比较慢。

使用 dd 命令制作系统盘

  1. > dd if=rumenz.iso of=/dev/sdb

查看某个进程的运行时间

  1. > ps -p 6282 -o etimes,etime
  2. ELAPSED ELAPSED
  3. 875234 10-03:07:14

通过 etime 获取该进程的运行时间,可以很直观地看到,进程运行了 19 天。

动态实时查看日志

通过 tail 命令 -f 选项,可以动态地监控日志文件的变化

  1. > tail -f rumenz.log

如果想在日志中出现 Failed 等信息时立刻停止 tail 监控

  1. > tail -f rumenz.log | sed '/Failed/ q'

时间戳的快速转换

  1. > date -d@1234567890 +"%Y-%m-%d %H:%M:%S"

查看系统时间的时间戳

  1. > date +%s

优雅的删除乱码的文件

  1. > ls -i
  2. 138957 a.txt 138959 T.txt 132395 ڹ��.txt
  3. > find . -inum 132395 -exec rm {} \;

-inum 指定的是文件的 inode 号,它是系统中每个文件对应的唯一编号,find 通过编号找到后,执行删除操作。

历史命令使用技巧

  • !!:重复执行上条命令
  • !N:重复执行 history 历史中第 N 条命令,N 可以通过 history 查看
  • !pw:重复执行最近一次,以pw开头的历史命令,这个非常有用,小编使用非常高频
  • !$:表示最近一次命令的最后一个参数
  1. > vim /root/rumenz/src/main.c
  2. > mv !$ !$.bak
  3. # 等价于
  4. > mv /root/rumenz/src/main.c /root/rumenz/src/main.c.bak

返回笔记列表
入门小站