IT袋

当前位置:主页 > 经验教程 > 系统教程 >

linux常用的20个命令操作

linux常用的20个命令操作 关于linux入门基础教程

更新:2023-09-02 21:48:08 来源:IT袋 作者:苏晓敏
导读:linux常用的20个命令操作,本文导读:linux常用的20个命令操作和关于linux入门基础教程的相关话题,下面为详细的介绍。 简介 网上有很多辅助开发的小工具,如base64,md5之类的,但这些小工具其实基

linux常用的20个命令操作

本文导读:linux常用的20个命令操作和关于linux入门基础教程的相关话题,下面为详细的介绍。

简介

网上有很多辅助开发的小工具,如base64,md5之类的,但这些小工具其实基本都可以用Linux命令实现,即方便又高效。

查看特殊字符

把这个放在首位,是因为这个实在太重要了,程序经常会因为特殊的看不见的字符而出现bug,因此一些本应该执行正确而实际出乎意料的字符串处理,你都应该看看是否含有特殊字符。

$ echo 'hello'|sed -n 'l'hello$$ echo 'hello'|cat -Ahello$$ echo 'hello'|od -c0000000 h e l l o \n0000006

执行上面的命令会发现,echo会给输出加一个换行符。

查看字节数

当出现数据库字段超长错误时,这个命令会很有用,如oracle的varchar2(64)类型,表示最多存64字节,而业务插入的字符串是中英混合的,估计它有多少字节还挺麻烦。

$ echo -n 'hello,张三'|iconv -t utf-8|wc -c12

时间戳转换

#日期串转时间戳$ date -d '2020-06-08 00:13:28' +%s1591546408#时间戳转日期串$ date -d '@1591546408' +"%F %T %z"2020-06-08 00:13:28 +0800#带时区版本,时区很重要,要时时刻刻注意TZ='GMT-8' date -d '2020-06-08 00:13:28' +%sTZ='GMT-8' date -d '@1591546408' +"%F %T %z"

csv变json

#使用csvkit中的csvjsoncsvjson -y0 -I data.csv#使用pythonpython -c "import csv,json;print(json.dumps(list(csv.reader(open('data.csv')))))"

文件服务器

python3 -m http.server 8000

urlencode,base64,md5,sha256

做开发经常会用到这些。

# urlencode,建议添加为别名$ alias urlencode='python3 -c "import sys;from urllib import request as rq;print(rq.quote(sys.argv[1],safe=\"\"))"'$ urlencode 你好%E4%BD%A0%E5%A5%BD# urldecode,建议添加为别名$ alias urldecode='python3 -c "import sys;from urllib import request as rq;print(rq.unquote(sys.argv[1]))"'$ urldecode '%E4%BD%A0%E5%A5%BD'你好# base64编解码$ echo hello |base64 -w0aGVsbG8K$ echo aGVsbG8K|base64 -dhello# md5摘要$ echo hello |md5sumb1946ac92492d2347c6235b4d2611184 -# sha256摘要$ echo hello | sha256sum5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03 -# hmacWithSha256摘要$ echo hello | hmac256 'secret'171b5670f7b4037fb90bef773b022130e48100fdd40ea023730097da9a68f4ff

json格式化

$ echo '{"id":1,"name":"lisi"}' | jq .{ "id": 1, "name": "lisi"}

字符串escape与unescape

#将"转成\"$ echo 'hi,"lisi"' | jq -R 'tojson' -r"hi,\"lisi\""#将\"转成"$ echo '"hi,\"lisi\""' | jq -R 'fromjson' -rhi,"lisi"#json属性值里是json内容,不知你有没有遇到过这种蹩脚设计$ echo '{"code":200,"data":"{\"id\":1,\"name\":\"lisi\"}"}' | jq '.data=(.data|fromjson)'{ "code": 200, "data": { "id": 1, "name": "lisi" }}

相关阅读