写在前面
作为一名开发工程师,如果公司工作细分不到位,那么工作范围会逐步扩大,蔓延到linux系统部署、调度、运维是常态。除了标准化大厂可以做到螺丝钉在螺丝钉的位置,好多公司都是一人多用。用linux系统一年半了,常用命令都很熟悉。为了查漏补缺系统学习了尚硅谷韩顺平老师的Linux教程(78讲)https://www.bilibili.com/video/BV1dW411M7xL?p=2 韩老师的课堂笔记(https://pan.baidu.com/s/1rUAv-zgLYEparAbo5Ab1oA 密码:xvzs )
一边听一边做笔记,说实话这个系列课程比较适合0基础的集美们,本着查漏补缺的心态刷了一遍,刷到我头晕眼花。韩老师的课堂笔记173页,虽然难度不大但是一页页看的话也需要很长时间。本篇文章梳理下了经常会用到知识,力求短小精悍。以下脚本命令虽不是最全的,但是是项目中用到最多的。
第一节:centos目录结构
linux系统中一切皆是文件,linux文件系统是级层式的树状目录结构,最上面是根目录/。- /bin(重点) 存放着经常用到的各种命令
- /sbin目录存放着系统管理员使用的系统管理程序
- /home(重点)存放普通用户的主目录,每一个linux用户都有一个主目录。一般情况以用户账号命名。创建一个新用户会默认在/home目录下生成同名的目录结构。比如/home/test1
- /root(重点)超级管理员的主目录
- /etc(重点)所有系统所需要的配置文件及子目录
- /usr(重点)用户的很多程序与文件,类似于windows的program files
- /boot(重点)存放启动linux的核心文件
- /proc /srv /sys 目录尽量不要动,除非你想跑路
- /media 系统识别的光盘、u盘会自动挂载在这个目录
- /mnt 临时挂载文件系统
- /opt (重点)给主机额外安装软件的目录
- /var (重点)存放着扩充的文件,比如日志等
第二节 连接服务器工具xshell
无论是通过xshell还是直接通过ssh命令连接服务器,被连接的服务器都必须启动sshd服务。
第三节 linux-vi vim编辑器
在linux中编辑软件是首要的。通过vi vim打开后文件有三种模式:
- 正常模式:此模式下可以移动光标,可以删除整行(dd)等操作
- 编辑模式:输入i即可进入编辑状态
-
命令行模式:在此模式下可以保存退出(wq!)、查找(/)等。
其他快捷键:
- shutdown -h now ------关机
- reboot ------重启
- sync ------将内存的数据写入硬盘(在关机前养成习惯,防止数据丢失)
- su - 用户名 ------切换用户
第四节:用户管理
linux是一个多用户多任务的操作系统,每个用户至少属于一个用户组。
- useradd 【选项】用户名 ------添加用户
useradd -d /home/dog 用户名 创建用户的时候指定家目录。
- passd 用户名 ------指定密码
- userdel 用户名 ------删除用户
userdel -r 用户名 删除用户的时候也删除家目录(最好不要删掉家目录,除非确定没有重要文件)
- id 用户名 -------查询用户信息 查询所在组及id等。
- groupadd 用户组名 ------新增用户组名
- groupdel 用户组名 -------删除用户组名
与用户管理相关的配置文件:/etc/passwd记录了用户的各种信息比如用户名、组标识等;/etc/shadow存储了加密口令等;/etc/group存储了用户组的信息。
第五节:linux实操指令
5.1 指令运行级别
5.2 帮助类指令
- man
man ls 查找ls命令含义
- help
help ls 查找ls命令含义
5.3 文件目录类(重点掌握)
- pwd 显示当前目录的绝对目录
- ls 显示当前目录文件/目录
ls -a 显示全部的文件(包括隐藏文件)
ls -l 以列表的方式显示文件
ls -al 列表的方式显示全部的文件。
- cd 切换目录
cd ~ 切换家目录
cd .. 切换上级目录
- mkdir 创建目录
mkdir -p /home/dog/leg 创建多级目录
- rmdir 删除空目录
- rm 删除
rm 文件名 删除文件
rm -r 递归删除整个文件夹
rm -f 强制删除不提示
rm -rf 强制删除整个文件夹下所有文件
- touch 创建文件,可以一次创建多个文件
- cp拷贝
cp 源文件 目的路径 eg:cp /home/test.txt /data
cp -r 源目录 目的路径 eg:cp -r /home /data 会将整个home路径递归拷贝到/data
- mv 移动文件或者重命名
- cat 查看文件不能修改,以只读的方式打开文件。
cat -n 文件名 会显示文件内容及行号
- more 分页显示
一般cat搭配more使用 分页显示 eg: cat -n test.txt | more 使用more指令后【空白键】代表下翻一页、【enter】键代表下翻一行。
- less 与more类似但是功能更强大,不是一整个文件加载后才显示,而是根据显示需求加载内容。显示大文件有较高的效率。
- > >> 重定向输出
>会覆盖 >>会追加内容
- echo 输出内容到控制台
- head 显示文件开头部分
head -n 5 显示前5行
- tail 显示文件结尾部分
tail -f 实时追踪
- ln软链接,类似于windows的快捷方式
- history 可以看当前用户的所有操作记录。
5.4 时间类
date 显示当前日期
date "+%Y-%m-%d" 可以按照指定时间范围设置参数,在自动化调度脚本时会用到。
5.5 查找类
- find 查找
find 目录 -name 文件名 按照文件名查找
find 目录 -user 用户名 查找用户的文件
find 目录 -size +20m(查找大于20m的文件)
- locate
locate可以快速定位路径,但是前提是要使用updatedb指令创建locate数据库。
- grep与管道符 |
一般与其他指令一起用 eg:cat test.txt | grep yes
grep -i 忽略大小写 eg:cat test.txt | grep -i yes
5.6 压缩解压缩相关
- gzip gunzip gzip压缩为.gz的文件,gunzip解压。
- zip unzip
zip -r 递归压缩
eg:zip -r mypackage.zip /home/
unzip -d 递归解压缩
eg:unzip -d /opt/tmp/ mypackage.zip
- tar 压缩:tar -zcvf 目标文件名 待压缩文件 解压缩: tar -zxvf 待解压文件
压缩文件 eg:tar -zcvf a.tar.gz test1.txt test2.txt
解压文件到当前目录 eg:tar -zxvf a.tar.gz
解压文件到指定目录 eg: tar -zxvf a.tar.gz -C /opt/
写在后面
后续更新组管理与权限管理、定时调度、磁盘使用情况查询、进程管理等。