testing linux第二天

gzip

  • 压缩和解压文件
  • gzip只能对一个文件进行压缩
  • gzip只能压缩文件,不能压缩目录
gzip 文件名  # 压缩
gzip -d 文件名 # 解压
ls -al > a.txt # 快速的生成一个文件
gzip a.txt # 把a.txt压缩为a.txt.gz, 压缩之后,a.txt就不存在了
gzip -d a.txt.gz # 解压a.txt.gz, 解压之后,a.txt.gz就不存在了

zip

  • 类似于windows上的压缩软件,压缩后的格式为zip格式
zip 压缩后的文件名 要压缩的文件
unzip 要解压的压缩文件
zip a.zip a.txt # 把a.txt压缩为a.zip
rm a.txt
unzip a.zip  # 解压a.zip文件

tar

  • 作用,把多个文件目录打包成一个文件
  • 注意:tar只是打包,不负责压缩
tar -cvf 打包文件名.tar 要打包的目录名   # 打包
tar -tvf 打包文件名     # 查看打包文件内容
tar -xvf 打包文件名 # 解包
mkdir abc
cd abc
echo hello > a.txt
ls -al > b.txt
cd ..
tar -cvf abc.tar abc  # 把目录abc打包为文件abc.tar
rm -rf abc  # 把abc目录删除掉
tar -tvf abc.tar # 查看abc.tar文件里的内容
tar -xvf abc.tar # 把tar文件还原为原始的目录

tar和gzip

  • 由于gzip不能直接压缩目录,所以一般都是用tar先把目录打包成一个文件,然后再用gzip压缩这个文件
  • tar和gzip都是配合使用的
  • tar有个参数z,会自动调用gzip压缩和解压
tar -zcvf 文件名.tar.gz 要打包和压缩的目录名
tar -zxvf 文件名.tar.gz 要解压和解包的文件名
# 在abc目录的上级目录
tar -zcvf abc.tar.gz abc # 把目录abc打包同时压缩
rm -rf abc
tar -zxvf abc.tar.gz # 把文件解压同时解包

df

  • 查看磁盘使用情况
df
df -h # 用人性化方式显示大小

ps

  • 查看系统进程
  • 进程就是正在运行的程序
ps -aux
ps aux  # aux前面的-可以取消

USER代表启动进程的用户名

PID:每个进程都有一个唯一的编号

COMMAND:进程的名字

在这里插入图片描述

top

  • 动态查看进程信息
top
  • 退出top
    • 在top界面下按q

kill

  • 杀死进程
kill PID
  • 第一步:找到要杀掉进程PID
    • ps aux
    • 通过command就可以找到命令对应的PID
  • 第二步:kill PID
先在一个终端窗口执行top, top保持运行不退出
再打开另一个终端窗口,执行
ps aux
从ps的aux结果中找到top的PID
kill PID
  • 如果遇到杀不掉的,加-9参数
    • kill -9 PID

ping

  • 检查与目标主机是否可网络联通
ping 目标主机的ip或者域名
ping 192.168.12.37

ifconfig

  • 查看网卡信息
ifconfig

在这里插入图片描述

su

  • 切换用户
su - 用户名  # 切换用户,同时当前目录修改为目标用户的主目录
su 用户名  # 切换用户,但不改变当前目录
  • 退出切换的用户
exit
su - root # -的左右都有空格 切换到root用户,同时当前目录变为root用户的主目录
exit
su root # 切换到root,但不改变当前目录
exit
  • 如果su切换的目标用户是root,可以省略用户名
su -  # 等同于su - root
su   # 等同于su root

添加用户

  • 添加用户必须是root才能有权限
  • useradd
    • -d指定用户的主目录
    • -m如果主目录不存在,自动创建
在linux增加用户有个习惯,所有用户的主目录都在/home目录下
用户的主目录名和用户名相同
# 案例添加一个用户, 名字叫user1,主目录在/home/user1目录
su - # 切换到root用户
useradd -d /home/user1 user1 -m # 创建一个用户user1,主目录在/home/user1
passwd user1 # 为user1设置密码
# 密码需要输入两次
exit
su - user1
# 输入user1的密码
# 到这里,当前目录已经改变为user1 的主目录
pwd
  • passwd
    • 修改用户密码
    • root用户可以修改任何用户的密码
    • 普通用户只能修改自己的密码
passwd 用户名  # 修改指定用户的密码
passwd # 修改用户自己的密码

删除用户

  • userdel
  • r删除用户的同时删除用户的主目录和邮箱
  • f强制删除,即使用户登录了,也删除
su -
userdel -rf user1 # 强制删除用户user1, 同时删除用户的主目录和邮箱

whoami

  • 当系统用户特别多,用su切换多次,有时候会忘记当前是哪个用户登录
whoami
  • 显示当前登录的用户名

vi

用vi编写第一个文件

  • 目的:用vi创建一个文件b.txt,文件内容为hello
cd # 回到主目录
vi b.txt  # 用vi创建一个文件b.txt
# 进入vi界面后按i键,之后输入hello
# 按ESC键
# 按冒号:
# wq回车
# 退出vi后可以用ls查看是否新增了文件b.txt
# 可以用cat b.txt查看内容是否为刚才用vi输入的hello

vi的三种模式

  • 命令模式

    • 刚进入vi界面的时候,是命令模式
    • 在命令模式下按i进入输入模式
    • 在命令模式下按冒号:进入末行模式
  • 输入模式

    • 进入输入模式以后就可以输入内容
    • 在输入模式下按ESC回到命令模式
  • 末行模式

    • 在末行模式下输入wq,保存文件退出vi
  • 输入模式不能直接进入末行模式

  • 不管在哪个模式下,只要按ESC键,都会回到命令模式

在这里插入图片描述

vi的三种不同启动方式

  • vi 新文件名
    • 创建一个空文件
  • vi 已有文件名
    • 打开一个已有的文件
  • vi
    • 直接启动vi,不打开任何文件

命令模式下的指令

插入指令

  • i
    • 在光标所在当前位置插入
  • a
    • 在光标所在位置后插入
  • o
    • 在光标所在行的下一行插入
  • I
    • 在光标所在行首插入
  • A
    • 在光标所在行尾插入
  • O
    • 在光标所在行的上一行插入

进入末行模式指令

  • 冒号:

删除指令

  • x
    • 删除光标前一个字符
  • dd
    • 删除光标所在的行
  • ndd
    • n是一个数字,代表删除光标所在下面的n行
    • 3dd,删除3行

撤销指令

  • u
    • 撤销
  • ctrl+r
    • 反撤销

复制粘贴指令

  • yy

    • 复制光标所在的行
  • nyy

    • 复制光标所在下方n行
    • 5yy,复制5行
  • p

    • 粘贴
  • 课堂练习

随便两个文件,内容不限
a.txt ,b.txt
把b.txt内容复制到a.txt内容的最后面,保存a.txt文件
  • 练习答案
# 先有a.txt和b.txt
vi b.txt
# nyy  把b.txt内容拷贝到内存
退出vi
vi a.txt
# 把光标移动到最后一行
p  # 把刚才从b.txt中拷贝的内容粘贴到a.txt里
# 回到末行模式, wq保存退出

行定位指令

  • 如果文件内容特别多,通过上下光标定位行,比较繁琐
  • 可以通过行定位指令快速定位到指定行
  • G
    • 到最后一行
  • 1G
    • 到第一行
  • nG
    • n是个数字
    • 到n行

查找指令

  • /要查找的字符串
  • n查找下一个
  • N查找上一个
/root  在文件中查找有无字符串root

末行模式的指令

  • w
    • 保存,不退出vi
  • w 文件名
    • 把内容保存为指定的文件
    • 如果启动vi的时候,没有指定文件,如果要保存内容,必须用w 文件名,指定要保存的文件
  • q
    • 退出vi
    • 如果文件内容已经改变,就不能使用q退出vi
  • wq
    • 保存文件,并退出vi
  • q!
    • 不保存文件,退出vi

课堂练习

把根目录下proc目录下cpuinfo文件拷贝到用户的当前目录
用vi把文件的第五行修改为aaaaaaaaaaaaaa
保存退出
  • 作业答案
cd  # 回到主目录
cp /proc/cpuinfo .    # 把/proc/cpuinfo拷贝到当前目录
chmod u+w cpuinfo  # 给cpuinfo这个文件的用户添加w写权限
vi cpuinfo  # 用vi打开cpuinfo这个文件
# 把光标移动到第五行,进入输入模式
# 在输入模式下删除第五行已有的内容
# 在输入模式下输入aaaaaaaaaaa
# 按ESC回到命令模式,按冒号:进入末行模式
# 在末行模式下按wq保存退出
# 退出之后可以用
more cpuinfo # 查看修改是否成功

非正常退出vi的处理方式

  • 当打开vi后,并且修改了文件内容,没有保存退出,而是非正常的关闭了vi,下次再启动vi会出现异常退出的提示
  • O
    • 只读方式打开
  • E
    • 编辑之前vi没有修改过的内容
  • R
    • 编辑vi修改过的内容
  • D
    • 直接删除交换文件
  • Q
    • 直接退出vi,不做任何操作

在这里插入图片描述

  • 直接通过rm删除vi非法关闭后的swp文件
    • 如果vi非法关闭,那么会产生一个swp文件
    • 假设vi非法关闭的时候文件名叫a.txt,那么swp文件叫.a.txt.swp
    • 可以通过rm命令手工的把swp文件删除,也可以解决这个问题
ls -a  # 通过ls 的-a参数可以找到相关的swp文件
rm .a.txt.swp
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值