day2
文章目录
查看文件命令
head从上往下
head 1.txt 查看1.txt文件的前10行
head -3 1.txt 查看1.txt的前3行
tail 从下往上
tail 1.txt 查看1.txt文件的后10行
tail -3 1.txt 查看1.txt文件的后3行
cat查看全文
cat 1.txt | less 空格翻页,q退出
cat 1.txt | more 空格翻页,看完自动退出
按p键回到第一页
vi基础操作修改文件
打开文件
vi 文件名
显示与隐藏行号
:set nu显示行号
:set nonu取消行号
复制粘贴
:yy复制光标所在行,p粘贴
:2yy复制2行,:3yy复制3行,p粘贴
删除
:dd删除当前行 ,:2dd删除2行
光标定位与选择
-
:15 光标直接到达15行
-
shift + G 直接定位到最后一行
-
dG ,d + shift +g删除光标所在行到文件最后d + shift +g
-
u 撤回刚才操作
-
gg 定位到第一行
-
dgg 删除光标所在行到行首
-
shift + a 光标移动到行尾
-
shift + v 选中整行
查找替换
- s/root/ROOT/ 把光标所在行中第一个root换成ROOT(只能查找光标所在行),s匹配
- s/root/ROOT/g 将整行的root都替换为ROOT,g整行
- %s/ROOT/haha/g 将全文的ROOT替换为haha,%全文
- 1,2 s/haha/root 只替换1,2行第一个hah
- 1,2 s/haha/root/g 替换1,2行所有haha
- 3,$ s/root/ROOT/g 第三行到文档最后所有的root替换为ROOT,$到文档最后
退出文档
:wq!强制保存退出 w保存 q退出 !强制
:q!退出
远程登陆中文件配置
修改ssh端口号
- 进入文件 vi /etc/ssh/sshd_config
- :17
- yyp,复制第17行Port 22(不一定是17行,需要自己查看)
- 修改为 Port 1000
- :wq!
- systemctl restart sshd重启服务
- 云服务器端口也改为1000,远程连接工具端口也改为1000
- #代表不生效
禁止本台机器root用户远程登陆
root用户给普通用户提权,让普通用户通过普通账号登录后,拥有root权限使用root用户操作,防止有人删库跑路,每个人一个账号可以确定是谁对Linux进行了操作
vi /etc/ssh/sshd_config
把#PermitRootLogin yes改为PermitRootLogin no,#记得去掉。
重启服务 systemctl restart sshd
添加用户
useradd xx
passwd xX
比如添加一个zhang的用户:
useradd zhang
passwd zhang
1
1
密码改成了1
让普通用户拥有root权限
vi /etc/sudoers
:110
%wheel ALL=(ALL) NOPASSWD: ALL
复制这一行,用yy,然后ctrl+g到文档最后,p粘贴。
普通用户名 ALL=(ALL) NOPASSWD: ALL
把%wheel改成普通账号名
root用户给提权后,普通用户切换到root权限
- sudo su -
centos系统命令
centos怎么查看内核版本
查看内核版本 uname -a uname -r
centos怎么查看系统版本
cat /etc/redhat-release
centos怎么重启服务
service xx restart (centos6)和systemctl restart xx(centos7) 重启xx服务
centos6.x版本系统和centos7.x系统版本有啥区别?
防火墙 iptables(centos6)firewall(centos7)
默认数据库 mysql(centos6)mariadb(centos7)
服务相关 service xx restart (centos6)和systemctl restart xx(centos7) 重启xx服务
centos6.x版本系统和centos7.x相同的内容
启动加载器
文件结构
主机名
第一节练习
1.将/etc/passwd 复制到/tmp下 文件中 名字是3.txt
cp /etc/passwd /tmp/3.txt
2.第一行的所有root 换成haha
s/root/haha/g
3.将第一行的第一个haha 换成hehe
s/haha/hehe
4.将全文的sbin 换成 888
1,$ s/sbin/888/g
5.将第5-9行的 nologin换成yes
5,9 s/nologin/yes/g
6.将第12行到文件最后的nologin 换成YES
12,$ s/nologin/YES/g
课后作业
------可看笔记
4.给服务器添加2个账号 xiaoli xiaowang 设置密码为1
useradd xiaoli
passwd xiaoli
1
1
useradd xiaowang
psswd xiaowang
1
1
5.在vim编辑器中,请解释下面命令的含义:yy ,d, G, i, a, u,dd
-
yy 复制
-
d: 删除。d命令需要配合移动命令使用,例如:
dw:删除从光标位置开始到下一个单词结尾的内容;
d$:删除从光标位置开始到本行尾的内容;
d0:删除从本行首开始到光标位置的内容;
dgg:删除从光标所在行开始到文件首行的内容。 -
G 光标到文档最后一行行首
-
i 编辑模式,就可以修改文档内容了(直接编辑光标所在处)
-
a进入编辑模式,可以修改文档内容了,功能类似i(编辑光标所在处下一个字母)
-
u 撤销
-
dd 删除当前行
6.将/etc/passwd复制到/tmp目录下,并执行以下操作
- 将所有的root全部替换成ROOT
- 复制前3行到 文件最后
- 保留第一行,删除所有配置文件内容。
- 光标移动到文件最后,然后再把光标移动到第一行
cp /etc/passwd /tmp/
vi passwd
:%s/root/ROOT/g
gg
3yy
G
p
:2
dG
G
gg
7.在/srv下创建FILE1-FILE5 和1.txt-5.txt 然后删除所有FILE开头的文件
cd /srv/
touch FILE{1..5} {1..5}.txt
rm -rf FILE*
8.你用过什么操作系统?怎么样看内核版本? 怎么查看操作系统版本?
- ubantu,centos7,centos9
- uname -a 或 uname -r 查看内核版本u
- cat /etc/redhat-release 查看系统版本
9.怎么显示当前路径?
- pwd
10.什么是绝对路径?相对路径?
在Linux系统中,绝对路径一定是由根目录 / 开始写起。
相对路径不是从根目录 / 开始写起,而是从当前所在的工作目录开始写起(可以使用pwd命令查看当前工作目录)。
所以,简单判断,如果一个命令后面的路径是以 / 开头,就是绝对路径,不是,就是相对路径了。如 cd /home/test, /home/test 就是绝对路径; cd test , test就是指当前工作目录下的test目录,也就是相对路径。
相对路径就是相对当前你所在路径开始算。
绝对路径是从linux最底层的根(/)开始算。
11.端口的范围是多少? ping命令用的是什么协议?
- 1 - 65535
- ICMP协议
12.防火墙关闭端口后,会产生什么现象?
端口所对应的服务或者协议访问不到。
13.你的云服务器登录失败,你怎么做?
- 修改密码重新登陆
- 使用vnc登陆,重启远程连接服务并查看云服务器远程端口号是否和本地远程工具端口号一样
- 查看/etc/ssh/sshd-config文件
实验:背着写
1.修改默认ssh端口为2000 要求能使用2000登陆并且恢复
- vi /etc/ssh/sshd-config
- :/Port 22 找到#Port 22后复制一遍(yyp)yy复制 p粘贴
- 把复制的#Port 22改为Port 2000
- :wq!保存退出
- systemctl restart sshd
- 然后修改云服务器安全组22端口改为2000,本地远程工具端口22改为2000
2.禁止root用户登录, 恢复root用户登录
- vi /etc/ssh/sshd-config
- 把#PermitRootLogin yes改为PermitRootLogin no
- :wq!
- systemctl restart sshd
- 恢复root登陆就是把PermitRootLogin no改为#PermitRootLogin yes
3.root用户给wang用户提权
- vi /etc/sudoers
- 把%wheel ALL=(ALL) NOPASSWD: ALL复制到文档最后
- 改为wang ALL=(ALL) NOPASSWD: ALL
- :wq!