CentOs

103 阅读5分钟

linux基础

pwd 查看当前目录

mkdir -pv /a/b/c/d 子递归创建目录

find / -name *.exe 查找在 / 目录下, exe为后缀的所有文件

rm -rf /a/b/c 递归强制删除 [危险]

mv a.exe b.exe 更替文件名

mv a.exe /usr 将a.exe文件移动到 /usr 目录下

which tree 查询tree安装的位置(其他指令一样,将tree换成你希望查询的应用指令即可)

VIM

  • i 开始编辑模式
  • esc 退回到普通模式
  •        以下是普通模式的快捷操作
  •        dd 会删除一整行的代码 , 清除单行注释时很有效
  •        /张三 ->查找全局所有出现张三的地方; n跳转到下一个匹配处; N跳转到上一个匹配处
  •        u 撤销修改
  • :% s/8080/8090/g 把全文8080的字符替换成8090
  • :q 退出    |    :q!强制退出
  • :wq 保存退出   |    :wq!强制保存退出 - 用于只读文件的

** 常用文本工具 **

  1. echo 屏幕打印输出 或直接 重写/追加 字符到文件
  2. cat 合并文件或查看文件内容
  3. tail 显示文件内容尾部 -- 查看日志会非常方便
  4. grep 文本过滤工具

echo指令
`echo "good"` 会在屏幕上打印 good 字符
`echo "good" > echo.txt` 若echo.txt不存在, 则直接创建echo.txt 并将good作为内容写入;
若文件存在, 那么会将内容替换为echo.txt
`echo "good" >> echo.txt` 对文件内容追加

cat指令
`cat echo.txt`   打印输出echo.txt的内容
`cat -n echo.txt` 打印输出文件 并在行首显示行
`cat -nE echo.txt` 打印输出文件, 行尾显示空行标记(以$替代), 行首显示行号
`cat a.txt b.txt c.txt >> d.txt` 将a,b,c文件的所有内容追加到d, 若d不存在, 则自动创建
`cat > new.txt << EOF` 表示可以手动在下方中端输入内容 直到遇到EOF则停止输入 (EOF是自定义的, 可以换成ABC等任意字符, 下方案例使用的为STOP )

image.png


tail指令 - s
`tail new.txt` 打印new.txt的最后几行
`tail -n 2 new.txt` 只打印输出new.txt的最后2行
`tail -f new.txt` 对new.txt 进行实时监控(文件有任何追加变化都会打印输出) [貌似开启两个终端后,一个用于监听, 一个用于修改; 修改的终端如果使用vim在普通模式下 ,利用dd进行删除时, tail -f 不会触发监听; 并且后续的追加动作也不会被记录...]

grep 指令 - 使用正则匹配对文件中出现的字符进行查找
`grep 希望被查找的字符串  进行查找的文件名`  将结果输出在控制台
`grep -v imooc new.txt`  将不包含imooc字符串的行 输出在控制台上 -v是取反
`grep 希望被查找的字符串 进行查找的文件 > 希望被写入的文件` 将结果渲染在被写入的文件里

重要扩展

ll | grep new.txt 如果我们只使用ll ,则会出现一堆文件, 这不利于我们查找指定的文件.我们可以追加通道 '|', 将ll查询出的内容作为数据源, 给到grep ,并以 后续的设定 作为筛选条件进行查询,则会非常明朗. ll | grep -E "log[0-9]{1,5}.txt" 表示使用正则进行匹配, 文件名以log开头 后面追加数字09,长度为15的txt文件

打包与压缩

image.png

tar zcvf tomcat.rar.gz /usr/local/tomcat 将/usr/local下的tomcat目录进行压缩, 压缩的文件名为tomcat.rar.gz

tar zxvf tomcat.rar.gz -C /usr/local/newDictory 将tomcat.rar.gz文件进行解压 , 如果不指定 -C与之后的文件路径 则解压到当前目录;反之则解压到指定目录

yum 与rpm 的关系

  • rpm安装过程中 需要用户自行下载依赖
  • yum通过引入软件仓库,连网线俺在rpm包以及依赖, 并依次自动安装
  • yum为rpm的前端程序, 意在简化rpm安装过程

yum常用命令

  1. yum search 应用名 # 在仓库中查找是否存在指定应用
  2. yum install -y 应用名 # 自动安装应用并其所有依赖
  3. yum info 应用名 # 查看应用相关详细信息
  4. yum list # 查看所有可以安装的包
  5. yum list installed # 查看所有已经安装的包 (yum list installed *tree* 也可以结合通配符模糊查找)
  6. rpm -ql 应用名 #查看安装后输出的文件清单
  7. yum remove -y 应用名 # 卸载指定 应用

编译方式安装应用程序

  1. 若yum未提供rpm, 那么通常会需要采用编译安装的方式
  2. 编译安装是指从官网上下载源码后 对源码进行编译后使用
  3. 编译命令: make #使用对应编译器对源码编译生成可执行文件

进阶

linux系统管理命令

netStat查看网络端口号 netstat -tulpn 可以配合grep 查找 : netstat -tulpn | grep redis

image.png 注意: 上述的PID显示只是需要使用网络端口的进程, 也就意味着, 一些本地操作, 比如vim编辑文件的pid就不会显示. 此时我们就需要使用ps -ef 进行监听

image.png

查看进程 与 杀死进程

ps -ef 查看所有进程服务 可以配合grep 查找 ps -ef | grep name/端口号

image.png

用户与用户组常用指令

image.png

一切分组由超级管理员设定

adduser dever1 创建账户dever1 - 程序员

adduser testor1 创建账户testor1 - 测试

passwd dever1 为账户dever1 设置密码

groupadd developer 新增developer分组

groupadd unitor 新增unitor分组

usermod -g dever1 developer 将 dever1 设置到developer分组

usermod -g dever1 unitor 将 unitor 设置到unitor分组

groups 查看当前账号的分组

使用chown来更改目录的所属 linux4-7课程

在新创建 dev-document 目录之后: chown dever1:developer dev-document 将文件夹所属给予developer足

image.png

chmod 750 dev-document 使用chmod指令进行权限控制

image.png

上述设置完毕后, 其他用户便不能再访问该文件夹了.

750的含义: 4+2+1 4+1 0

防火墙

在虚拟机开启tomcat后, 虚拟机内部访问localhost:8080是成功的; 但外部windows/mac却无法通过ip+端口号的方式访问8080端口, 这是由于请求被防火墙阻挡; 以下是解决方式:

firewall-cmd --state 查看当前防火墙状态 是否开启; 若开启则为running

firewall-cmd --list-ports 查看当前防火墙运行的端口号有哪些;

firewall-cmd --zone=public --permanent --add-port=8080/tcp

--permanet 为永久更改 若不加则为临时更改

--add-port=8080/tcp 表示采用tcp协议通讯时 放行8080端口

firewall-cmd --reload 在执行完永久更改设置之后, 要重启服务

设置完毕之后, 外部就能通过ip访问虚拟机的8080端口了

image.png