文件管理
文件和目录
创建目录
mkdir abc
创建多级目录
mkdir -p a/b/c
查看当前目录
pwd
查看当前所在目录
pwd -P
查看目录与文件的属性
ls -l 或 ll
查看所有的目录与文件(包括隐藏的)
ls -a
文件操作
创建文件
通过touch命令可以创建一个空白文件,也可以设置文件、属性
touch a.txt
echo “abc” >> a.txt
touch -d “2021-09-14 16:15” a.txt
查找文件
cat 查看内容较少的文件, ‘-n’显示行号,’-A’ 显示不可显示控制字符(换行符/制表符)
cat /etc/hosts
more 以逐页的方式显示文件内容,通过空格键向下翻一页,b键向上翻一页
more /etc/hosts
less 对文件或其他输出进行分页显示,可用 pageup、pagedown与键盘方向键来上下查看文件,q键退出
head 查看文件前几行的内容,‘-n’ 显示文件前几行
head -2 /etc/hosts
tail 查看文件后几行的内容,‘-n’ 显示文件后几行,'-f’查看动态文件
grep 对文件内容进行过滤、搜索关键词
显示含有root的行
grep ‘root’ /etc/hosts
显示以root开头的行
grep ‘bash$’ /etc/hosts
Vim编辑器
Vim编辑器主要有三种模式:
- 命令模式:控制光标,对文件进行复制、粘贴、删除、查询等操作
- 编辑模式:进行文本录入与更改
- 末行模式:文档保存与退出,设置编辑环境
光标定位常用命令
命令 | 说明 |
---|---|
h、j、k、l | 光标上下左右移动。也可用键盘自带方向键 |
0和$ | 光标移动到行首、行尾 |
gg和G | 光标移动到第一行首个字符和光标移动到最后一个首个字符的位置 |
/字符串 | 定位到字符串所在的行 |
/^d | 定位首字母为d的行 |
/txt$ | 定位结尾为txt的行 |
文件编辑常用命令
命令 | 说明 |
---|---|
yy | 复制当前行 |
dd | 删除当前行 |
p | 粘贴 |
x | 删除光标所在的字符 |
D | 从光标处删除到行尾 |
u | 撤销 |
^r | 重做 |
r | 可以用来修改一个字符 |
从命令模式进入其他模式常用命令
命令 | 说明 |
---|---|
o | 进入编辑模式,光标下面另起一行 |
a | 进入编辑模式,光标后一位 |
i | 进入编辑模式,光标当前位置 |
: | 进入末行模式 |
V | 进入可视行模式 |
v | 进入可视模式 |
^v | 进入可视块模式 |
R | 进入替换模式 |
末行模式常用命令
命令 | 说明 |
---|---|
:w | 保存 |
:q | 退出 |
:wq | 保存并退出 |
:w! | 强制保存 |
:q! | 不保存强制退出 |
:wq! | 强制保存退出 |
:set nu | 显示行号 |
:set nonu | 不显示行号 |
:整数 | 跳到该行 |
😒/abc/abd | 该行第一个abc替换成abd |
😒/abc/abd/g | 该行所有abc替换成abd |
文件查找
根据文件名查找 -name
在 / 目录查找ifcfg-ens33网卡文件
find / -name “ifcfg-ens33”
添加‘i’参数忽略大小写
find / -iname “ifcfg-ens33”
‘*’符号为通配符(不确定文件名使用)
find / -iname “ifcfg-*”
根据文件大小查找
在/etc目录下分别查找大于、等于、小于 5MiB的文件
find /etc/ -size +5M
find /etc/ -size 5M
find /etc/ -size -5M
添加 ‘-ls’ 查看文件的详细信息
find /etc/ -size +5M -ls
根据文件的属主、属组查找
属主是jack的文件
find /home -user jack
属组是hr组的文件
find /home -group hr
'-a' 且 '-o' 或者 '-not' 相反
find /home -user jack -group hr
find /home -user jack -a -group hr
find /home -user jack -o -group hr
根据文件类型查找
f 普通文件
find /dev -type f
(d 目录文件 l 链接文件 b 块设备文件 c 字符设备文件 s 套接字文件 p 管道文件)
根据文件权限查找
查找权限为644的文件
find . -perm 644 -ls
'-'表示包含
find . -perm -644 -ls
查找包含SUID权限的文件
find /usr/bin /usr/sbin -perm -4000 -ls
查找包含SGID权限的文件
find /usr/bin /usr/sbin -perm -2000 -ls
根据目录的深度
find / -maxdepth 3 -a -name “ifcfg-en*”
根据时间查找(atime、mtime、ctime)
查找修改时间距当前时间大于、等于、小于 5天的文件
find / -mtime +5
find / -mtime 5
find / -mtime -5
进程管理
查看进程和杀死进程
查看所有进程
可以查看UID、PID、PPID等信息
ps -ef
根据进程名查看进程信息
(以查看tomcat进程名为例)
ps -ef | grep tomcat
根据进程ID查看进程信息
(查看id为1000的进程信息)
ps -ef | grep 1000
根据进程ID查看进程占用端口
(进程ID为1000的端口)
netstat -nap | grep 1000
根据端口查看对应进程
(查看占用8080端口的进程id)
netstat -tunlp | grep 8080
根据进程id杀死进程
(杀死进程id为 1000的进程)
kill -9 1000
查看指定进程已打开的内容
lsof -p 1000
查看CPU负载
列名 | 说明 |
---|---|
USER | 运行进程的用户 |
PID | 进程ID |
%CPU | CPU占用率 |
%MEN | 内存占用率 |
VSZ | 占用虚拟内存 |
RSS | 占用实际内存 |
TTY | 进程运行的终端 |
STAT | 进程状态 |
TIME | 进程累计占用CPU时间 |
COMMAND | 进程发起者 |
查看当前目录的进程
ps aux
按照CPU占用百分比的降序排列
ps aux --sort -%cpu
动态查看进程
top
按 M 键以内存占用率排序, P 键以CPU占用率排序,N 键以PID数值大小排序,
F 键显示自定义显示字段,按上下键移动。 空格键选中,W 键保存自定义显示字段,q 键退出自定义显示字段
l 键显示所有CPU的负载
top命令后添加参数 ‘-d’ 可以设置刷新时间,以秒为单位 (设置为1秒刷新一次)
top -d 1
-p 可以查看一个或多个进程的动态信息 (查看PID为1和1000的进程信息)
top -d 1 -p 1,1000
-u 可以查看指定用户的进程,‘-n’ 可以设置刷新次数,完成后自动退出
top -d 1 -u apache -n 2
信号控制进程
kill命令通过向进程发送指定的信号来结束相应的进程,在默认的情况下采用编号为 15 的 TERM 信号
常见的信号
信号编号 | 名称 | 特性及意义 |
---|---|---|
1 | SIGHUP | 启动被终止的进程,重新加载,PID不会发生变化 |
9 | SIGKILL | 强制终止进程,可能导致进程无法再次启动 |
15 | SIGTERM | 默认信号,以正常流程终止进程,允许进程释放资源。若进程已经出现问题,无响应,则信号不起作用 |
18 | SIGCONT | 恢复进程 |
19 | SIGSTOP | 暂停进程 |
yum
yum卡死解决
删除rpm数据文件
rm -f /var/lib/rpm/__db.00*
重建rpm数据文件
rpm -vv --rebuilddb
清空缓存后再重新缓存
yum clean all
yum makecache
防火墙配置
防火墙
查看firewall服务状态
systemctl status firewalld
查看firewall的状态
firewall-cmd --state (firwall-cmd:是Linux提供的操作firewall的一个工具)
开启、重启、关闭 firewalld.service 服务
service firewalld start
service firewalld restart
service firewalld stop
查看防火墙规则
firewall-cmd --list-all
端口
查询端口是否开放
firewall-cmd --query-port=8080/tcp
开放80端口
firewall-cmd --permanent --add-port=80/tcp (permanent 表示设置为持久,–add-port:标识添加的端口)
移除端口
firewall-cmd --permanent --remove-port=8080/tcp