1 Ubuntu快捷键

打开活动搜索界面:Super


打开终端窗口:Ctrl+Alt+T


锁屏:Super+L 或 Ctrl+Alt+t


显示桌面:Super+D 或 Ctrl+Alt+D


显示应用程序菜单:Super+A


在运行中的应用程序间切换:Super+Tab 或 Alt+Tab


移动窗口位置:Super+箭头


切换到通知栏:Super+M


切换输入法:Super+空格


运行控制台:Alt+F2


关闭应用程序窗口:Ctrl+Q



切换工作区:Ctrl+Alt+箭头


注销:Ctrl+Alt+Delete


自定义键盘快捷键:设置->键盘快捷键



2 Linux基本命令

1)目录切换命令:cd

  • cd usr:            切换到该目录下 usr 目录
  • cd .. (或cd../): 切换到上一层目录
  • cd /:                切换到系统根目录
  • cd ~:               切换到用户主目录
  • cd -:                切换到上一个操作所在目录 

2)目录的操作命令(增删改查):mkdir、ls、find、mv、cp、rm

  • mkdir 目录名称:增加目录。
  • ls -l (ll):              查看目录信息。
  • find 目录 参数:  查找目录。 (示例:① 列出当前目录及子目录下所有文件和文件夹:find .;② 在/home目录下查找以.txt 结尾的文件名:find /home -name "*.txt" ,忽略大小写:find /home -iname "*.txt" ;③ 当前目录及子目录下查找所有以.txt 和.pdf 结尾的文件:find . \( -name "*.txt" -o -name "*.pdf" \) 或 find . -name "*.txt" -o -name "*.pdf")
  • mv 目录名称 新目录名称:                  修改目录的名称。(mv 命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中)
  • mv 目录名称 目录的新位置:              移动目录的位置,即剪切。(注:mv 与 cp 的结果不同,mv 好像文件“搬家”,文件个数并未增加。而 cp 对文件进行复制,文件个数增加了)
  • cp -r 目录名称 目录拷贝的目标位置: 拷贝目录,-r 代表递归拷贝 。 (cp 命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r 递归)
  • rm -rf 目录:       删除目录。 (rm 不仅可以删除目录,也可以删除其他文件或压缩包)

3)文件的操作命令(增删改查):touch、cat / more / less / tail、vim、rm

  • touch 文件名称:文件的创建。
  • cat / more / less / tail 文件名称:文件的查看。 (命令 tail -f 文件 可以对某个文件进**态监控)
  • head [参数] [文件]:以行为单位,取文件的内容,后面不接参数时默认打印前10行。
  • tail [参数] 文件:用于查看文件尾部内容,例如默认会在终端界面上显示出指定文件的末尾十行。
  • vim 文件:           修改文件的内容。 (vim 编辑器是 Linux 中的强大组件,是 vi 编辑器的加强版。在实际开发中,使用 vim 编辑器主要作用就是修改配置文件,下面是一般步骤: vim 文件--->进入文件--->命令模式--->按i进入编辑模式-->编辑文件 --->按Esc进入底行模式--->输入:wq/q!。输入 wq 代表写入内容并退出,即保存;输入 q!代表强制退出不保存)
  • rm 文件:             删除文件。

4)压缩文件的操作命令:tar

1)tar -zcvf 打包压缩后的文件名 要打包压缩的文件:打包并压缩文件。 (Linux 中的打包文件一般是以.tar 结尾的,压缩的命令一般是以.gz 结尾的。而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz)
  • z:调用 gzip 压缩命令进行压缩
  • c:打包文件
  • v:显示运行过程
  • f:指定文件名
比如:假如 test 目录下有三个文件分别是:aaa.txt bbb.txt ccc.txt,如果我们要打包 test 目录并指定压缩后的压缩包名称为 test.tar.gz 可以使用命令:tar -zcvf test.tar.gz aaa.txt bbb.txt ccc.txt 或 tar -zcvf test.tar.gz /test/
2)tar [-xvf] 压缩文件:解压压缩包。
  • x:代表解压
  • C:代表指定解压的位置
示例:将 /test 下的 test.tar.gz 解压到当前目录下可以使用命令:tar -xvf test.tar.gz;将 /test 下的 test.tar.gz 解压到根目录/usr 下:tar -xvf test.tar.gz -C /usr

Linux 的权限命令


文件的类型:
  • d: 代表目录
  • -: 代表文件
  • l: 代表软链接(可以认为是 window 中的快捷方式)
文件的权限:
  • r: 代表权限是可读,r 也可以用数字 4 表示
  • w:代表权限是可写,w 也可以用数字 2 表示
  • x:代表权限是可执行,x 也可以用数字 1 表示
文件和目录权限的区别:
对于文件:
权限名称 可执行操作
r 可以使用 cat 查看文件的内容
w 可以修改文件的内容
x 可以将其运行为二进制文件
对于目录:
权限名称 可执行操作
r 可以查看目录下列表
w 可以创建和删除目录下文件
x 可以使用 cd 进入目录
: 超级用户可以无视普通用户的权限,即使文件目录权限是 000,依旧可以访问。

所有者(u) :一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者,用 ls ‐ahl 命令可以看到文件的所有者 。
所在组(g) :当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组,用 ls ‐ahl 命令可以看到文件的所有组。
其它组(o) :除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。
3)chown 用户名 文件名:修改文件的所有者 。
4)chgrp 组名 文件名:     修改文件所在的组。

5) chomd:修改文件或目录的权限
示例:chmod u=rwx,g=rw,o=r a.txt 或者 chmod 764 a.txt。修改/test 下的 a.txt 的权限为文件所有者有全部权限,文件所有者所在的组有读写权限,其他用户只有读的权限。

假如装了一个 zookeeper,每次开机到要求其自动启动该怎么办?
  1. 新建一个脚本 zookeeper
  2. 为新建的脚本 zookeeper 添加可执行权限,命令是:chmod +x zookeeper
  3. 把 zookeeper 这个脚本添加到开机启动项里面,命令是:chkconfig --add zookeeper
  4. 如果想看看是否添加成功,命令是:chkconfig --list

 5)Linux 用户管理相关命令

  • useradd 选项 用户名:  添加用户账号。
  • userdel 选项 用户名:   删除用户帐号。
  • usermod 选项 用户名:修改帐号。
  • passwd 用户名:          更改或创建用户的密码。
  • passwd -S 用户名:     显示用户账号密码信息。
  • passwd -d 用户名:     清除用户密码。

Linux 系统用户组管理相关命令

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。(不同Linux系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建)
  • groupadd 选项 用户组:  增加一个新的用户组。
  • groupdel 用户组:           要删除一个已有的用户组。
  • groupmod 选项 用户组:修改用户组的属性。

其他常用命令

  • pwd:                    显示当前所在位置。
  • sudo + 其他命令:以****者的身份执行指令。
  • grep 要搜索的字符串 要搜索的文件 --color: 搜索命令。(--color 代表高亮显示)
  • ps -ef / ps -aux: 这两个命令都是查看当前系统正在运行进程,两者的区别是展示格式不同。 (查看特定的进程:ps aux|grep redis (查看包括 redis 字符串的进程),也可使用 pgrep redis -a)
  • pstree [参数]:将所有行程以树状图显示。
  • kill -9 进程的pid:**进程。(-9 表示强制终止)
  • ln [参数] [源文件或目录] [目标文件或目录]:为某一个文件在另外一个位置建立一个同步的链接。 (一种是hard link (硬链接);一种是symbolic link (符号链接) )
  • ip [参数]:显示或操纵Linux主机的路由、网络设备、策略路由和隧道,是Linux下较新的功能强大的网络配置工具。
网络通信命令:
  • ifconfig:      查看当前系统的网卡信息。
  • ping:           查看与某台机器的连接情况。
  • netstat -an:查看当前系统的端口使用。
  • ss [参数]:用来显示处于活动状态的套接字信息。
  • nmap [参数]:网络探测和安全审核的工具。
  • route [参数]:显示并设置路由。  (route -n 命令查看当前系统的路由表)
  • arp [参数] [IP]:用于操作主机的arp缓存。  (arp -a 命令来查看 ARP 缓存的内容)


shutdown:关机。(shutdown -h now: 指定现在立即关机;shutdown +5:指定 5 分钟后关机,同时送出警告信息给登入用户)
reboot:重启。(reboot: 重启;reboot -w: 做个重启的模拟(只有纪录并不会真的重启))
echo [参数] [字符串]:输出字符串或提取Shell变量的值。(输出一段字符串:echo "LinuxCool.com";输出变量提取后的值:$PATH)
printf [格式控制字符串] [参数]shell输出,模仿 C 程序库(library)里的 printf() 程序。(默认printf不会像 echo 自动添加换行符,我们可以手动添加 \n)
seq [参数]:用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且可以对整数的格式、宽度、分割符号进行控制。
read [参数]用于从标准输入读取数值。被用来从标准输入读取单行数据。
wc [参数] [文件]:统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
grep [参数]:全面搜索正则表达式,并将其打印出来。而其命令的模式十分灵活,可以是变量、字符串、正则表达式。(注:一当模式中包含了空格,务必要用双引号将其引起来)
cut [参数] [文件]:显示文件内容,连接多个或多个文件。
tr [参数] [字符串1] [字符串2]:将字符进行替换、压缩、删除,可以将一组字符转换成另一组字符。(注:只能从标准输入中读取数据,因此,tr要么将输入文件重定向到标准输入,要么从管道读入数据。)
tee [参数] [文件]:从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件 。
history:显示用户以前执行过的历史命令。

set [参数]:设置所使用shell的执行方式,可依照不同的需求来做设置。
env [参数]:用于显示系统中已存在的环境变量,以及在定义的环境中执行指令。
declare [参数] [目录]:用于定义shell变量。(注:eclare定义的变量仅能在当前shell环境中起作用,切换shell环境后将无效)
export [参数]:用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。
unset[参数]用于删除已定义的shell变量(包括环境变量)和shell函数。(注:unset命令不能够删除具有只读属性的shell变量和环境变量)
readonly [参数]:用于定义 一到多个变量(或函数) 并设置只读属性,为已定义的 一到多个变量(或函数) 设置只读属性,显示全部包含只读属性的变量(或函数)。
true [文件]定向清空文件内容而不删除文件。

who [参数] [选项]:打印当前登录用户信息
useradd [参数] [用户名]:用来建立用户帐号。
passwd [参数]:用于设置用户的认证信息,包括用户密码、账户锁定、密码失效等。
id [参数] [用户名]:可以显示真实有效的用户ID(UID)和组ID(GID)。
basename [参数]:主要用于显示文件路径名剔除目录部分后的显示文件名。
dirname [参数]:去除文件名中的非目录部分,仅显示与目录有关的内容。


mail [参数]命令行的电子邮件发送和接收的工具。(mail命令是个软链接,真实的程序文件是mailx)
curl [参数] [网址]:利用URL规则在shell终端命令行下工作的文件传输工具,支持文件的上传和下载。

source + 文件:通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。(bash shell的内置命令。(.)点命令)
service [参数]:启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。(查看docker服务的状态:service docker status)
fdisk [参数]:磁盘的分区工具。
df [参数] [对象磁盘/分区]:用于显示系统上磁盘空间的使用量情况。
du [参数] [文件]:对文件和目录磁盘使用的空间的查看。
parted [参数] [设备]:磁盘分区和分区大小调整工具。
free [参数]:显示系统中物理上的空闲和已用内存,还有交换内存,也能显示被内核使用的缓冲和缓存。
vmstat [参数]:报告关于进程、内存、I/O等系统整体运行状态。
crontab [参数]:用来提交和管理 用户需要周期性执行的任务。
localectl [参数]:可用于查询与修改系统的本地化(locale)与键盘布局的设置。
shopt [参数]:设置哪些控制着Shell行为特性的变量的开关值,以达到控制Shell行为的目的。
uptime [参数]:查看系统负载情况。
uname [参数]:用于显示系统相关信息,比如主机名、内核版本号、硬件架构等。

let [参数]:执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量。(注:如果表达式中包含了空格或其他特殊字符,则必须引起来
bc [选项]:支持任意精度的交互执行的计算器。(注:bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算)
eval [参数]:用于重新运算求出参数的内容。eval可读取一连串的参数,然后再依参数本身的特性来执行。


rpm [参数] [软件包]:用于管理Linux 下软件包的软件。(在 Linux 操作系统下,几乎所有的软件均可以通过RPM 进行安装、卸载及管理等操作)
yum [参数]:提供了查找、安装、删除某一个、一组甚至全部软件包的命令。

exec [参数]:用于调用并执行指定的命令。exec命令通常用在shell脚本程序中,可以调用其他的命令。(如果在当前终端中使用命令,则当指定的命令执行完毕后会立即退出终端)
kill [参数] [进程号]:可将指定的信号发送给相应的进程或工作。
wait [参数]:用来等待指令的指令,直到其执行完毕后返回终端。该指令常用于shell脚本编程中,待指定的指令执行完成后,才会继续执行后面的任务。
mkfifo [参数] [名称]:使用指定的名称创建先进先出文件(FIFO)