没系统地学习linux,但是老忘记某些指令的用法,就在这里记录一下一些常用的,文章周期比较长。

screen

-S [name] 新建session
-ls 列出session
-r [name] 回到session
-d [name] 暂时离开(detach挂起)当前session并将当前session转后台,然后返回没进screen时的状态
快捷键:
ctrl-a c:创建一个新的 Shell
ctrl-a ctrl-a:在 Shell 间切换
ctrl-a n:切换到下一个 Shell
ctrl-a p:切换到上一个 Shell
ctrl-a 0~9:切换各个 Shell
ctrl-a d:退出 Screen 会话

zip / unzip

zip
-F 尝试修复损坏的压缩文件
-m 压缩后删源文件
-o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间
-q 安静模式
-r 递归,目录下所有子目录、文件一起处理
-S 包含系统文件和隐含文件(大写)
-d 删除压缩文件内的某个文件
-x 除了
-e 交互设置密码
-P 直接设置密码
-<压缩效率> 介于1-9的数值
-v 显示指令执行过程 或 版本

zip -r my.zip testdir/
zip -dv my.zip del_me
zip my.zip forzip/* -x forzip/e  # 压缩目录,除了forzip/e

unzip
-n 解压缩时不要覆盖原有的文件
-o 不必先询问用户,unzip执行后覆盖原有的文件
-P [密码] 使用zip的密码选项
-q 安静模式
-d [目录] 指定文件解压缩后所要存储的目录

vim

ESC 退出输入模式,切换到命令模式
DEL 删除光标后一个字符
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。
/[word] 向后搜索
?[word] 向前搜索
n 搜索之后的下一个
N 搜索之后的前一个
wq 保存后离开

df / mount ...盘相关

df -h,--human-readable 使用人类可读的格式
mount /dev/sda /mnt/pan1 挂载sda到/mnt/pan1
若每次开机都挂载,可保存到~/.bashrc,每次启动时都会加载 .bashrc。每个用户的 home 目录都有这个脚本,即每用户对应一个bashrc
除此之外还有/etc/rc.local
lsblk
-a, --all 显示所有设备
-b, --bytes 以bytes方式显示设备大小
-e, --exclude <list> 排除设备 (default: RAM disks)
-f, --fs 显示文件系统信息
-i, --ascii 仅使用ascii
-l, --list 使用列表格式显示
-n, --noheadings 不显示标题
-o, --output <list> 输出列
-r, --raw 使用原始格式显示

杀进程

ps -ef | grep [name]
kill [pid]
top

crontab

crontab -u [user] -e
crontab -l
service cron start

aria2

启动rpc功能

alias aria2cServer='aria2c --conf-path="/root/aria2.conf" --enable-rpc --rpc-listen-all=true --rpc-allow-origin-all --rpc-secret=password'

scp

-r 复制目录

# 本地到远程
scp local_file remote_username@remote_ip:remote_folder 
scp local_file remote_ip:remote_file
# 远程复制到本地只需把上面两参数反过来