Ubuntu常用指令和快捷键汇总

2021-09-13 11:37:51 浏览数 (1)

 我个人推荐smart work, 在我的team从来不鼓励加班,所以如何做高效工作呢,那就是高效利用我们的开发工具,只有熟练的使用武器才能给你减少时间上的浪费,从而带来一些时间增益。下面我这边将汇总一些常用工具快捷键,可以提高我们工作效率;

1. VIM编辑器指令汇总

2. Ubuntu常用指令和快捷键汇总

3. Docker常用指令汇总  

4. IDEA常用快捷键汇总

5. VsCode常用快捷键汇总

6. Win10常用快捷键汇总

7. Chrome常用快捷键汇总

建议所有的快捷键每个季度花一个小时复习一遍,直到完全被你的手指记住~

ubuntu本身也是基于linux的内核开发,所以command指令也是从linux继承过来的,所以这篇随笔将分为两部分,一是ubuntu的指令 二是ubuntu界面端常用快捷键

1. ubuntu指令汇总

 1.1 linux的目录结构

1.2 linux vim 指令

可以参考我的这篇博客: VIM编辑器指令汇总

1.3 linux 用户管理

1.3.1 用户常用指令
代码语言:javascript复制
创建用户默认在 /home目录下
useradd  username

创建用户并指定目录
useradd -d  /xxxx username

指定和修改密码
passwd  username

删除用户
userdel username

删除用户及目录
userdel -r username

查询用户信息
id username

查看当前用户
whoami

切换用户
su - username
1.3.2 用户组常用指令
代码语言:javascript复制
添加用户组
groupadd xxxxx

修改用户组
usermod -g usergroup username  

删除用户组
groupdel xxxxx
1.3.3 查看和用户相关文件
代码语言:javascript复制
cat /etc/passwd 
user的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

cat /etc/shadow 
口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

cat /etc/group 
group的配置文件,记录Linux包含的组的信息
每行含义:组名:口令:组标识号:组内用户列表

1.4  linux 帮助指令

代码语言:javascript复制
man man 

help

1.5 linux 文件目录指令

1.5.1 创建文件和目录
代码语言:javascript复制
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
代码语言:javascript复制
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 查看文件
代码语言:javascript复制
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 > 和 >>
代码语言:javascript复制
>   - 输出重定向 
>>  - 追加
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
代码语言:javascript复制
ln  - 软链接,类似于 windows 里的快捷方式
1. ln -s [原文件或目录] [软链接名] 
2. 删除软连接用rm
1.5.6 histery
代码语言:javascript复制
history - 查看执行过历史命令
1. history - 显示所有的历史命令
2. history 10 - 显示最近使用过的10个指令
3. !555 - 执行历史编号为555的指令

 1.6 时间日期指令

代码语言:javascript复制
date -  显示日期

cal - 显示日期

1.7 搜索指令

代码语言:javascript复制
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 
代码语言:javascript复制
1. gzip 将文件压缩为*.gz 文件
    gzip /home/aaa.txt
2. gunzip 文件.gz 解压缩文件命令
    gunzip /home/aaa.txt.gz
1.8.2 zip 和 unzip 
代码语言:javascript复制
1.zip 用于压缩文件 
    -r:递归压缩,即压缩目录
    zip -r aaa.zip /home/aaa/
2.unzip 用于解压缩
    -d<目录> :指定解压后文件的存放目录
    unzip -d /opt/tmp /home/aaa.zip
1.8.3 tar
代码语言:javascript复制
打包后缀为.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
代码语言:javascript复制
chown - 修改文件所有者
chown 用户名 文件/目录
chown 用户名:组名 文件/目录
-R 如果是目录 则使其下所有子文件或目录递归生效

1.请将/home/test目录下所有的文件和目录的所有者都修改成cal
  chown -R cal /home/test
1.9.2 chgrp
代码语言:javascript复制
  chgrp -  修改文件/目录所在的组
  chgrp 组名 文件名

  1.请将 /home/test 目录下所有的文件和目录的所在组都修改成 casl
    chgrp -R casl /home/test
1.9.3 usermod 
代码语言:javascript复制
  usermod - 改变用户所在组
  usermod –g 新组名 用户名

  改变该用户登陆的初始目录。特别说明:用户需要有进入到新目录的权限。
  usermod –d 目录名 用户名
1.9.4 chmod
代码语言:javascript复制
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任务调度

代码语言:javascript复制
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 命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数.

代码语言:javascript复制
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 全格式

代码语言:javascript复制
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 在执行一段时间可以更新正在运行的的进程

代码语言:javascript复制
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
代码语言:javascript复制
kill    [选项] 进程号
killall 进程名称 (通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
-9 :表示强迫进程立即停止
1.12.5 pstree
代码语言:javascript复制
pstree [选项] ,更加直观的来看进程信息
-p :显示进程的 PID
-u :显示进程的所属用户
1.12.6 service

服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysqld , sshd防火墙等),因此我们又称为守护进程

代码语言:javascript复制
service 服务名 [start | stop | restart | reload | status]
service 指令管理的服务在 /etc/init.d 查看
1.12.7  systemctl

设置服务的自启动状态

代码语言:javascript复制
systemctl list-unit-files [ | grep 服务名] (查看服务开机启动状态, grep 可以进行过滤)
systemctl enable 服务名 (设置服务开机启动)
systemctl disable 服务名 (关闭服务开机启动)
systemctl is-enabled 服务名 (查询某个服务是否是自启动的)
1.12.8 netstat 
代码语言:javascript复制
netstat [选项]
-an 按一定顺序排列输出
-p   显示哪个进程在调用

netstat -anp | grep xxxx

查看tcp和udp端口 netstat -tulpn
查看端口占用 lsof -i:8888

1.13 APT管理

apt 是 Advanced Packaging Tool 的简称,是一款安装包管理工具。在 Ubuntu 下,我们可以使用 apt 命令进行软件包的安装、删除、清理等,类似于 Windows 中的软件管理工具。

代码语言:javascript复制
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 终端快捷键

代码语言:javascript复制
启动终端   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 窗口或应用快捷键

代码语言:javascript复制
关闭所有普通窗口   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 屏幕放大器快捷键

代码语言:javascript复制
启动或关闭放大器   Alt Win 8
启动放大器后,放大 Alt Win =
启动放大器后,缩小 Alt Win -

2.4 其它快捷键

代码语言:javascript复制
切换输入法    Win Space
显示应用列表  Win A
显示通知列表  Win V
登出        Ctrl Alt Delete 

0 人点赞