Linux常用命令——TWO

目录及文件

编辑文件

vi 命令用于编辑文件

  • 语法格式:
vi 文件名

vi/vim 共分为三种模式,分别是命令模式、输入模式、底线命令模式
在这里插入图片描述

# 在home目录中创建test01目录
cd home/
mkdir test01
# 在test01目录中创建test01.txt文本
cd test01
touch test01.txt
# 在test01.txt编写:hello world 退出并保存文件
vi test01.txt
i
hello world
Esc
:wq

查看或合并文件内容

cat 命令表示查看或合并文件内容

  • 语法格式:
cat 文件名称
cat 文件名称1 文件名称2
# 查看test01.txt 文件中的内容
cat test01.txt

输出重定向命令 >

Linux允许将命令执行结果重定向到一个文件中,在终端中显示的内容保存到指定文件中

ls > test02.txt
# 如果test02.txt文件不存在则创建,如果存在则被覆盖掉

输出重定向命令 >>

>> 输出重定向的内容则会追加到文件的尾部

统计文件

wc 命令用于统计文件中字节数、字符数、行数等

  • 语法格式:
wc -选项 文件名称
-c 文件的字节数
-l 文件的行数
-w 统计字数

拷贝文件

cp 命令用于复制文件或目录

  • 语法格式
cp - 选项 源文件路径 新文件路径
-a 表示保持文件的原有属性
-f 覆盖已经存在的目标文件而不提示
-i 交互式复制,在覆盖目标文件之前给出提示要求用户确认
-r 若给出源文件是目录文件,需要递归进行复制
-v 显示拷贝进度
cp - 选项 源文件路径 新文件路径
-a 表示保持文件的原有属性
-f 覆盖已经存在的目标文件而不提示
-i 交互式复制,在覆盖目标文件之前给出提示要求用户确认
-r 若给出源文件是目录文件,需要递归进行复制
-v 显示拷贝进度

移动文件

mv 命令用于移动文件或目录,也可以给文件或目录重命名

  • 语法格式
mv -选项 源文件路径 新文件路径
-f 禁止有交互式操作,如果有覆盖情况也不会给提示
-i 确实交互方式操作,询问是否需要覆盖
-v 显示移动速度
# 将hoem下的test目录移动到home下的dev目录中
cd /home
mv test dev
# 将hoem下的test目录移动到home下的dev目录中
cd /home
mv test dev

练习Demo01

# 在root目录下,进行如下操作
# 创建一个目录,名称为tsd2308
# 在tsd2308目录中,创建两个目录分别是qa、dev
# 在tsd2398目录中,创建一个test1目录,且test1目录中包含test2,test2目录中包含test3
# 在qa目录下,创建qa01.txt、qa02.txt
# 编辑qa01.txt文件,将 i am qa写入文件中,并退出
# 将2020年日历追加到qa02.txt文件中
# 将qa02.txt文件拷贝到dev目录下
# 在dev目录下,修改qa02.txt文件名,修改为dev02.txt

归档管理

解压缩文件

tar 命令用于压缩文件以及解压文件

tar -选项 打包文件名 文件
-c 建立新的压缩文件
-z 通过gzip压缩文件
-v 显示操作过程
-f 指定压缩文件
# 将tsd2308目录中qa目录进行压缩,压缩为qa.tar.gz
tar -czvf qa.tar.gz qa
tar -czvf tsd2308.tar.gz qa test1 dev
tar -选项 压缩包文件名
-x 从压缩的文件中提取文件
-z 通过gzip格式
-v 显示操作过程
-f 指定压缩文件
# 将tsd2308压缩包移动到test1目录下进行解压缩
# 将qa压缩包移动到dev目录下进行解压缩

查看文件

which 命令在环境变量设置的目录里查找符合条件的文件

  • 语法格式
which -选项 文件名
-n<文件名长度> 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名
-p<文件名长度>-n参数相同,文件名长度包含文件的路径
-w 指定输出时栏位的宽度
-v 显示版本信息
# 查看bash的绝对路径
which bash

whereis只能查询二进制文件、说明文档、源文件等
which只能查询可执行文件

查看环境变量

env 命令查看所有环境变量

练习Demo02

# 在home目录中创建testing目录
cd /home
mkdir testing
# 在testing目录中分别创建 test1 与 test2
mkdir test1 test2
# 在test1目录中 创建 t1.sql t2.sql t3.sql
cd test1 
touch t1.sql t2,sql t3,sql
# 在test1目录中 将文件t1.sql t2.sql t3.sql 变成一个名为Linux_sql.tar.gz的压缩包
tar -czvf Linux_sql.tar.gz t1.sql t2.sql t3.sql
# 将压缩包解压到test2目录中
mv Linux_sql.tar.gz /home/testing/test2
cd ..
cd test2
tar -xzvf Linux_sql.tar.gz
# 删除 test2目录中t3.sql
rm -rf t3.sql

管道符 |

管道符 左边写入内容,右边读取内容
可以通过管道符将两个命令连接起来,左边命令的输出会作为管道符右边命令的输入

# 在home目录中创建一个 test01.txt文本
# 查询当前系统时间并将查询结果存入 test01.txt 文本中,并查看test01.txt文本中内容
date > test01.txt
cat test01.txt
# 查询ip信息查看开头两行内容
ifconfig | head -2

查看文件内容命令

cat 表示从第一行开始显示文件内容
nl 表示显示时输出行号
more 表示一页一页显示文件内容
lessmore 类似,可以往前翻页
head 表示看开头几行
tail 表示看结尾几行

文本搜索

grep 用于过滤/搜索特定字符

  • 语法格式
grep -选项 '搜索内容' 文件名
-v 显示不包含匹配文本的所有行
-n 显示匹配行 和 行号
-i 忽略大小写
# 请搜索端口号是3306的服务是那个
netstat -ant | grep 3306
# 查询ssh协议
netstat -anp | grep ssh
# 查询有关ssh的进程
ps -ef | grep ssh

Linux组管理

添加组

groupadd 命令用于添加组

  • 语法格式
groupadd 组名称
# 添加一个testing组
groupadd testing

查看组信息

cat /etc/group 命令用于查看组信息

testing:x:1001
# testing 组名
# x 口令
# 1001 组编号
  • 0为root组编号
  • 1~999为系统组编号
  • 1000~?为普通组编号

删除组

groupdel 命令用于删除组

  • 语法格式
groupdel 组名称
# 删除testing 组
groupdel testing

用户管理

添加用户

useradd 命令用于添加用户

  • 语法格式
useradd -选项 组名 用户名称
-g 指定用户所属的群组
# 添加qa01用户
useradd qa01
# 添加qa02用户并分配到testing组
useradd -g testing qa02

设置密码

passwd 命令用于设置用户的密码

  • 语法格式
passwd -选项 用户名称
-d 清空密码命令

退出登录账户

exit 命令退出登录账户

  • 如果是图形界面,退出到当前终端
  • 如果是使用SSH远程登录,退出登录账户
  • 如果是切换后登录的用户,退出返回到上一个登录账户
# 创建一个test组
# 在组中添加用户qa01、qa02
# 分别为两个用户设置密码
# 切换qa01用户登录
# 切换到qa02用户登录
# 退出登录状态
  • root切换到任何用户 不需要密码
  • 任何其他用户相互之间切换需要填写密码

查看登录用户

who 命令用户查看当前所有登录系统的用户信息

服务器IP:

  • 查找自己所在的终端信息:whoami
  • 查看当前谁在使用该主机:who

查看用户信息

cat /etc/passwd 命令用于查看用户信息

qa01:x:1000:1002::/home/qa01:/bin/bash

qa01 用户名
x 密码(口令)
1000 用户标识号(用户id1002 组标识号(组id/home/qa01 表示用户的主目录
/bin/bash 命令解释程序

删除用户

userdel 命令用于删除用户

  • 语法格式
userdel -选项 用户名称
-r 删除用户目录以及目录中所有文件

练习Demo03

# 添加两个组,组名分别为boy、girl
# 查看组信息,获取组编号
# 添加三个用户,用户名分别为t01、t02、t03
# t01属于boy组、t02属于girl组
# 为三位用户设置密码
# 查询三位用户信息 获取他们的组id与用户id
# 删除t03用户

修改用户所属的组

usermod 命令用于修改用户所属的组

  • 语法格式
usermod -选项 用户组 用户名
-g 修改用户所属的组

# 将用户to2 改到boy组
usermod -g boy to2
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值