我个人推荐smart work, 在我的team从来不鼓励加班,所以如何做高效工作呢,那就是高效利用我们的开发工具,只有熟练的使用武器才能给你减少时间上的浪费,从而带来一些时间增益。下面我这边将汇总一些常用工具快捷键,可以提高我们工作效率;
1. VIM编辑器指令汇总
3. Docker常用指令汇总
4. IDEA常用快捷键汇总
6. Win10常用快捷键汇总
建议所有的快捷键每个季度花一个小时复习一遍,直到完全被你的手指记住~
ubuntu本身也是基于linux的内核开发,所以command指令也是从linux继承过来的,所以这篇随笔将分为两部分,一是ubuntu的指令 二是ubuntu界面端常用快捷键
1. ubuntu指令汇总
1.1 linux的目录结构
1.2 linux vim 指令
可以参考我的这篇博客: VIM编辑器指令汇总
1.3 linux 用户管理
1.3.1 用户常用指令
创建用户默认在 /home目录下 useradd username 创建用户并指定目录 useradd -d /xxxx username 指定和修改密码 passwd username 删除用户 userdel username 删除用户及目录 userdel -r username 查询用户信息 id username 查看当前用户 whoami 切换用户 su - username
1.3.2 用户组常用指令
添加用户组 groupadd xxxxx 修改用户组 usermod -g usergroup username
删除用户组
groupdel xxxxx
1.3.3 查看和用户相关文件
cat /etc/passwd user的配置文件,记录用户的各种信息 每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
cat /etc/shadow 口令的配置文件 每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
cat /etc/group group的配置文件,记录Linux包含的组的信息 每行含义:组名:口令:组标识号:组内用户列表
1.4 linux 帮助指令
man man
help
1.5 linux 文件目录指令
1.5.1 创建文件和目录
pwd - 查看目录的绝对路径 ll 或 ls - 显示当前目录所有的文件和目录 cd - 切换目录 1. cd 回到自己的家目录 2. cd .. 回到上级目录 3. cd - 切换到上一次目录 mkdir - 创建目录 1. mkdir /xxxx 创建多级目录 2. mkdir -p /xxx/xx/xx 创建多级目录 rm -rf - 删除目录 touch - 创建空文件
1.5.2 cp 和mv
cp - 拷贝 1. cp xx.txt /xxx 拷贝文件到目录 2. cp -r xx/xx /aa/bb 拷贝整个文件夹 3. cp -r xx/xx /aa/bb 强制覆盖不提示 mv - 移动 1. mv oldName newName 重命名 2. mv /xxx /targetFolder 移动文件或文件夹
1.5.3 查看文件
cat - 查看文件 1. cat aa.txt 2. cat -n 显示行号 more - 查看文件按页显示 空白键 向下翻一页 Enter 向下翻一行 = 输出当前行号 q 退出 less - 查看文件按页显示 空白键 向下翻一页 /字符 搜索字符 n-向下找 N-向上找 q 退出 echo - 输出内容 head - 查看文件开头部分 默认显示10行 -n 数字 显示多少行 tail - 查看文件尾部 默认显示10行 -n 数字 显示多少行 -数字f 实时显示并追踪多少行
1.5.4 > 和 >>
> - 输出重定向 >> - 追加 1. ll > a.txt 列表的内容写入文件 a.txt 中(覆盖写) 2. ll >> a.txt 列表的内容追加到文件 aa.txt 的末尾 3. cat a.txt > b.txt 将文件 a.txt 的内容覆盖到文件 b.txt 4. echo "内容">> a.txt 追加内容到a.txt
1.5.5 ln
ln - 软链接,类似于 windows 里的快捷方式 1. ln -s [原文件或目录] [软链接名] 2. 删除软连接用rm
1.5.6 histery
history - 查看执行过历史命令 1. history - 显示所有的历史命令 2. history 10 - 显示最近使用过的10个指令 3. !555 - 执行历史编号为555的指令
1.6 时间日期指令
date - 显示日期
cal - 显示日期
1.7 搜索指令
find - 从指定目录向下递归遍历其子目录 find [搜索范围] [选项] [选项] -name 根据名称查找 [选项] -user 按拥有者查找 [选项] -size 按文件大小查找 (+n大于,-n小于,n等于, 单位有 k,M,G) locate - 快速定位文件路径 locate file which - 查看某个指令在哪个目录下,比如 ls 指令在哪个目录 which ls grep - 查找内容 [选项] -n 显示匹配行及行号 [选项] -i 忽略字母大小写 grep -n "keyword" /home/aaa.txt
1.8 压缩和解压缩
1.8.1 gzip 和 gunzip
1. gzip 将文件压缩为*.gz 文件 gzip /home/aaa.txt 2. gunzip 文件.gz 解压缩文件命令 gunzip /home/aaa.txt.gz
1.8.2 zip 和 unzip
1.zip 用于压缩文件 -r:递归压缩,即压缩目录 zip -r aaa.zip /home/aaa/ 2.unzip 用于解压缩 -d<目录> :指定解压后文件的存放目录 unzip -d /opt/tmp /home/aaa.zip
1.8.3 tar
打包后缀为.tar.gz的文件 [选项] -c 产生.tar打包文件 [选项] -v 显示详情信息 [选项] -f 值定压缩后的文件名 [选项] -z 打包时压缩 [选项] -x 解包.tar文件 1: 压缩多个文件,将 /home/aaa.txt 和 /home/bbb.txt 压缩成ccc.tar.gz tar -zcvf ccc.tar.gz /home/aaa.txt /home/bbb.txt 2: 将/home/asd 的文件夹压缩成 asd.tar.gz tar -zcvf asd.tar.gz /home/asd/ 3:将 pc.tar.gz解压到当前目录 tar -zxvf pc.tar.gz 4: 将 asd.tar.gz解压到 /opt/tmp2 目录下 mkdir /opt/tmp2 tar -zxvf /home/asd.tar.gz -C /opt/tmp2
1.9 组管理和权限管理
1.9.1 chown
chown - 修改文件所有者 chown 用户名 文件/目录 chown 用户名:组名 文件/目录 -R 如果是目录 则使其下所有子文件或目录递归生效
1.请将/home/test目录下所有的文件和目录的所有者都修改成cal chown -R cal /home/test
1.9.2 chgrp
chgrp - 修改文件/目录所在的组 chgrp 组名 文件名 1.请将 /home/test 目录下所有的文件和目录的所在组都修改成 casl chgrp -R casl /home/test
1.9.3 usermod
usermod - 改变用户所在组
usermod –g 新组名 用户名
改变该用户登陆的初始目录。特别说明:用户需要有进入到新目录的权限。
usermod –d 目录名 用户名
1.9.4 chmod
chmod- 修改权限 通过chmod指令,可以修改文件或者目录的权限。 第一种修改方式:+ 、-、= 变更权限 u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和) 1. chmod u=rwx,g=rx,o=x 文件/目录名 2. chmod o+w 文件/目录名 3. chmod a-x 文件/目录名 1.给abc文件的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。 chmod u=rwx,g=rx,o=rx abc 2.给abc文件的所有者除去执行的权限,增加组写的权限 chmod u-x,g+w abc 3.给abc文件的所有用户添加读的权限 chmod a+r abc
第二种修改方式:通过数字变更权限 r=4 w=2 x=1 rwx=4+2+1=7 chmod u=rwx,g=rx,o=x 文件/目录名 相当于 chmod 751 文件/目录名 1.将/home/abc.txt 文件的权限修改成 rwxr-xr-x, 使用给数字的方式实现: chmod 755 /home/abc.txt
1.10 linux任务调度
crontab [选项] -e:编辑crontab定时任务 -l:查看crontab任务 -r:删除当前用户搜有的crontab任务
①设置任务调度文件:/etc/crontab ②设置个人任务调度,执行 crontab -e命令 ③输入任务到调度文件
如:*/1 * * * * ls -l /etc/ > /tmp/sss.txt
意思是每小时的每分钟执行 ls -l /etc/ > /tmp/sss.txt 命令
五个占位符的说明
第一个 * :每小时当中的第几分钟
第二个 * :一天当中的第几小时
第三个 * :一个月当中的第几天
第四个 * :一年当中的第几月
第五个 * :一周当中的周几
例如:
45 22 * * *:在22点45分执行命令
0 17 * * 1:没周怡的17点0分执行命令
40 4 * * 1-5:每周一到周五的凌晨4点40分执行
*/10 4 * * *:每天凌晨4点,每隔10分执行一次
0 0 1,15 * 1:每月的1号和15号,每周一的0点0分执行命令
1.12 进程管理
1.12.1 ps -aux
ps 命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数.
ps –aux|grep xxx
指令说明
USER:用户名称
PID:进程号
%CPU:进程占用 CPU 的百分比
%MEM:进程占用物理内存的百分比
VSZ:进程占用的虚拟内存大小(单位:KB)
RSS:进程占用的物理内存大小(单位:KB)
TTY:终端名称,缩写 .
STAT:进程状态,其中 S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
STARTED:进程的启动时间
TIME:CPU 时间,即进程使用 CPU 的总时间
COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
1.12.2 ps -ef
ps -ef 是以全格式显示当前所有的进程
-e 显示所有进程。
-f 全格式
ps -ef|grep xxxx
UID:用户 ID
PID:进程 ID
PPID:父进程 ID
C:CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
STIME:进程启动的时间
TTY:完整的终端名称
TIME:CPU 时间
CMD:启动进程所用的命令和参数
1.12.3 top
top 与 ps 命令很相似。它们都用来显示正在执行的进程。top 与 ps 最大的不同之处,在于 top 在执行一段时间可以更新正在运行的的进程
top [选项] -d 秒数 指定命令多久更新一次,默认3秒 -i 不显示闲置和僵死进程 -p 通过PID显示
交互操作说明:(在终端输入)
P 以cpu使用率排序(默认)
M 以内存使用率排序
N 以PID排序
q 退出top
样例 1.监视特定用户, 比如我们监控 brian 用户
输入top 回车,然后输入“u”回车,再输入用户名
样例 2:终止指定的进程, 比如我们要结束 tom 登录
输入top 回车,然后输入“k”回车,再输入要结束的进程 ID 号
样例3:指定系统状态更新的时间(每隔 10 秒自动更新), 默认是 3 秒
top -d 10
1.12.4 kill 和 killall
kill [选项] 进程号
killall 进程名称 (通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
-9 :表示强迫进程立即停止
1.12.5 pstree
pstree [选项] ,更加直观的来看进程信息 -p :显示进程的 PID -u :显示进程的所属用户
1.12.6 service
服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysqld , sshd防火墙等),因此我们又称为守护进程
service 服务名 [start | stop | restart | reload | status]
service 指令管理的服务在 /etc/init.d 查看
1.12.7 systemctl
设置服务的自启动状态
systemctl list-unit-files [ | grep 服务名] (查看服务开机启动状态, grep 可以进行过滤)
systemctl enable 服务名 (设置服务开机启动)
systemctl disable 服务名 (关闭服务开机启动)
systemctl is-enabled 服务名 (查询某个服务是否是自启动的)
1.12.8 netstat
netstat [选项] -an 按一定顺序排列输出 -p 显示哪个进程在调用
netstat -anp | grep xxxx
查看tcp和udp端口 netstat -tulpn
查看端口占用 lsof -i:8888
1.13 APT管理
apt 是 Advanced Packaging Tool 的简称,是一款安装包管理工具。在 Ubuntu 下,我们可以使用 apt 命令进行软件包的安装、删除、清理等,类似于 Windows 中的软件管理工具。
sudo apt-get update 更新源 sudo apt-get install package 安装包 sudo apt-get install package --reinstall 重新安装包 sudo apt-get -f install 修复安装 sudo apt-cache search package 搜索软件包 sudo apt-cache show package 获取包信息,如说明,大小,版本等 sudo apt-get remove package 删除包 sudo apt-get remove package --purge 删除包,包括配置文件等 sudo apt-get build-dep package 安装相关的编译环境 sudo apt-get upgrade 更新已安装的包 sudo apt-get dist-upgrade 升级系统 sudo apt-cache depends package 了解使用该包依赖那些包 sudo apt-cache rdepends package 查看该包被哪些包依赖 sudo apt-get source package 下载包源代码
下面这四个指令也会常用到
查看端口占用 lsof -i:8888
查看tcp和udp端口 netstat -tulpn
ssh上传文件 scp -r /home/<files> <remote-username>@<remote-ip>:<remote-folder>
deb安装指令 sudo dpkg -i XXXXX
查看整个系统磁盘使用情况 df -h
产看某个目录磁盘使用情况 du -sh *
2. ubuntu界面端常用快捷键汇总
2.1 终端快捷键
启动终端 Ctrl+Alt+T 新建标签页 Ctrl+Shift+T 关闭标签页 Ctrl+Shift+W 关闭终端窗口Ctrl+Shift+Q 切换到第N个标签页(N=0...9)Alt+N 放大窗口(包括窗口内的字体) Ctrl+Shift++ 缩写窗口(包括窗口内的字体) Ctrl+- 普通大小(阿拉伯数字 0) Ctrl+0 复制 Ctrl+Shift+C 粘贴 Ctrl+Shift+V 光标移动到行的开头 Ctrl+A 光标移动到行的结尾 Ctrl+E 光标移动到上一个单词的词首 Ctrl+Left 光标移动到下一个单词的词尾 Ctrl+Right 剪切从行的开头到光标前一个位置的所有字符 Ctrl+U 剪切从光标位置到行末的所有字符 Ctrl+K 粘贴ctrl+u或ctrl+k剪切的内容 Ctrl+Y 删除光标位置的前一个单词 Ctrl+W 恢复ctrl+h或ctrl+d或ctrl+w删除的内容 Ctrl+& 暂停屏幕输出 Ctrl+S 继续屏幕输出 Ctrl+Q 命令运行对话框 Alt+F2
2.2 窗口或应用快捷键
关闭所有普通窗口 Win+D 关闭当前窗口 Alt+F4 隐藏当前窗口 Win+H 切换窗口 Alt+Tab 切换应用 Win+Tab 直接切换窗口 Alt+Esc 显示全部打开的应用 Alt+F1 打开窗体菜单 Alt+Space 最大化窗口 Win+Up 还原窗口 Win+Down 切换窗体最大与普通大小 Alt+F10 当前窗口移动到屏幕左侧显示 Win+Left 将当前窗口移动到屏幕右侧显示 Win+Right
移动窗口 Alt+F7
2.3 屏幕放大器快捷键
启动或关闭放大器 Alt+Win+8 启动放大器后,放大 Alt+Win+= 启动放大器后,缩小 Alt+Win+-
2.4 其它快捷键
切换输入法 Win+Space 显示应用列表 Win+A 显示通知列表 Win+V 登出 Ctrl+Alt+Delete