基本操作命令
- 列表的方式显示当前目录
ll
2并排的方式显示 ls
10.3新建文件夹 mkdir family
10.4进入family文件夹 cd family
创建一个 room-a room-b room-c mkdir room-a room-b room-c
10.5创建两个文件 father mother > father > mother
10.6把father和mother移动到 room-a这个房间 剪切命令 mv father mother room-a
10.7回到上级目录 cd ..
10.8创建一个 son 文件
把这个文件放到 room-b这个文件下 mv 剪切 重命名
重命名一下room-c 改成 room-d mv room-a room-d
把room-d 文件夹删除掉 删除命令 rm -rf room-d
创建一本书 book文件 > book
往book文件中写入内容 think in java echo “think in java” > book
把book这本书给 room-a一本 复制命令 cp book room-a
再给room-b这个房间一本 mv book room-b
进入到room-b这个房间,显示一下当前所在的路径 pwd
回到family目录 cd ..
Cd ..
查看book文件中的内容 cat book
命令总结:
Cd 进入文件目录
Cd .. 回到上个文件目录
Cp 复制的文件 复制的目的地
Mv 剪切的文件 剪切到的目的地
Echo “think in java” > book 给文件里直接写入内容
自动补全 tab
清屏
Ctrl + l
回到根目录 cd
Top显示当前电脑进程
Ctrl + c
复制命令: 鼠标选中就可以复制
Wc查看文件大小 wc install.log
[root@localhost ~]# wc install.log
911 1835 39343 install.log
联想输入: tab 键 输入完前缀,会联想到后面文件.
10.9查找文件
find family/room-a -name book
10.10创建链接命令
访问方式:
10.11显示系统进程
Top
Ctrl+C停止
10.12带分页的
Ps-ef | more
| 这个符号叫管道符号 more是分页的意思。按空格是下一页 按会出是下一行
10.13显示磁盘情况
Df
10.14显示文件大小
Du
10.15查看网络进程
netstat –anu
10.16查看TCP进程
netstat –ant
11压缩命令
11.1第一种压缩格式: gzip
压缩命令: gzip install.log
解压命令:gzip -d install.log.gz
11.2第二种压缩格式: tar
压缩命令:tar -czvf f.tar.gz family/
// f.tar.gz压缩后的文件名 family 压缩的文件
[root@localhost ~]# tar -czvf f.tar.gz family/
减压命令:
tar -zvxf f.tar.gz
Z 需要解压文件的格式 v是否显示解压过程 x减压的方式 f 后跟着的是减压的文件名
[root@localhost ~]# tar -zxf f.tar.gz
把压缩包减压到指定文件夹里
tar -zvxf f.tar.gz -C dom/
12Vim命令
12.1插入命令
i 在光标前插入
I 在光标当前行开始插入
a 在光标后插入
A 在光标当前行末尾插入
o 在光标当前行的下一行插入新行
O 在光标当前行的上一行插入新行
按ESC
编辑文件, vim 文件名
保存编辑后以后的文件 :wq
强制保存: :wq!
不保存,退出 :q
强制退出 :q!
插入文字: i
查找: /name
a 在光标后插入
i插入光标前面数据
o 在下一行插入
A在光标当前行末尾插入
I在光标当前行插入
O在当前光标行的上一行插入数据
12.2定位命令
按esc 输入 :set nu 显示行号
:set nu 显示行号
:set nonu 取消行号
gg 到文本的第一行
G 到文本的最后一行
:n 到文本的第n行
12.3删除命令
x 删除光标所在处字符
nx 删除光标所在处后的n个字符
dd 删除光标所在行。ndd删除n行
dG 删除光标所在行到末尾行的所有内容
D 删除光标所在处到行尾的内容
:n1,n2d 删除指定范围的行
12.4替换和取消命令
u undo,取消上一步操作
Ctrl + r redo,返回到undo之前
r 替换光标所在处的字符
R 从光标所在处开始替换,按Esc键结束
12.5查找指定字符
/name name处输入要查找的字符
n 向下查找
13关机/重启命令
13.1halt 关机后关闭电源
13.2reboot 重新启动
14用户操作和权限控制
14.1创建用户
[root@localhost ~]# useradd zhangsan
14.2查看当前系统的用户
[root@localhost ~]# more /ect/passwd
14.3给用户设置密码
[root@localhost ~]# passwd zhangsans
14.4修改用户名
[root@localhost ~]# usermod -l lisi zhangsans
14.5删除用户
[root@localhost ~]# userdel -r lisi
15用户权限
文件类型:
用户
用户组
用户权限:读,写,执行
赋予权限的过程:
先找到这个文件,把文件赋予某些用户或者用户组的读写和执行权限.
15.1给当前用户赋予执行权限
[root@localhost ~]# chmod u+x anaconda-ks.cfg
15.2给用户组一个执行权限
[root@localhost ~]# chmod g+x anaconda-ks.cfg
15.3给所有的用户都加执行权限
包括当前用户,用户组里的所有用户,其他用户
[root@localhost ~]# chmod +x anaconda-ks.cfg
15.4取消当前用户的执行权限
[root@localhost ~]# chmod u-x anaconda-ks.cfg
15.5取消所有用户的执行权限
[root@localhost ~]# chmod -x anaconda-ks.cfg
不给当前用户任何权限, 给用户组读的权限, 给其他用户所有权限
- — –r -rwx
- 0 4 4+2+1=7
[root@localhost ~]# chmod 047 anaconda-ks.cfg
16网络配置
在linux里改ip地址,
1.建议使用图形化界面进行修改
2.也可以使用命令修改,(不推荐).
安装jdk
安装tomcat
安装nginx
安装docker
安装apache
安装MySQL
安装redis
查看进程
linux查看进程的方法:1、ps命令,查看静态的进程统计信息;2、top命令,查看进程动态信息;3、pgrep命令,根据特定条件查询进程PID信息;4、pstree命令,查看进程树,以树形结构列出进程信息。
本教程操作环境:linux7.3系统、DELL G3电脑,该方法适用于所有品牌电脑。
linux查看进程的方法:
1、ps命令——查看静态的进程统计信息(Processes Statistic)
常见的选项:
a:显示当前终端下的所有进程信息,包括其他用户的进程。
u:使用以用户为主的格式输出进程信息。
x:显示当前用户在所有终端下的进程。
-e:显示系统内的所有进程信息。
-l:使用长(long)格式显示进程信息。
-f:使用完整的(full)格式显示进程信息。
2、top命令——查看进程动态信息
以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认情况下每三秒刷新一次,其作用基本类似于Windows系统中的任务管理器。
3、pgrep命令——根据特定条件查询进程PID信息
示例:
adc514be7ef838d588df76a856e2197.png
4、pstree命令——查看进程树,以树形结构列出进程信息
示例:
832c29776fba17ece419f35cdb176c1.png
查看日志
Linux grep 命令用于查找文件里符合条件的字符串
grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。
场景:系统报警显示了时间,但是日志文件太大无法直接 cat 查看。(查询含有特定文本的文件,并拿到这些文本所在的行)
grep 的与或操作:
grep 与操作(其实就是多次筛选)
grep k1 | grep k2
grep 或操作
grep -E ‘k1|k2’
egrep ‘k1|k2’
awk ‘/k1|k2/‘
awk 是一种处理文本文件的语言,是一个强大的文本分析工具。
以 test.log 的内容为例:
2022-06-1 NameError
2022-06-2 NameError
2022-06-3 NameError
2022-06-4 NameError
123
456
abc
def
2022-06-5 NameError
2022-06-6 NameError
2022-06-7 NameError
读取日志中时间大于 2022-06-4 && 出现 NameError 关键字的信息,$0 表示整行文本,$1 表示输出第一列。
#!/bin/bash
while read line;
do
echo $line | grep ‘NameError’ \
| awk -F ‘ ‘ ‘{if($1 > “2022-06-4”) print $0}’ ;
done < test.log
此时,可以用 awk 输出到另一个文件中,结果放到 result.log :
#!/bin/bash
while read line;
do
echo $line | grep ‘NameError’ \
| awk -F ‘ ‘ ‘{if($1 > “2022-06-4”) print $0}’ >> result.log
done < test.log
或者用更为简单方法:
#!/bin/bash
awk ‘{if($0~”filter-string”) print}’ xxx.log
解释说明:抽取 xxx.log 整个日志文件中,包含 “filter-string” 的行,打印输出
awk ‘{if($0~”NameError” && $1 > “2023-02-20”) print}’ test.log >> result.log
要附加条件,只需要在 if 里面添加内容即可,例如:
将 $0“NameError” -> ($0“NameError” || $0~”Error”)
awk '{if( $1 > "2023-02-20") print}' nohup.out >> result.log
awk '{if($0~"ERROR" && $1 > "2023-02-20") print}' nohup.out >> result2.log