Linux 小知识

本文介绍了一系列实用的Shell命令,帮助用户高效地管理进程、文件和目录。内容涵盖进程查看、文件搜索与修改、时间戳转换等操作,并提供了多个示例说明如何使用这些命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看所有进程:ps -ef
查看指定进程:netstat -anp | grep 9000


Unix时间戳转字符串: date -d @1506830400 +%Y%m%d\ %H:%M:%S
字符串转Unix时间戳: date -d "2017-10-01 12:00:00" +%s


返回一个数组索引列表: ${!array[@]}


录制终端会话: script -t 2> timing.log -a output.session
回放命令执行过程: scriptreplay timing.log output.session


打印出最近5分钟内被访问的所有文件: find . -type f -amin -5
删除当前目录下所有的.pb.go文件: find . -type f -name "*.pb.go" -delete
所有文件名中的空格替换为字符“_”: find path -type f -exec rename 's/ /_/g' {} \;
查找项目所有的go文件(排除vendor下的源文件)执行fmt检查: find . -name '*.go' -not -path '*/vendor/*' -exec gofmt -d -e {} \;

有时候我们并不希望对每个文件都执行一次命令。我们更希望使用文件列表作为命令参数,这样就可以少运行几次命令了。如果是这样,可以在exec中使用+来代替;

查找项目所有的go文件(排除vendor下的源文件)执行vet检查: find . -name '*.go' -not -path '*/vendor/*' | xargs -i go vet {};

使用-i的时候,命令以循环的方式执行。如果有3个参数,那么命令就会连同{}一起被执行3次。在每一次执行中{}都会被替换为相应的参数


将输入字符由大写转换成小写: echo "HELLO WHO IS THIS" | tr 'A-Z' 'a-z'

可以按照下面的方式选择并使用所需的字符类: tr '[:lower:]' '[:upper:]'


%操作符可以轻松将名称部分从“名称.扩展名”这种格式中提取出来: file_jpg="sample.jpg"; name=${file_jpg%.*}

${VAR%.*}的含义是从$VAR中删除位于%右侧的通配符(在前例中是.*)所匹配的字符串

#操作符将文件名的扩展名部分从“名称.扩展名”这种格式中提取出来: extension=${file_jpg#*.}

${VAR#*.}的含义是从$VAR中删除位于#右侧的通配符(即在前例中使用的*.)所匹配的字符串


使用look查找特定单词起头的所有单词: look arith


查看最近一个后台进程的PID: $!
查看最近一个命令执行后的退出码: $?
将命令置于后台运行并继续执行脚本: md5sum server1.log &

我们可以利用$!获取后台进程的PID,然后使用wait命令等待这个进程结束。


将一个文件设置为不可修改: chattr +i file
使文件恢复可写状态: chattr -i file


创建符号链接: ln -s target symbolic_link_name
使用 readlink 打印出符号链接所指向的目标路径: readlink /vmlinuz


打印不包括文件名在内的文件类型信息: file -b filename


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值