Linux 知识

背景

GNU计划:建立免费Unix系统的计划。后Linux加入该计划。GUN即GUN's Not Unix。
GPL:GNU Public License, 开源许可证
BSD: Berkeley Software Distribution,伯克利软件套件,伯克利大学开发的一个UNIX分支
System V:AT&T开发的一个UNIX分支
Linux发行版:在Linux内核的基础上开发一系列辅助软件,打包发布
Red Hat Enterprise Linux:红帽公司企业版Linux
Fedora:费多拉,红帽公司社区版Linux
SUSE Linux Enterprise: SUSE公司企业版Linux,SUSE公司已被Novell公司收购
openSUSE: SUSE公司社区版Linux
Debian:蝶变,社区开发
Ubuntu:乌班图,社区开发,母版为Debian
CentOS:免费的,模板为Red Hat Enterprise Linux

登录相关

1、SSH(Secure Shell)
工具:OpenSSH,是SSH协议的开源实现
跨平台客户端:Xshell、SecureCRT、PuTTY
Linux客户端命令:ssh -l username IP
免密登录:
1、生成密钥对:ssh-keygen -t rsa,公私钥都在~/.ssh/ 下
2、公钥发送给远程主机:scp ~/.ssh/id_rsa.pub user@ip:~/.ssh/
3、远程主机将公钥追加到公钥列表:cat ~/.ssh/id_rsa.pub >> authorized_keys

2、VNC(Virtual Network Console)
跨平台客户端:vncviewer、NoVnc(WebSockets通信、Canvas显示)

传输相关

1、FTP(File Transfer Protocol)
跨平台客户端:Xftp

2、SCP(Secure Copy Protocol)
跨平台客户端:WinSCP
Linux客户端命令:scp file user@IP:/目录/文件名

3、Zmodem
跨平台客户端命令rz(Receive Zmodem):rz是客户端命令,非shell命令。rz触发客户端发起Zmodem传输

4、curl、wget
下载:curl url -o filename;wget -O filename url
curl XPOST url -d'请求体'

帮助相关

命令选项格式:
1、单选项:'-字母'、'--单词';'-字母'是'--单词'的简写
2、多选项:'-字母选项连写'(System V风格)、'字母选项连写'(BSD风格)
3、-h或--help是显示帮助

命令行补全:单击Tab补全命令 或 文件名,双击Tab列出命令或文件名可选项

目录相关

FHS:Filesystem Hierarchy Standard 目录划分标准
代号目录:主目录 ~、根目录 / 、前一个目录 -
系统目录
/boot Bootstrap:系统引导相关文件、/lib Libraries:动态链接共享库、/sbin System-only binaries:系统管理命令、/proc Processes:系统内存的映射,虚拟目录、/bin Binaries:一般命令
程序目录
/usr Unix Software Resource:系统自带资源和用户安装资源、/opt Optionally 第三方程序、/etc Etcetera 配置文件、/var Variable files:程序运行所产生的数据、/srv Service:网络服务数据、/tmp Temporary files:临时文件
用户与设备目录
/dev Devices:设备文件、/media Media:系统自动挂载目录、/mnt Mount:供临时挂载设备、/home/用户名 普通用户主目录、/root 超级用户主目录

文件相关

文件类型:普通文件-,目录d,字符设备文件c,块设备文件b,本地域套接口s,有名管道p,符号链接l
符号链接:ln file link_file 创建硬链接,相当于新增引用;ln -s file link_file;创建软链接,相当于创建快捷方式

程序相关

shell:命令解释器
BASH:Bourne Again Shell,一种shell。程序文件在 /bin/bash
$PATH:环境变量,查找命令的目录
标准输出:通常为显示器
管道:ls | grep 're',ls的输出作为grep的输入
包管理工具
dpkg:Debian Packager,Debian(包括Ubuntu)使用的包管理工具,管理 .deb包
apt:Advanced Package Tool,Debian(包括Ubuntu)使用的包管理工具,基于dpkg
rpm:RedHat Package Manager,RedHat(包括CentOs)使用的包管理工具,管理.rpm 包
yum:Yellow dog Updater, Modified,RedHat(包括CentOs)使用的包管理工具,基于rpm

rpm
RPM包会有默认安装路径,源码包一般安装在/usr/local
RPM包默认路径:配置文件/etc,启动脚本/etc/init.d,初始化环境配置 /etc/sysconfig,服务产生的数据/var/lib,日志/var/log

yum
yum配置文件:/etc/yum.repos.d/CentOS-Base.repo,yum源在这里修改

gcc:GNU Compiler Collection,编译C程序,gcc file.c
g++:编译C++程序,g++ file.c++
守护进程(daemon, d, .d)
守护进程命令都有的参数:start\stop\restart
系统守护进程:init进程或者Systemd进程,内核启动的第一个用户级进程,PID为1,其他进程都是它的子进程
端口:0-65535,ftp 21,ssh 22,smtp 25,dns 53,http 80,https 443
预留端口:0-10000端口,在/etc/services 中可以查看

权限相关

rwxrw-r-- root root:属主权限rwx,属组权限rw-,其他人权限r--,属主是root,属组是root
普通用户能修改密码的原理:修改密码即修改/etc/shadow,但普通用户对它没有写权限。/usr/bin/passwd 的属主有s权限,即SetUID权限,能让普通用户以属主身份执行passwd,即root身份。给文件增加SetUID权限的方法:chmod u+s 文件名。同理,给文件或目录设置SetGID权限:chmod g+s。目录有SetGID权限时,任何用户在这个目录下新建的文件,文件的属组都是这个目录的属组,而不是用户的属组。

升权配置:/etc/sudoers,格式:A B=(C) NOPASSWD: D
A 为可以sudo的用户,可以为ALL;B为被管理主机的地址,本主机可能可以同时管理多台其他主机,可以为ALL;C为以什么临时身份执行目标命令,可以为ALL,也可以省略;NOPASSWD: 可选;D为授权的命令,需写命令全路径,可以为ALL

设备相关

IDE硬盘:/dev/hd[a-d]
SCSI/SATA/USB硬盘,U盘:/dev/sd[a-p]
配置swap分区:fdisk n 新建分区 -> fdisk t 将分区系统Id改为82 -> partprobe 让内核重新加载分区表 -> mkswap /dev/分区,格式化为swap格式 -> swapon /dev/分区,启动swap分区

系统相关

系统运行级别:0 关机,1 单用户(安全模式),2不完全多用户(不包含NFS服务),3完全多用户,4 未分配,5 图像界面,6重启

任务相关

周期任务
全局配置文件:/etc/crontab,意为Chronos table;/etc/cron.d/下的任意文件
单用户配置文件:在/var/spool/cron/下,通过crontab命令访问
配置格式:0 17 * 8 5 root tar czf book.tar.gz /book/*.doc,表示 8月的每个星期5的17点0分,以root身份执行 tar
定时脚本:/etc/cron.hourly/下、/etc/cron.daily/下、/etc/cron.weekly/下、/etc/cron.monthly/下放的脚本会被定时执行
crond进程:即cron守护进程,每1分钟读取/etc/crontab和/etc/cron.d/,执行这分钟的计划任务
crontab命令权限黑名单:/etc/cron.deny
crontab命令权限白名单:/etc/cron.allow,有白名单则不看黑名单
crontab日志:/var/log/cron
单次任务
设置:at 18:00;命令;Ctrl + D 结束(向at程序发送EOT消息)
查看:atq
删除: atrm任务编号
开机启动
开机启动:方法一:chkconfig --level 2345 httpd on 或 systemctl enable httpd.service;方法二:加入/etc/rc.local
启动/etc/init.d下的服务:/etc/init.d/httpd start 或 service httpd start 或 systemctl start httpd.service
查看服务列表:chkconfig --list 或 systemctl list-unit-files
systemctl:centos提供的命令,融合了service和chkconfig的功能,
自开发系统服务
1、/etc/rc.d/init.d/ 下新建守护程序 service.d,定义 start 和 stop 方法
2、把守护程序添加到系统服务列表:chkconfig --add service.d
3、开启服务:chkconfig service.d on

阿里云

云服务器 ECS:可选择纯操作系统镜像,可以选择已搭载应用的镜像,搭载的应用包括建站系统(内容管理系统CMS)、运行环境(例如LAMP)、开发工具(例如GitLab、phpwind)、数据库、服务器软件、企业应用

轻量应用服务器:简单配置即可创建的ECS

GPU云服务器:基于 图形处理器 的ECS

FPGA云服务器:基于 硬件加速 的ECS

专有宿主机:硬件(物理)独享 的ECS

超级计算集群:基于RDMA,把一个集群当做一个高性能ECS来使用

弹性高性能计算E-HPC:拥有高性能计算HPC(超算)能力的ECS集群

弹性伸缩:自动调整弹性计算资源

资源编排ROS:通过模板描述多个云计算资源的依赖关系、配置等,自动完成所有资源的创建和配置,以达到自动化部署、运维等目的,即通过编排配置文件 或 可视化编排器来管理一组资源及其相互间的关联

函数计算:提交代码即可运行,支持nodejs、java、python等,可以连接OSS、ECS、RDS等

建站相关:云虚拟机主机(建站用的ECS)、海外云虚拟机、弹性Web托管(建站用的虚拟空间)、阿里云自营建站

你可能感兴趣的:(Linux 知识)