linux里面的快捷键
终端操作快捷键 | 功能 |
---|---|
Tab | 自动补全 |
Ctrl+a | 光标移动到开始位置 |
Ctrl+e | 光标移动到最末尾 |
Ctrl+k | 删除此处至末尾的所有内容 |
Ctrl+u | 删除此处至开始的所有内容 |
Ctrl+d | 删除当前字符 |
Ctrl+h | 删除当前字符前一个字符 |
Ctrl+w | 删除此处到左边的单词 |
Ctrl+y | 粘贴由 Ctrl+u , Ctrl+d , Ctrl+w 删除的单词 |
Ctrl+l | 相当于clear,即清屏 |
Ctrl+r | 查找历史命令 |
Ctrl+b | 向回移动光标 |
Ctrl+f | 向前移动光标 |
Ctrl+t | 将光标位置的字符和前一个字符进行位置交换 |
Ctrl+& | 恢复 ctrl+h 或者 ctrl+d 或者 ctrl+w 删除的内容 |
Ctrl+S | 暂停屏幕输出 |
Ctrl+Q | 继续屏幕输出 |
Ctrl+Left-Arrow | 光标移动到上一个单词的词首 |
Ctrl+Right-Arrow | 光标移动到下一个单词的词尾 |
Ctrl+p | 向上显示缓存命令 |
Ctrl+n | 向下显示缓存命令 |
Ctrl+d | 关闭终端 |
Ctrl+xx | 在EOL和当前光标位置移动 |
Ctrl+x@ | 显示可能hostname补全 |
Ctrl+c | 终止进程/命令 |
Shift +上或下 | 终端上下滚动 |
Shift+PgUp/PgDn | 终端上下翻页滚动 |
Ctrl+Shift+n | 新终端 |
alt+F2 输入 | gnome-terminal打开终端 |
Shift+Ctrl+T | 打开新的标签页 |
Shift+Ctrl+W | 关闭标签页 |
Shift+Ctrl+C | 复制 |
Shift+Ctrl+V | 粘贴 |
Alt+数字 | 切换至对应的标签页 |
Shift+Ctrl+N | 打开新的终端窗口 |
Shift+Ctrl+Q | 管壁终端窗口 |
Shift+Ctrl+PgUp/PgDn | 左移右移标签页 |
Ctrl+PgUp/PgDn | 切换标签页 |
F1 | 打开帮助指南 |
F10 | 激活菜单栏 |
F11 | 全屏切换 |
Alt+F | 打开 “文件” 菜单(file) |
Alt+E | 打开 “编辑” 菜单(edit) |
Alt+V | 打开 “查看” 菜单(view) |
Alt+S | 打开 “搜索” 菜单(search) |
Alt+T | 打开 “终端” 菜单(terminal) |
Alt+H | 打开 “帮助” 菜单(help) |
文件权限
d --r w x — x-r -x
r:可读
w:可写
x :可执行(exe)
修改文件权限
u:user
g:group
o:other
a:all
第一种方式:
- chmod u+w b.txt(文件) 给当前用户添加写权限
- chmod g+w,o+w b.txt(文件) 给组,其他同时增加写的权限
- chmod o-rw b.txt 删除其他用户的读写权限
- chmod a=rw b.txt 所有用户添加 读写权限
第二种方式:
r —> 4
w ----> 2
x ----> 1
chmod 666 a.txt 赋予所有用户读写权限
chmod 644 a.txt 赋予user 读写权限,同组及其他用户只读权限
chmod 777 code(文件夹) 赋予文件夹所有可读可写可执行权限
递归添加权限:
chmod -R g+w code(文件夹)
用户
- 新建用户
-
usersdd【option】 用户名
-
修改用户密码
sudo passwd 用户名 -
删除用户
sudo userdel -r . 用户名 -
切换用户
su 用户名
输入密码
-
切换为root超级管理员模式
sudo su -
切换到root用户,并切换到root的家
sudo su root
切换root用户,目录不切换 -
组的操作
groupadd 组名
groupdel 组名
groupmod -n 新组名 旧组名
groups 显示所有组
who
whoima
修改文件归属
vi与vim
vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。他是我们使用Linux系统不能缺少的工具。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,学会它后,您将在Linux的世界里畅行无阻。
vim 具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计;
因为程序简单,编辑速度相当快速。
vim可以当作vi的升级版本,他可以用多种颜色的方式来显示一些特殊的信息。
vim会依据文件扩展名或者是文件内的开头信息, 判断该文件的内容而自动的执行该程序的语法判断式,再以颜色来显示程序代码与一般信息。
vim里面加入了很多额外的功能,例如支持正则表达式的搜索、多文件编辑、块复制等等。 这对于我们在Linux上进行一些配置文件的修改工作时是很棒的功能。
为何要学 vi
所有的Unix Like系统都会内建vi文本编辑器,其他的文本编辑器则不一定会存在;
一些软件的编辑接口会主动调用vi (例如 crontab, visudo, edquota 等命令);
vi的使用
基本上vi可以分为三种状态,
分别是一般模式、编辑模式和命令行模式,各模式的功能区分如下:
一般模式:
以vi打开一个文件就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用上下左右按键来移动光标,你可以使用删除字符或删除整行来处理文件内容, 也可以使用复制、粘贴来处理你的文件数据。(回退)
编辑模式:
在一般模式中可以进行删除、复制、粘贴等的操作,但是却无法编辑文件的内容,只有当到你按下【i, I, o, O, a, A, r, R】等任何一个字母之后才会进入编辑模式。这时候屏幕的左下方会出现【INSERT或 REPLACE】的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下【Esc】即可退出编辑模式。
命令行模式:
输入【 : / ? 】三个中的任何一个,就可以将光标移动到最底下那一行。在这个模式中, 可以提供查找、读取、存盘、替换字符、离开vi、显示行号等的动作则是在此模式中完成的!
平时用的最多的vi命令:
移动光标的方法:
[Ctrl]+[f]:屏幕向下移动一页,相当于[PageDown]按键。forward
[Ctrl]+[b]:屏幕向上移动一页,相当于[PageUp]按键。back
0或功能键[Home]:移动到这一行的最前面字符处。
$或功能键[End]:移动到这一行的最后面字符处。
G:移动到这个文件的最后一行。
gg:移动到这个文件的第一行,相当于1G.
N[Enter]:N为数字,光标向下移动N行
删除、复制和粘贴:
x,X:在一行字中,x为向后删除一个字符(相当于[Del]键),X为向前删除一个字符(相当于[Backspace])。
dd:删除光标所在的一整行。
ndd:删除光标所在的向下n行。
yy:复制光标所在的一行。
nyy:复制光标所在的向下n行。
p,P:p为将已复制的内容在光标的下一行粘贴,P则为粘贴在光标的上一行。
u:复原前一个操作。
[Ctrl]+r:重做上一个操作。
.:小数点,重复前一个操作。
查找和替换:
/word:向下寻找一个名称为word的字符串。
?word:向上寻找一个名称为word的字符串。
:n1,n2s/word1/word2/g:在第n1行和n2行之间寻找word1这个字符串,并且将其替换为word2.
:1,$s/word1/word2/g:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.
:1,$s/word1/word2/gc:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.且
在替换前显示提示字符给用户确认是否需要替换。
一般模式切换到编辑模式:
i,I:进入插入模式,i为从目前光标所在处插入。I为在目前所在行的第一个非空格字符处开始插入。
a,A:进入插入模式。a为从目前光标所在处的下一个字符处开始插入。A为从所在行的最后一个字符处开始插入。
o,O:进入插入模式。o为在下一行插入。O为在上一行插入。
r,R:进入替换模式。r只替换光标所在那个字符一次。R会一直替换光标所在字符,直到按下Esc键。
一般模式切换到命令行:
:w:将编辑的数据写入到硬盘中。
:q:离开vi.后面加!为强制离开。
:wq:保存后离开。
:wq! 为强制保存后离开。
:set nu 设置显示行号
:set nonu 取消行号
:w 新文件名 另存为新文件名
:n1,n2 w 新文件名 将第n1行到n2行的内容另存为新文件名
:r 文件名A 将文件A中的内容读入到当前文件中
目前主要的编辑器都有恢复功能,vim也不例外。vim是通过“保存”文件来挽回数据的。
网络
-
ifconfig:
windows: ipconfig
linux : ifconfig -
ping 查看网络连通性
ping ip
ping 域名
ping -c n ip | 域名 -
netstat
netstat -an
-n 显示端口
-p 显示进程
-t tcp
-u udp
-a 显示所有netstat -nt
进程:
-
ps
参数:
-a -e 显示所有进程
-u 显示指定用户的进程的详细信息
-x :通常与 a 这个参数一起使用,可列出较完整信息。
-r:正在运行的进程ps -u running | grep ssh ps -ax | grep ssh ps -aux | grep ssh
-
kill 杀死进程
sudo service ssh stop
kill [参数] 进程号
kill -9 36746EXIT 程序退出时收到该信息。
1 HUP 挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。
2 INT 表示结束进程,但并不是强制性的,常用的 “Ctrl+C” 组合键发出就是一个 kill -2 的信号。
3 QUIT 退出。
9 KILL 杀死进程,即强制结束进程。
11 SEGV 段错误。
15 TERM 正常结束进程,是kill 命令的默认信号。 -
top: 性能分析工具,通过此工具可以查看资源使用情况。
4.free: 系统的内存的状态
软件包:
- 压缩和解压:
tar
1 | 2 |
---|---|
-c | 打包 |
-x | 解包 |
-v | 可视化 |
-f | 指定文件名 |
-t | 查看包里的东西 |
-z | 用gzip对包进行压缩 |
-j | 用把bzip2对包进行压缩 |
tar -cvf 名字 文件|文件夹 打包文件
tar - xvf 包名 解包文件
tar -zcvf 名字 文件|文件夹 打包并压缩文件
tar -zxvf 包名 默认解压到当前目录
tar -zxvf 包名 -C 指定目录 解压到制定目录
扩展名
tar
tar.gz
tar.bz
-
gzip:
-
这里讲gzip只能压缩单个文件,并不是一次只能压缩一个文件,而是压缩的单位是单个文件,即并不能将多个文件压缩成为一个文件
-
gzip -r 文件夹
-
gzip *.txt
-
gzip a.txt --→ 删除源文件 存放的是源文件压缩后文件
xxx.tar -
gzip xx.tar --→ xxx.tar.gz
-
gunzip xxx.gz —→ xxx
bz2
bzip2
bzip2 xxx.txt —>–→ 删除源文件 存放的是源文件压缩后文件
xxx.txt.bz2
解压bz2文件:
bunzip2 xxx.txt.bz2
bzip2 -d xxx.txt.bz2
zip:
zip 压缩
zip -r 压缩包名字 文件1 文件2 文件夹 打压缩包
zip -rm 压缩包名字 文件1 文件2 文件夹 删除源文件并打压缩包
unzip 解压
unzip -l mytest.zip 查看压缩包中内容
unzip -d 指定的目录名 mytest.zip
打包压缩:
-
tar:
- tar -zcvf …
- tar -jcvf … zip:
- zip -r 包名 文件|文件夹 压缩:
- gzip bzip2
系统问题:
redhat: centos
rpm 软件包管理debian : ubuntu
dpkg 软件包管理:
apt简介:
虽然我们在使用dpkg时,已经解决掉了 软件安装过程中的大量问题,但是当依赖关系不满足时,仍然需要手动解决,而apt这个工具解决了这样的问题,linux distribution 先将软件放置到对应的服务器中,然后分析软件的依赖关系,并且记录下来,然后当客户端有安装软件需求时,通过清单列表与本地的dpkg以存在的软件数据相比较,就能从网络端获取所有需要的具有依赖属性的软件了。
工作原理:
Ubuntu采用集中式的软件仓库机制,将各式各样的软件包分门别类地存放在软件仓库中,进行有效地组织和管理。然后,将软件仓库置于许许多多的镜像服务器中,并保持基本一致。这样,所有的Ubuntu用户随时都能获得最新版本的安装软件包。因此,对于用户,这些镜像服务器就是他们的软件源(Reposity)
然而,由于每位用户所处的网络环境不同,不可能随意地访问各镜像站点。为了能够有选择地访问,在Ubuntu系统中,使用软件源配置文件/etc/apt/sources.list列出最合适访问的镜像站点地址。
dpkg是"Debian Package"的简写。
命令 | 功能 |
---|---|
dpkg -l 包名 | 查看软件包 |
dpkg -l | grep zip | 通过管道符,查询某些包 |
dpkg -i 包文件名(.deb) | 安装软件包 |
dpkg -i sogoupinyin_2.2.0.0108_amd64.deb | 安装软件包 |
dpkg -r 包名 | 卸载软件包但保留配置信息 |
dpkg -P 包名 | 卸载软件包联通配置信息一并卸载 |
apt 与 apt-get
apt-cache search 搜索应用程序
apt-cache show 现实应用程序安装细节
apt = apt-get + apt-cache
apt search
apt show
apt install ~ apt-get install
apt remove ~ apt-get remove
apt list 查看所有