重要系统目录介绍、Linux常用命令、vim快捷键、文本工具、tar打包压缩、yum安装与卸载、编译安装、应用服务化、用户与用户组常用命令、sudo、firewall防火墙
系统目录| 绝对路径 | 用途 |
|---|---|
| /bin | 常用的二进制命令所在目录, 例如ls、cp、mkdir… |
| /etc | yum、rpm方式安装应用程序的默认配置文件路径 |
| /usr | 存放用户应用程序的目录,包含两个重要子目录 |
| /usr/local | 编译方式安装程序的默认目录 |
| /usr/src | 程序源码目录 |
| 命令 | 用途 |
|---|---|
| cd | 切换目录 |
| pwd | 查看当前目录 |
| ls、ll | 显示目录内容 |
| mkdir | 创建目录 |
| cp | 复制文件与目录 |
| mv | 移动或重命名文件 |
| rm | 删除文件或目录 |
| find | 查找目录或文件 |
-p 创建多级目录
mkdir -p demo/1/2/3
-v 详细打印每个创建目录信息
mkdir -v demo/4cp参数
-r 递归复制
cp -r source newrm参数
-f 强制删除不提示
rm -f demo/1/2/3
-r 递归删除目录和内容
rm -r demofind
# 查找demo目录下 后缀为.txt的文件 find ./demo/ -name *.txtvim快捷键
vim有三种模式分别是命令模式、输入模式、底线命令模式,在命令模式下按键盘 i 可进入到输入模式;输入 : 可进入到底线命令模式
| 命令 | 用途 |
|---|---|
| delete或x | 删除单个字符 |
| dd | 删除整行 |
| u | 撤销最近一次操作 |
| /str | 全文查找str字符串,n下一个,N前一个 |
| :% s/old/new/g | 替换文件内所有old字符串为new |
| :wq或者:wq! | 退出并保存,只读文件要额外加! |
| :q! | 强制退出放弃保存 |
| 命令 | 用途 |
|---|---|
| echo | 屏幕打印与文本输出 |
| cat | 合并文件或查看文件内容 |
| tail | 显示文件内容尾部 |
| grep | 文本过滤工具 |
# 文本输出 echo "hello" # 屏幕打印 hello.txt 文件 echo hello.txt # 将world输入到 hello.txt 文件(覆盖) echo "world" > hello.txt # 将world追加到 hello.txt 文件 echo "world" >> hello.txtcat
# 查看文件内容 cat hello.txt # 将两个文件合并写入到 new.txt cat hello.txt world.txt >> new.txt # 重写文件(要以定义的end结尾结束) cat > demo.txt << end
-n 显示行号
cat -n hello.txt
-E 在每行末尾显示 $
cat -E hello.txttail
-n 指定输出最后2行
tail -n 2 hello.txt
-f 事实监控文件的变化
tail -f hello.txtgrep
# 在 hello.txt 中查找hello grep mushan hello.txt
-v 排除指定字符
grep -v mushan hello.txt
-E 使用正则表达式
# 例如:log1.txt log10.txt log00009.txt
grep -E "log[0-9]{1,5}.txt"
查看指定的文件
ll | grep hello.txttar打包和压缩
| 命令 | 用途 |
|---|---|
| z | 通过gzip压缩或解压 |
| c | 创建新的tar.gz文件 |
| v | 显示执行过程 |
| f | 指定压缩文件名称 |
| x | 解压tar.gz文件 |
| -C | 指定解压的目录 |
# 压缩命令(把/usr/local/tomcat压缩成tomcat.tar.gz) tar zcvf tomcat.tar.gz /usr/local/tomcat # 解压缩命令(把tomcat解压到当前目录) tar zxvf tomcat.tar.gz # 解压缩命令(把tomcat解压到/usr/local) tar zxvf tomcat.tar.gz -C /usr/localyum安装和卸载
# 在仓库中查询tree是否存在指定应用 yum search tree # 下载安装应用及相关依赖(-y 遇到询问统一使用y进行回答) yum install -y tree.x86_64 # 查看 tree可执行文件位置 which three # 查询 tree安装了哪些文件 rpm -ql tree.x86_64 # 查看已安装的应用程序有哪些 yum list installed # 查看应用的详细信息 yum info tree.x86_64 # 查看已安装的应用程序有哪些(筛选包含了tree) yum list installed *tree* # 移除应用程序 yum remove tree.x86_64编译安装
# 下载解压源码后再根目录执行 make进行编译 make
yum和编译安装最大的区别是yum会自动在/usr/bin/生成对应的应用程序,而编译安装不会,它只会在编译的目录下生成应用程序
netstat 查看网络端口号| 命令 | 用途 |
|---|---|
| t | 显示tcp传输协议的连接状态 |
| u | 显示udp传输协议的连接状况 |
| l | 显示处于监听状态的网络连接 |
| p | 显示应用pid的程序名称 |
| n | 显示IP地址 |
| a | 显示所有连接 |
| o | 显示计时器 |
netstat -tulpn netstat -ano # 查看进程 ps -ef # 获取包含 vim的进程 ps -ef | grep vim # 杀死进程 kill -9 pid应用服务化
- 应用服务化是指让应用程序以服务方式在系统后台运行
- Linux系统对服务化应用进行统一管理
- 服务管理命令:systemctl
| 命令 | 用途 |
|---|---|
| start | 启动服务 |
| stop | 停止服务 |
| restart | 重启服务 |
| enable | 设置开机启动 |
| disable | 禁止开机启动 |
| status | 查看服务状态 |
| daemon-reload | 重载服务配置文件 |
| list-unit-files | 列出所有服务 |
| 命令 | 用途 |
|---|---|
| useradd [用户名] | 创建新用户 |
| passwd [用户名] | 修改密码 |
| usermod -g(-G可以赋予多个组) [组名] [用户名] | 修改用户信息/分配组(覆盖原组) |
| groupadd [组名] | 创建新的用户组 |
| groupdel [组名] | 删除用户组 |
| chown [用户名]:[组名] [目录名] | 更改文件的属主或属组 |
| chmod [750、777、700] [目录名] | 更改文件的访问权限 |
| newgrp | 切换用户当前组 |
| groups | 查看当前用户组 |
- sudo可以让普通用户拥有超级管理员的执行权限
- 普通用户要进行经过超级管理员授权才能使用
- 授权命令:visudo (100+gg定位到100行,把要添加的用户配置权限)
- 改完 visudo -c 进行格式检查
# 暂时申请权限 sudo su # 例如:单次操作获取权限 sudo useradd d3firewall防火墙
# 查看防火墙状态 running: 正在运行中 firewall-cmd --state # 查看当前放行的端口有哪些 firewall-cmd --list-ports # 添加放行8080端口 firewall-cmd --zone=public --permanent --add-port=8080/tcp # 移除放行8080端口 firewall-cmd --zone=public --permanent --remove-port=8080/tcp # 放行区域端口 firewall-cmd --zone=public --permanent --add-port=8000-9000/tcp # 将防火墙配置重载 firewall-cmd --reload



