一、走进Linux
服务器类型:塔式服务器、刀片式服务器、机架式服务器
服务器基建:云服务器、物理服务器、虚拟服务器、容器
操作系统:Centos、Ubuntu、debian、欧拉、龙蜥、银河麒麟、中标麒麟
#修改时区timedatectl set-timezone Asia/Shanghai/etc/localtime#日期时间date#查看时间date -s "年-月-日 时:分:秒" #修改时间date +"%F %T" 格式化打印时间 "%Y-%m-%d%H:%M:%S"date -d "+1 minute" #指定相对当前时间的某个时间 #同步时间ntpdate ntp.aliyun.comntpdate time.windows.com#打印所在当前所在路径pwd#查看某个目录下有什么内容lsls -a|A 查看隐藏文件-l 查看详细信息-i 查看indoe号-h 人性化显示 -d 查看目录本身#切换目录cd 目标地址cd .当前目录 cd ..返回上一级目录cd ~或不跟任何东西 跳转到家目录 cd - 切换到之前所在目录#创建文件touch 文件路径/文件名 不加路径默认创建在当前目录下#删除文件rm 文件或目录名 rm -r 删除目录rm -rf 强制删除#关机和重启init 0 或 poweroff关机init 6 或 reboot重启#别名alias #查看别名alias 命令=‘需要设置别名的命令’ #设置别名unalias #取消别名
二、文件管理
目录路径Linux是单根、Windows是多根
绝对路径、相对路径
文件类型 -普通文件 l软链接 d目录 b设备
常用指令 vim
用户和组
2.1常用命令
#历史命令记录history#打印信息到终端echo "需要打印的信息" #-n 取消换行-e 让特殊字符有意义echo "text" > a.txt #>覆盖到文件中 >>追加到文件中#创建目录mkdir 路径 #-p 创建连级目录-v显示详细信息#复制cp 源路径目标路径# -r 复制目录#移动mv 源路径目标路径#mv 如果在修改时指定新的名字,也可以用来给文件改名#查看文件内容cat 文件路径 # -n 查看时显示行号tail 文件路径 # 查看文件尾部内容 -n查看的行数-f实时查看 -F包含f的功能,也可以等待文件创建head 文件路径 # 查看文件头部内容 -n查看的行数#过滤文件内容grep "需要过滤的关键字"文件路径 # -r 递归过滤。可以过滤当前路径中的所有文件
2.2 vim
4个模式默认模式(命令模式) 编辑模式#按i、I、a、A、o、O扩展命令模式# 按 :可视化模式#ctrl+v 或 shift+v:wq 保存退出:w保存:q退出:wq! 强制保存退出:q!强制退出不保存
2.3用户和组
#用户组相关文件/etc/passwd用户信息存放文件/etc/group 创建用户时会自动创建同名组,组信息的存放文件/etc/shadow密码存放文件/home用户家目录/var/mail用户邮箱/var/spool/at用户一次性计划任务/var/spool/cron用户计划任务#创建用户组useradd 用户名 # -s指定登录shell -g指定主属组 -G指定附属组groupadd组名#修改用户组usermod -aG 组名 用户名 #追加用户到组usermod -g组名 用户名 #给用户修改主属组groupmod -g 组名#修改组信息passwd用户#修改用户密码gpasswd组 #-a 添加用户到组 -M指定组内成员 -d从组中删除用户
三、权限管理
基本权限UGO
高级权限
提权方法
特殊权限
隐藏权限
31.基本权限
UuserGgroupO otherR4读W 2写X1执行[root@localhost ~]# ll-rw-r--r-- 1 root zhangsan 93605 Mar 15 09:29 a.txt普通文件 用户-读写6 组-读4 其他人-读4 主-root 组-张三 #设置权限 -R 递归设置chmod 742文件chmodu=rwx,g=r,o=w 文件#a表示所有角色chmod u+r,o-w文件#用户加个读权限,其他人减去写权限#设置主属组chown 主:组 文件chown 主 或chown:组#只改其中一个su 用户名 #切换用户
3.2高级权限
suid# 给命令赋权,该命令所有用户使用将会像root权限一样chmod u+ssgid# 给目录设置,该目录中所有创建的文件会继承目录的属组chmod g+ssticky # 给目录设置,该目录中只有自己或root可以删除自己的文件,其他用户即便拥有删除权限,也不能删除chmod o+t
3.3提权
1.chomod u+s#使用命令提权2.visudo#用户提取3.setfacl #给某个用户针对某个文件提权getfacl 查看
3.4隐藏权限
#查看lsattr#设置chattr +a 只能追加,不可覆盖chattr +i 只能读,不能做任何修改
四、进程
查看进程、实时查看进程、处理进程
4.1 查看进程
1、查看所有进程ps aux ps -ef2、查看网络进程ss -anlp # -tnlp -unlpnetstat 参数一样3、lsof根据文件或端口查看对应的进程4、w查看当前登录的用户终端进程5、pidofpgrep根据进程名称找到所有进程pid
4.2 实时查看进程
top htop
4.3 处理进程
# 杀死进程-1 重新加载 -9 强制杀死 -15 正常杀死 -18 恢复 -19 挂起kill 根据pidpkill 根据名字killall 根据pidjobs 查看后台运行的进程# 前后台进程运行时 启动命令 & # 放到后台bg % 工作号 # 后台运行fg % 工作号 # 前台运行进程运行中ctrl + z # 放到后台,并停止bg % 工作号 # 后台运行fg % 工作号 # 前台运行常用指令free -m # 查看内存使用 -k 千字节 -g g字节 -h 人性化uptime # 查看时间和cpu平均负载rz # 上传sz # 下载
五、管道和重定向
管道、重定向、xargs
5.1 重定向
# 文件描述符0 标准输入1 标准正确输出2 标准错误输出& 混合输出1>&2 正确到错误管道2>&1 错误到正确管道# 丢弃输出ls / &>/dev/null# 丢弃错误ls / 2>/dev/null# 分离ls / /hello 1>a.txt 2>b.txt> 覆盖 >> 追加# 输入重定向cat < a.txt <<EOF # 覆盖到文件a.txt helloEOF
5.2 管道
前面的命令执行的结果中的正确输出 | 以标准输入的方式接受前面的正确输出cat /etc/passwd | grep 'root' 查看passwd这个文件,然后交给后面过滤出rootxargs 指令 # 将接受管道前面推送的所有输出作为参数,按照规律交给后面的命令echo -e "1.txt 2.txt 3.txt" | xargs -n 1 sh -c 'touch $0'#-n可以决定每次接受几个参数sh -c执行后面‘’中的内容
六、磁盘管理
分区方式、文件系统、挂载、逻辑卷、raid 磁盘阵列
6.1 分区方式
MBR 4个主分区或3个主分区+1个扩展分区(逻辑分区)不超过2TGPT 128个主分区 可以超过2T
6.2 文件系统
xfsext#格式化mkfs.xfsmkfs.ext4mkswap#挂载临时mount 设备 挂载目录# -t 指定文件系统类型-o 指定挂载模式 rw只读模式remount重新挂载#永久挂载/etc/fstab/etc/rc。local #这个目录需要加执行权限#查看所有磁盘设备的信息lsblk#查看当前已挂载的磁盘和使用情况df -Th#查看目录或文件的大小du -sh
6.3 逻辑卷
# 创建1、添加磁盘2、将磁盘制作为物理卷pvcreate3、将物理卷加入到卷组,没有可以创建vgcreatevgextend4、创建逻辑卷lvcreate扩容当卷组有剩余空间1、扩容逻辑卷lvextend2、扩容文件系统resize2fsxfs_growfs当卷组没有空间1、添加磁盘2、将磁盘制作为物理卷pvcreate3、将物理卷加入到卷组vgextend4、扩容文件系统resize2fsxfs_growfs
6.4 磁盘阵列
raid0 条带卷读写:快 数据安全:低 磁盘利用率:100%raid1 镜像卷读写:读快 数据安全:高 磁盘利用率:50%raid5 带有奇偶校验的条带卷读写:一般 数据安全:中 磁盘利用率:n-1/n