Linux总结
类Unix操作系统(一切皆文件,读,写,权限(用户,用户组),系统(磁盘,进程))
以网络为核心的设计思想
Kali linux:安全渗透使用
https://www.butian.net/
LAMP组合:(Linux+Apache+Mysql+PHP)
LNMP组合:(Linux+Nginx+Mysql+PHP)
基本命令
-
开关机
sync:强制关机前先同步数据到硬盘中
shutdown:关机
shutdown -h 10:十分钟后关机
shutdown -h now:立即关机
reboot:重启
halt:关闭系统 -
目录管理
绝对路径:路径全称
相对路径:当前目录下的
cd 切换目录命令
cd .. 返回上一级
./ 当前目录
ls 列出目录
clear 清理屏幕
ls -a 查看全部文件包括隐藏文件
ls -l 列出所有非隐藏文件以及属性
cd ~ 进入用户目录
pwd 显示当前用户所在目录
mkdir 创建目录文件(mkdir -p test/test1/test2:创建多级目录)
rmdir 删除目录(一层)(rmdir -p test/test1/test2:删除多级目录)
cp 原来的地方 新的地方 :复制文件或者目录
rm 移除文件或者目录(-f 忽略不存在的文件,将之删除,-r递归删除目录,-i删除询问是否删除)
mv 原来的地方 新的地方(原来的名字 新的名字) :移动(重命名)文件或者目录(-f 强制移动,-u只替换已经更新过的文件) -
基本属性
文件属性 文件数 属主(谁创建的) 属组(用户组) 文件大小 时间 (如果是l链接,说明这个快捷方式指向哪里)
d:目录
-:文件
l:链接
r:可读
w:可写
x:可执行
chgrp -r 属组名 文件名:更改文件属组
chown -r 属主名 文件名:更改文件属主
chmod 777 文件名:文件赋予所有用户可读可执行
(r:4 w:2 x:1)
rwx:7
rw-:6
r-x:5
-wx:3
-
文件内容查看
cat 从第一行显示文件内容
tac 从最后一行显示文件内容
ifconfig 查看网络配置
nl 显示文件内容并且显示行号
more 一页一页的显示内容(空格翻页,回车往下一行)
less 一页一页的显示内容(空格翻页,上下键反动页面,回车往下一行)
在文件中 -
链接l
硬链接:A---B,假设B是A的硬链接,那么他们两个指向了同一个文件,允许一个文件拥有多个路径(可以防止误删)
软链接:类似windows快捷方式,删除源文件,快捷方式就无法访问了
ln 源文件 目标文件:创建硬链接
ln -s 源文件 目标文件:创建软链接
touch 文件名:创建文件
echo "" >> 目标文件:输入字符串到文件
Vim编辑器
Vim通过一些插件可以实现和Idea一样的功能
- 命令模式:vim
- i/a/o 进入输入模式
- x 删除光标所在字符
- :进入底线输入模式
- 输入模式:编辑文件
- esc 退出输入模式
- 底线命令模式:最下面输命令
- wq 保存并退出
- set nu 显示行号
账号管理
useradd -选项 用户名:创建一个用户(/etc/passwd)
- -m 自动创建这个用户的主目录/home/Liuyunsan
- -c 增加描述
- -g 分配组
userdel -选项 用户名:删除一个用户 - -r 删除用户时将目录也删掉
usermod -选项 修改内容 用户名:修改一个用户 - -d 用户目录位置
su 用户名:切换用户(#管理员权限 $普通权限)
exit 退出当前用户回到root
hostname:查看主机名
hostname 主机名:修改主机名
用户的密码设置
- 通过root创建用户的时候配置密码
passwd 用户名 :增加该用户的密码 - 通过普通用户创建用户的时候配置密码
passwd:直接输入之后更改
锁定账户
root权限锁定账户,冻结账号
passwd -l 用户名:锁定用户,使之无法登录
passwd -d 用户名:清空密码,使之无法登录
用户组管理
集中管理用户
/etc/group
groupadd -g 组名 :创建一个用户组
-g 指定id号,如果不指定就是自增
groupdel 组名:删除用户组
groupmod -g 修改内容 组名:修改用户组权限信息和名字
-g 修改id
-n 修改组名
切换用户组
- 登陆目标用户
- newgrp 组名
文件查看
/etc/passwd
用户名:口令(登陆密码不可见):用户标识号(自增):组标识号:注释性描述:用户目录:登录Shell
登陆密码存在/etc/shadow中,自动转码保证密码的安全性,了解即可
/etc/group
用户组信息
磁盘管理
df: 列出文件系统整体的磁盘使用量
du:检查当前目录磁盘空间使用量
-h 显示大小以及挂载目录
-a 显示隐藏文件以及子文件夹
du -sm /* 检查根目录下的每个目录所占用的容量
系统初期最大的是/usr目录
mount /dev/xxx /mnt/xxx:将外部设备xxx挂载到mnt目录下,这样就可以访问了
umount -f 外部设备位置:卸载外部设备
进程管理
- 在Linux中,每一个程序都有自己的进程,每一个进程都有一个Id号4.
- 每一个进程都会有一个父进程
- 进程可以有两种存在方式:前台 后台
- 一般服务都是后台运行的,基本的程序都是前台运行的
命令:
ps -选项:查看当前系统中正在执行的各种进程的信息
-a 显示当前终端运行的一个进程信息
-u 以用户的信息显示进程
-x 显示后台运行进程的参数
ps -aux 查看所有的进程
| 这个叫作管道符过滤
ps -aux|grep mysql 查看mysql进程
ps -aux|grep redis 查看redis进程
ps -aux|grep java 查看java进程
ps -ef|grep mysql 可以查看mysql父进程信息,一般通过目录树结构来查看pstree -p(显示父id)/-u(显示用户组)
kill -9 进程的id:杀掉进程
安装软件的三种方式
- rpm (jdk)
- 解压缩 (tomcat)
- yum在线安装 (docker)
/etc/profies 环境变量配置
source /etc/profile 使这个配置文件生效
firewall-cmd --list-ports 查看开启的端口
firewall-cmd -zone=public --add-port=8080/tcp --permanent 开启8080端口
systemctl restart firewall.service 开启端口后重启防火墙