查询指令的若干方法
- tldr
too long don’t read
tldr [command]
tldr --update
- man系统手册
man [-k]/[N] [command]
- which/whereis/whatis/locate
查询指令所在目录,如果不存在可以先执行
“`updatedb“`更新文件目录
systemctl
启用或关闭系统服务
systemctl start/enable/stop/disable [service]
列出所有服务
systemctl list-unit-files
ss
查询所有tcp套接字
ss -anltp
ENV
$SHELL #使用的shell类型
$USER #当前用户
$PWD #当前目录
$PATH #程序目录
$$ #当前shell的pid
export a=b #定义全局环境变量
env #查看所有环境变量
管道(|)&重定向(><)
- 标准输入(STDIN-O):向程序输入数据
<从某文件输入
- 标准输出(STDOUT-1):程序的输出(默认输出到当前终端)
> 输出到某文件
>>追加输出到某文件 - 标准报错(STDERR-2):报错消息(默认输出到当前终端)
\2>/dev/null将错误输出丢弃
- 管道[command1] | [command2]
指令1的标准输出传输至指令2的标准输入
grep
grep [-R递归搜索] [-i忽略大小写] [-E正则表达式] [目标] [目录/文件]
find
find [目录] [-regex '正则表达式']
sed
替换
sed [-i替换文件] 's/REPLACE/TARGET/g' [FILENAME(ONLY -i)]
cut/awk
内容提取单个分隔符
cut [-d '分隔符'(单个字符)] [-f NUM(取第NUM部分)]
多个字符
awf [-F "分隔符"] '{print $NUM1"\n"$NUM2}'(输出格式)
sort/uniq
去除重复的
sort -u
倒序排序
sort -run
去重并且显示数量
uniq -c
openssl
生成Linux用户密码
openssl passwd [-1 MD5加密] [PASSWORD]
comm
comm,分别会显示A B AB
comm [-123 不显示哪些行数] [file1] [file2]
diff
diff [-c上下文格式] [-u统一格式] [file1] [file2]
vimdiff交互界面
vimdiff [file1] [file2]
ps
ps [-e所有进程] [-f全部格式]
ps [aux(显示BSD格式)]
kill
kill [-9强制kill] [pid]
tail
tail [-f实时监控] [-n NUM(显示结尾NUM行)] [file]
wget/curl/axel
wget支持http/https/ftp
wget -O [NEW_NAME] [URL]
curl支持IMAP/S,POP3/S,SCP,SFTP,SMB/S,SMTP/S,TELNET,TFTP,执行下载、上传等操作
curl -o [NEW_NAME] [URL]
axel支持FTP/HTTP加速下载,分片断点续传
axel -a [-n NUM(分片NUM)] -o [NEW_NAME] [URL]
alias
别名,重复指令简化
例如将
“`lsa“`设置为“`ls -la“`
alias lsa='ls -la'
unalias lsa
别名持久化
“`/etc/bash.bashrc“`和“`~/.bashrc“`
文件属性
查看文件属性
lsattr
修改属性(只需要可写)
chattr [-i修改只读i属性]