linux实用操作技巧

1、执行渗透测试时,清除history历史命令

如果我们登陆了别人的服务器,不想让别人知道我们都在服务器上面进行了哪些操作,在退出登录或者操作时需要进行行为隐藏以及环境恢复,可以采用以下两种方式

# 第一种方式:history -c
# 第二种方式:输入操作命令时, 在操作命令前面添加一个空格,那这条命令就不会被 history 保存到历史记录

在这里插入图片描述

2、快速搜索历史命令
# 第一种方式:ctrl + r 后输入要搜索的命令关键字

在这里插入图片描述

3、历史命令高级使用技巧
# 1、重复执行上一条命令
!!
# 2、重复执行 history 历史中第 N 条命令,N 可以通过 history 查看
!N
# 3、重复执行最近一次,以pw开头的历史命令,这个非常有用
!pw
# 4、表示最近一次命令的最后一个参数
!$

在这里插入图片描述
这里我之前使用了ls命令查看了某个目录,这里我们又需要再次访问这个目录,当时这个目录路径有很长记不住,一层一层+tab输入很影响工作效率,怎么办?这里就可以使用!$,!$代表的就是自动获取上一条命令的最后一个参数。直接使用!$代表我们上一条命令中输入的那一长串路径名称即可。
在这里插入图片描述

4、批量下载网络资源

现在有很多的网站提供了很多的安装包、数据文件、文本文件,如果我们需要批量获取这些文件,就可以使用下面这条命令,可以下载当前网页上所有的.zip压缩文件

# --accept参数就是过滤资源类型格式,当前命令为.zip文件
wget -r -nd -np --accept=zip http://npm.taobao.org/mirrors/chromedriver/2.0/

在这里插入图片描述
在这里插入图片描述

6、Linux上获取你的公网IP地址

方式有很多,我把我常用的和同事推荐的都汇总到这里

# 方式一
curl ip.sb
# 方式二(这个是其他同事推荐的,我试了有时不生效)
curl ifconfig.me
# 方式三
curl cip.cc
# 方式四
curl ip.cip.cc
# 方式五
curl myip.ipip.net
# 方式六
curl http://members.3322.org/dyndns/getip
# 方式七
curl ipinfo.io
7、Linux上查看ascii码表
man ascii

在这里插入图片描述

8、统计程序运行时间

在 Linux 下,可以通过 time 命令来统计程序的运行耗时

time ./test.sh

# 输出结果
# real xxxxxxs
# user xxxxxxs
# sys  xxxxxxs

# real:表示的钟表时间,也就是从程序执行到结束花费的时间;
# user:表示运行期间,cpu 在用户空间所消耗的时间;
# sys:表示运行期间,cpu 在内核空间所消耗的时间;

# 1、因为 user 和 sys 只统计 cpu 消耗的时间,当时程序运行期间会调用 sleep 发生阻塞,也可能会等待网络或磁盘 IO,都会消耗大量时间。因此对于类似情况,real 的值就会大于其它两项之和。
# 2、如果是程序在多个 cpu 上并行执行的场景,那user 和 sys 统计时间是多个 cpu 时间,实际消耗时间 real 很可能就比其它两个之和要小。

在这里插入图片描述

9、时间戳的快速转换
# 查看当前日期时间戳的秒值表示(seconds since 1970-01-01 00:00:00 UTC)
date +%s
# 查看当前日期时间的年份(xxxx)
date +%Y
# 查看当前日期时间的年份后两位(00-99)
date +%y
# 查看当前日期时间的月份(01-12)
date +%m
# 查看当前日期时间在该月的天数序号(01-31)
date +%d
# 查看当前日期时间的小时数(00..23)
date +%H
# 查看当前日期时间的分钟数(00..23)
date +%M
# 查看当前日期时间的秒值(second (00..60))
date +%S
# 时间戳转换为日期时间
 date -d@1518382548 +"%Y-%m-%d %H:%M:%S"
  • 示例一:查询当前日期时间的时间戳
    在这里插入图片描述
  • 示例二:时间戳转为日期时间
    在这里插入图片描述
10、动态实时查看日志

动态地监控日志文件的变化,非常实用,问题定位时使用很舒服

# 命令一:不会自动退出
tailf  xxxx.log

# 命令二:不会自动退出
tail -f xxxx.log

# 命令三:当日志文件中出现匹配的字符时,自动退出日志监控
# 当日志文件的行中出现了compeleted时,自动退出日志监控
tailf xxxx.log | sed "/compeleted/ q" 

# 当日志文件的行中出现了compeleted时,自动退出日志监控
tail -f xxxx.log | sed "/compeleted/ q" 
11、 查看某个进程的运行时间

查看进程及进程详细信息的命令大多数人可能都会使用,ps -ef | grep 服务名称或者ps -aux | grep 服务名称

# 查看某个进程的具体运行时间,通过 etime 获取该进程的运行时间
ps -p 进程pid -o etimes,etime

# 查看某个进程的内存信息
ps -p 进程pid -o rss

在这里插入图片描述

12、 dd命令的妙用
  • 快速制作系统盘
  • 快速生成大文件
  • 安全删除硬盘数据
# 高效,安全擦除硬盘数据的方法, 使用 /dev/urandom 生成随机数据,将生成的数据写入 sda 硬盘中,相当于安全的擦除了硬盘数据
 dd if=/dev/urandom of=/dev/sda

# 生成一个文件名为 test.png 大小为 100G 的文件, 常用来模拟服务器百分比负载下的性能压测使用
dd if=/dev/zero of=test.png bs=100M count=1024

# 在 Linux 下制作系统盘, sdb 可以 U 盘,也可以是普通硬盘
dd if=ubuntu-server-amd64.iso of=/dev/sdb

13、 删除乱码目录或者文件

在 Linux 系统中,由于默认编码不兼容的问题,导致经常会出现ftp上传的文件或者程序自动创建的文件名称乱码。想要删除它,却无法通过键盘输入名字,有时候复制粘贴乱码名称,终端可能识别不了,该怎么办?
直接拷贝文件名称暴力删除也无不可。。。
希望优雅高级一点儿,可以使用以下方式:

# 查看文件的node节点编号
ls  -i
# -inum 指定的是文件的 inode 号,它是系统中每个文件对应的唯一编号,find 通过编号找到后,执行删除操作。
find . -inum 132395 -exec rm {} \;
14、使用 truncate 命令创建大文件

truncate 命令将一个文件缩小或者扩展到所需大小。使用 -s 选项来指定文件的大小。
接下来,我们使用 truncare 命令来创建一个 2GB 大小的文件。

truncate -s 2G rumenz.img

可以使用ls -lh rumenz.img命令查看生成的文件。

默认情况下,如果请求的输出文件不存在,truncate 命令将创建新文件。我们可以使用 -c 选项来避免创建新文件。

15、使用 fallocate 命令创建大文件

fallocate 命令是我比较推荐的创建大文件的方法,因为它创建大文件的速度是最快的。
假设我们要创建一个 1 GB 的文件,可以执行以下操作:

fallocate -l 1G rumenz.img

可以使用ls -lh rumenz.img查看生成的文件。

16、kill 进程
 ps -ef|grep 进程名称 | grep -v grep |awk '{print "kill -9 " $2}' | sh
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值