简介
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux的特点
基本思想
Linux的基本思想有两点:
第一:一切都是文件
第二:每个软件都有确定的用途
其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近
完全免费
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
优点
1)Linux由众多微内核组成,其源代码完全开源;
2)Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4、 TCP/IPv6和链路层拓扑程序等,且可以利用Unix的网络特性开发出新的协议栈;
3)Linux系统工具链完整,简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性;
系统与设置命令
Linux 用户和用户组管理
Linux账号管理
1. 添加用户
useradd 选项 用户名
参数说明:
-
选项:
- -c comment 指定一段注释性描述。
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -s Shell文件 指定用户的登录Shell。
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
-
用户名:
指定新账号的用户名(后续我们可以使用这个用户名进行系统登录)。
2. 用户口令
passwd 选项 用户名
参数说明:
-
选项:
- -l 锁定口令,即禁用账号。
- -u 口令解锁。
- -d 使账号无口令。
- -f 强迫用户下次登录时修改口令。
3. 修改用户
usermod 选项 新用户名 旧用户名
4. 删除用户
userdel 选项 用户名
参数说明:
-
选项:
-
-f:强制删除用户,即使用户当前已登录;
-
-r:删除用户的同时,删除与用户相关的所有文件
-
Linux用户组
1. 增加用户组
groupadd 选项 用户名
参数说明:
-
选项:
- -g GID 指定新用户组的组标识号(GID)。
- -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同
2. 修改用户组
groupmod 选项 用户组
参数说明:
-
选项:
- -g GID 为用户组指定新的组标识号
- -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
- -n新用户组 将用户组的名字改为新名字
3. 查询用户所属组
在查询用户所属的用户组前,我们先增加一个用户
useradd 用户名
groupadd 用户组
要查询一个用户属于哪个用户组,使用groups命令
groups 用户名
4. 删除用户组
groupdel 用户组
将用户添加到组
- 已经存在的用户添加到组中 usermod -a -G 组名 用户名
- 新用户添加到指定组 useradd -g 组名 新用户名
系统管理
日期管理
date [参数选项]
参数
- -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
- -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
- -u:显示GMT;
- –help:在线帮助;
- –version:显示版本信息
- 设置时间
用 -s选项可以设置系统时间 - 查看时间
date
显示用户
logname命令用于显示用户名称
参数:
- –help 在线帮助。
- –vesion 显示版本信息。
su切换用户
su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
从root管理员权限切换到其他用户,直接 su 用户名
再切换到root exit
sudo执行
yum install lrzsz -y
上传,直接拖拽
下载 sz 文件名
sudo:控制用户对系统命令的使用权限,root允许的操作。
语法如下:
sudo -V
sudo -h
sudo -l
sudo -v
sudo -k
sudo -s
sudo -H
sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s
sudo command
参数说明:
- -V 显示版本编号
- -h 会显示版本编号及指令的使用方式说明
- -l 显示出自己(执行 sudo 的使用者)的权限
- -v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
- -k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
- -b 将要执行的指令放在背景执行
- -p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
- -u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
- -s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
- -H 将环境变数中的 HOME 指定为要变更身份的使用者HOME目录(如不加 -u 参数就是系统管理者 root )
- command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令
top命令
top命令用于实时显示 process 的动态
各进程(任务)的状态监控属性解释说明:
PID:进程ID
USER:进程的所有者
PR:进程的优先级
NI:
VIRT:占用的虚拟内存
RES:占用的物理内存
SHR:使用的共享内存
S:进行状态 S:休眠 R运行 Z僵尸进程 N nice值为负
%CPU:占用的CPU
%MEM:占用内存
TIME+: 占用CPU的时间的累加值
COMMAND:启动命令
ps命令
ps命令用于显示当前进程 (process) 的状态信息
ps -ef | grep 进程名称
kill命令
kill命令用于删除执行中的程序或工作(可强制中断)
语法如下:
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
参数说明:
- -l <信息编号> 若不加<信息编号>选项,则-l参数会列出全部的信息名称。
- -s <信息名称或编号> 指定要送出的信息。
- [程序] [程序]可以是程序的PID或是PGID,也可以是工作编号。
杀死一个进程
kill -9 进程号
clear命令
clear命令用于清除屏幕
Linux目录管理
Linux 文件与目录管理
目录常用命令
-
ls: 列出目录
-
cd: 切换目录
-
pwd: 显示目前的目录
-
mkdir:创建一个新的目录
-
rmdir:删除一个空的目录
-
cp: 复制文件或目录
-
rm: 移除文件或目录
-
mv: 移动文件与目录或修改文件与目录的名称
自动补全 -
在敲出 文件/ 目录 / 命令 的前几个字母之后, 按下
tab
键 -
如果还存在其他 文件 / 目录 / 命令, 再按一下tab键, 系统会提示可能存在的命令
1. ls(列出目录)
语法如下:
ls [选项] 目录名称
选项与参数:
- -a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
- -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
- -l :长数据串列出,包含文件的属性与权限等等数据;(常用)
ls -l 可以查看文件夹下文件的详细信息, 从左到右 依次是:
- 权限(A区域), 第一个字符如果是
d
表示目录 - 硬链接数(B区域), 通俗的讲就是有多少种方式, 可以访问当前目录和文件
- 属主(C区域), 文件是所有者、或是叫做属主
- 属组(D区域), 文件属于哪个组
- 大小(E区域):文件大小
- 时间(F区域):最后一次访问时间
- 名称(G区域):文件的名称
2. pwd(显示当前目录)
查看当前所在目录:pwd
3. cd(切换目录)
cd [相对路径或绝对路径]
4. mkdir(创建目录)
mkdir [-p] 目录名
参数说明:
- -p 确保目录名称存在,不存在的就建一个
5. rmdir(删除空目录)
rmdir [-p] 目录名
参数:
- -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
6. cp(文件复制)
cp [options] source dest
或
cp [options] source… directory
参数说明:
- -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
- -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
- -f:覆盖已经存在的目标文件而不给出提示。
- -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
- -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
- -r/R:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
- -l:不复制文件,只是生成链接文件。
7. rm(删除目录)
rm [options] name…
参数:
- -i 删除前逐一询问确认。
- -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
- -r 将目录及以下之档案亦逐一删除。
8. mv(移动文件)
mv [options] source dest
mv [options] source… directory
参数说明:
- -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
- -f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;
9. touch(创建文件)
touch 文件名
Linux文件基础属性
在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组
- 当为[ d ]则是目录
- 当为[ - ]则是文件;
- 若是[ l ]则表示为链接文档(link file);
- 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
- 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。
[ r ]代表可读(read)
[ w ]代表可写(write)
[ x ]代表可执行(execute)
要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
Linux文件属主和属组
chown更改属主和属组
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
chmod权限命令
1. 数字权限
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
权限 | 英文 | 缩写 | 数字序号 |
---|---|---|---|
读 | read | r | 4 |
写 | write | w | 2 |
执行 | execute | x | 1 |
无权限 | - | 0 |
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx—] 分数则是:
- owner = rwx = 4+2+1 = 7
- group = rwx = 4+2+1 = 7
- others= — = 0+0+0 = 0
chmod [-R] xyz 文件或目录
选项与参数:
- xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
- -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
2. 符号权限
- (1)user 属主权限
- (2)group 属组权限
- (3)others 其他权限
可以使用 u, g, o 来代表三种身份的权限, a 则代表 all,即全部的身份。
例如:
如果我们需要将文件权限设置为 -rwxr-xr– ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定。
= 换成 - 可去掉权限,格式相同
Linux文件管理
touch命令
touch命令用于创建文件、修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
ls -l 可以显示档案的时间记录
语法
touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][–help][–version][文件或目录…]
参数说明:
- a 改变档案的读取时间记录。
- m 改变档案的修改时间记录。
- c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
- f 不使用,是为了与其他 unix 系统的相容性而保留。
- r 使用参考档的时间记录,与 --file 的效果一样。
- d 设定时间与日期,可以使用各种不同的格式。
- t 设定档案的时间记录,格式与 date 指令相同。
- –no-create 不会建立新档案。
- –help 列出指令格式。
- –version 列出版本讯息。
创建空文件:touch 文件名(a.txt)
创建批量空文件:touch a-{1…10}.txt
stat命令
stat命令进行查看文件详情:stat 文件名
stat以文字的格式来显示inode的内容。
文件上传和下载
- 先安装 yum -y install lrzsz
- 要上传的文件直接拖入即可
- 下载文件 sz 文件类名
vi/vim命令
一、vi介绍
vi是 visual interface
的简称, 是linux中最经典的文本编辑器。
- vi的特点
- 只能是编辑 文本内容, 不能对 字体 段落进行排版
- 不支持鼠标操作
- 没有菜单
- 只有命令
- vi编辑器在 系统管理 服务器管理 编辑文件时, 其功能永远不是图形界面的编辑器能比拟的
二、vim介绍
vim:是从 vi (系统内置命令)发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。
vim 则可以说是程序开发者的一项很好用的工具。
yum install vim
三. vi/vim模式
vi/vim模式主要分为以下三种:
命令模式:在Linux终端中输入“vim 文件名”就进入了命令模式,但不能输入文字。
**编辑模式:**在命令模式下按i就会进入编辑模式,此时就可以写入程式,按Esc可回到命令模式。
**末行模式:**在命令模式下按:进入末行模式,左下角会有一个冒号出现,此时可以敲入命令并执行。
三种模式简单总结下就是:
-
vim 开始进入时是命令模式
-
按下I的时候会进入编辑模式
-
按下ESC然后在按下:的时候是末行模式
vim 文件名
- 如果文件已经存在, 会直接打开该文件
- 如果文件不存在, 保存且退出时 就会新建一个文件
四、三种模式切换
1、进入命令模式
vim 文件名(a.txt)
2、进入编辑模式
通常使用i 进入插入模式
命令 | 英文 | 功能 | 常用 |
---|---|---|---|
i | insert | 在当前字符前插入文本 | 常用 |
I | insert | 在行首插入文本 | 较常用 |
a | append | 在当前字符后添加文本 | |
A | append | 在行末添加文本 | 较常用 |
o | 在当前行后面插入一空行 | 常用 | |
O | 在当前行前面插入一空行 | 常用 |
3、进入末行模式
编辑模式不能保存文件
必须先推到命令模式
先按Esc键退出到命令模式
然后按小写的 :wq 正常保存退出
以下为其他的退出模式:
- :q 当vim进入文件没有对文件内容做任何操作可以按"q"退出
- :q! 当vim进入文件对文件内容有操作但不想保存退出
- :wq 正常保存退出
- :wq! 强行保存退出,只针对与root用户或文件所有人
vim 查找关键字 末行模式下 /查找的内容 如果想找下一个 按 n
文件查看
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | cat文件名 | concatenate | 查看小文件内容 |
02 | less -N 文件名 | less | 分频 显示大文件内容 |
03 | head -n 文件名 | 查看文件的前一部分 | |
04 | tail -n 文件名 | 查看文件的最后部分 | |
05 | grep 关键字 文件名 | grep | 根据关键词, 搜索文本文件内容 |
总结:
cat
会一次显示所有的内容, 适合 查看内容较少 的文本文件less
命令适合查看 内容较多 的文本文件head
命令查看文档的前几行内容tail -10f 文件
命令 查看文档(日志)的后几行内容grep
命令 搜索存在 关键字 的行
1) cat命令
- 查看文件名为txtfile.txt的内容
cat txtfile.txt - 查看文件名为txtfile.txt的内容(加入行号)
cat -n txtfile.txt
2) grep命令
grep 命令用于查找文件里符合条件的字符串
参数选项
- -a :将 binary 文件以 text 文件的方式搜寻数据
- -c :计算找到 ‘搜寻字符串’ 的次数
- -i :忽略大小写的不同,所以大小写视为相同
- -n :顺便输出行号
- -v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行!
- 搜索 存在关键字【eeee】 的行的文件
grep eeee 文件名 - 搜索 存在关键字【eeee】 的行 且 显示行号
grep -n eeee 文件名 - 忽略大小写 搜索 存在关键字 的行
grep -i EEEE 文件名 - 搜索 不存在关键字 的行
grep -v 中国 文件名 - 查找指定的进程信息(包含grep进程)
ps -ef | grep 进程名称 - 查找指定的进程信息(不包含grep进程)
ps aux | grep 进程名称 | grep -v “grep”
ps -ef|grep -c 进程名称
3) tail命令
tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
命令格式:
tail 参数 文件
- 要显示 txtfile.txt 文件的最后 3 行,请输入以下命令:
tail -3 文件名 - 动态显示文档的最后内容,一般用来查看日志,请输入以下命令:
tail -f 文件名 - 显示文件txtfile.txt 的内容,从第 2 行至文件末尾
tail -n +2 文件名
4)less命令
less用于查看文件,但是less 在查看之前不会加载整个文件。
命令格式:
less 参数 文件
- 查看txtfile.txt文件
less txtfile.txt - 查看命令历史使用记录并通过less分页显示
history | less
输入【j】可以前进行
输入【k】可以后退行
输入【G】可以 移动到最后一行
输入【g】可以移动到第一行
输入【ctrl + F】 向前移动一屏(类似于我们在浏览器中的数据分页的下一页)
输入【ctrl + B】 向后移动一屏(类似于我们在浏览器中的数据分页的上一页)
其他命令
1.全屏导航
- ctrl + F - 向前移动一屏
- ctrl + B - 向后移动一屏
- ctrl + D - 向前移动半屏
- ctrl + U - 向后移动半屏
2.单行导航
- j - 向前移动一行
- k - 向后移动一行
3.其它导航
- G - 移动到最后一行
- g - 移动到第一行
- q / ZZ - 退出 less 命令
vim定位行
定位到文件第n行
vim 文件名 +n
异常处理
- 如果 vim异常退出, 在磁盘上可能会保存有 交换文件
解决方案:
将后缀名为.swp的文件删除即可恢复再次编辑文件不在出现提示警告
操作扩展
要熟练使用vi/vim, 首先应该学会怎么在 命令模式下 快速移动光标
编辑操作命令 能够和移动命令一起使用
1) 上 下 左 右
命令 | 功能 | 手指 |
---|---|---|
h | 向左 | 食指 |
j | 向下 | 食指 |
k | 向上 | 中指 |
l | 向右 | 无名指 |
2) 行内移动
命令 | 英文 | 功能 |
---|---|---|
w | word | 向后移动一个单词 |
b | back | 向前移动一个单词 |
0 | 行首 | |
^ | 行首, 第一个不是空白字符的位置 | |
$ | 行尾 |
3) 行数移动
命令 | 英文 | 功能 |
---|---|---|
gg | go | 文件顶部 |
G | go | 文件末尾 |
数字gg | go | 移动到 数字 对应行数 |
数字G | go | 移动到 数字 对应行数 |
: 数字 | 移动到数字对应的 行数 |
4) 屏幕移动
命令 | 英文 | 功能 |
---|---|---|
Ctrl + b | back | 向上翻页 |
Ctrl + f | forward | 向下翻页 |
H | Head | 屏幕顶部 |
M | Middle | 屏幕中间 |
L | Low | 屏幕底部 |
5) 选中文本(可视模式)
- 学习 复制 命令前, 应该先学会 怎么样选中 要复制的代码
- 在 vi/vim 中要选择文本, 需要显示 visual 命令切换到 可视模式
- vi/vim 中提供了 三种 可视模式, 可以方便程序员的选择 选中文本的方式
- 按 ESC 可以放弃选中, 返回到 命令模式
命令 | 模式 | 功能 |
---|---|---|
v | 可视模式 | 从光标位置开始按照正常模式选择文本 |
V | 可视化模式 | 选中光标经过的完整行 |
Ctrl + v | 可视块模式 | 垂直方向选中文本 |
6) 撤销和恢复撤销(保命指令)
命令 | 英文 | 功能 |
---|---|---|
u | undo | 撤销上次的命令(ctrl + z) |
Ctrl + r | uredo | 恢复撤销的命令 |
7) 删除文本
命令 | 英文 | 功能 |
---|---|---|
x | cut | 删除光标所在的字符,或者选中的文字 |
d(移动命令) | delete | 删除移动命令对应的内容 |
dd | delete | 删除光标所在行, 可以删除多行 |
D | delete | 删除至行尾 |
提示: 如果使用 可视模式 已经选中了一段文本, 那么无论使用 d 还是 x, 都可以删除选中文本
删除命令可以和移动命令连用, 以下是常见的组合命令(扩展):
命令 | 作用 |
---|---|
dw | 从光标位置删除到单词末尾 |
d} | 从光标位置删除到段落末尾 |
ndd | 从光标位置向下连续删除 n 行 |
8) 复制和剪切
vi/vim 中提供有一个 被复制文本的缓冲区
- 复制 命令会将选中的文字保存在缓冲区
- 删除 命令删除的文字会被保存在缓冲区
- 在需要的位置, 使用 粘贴 命令可以将缓冲对的文字插入到光标所在的位置
命令 | 英文 | 功能 |
---|---|---|
yy | copy | 复制行 |
d(剪切命令) | delete | 剪切 |
dd(剪切) | delete | 剪切一行, 可以 ndd 剪切n行 |
p | paste | 粘贴 |
提示:
- 命令 d 、x 类似于图形界面的 剪切操作 – ctrl + x
- 命令 y 类似于 图形界面的 复制操作 – Ctrl +
- 命令 p 类似于图形界面的 粘贴操作 – Ctrl + v
- vi中的文本缓冲区只有一个,如果后续做过 复制、剪切操作, 之前缓冲区中的内容会被替换.
注意
- vi中的 文本缓冲区 和 系统的 剪切板 不是同一个
- 所以在其他软件中使用
Ctrl + C
复制的内容, 不能再vi
中通过p
命令粘贴 - 可以在 编辑模式 下使用 鼠标右键粘贴
9) 替换
命令 | 英文 | 功能 | 工作模式 |
---|---|---|---|
r | replace | 替换当前字符 | 命令模式 |
R | replace | 替换当前行光标后的字符 | 替换模式 |
R
命令可以进入 替换模式, 替换完成后, 按下ESC
, 按下ESC
可以回到 命令模式- 替换命令 的作用就是不用进入 编辑模式, 对文件进行 轻量级的修改
10) 缩排和重复执行
命令 | 作用 |
---|---|
>> | 向右增加缩进 |
<< | 向左减少缩进 |
. | 重复上次命令 |
- 缩进命令 在开发程序时, 统一增加代码的缩进 比较有用!
- 一次性 在选中代码前增加 4 个空格, 就叫做 增加缩进
- 一次性 在选中代码前删除 4 个空格, 就叫做 较少缩进
- 在 可视模式 下, 缩排命令 主需要使用 一个
>
或者<
在程序中, 缩进 通常用来表示代码的归属关系
- 前面空格越少, 代码的级别越高
- 前面空格越多, 代码的级别越低
11) 查找
常规查找
命令 | 作用 |
---|---|
/str | 查找str |
-
查找到指定内容之后, 使用
Next
查找下一个出现的位置n
: 查找下一个N
: 查找上一个
-
如果不想看到高亮显示, 可以随便查找一个文件中不存在的内容即可
-
单词快速匹配
命令 | 作用 |
---|---|
* | 向后查找当前光标所在单词 |
# | 向前查找当前光标所在单词 |
- 在开发中, 通过单词快速匹配, 可以快速看到这个单词在其他位置使用过
12) 查找并替换
- 在
vi/vim
中查找和替换命令需要在 末行模式 下执行 - 记忆命令格式
:%s///g
- 全局替换
- 一次向 替换文件中的 所有出现的旧文本
- 命令格式如下
:%s/旧文本/新文本/g
- 可视区域替换
- 先选中 要替换文字的 范围
- 命令格式如下
😒/旧文本/新文本/g
- 确认替换:
c confirm 确认
- 如果把末尾的
g
改成gc
在替换的时候, 会有提示! 推荐使用 - 命令格式如下
:%s/旧文本/新文本/gc
y
-yes
替换n
-no
不替换a
-all
替换所有q
-quit
退出替换l
-last
最后一个, 并把光标移动到行首^E
向下滚屏^Y
向上滚屏
显示行号: set nu
find查找
find命令用来在指定目录下查找文件。
命令格式
find <指定目录> <指定条件> <指定内容>
1、将目前目录及其子目录下所有延伸档名是 gz 的文件查询出来
find . -name “*.gz”
2、全局搜索 /
/代表是全盘搜索,也可以指定目录搜索
find / -name “java”
Linux备份压缩
tar命令
命令格式
tar[必要参数][选择参数][文件]
1、将 txtfile.txt文件打包(仅打包,不压缩)
tar -cvf txt.tar txtfile.txt
2、将 txtfile.txt文件打包压缩(打包压缩(gzip))
tar -zcvf txt.tar.gz txtfile.txt
3、查看tar中有哪些文件
tar -ztvf txt.tar.gz
4、将tar 包解压缩
tar -zxvf 文件名
unzip命令
yum install -y unzip zip
Linux unzip命令用于解压缩zip文件
unzip为.zip压缩文件的解压缩程序
命令格式
unzip[必要参数][选择参数][文件]
1、查看压缩文件中包含的文件:
unzip -l zFiles.zip
2、如果要把文件解压到指定的目录下,需要用到-d参数
unzip -d 指定目录 文件名.zip
网络与磁盘管理
网络命令
ifconfig命令
- ifconfig是Linux中用于显示或配置网络设备的命令,英文全称是network interfaces configuring
- ifconfig命令用于显示或设置网络设备。
- ifconfig可设置网络设备的状态,或是显示目前的设置。
需要命令安装网络工具 yum -y install net-tools
1、显示激活的网卡信息
ifconfig
ping命令
- ping命令用于检测主机。
- 执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
1、检测是否与主机连通
ping www.baidu.com
- icmp_seq:ping序列,从1开始
- ttl:IP生存时间值
- time: 响应时间,数值越小,连通速度越快
2、指定接收包的次数
和上面不同的是:收到两次包后,自动退出
ping -c 2 www.baidu.com
netstat命令
netstat命令用于显示网络状态。
1、显示详细的连接状况
netstat -a
2、显示网卡列表
netstat -i
查看内存和硬盘容量
查看硬盘容量:df -h
查看内存使用:free -h
Linux文件目录结构
目录结构
bin (binaries)存放二进制可执行文件 [重点]
sbin (super user binaries)存放二进制可执行文件,只有root才能访问
etc (etcetera)存放系统配置文件 [重点]
usr (unix shared resources)用于存放共享的系统资源 [重点]
home 存放用户文件的根目录 [重点]
root 超级用户目录 [重点]
dev (devices)用于存放设备文件
lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块
mnt (mount)系统管理员安装临时文件系统的安装点
boot 存放用于系统引导时使用的各种文件
tmp (temporary)用于存放各种临时文件