Linux 文件与目录管理
- 文件权限
- 例如用 ls -l code 查询可以得出: -rw-r–r-- 1 root root 79 Jan 20 11:40 hello.py
- - —> 普通文件,d —> 文件夹,l —> 符号链接
- rw- —> 文件的所有者对该文件具有怎样的权限
- r:读权限
- w:写权限
- x:执行权限
- r-- —> 和文件所有者同组的用户有怎样的权限
- r-- —> 其他用户(既不是所有者也不是同组用户)有怎样的权限
- Permission Denied —> 没有对应的权限
- 修改文件权限 ----- chmod
- chmod u+x,g+x,o+x hello.py
- chmod g-x,o-x hello.py
- chmod g+w hello.py
- u --> user --> 文件的所有者
- g --> group --> 同组用户
- o --> other --> 其他用户
- 在写python代码时,为了能够直接就启动,可以在代码的最上面写:#!/usr/bin/python3
- Pylint 检查代码:
- C —不符合Python的编程惯例
- R ----建议对代码进行重构(调整代码结构)
- W ----警告(必须要进行处理的问题)
- vim中同时打开了多个文件,怎么在文件中相互切换
- 在末行模式中输入ls ------> 查看打开的所有文件
- b 想要打开文件的数字序号-------> 切换到指定的文件
- 流编辑器:sed
- 可以直接在文件里面进行插入、删除等操作
- 在指定元素后面插入:sed “3a 插入的东西” 文件名
- 在指定元素后面插入: sed “3i 插入的东西” 文件名
- 删除:sed “3d” 文件名
- awk
- awk ‘NR=3’ 文件名 ------> 拿到文件的第三行
- awk ‘{print $3}’ 文件名 ------> 拿到文件的第三列
- uniq -----> unique :只给相邻的去重
- uniq 文件名
- sort :按照字符的顺序排序
- sort 文件名 | uniq (正向排序并去重)
- sort -r 文件名 | uniq (反向排序并去重)
- sort -r 文件名 | uniq -c (显示重复的次数)
- sort -nr numbers.txt (-n代表按照数值的大小排序,-r代表反向排序)
- 命令别名:
- alias 'rm = rm -f ’ : 将rm -f 别名为rm
- unalias rm : 把刚才的别名取消掉
Linux 用户和用户组管理
- 用户管理:
- 创建用户:useradd wangdachui
- -d 目录 ----> 指定新建用户的主目录,如果此目录比存在,则同时使用-m 选项,可以创建主目录
- useradd -d /home/sam -m sam
- 删除用户:userdel wangdachui
- -r : 将用户的主目录也一起删除
- userdel -r 用户名
- 创建和删除用户组:groupadd / groupdel
- 修改用户组的属性:groupmod
- 修改密码:
- passwd
- chage ----> 设置密码过期时间
- -e :设置密码立即过期,强制性要求修改密码
- -i : 设置密码过期多少天以后禁用该用户
- 切换用户:su 用户名 -----> switch user
- exit :从切换后的用户回到原来的用户
- sudo -----> super user do: 以超级用户的身份来执行命令,要想执行这个命令首先要进行三大灵魂拷问,同时必须在sudoers file清单里面,输的是自己的密码
- visudo -----> 编辑超级用户清单,即可进入清单里面,再将该文件做和root一样的设定
- 再执行:sudo ls /root
- chmod ----> 改变文件的权限
- chown -------> 改变文件的所有者
- chgrp ------> 改变文件的所有组
- 创建用户:useradd wangdachui
Linux 磁盘管理
- 磁盘管理
- df -----> 查看磁盘的状况
- df -h
- mount / umount ----> 挂载 /卸载
- df -----> 查看磁盘的状况
Linux 网络服务和管理
- 网络服务和管理相关命令:
- ping ---- 检查网络可达性 -----> 拒绝服务攻击手段
- Ping to Death-------> DDoS ----> Distributed Deny of Service
- TCP Flood ----> 洪泛攻击
- Ctrl + c 停下来
- 购买高防DOS服务
- ifconfig ------ 查看网络设备相关信息(即可以看到网卡信息)
- ip ------ 也可以查看IP地址,查看网络设备相关信息(即可以看到网卡信息)
- wget ----- 联网获取网络相关信息
- ssh / scp ------ 远程桌面 / 远程文件拷贝(安全文件拷贝)
- scp hello.py wangdachui@1.2.3.4: / home/wangdachui/code/
- 将自己的文件拷到对方的对应目录下
- scp wangdachui@1.2.3.4: / home/wangdachui/code/hello.py ./
- 将别的管理员的文件拷贝到自己的主机下
- scp -3 root@1.2.3.4:/root/hello.py root@4.3.2.1:/root/goodbye.py
- 在自己主机下控制相互传输文件
- scp hello.py wangdachui@1.2.3.4: / home/wangdachui/code/
- sftp -------> 安全文件传输
- sftp root@1.2.3.4
- sftp> get ------> 下载
- sftp> put ------> 上传
- sftp> help ------>查看帮助
- sftp> bye ------> 退出
- netstat — 查看网络连接的状况和网络的信息
- netstat -ntlp
- -n ----> 查看数值形式的网络地址
- -t -----> tcp
- -l ------> listen (监听状态)
- -p -----> process ------> 显示相关进程的信息 ----> PID / 进程名
- 通常一个网络应用汇基于TCP或UDP提供的传输服务来输出数据,一台服务器上通常又可以开启多个服务,端口就是用来区分不同的服务的,它是对IP地址的扩展。
- IP地址可以帮助我们找到网络上的主机,而端口就可以帮我们找到主机上对应的服务,一个端口上只能跑一个服务
- HTTP - 80 / HTTPS - 443 / SSH - 22 / SMTP - 25 / POP3 - 110 / MySQL - 3306 / Oracle - 1521 / SQL Server - 1433
- 1- 1024 : 著名端口,我们自己做的网络应用通常会避开这些端口, 1025 - 65535
- 哪些服务器在处于监听状态了,就代表该服务器对应的服务已经启动成功了
- 了解一下计算机网络系统:
- 计算机网络发展史:
- 1、美苏冷战:ARPANET ---- 分组交换网
- 2、ISO ----- OSI / RM (开放系统互联参考模型)---- 七层模型 — TCP/IP模型 ---- 四层模型 ----- 事实标准
- TCP ----> Trancfer Control Protocol (有一个握手的过程)
- 可靠传输(不传错、不传丢)
- 流量控制(调整收发数据的速率)
- 拥塞控制(不给网络添堵)
- UDP ----> User Datagram Protocol(直接发送出去就不管了)
- TCP ----> Trancfer Control Protocol (有一个握手的过程)
- 七层模型:
- 应用层
- 会话层
- 表示层
- 传输层-----> 端到端传输通信问题 ----> TCP(STREAM) / UDP(DGRAM)
- 网络层 —> 寻址和路由 -----> IP(Internet Protocol)
- 链路层 —> 分帧、校验
- 物理层—> 电气特性
- 四层模型:
- 应用层 ----> 定义应用级协议 ---- HTTP / FTP / SSH / QQ(应用传输数据的格式和
- 传输层-----> 端到端传输通信问题 ----> TCP(STREAM) / UDP(DGRAM)
- 网络层 —> 寻址和路由 -----> IP(Internet Protocol)
- 物理链路层 —> 分帧、校验
- 计算机网络发展史:
- netstat -ntlp
- ping ---- 检查网络可达性 -----> 拒绝服务攻击手段
Linux 进程管理
- 进程管理相关命令
- 杀掉进程: kill PID(进程ID)
- 强杀进程: kill -9 PID(进程ID)
- 根据进程名字杀掉进程:pkill 关键字 / killall
- xargs是过滤器,一般配合管道一起使用:pgrep python3 | xargs kill
- 查看所有进程的进程号:ps -aux 、 pstree
- 还可以进行关键字搜索:ps -aux | grep 关键字
- 反向查询(查询不带有grep的关键字进程):ps -aux | grep 关键字 | grep -v grep
- 进程资源管理器: top ----- 资源管理器
- 把命令放到后台运行:命令 &
- 查看后台运行的命令:jobs ---- > 只能查看当前会话的后台任务
- 将后台的命令放到前台来运行:fg %数字(编号) — foreground
- 让人物在后台运行: bg %数字 ----- background
- 快捷键:Ctrl + z 把前台任务暂停并放到后台
- ipcs :内部进程通讯机制:消息列、管道
Linux 计划任务命令
- 计划任务命令
- 将来时:
- 安排任务:at 时间
- at 17:00
- Ctrl + d : 产生EOT表示输入结束
- 查看安排了哪些定时任务:atq
- 取消定时任务:atrm 任务编号
- 安排任务:at 时间
- 周期性:
- crontab -e ----> 编辑克龙表(定时任务表),一到点就执行,而且是周期性的执行
- 分钟 小时 日 月 星期几 命令
- 第一列:分钟
- 0/5 每隔五分钟
- 第二列:小时
- 13-18 : 13点,14点,15点,16点,17点,18点
- 第三列:日
- 第四列:月
- 第五列:星期几
- 2, 3, 4 : 星期二、星期三、星期四
- 不执行星期几就用 *
- 第六列:执行的命令
- crontab -l -----> 查看克龙表
- crontab -e ----> 编辑克龙表(定时任务表),一到点就执行,而且是周期性的执行
- 将来时: