什么是UNIX?
类UNIX系统
认识Linux
什么是Linux
发行版简介
LINUX源起
「你好,所有使用 minix 的人 -我正在为386 ( 486 ) AT 做一個免费的操作系統 ( 只是为了爱好 ),不会像 GNU 那样很大很专业。」
LINUX源起
GNU计划
GNU计划
GNU General Public License
在GPL条款下发布的主要GNU项目软件
GNU与Linux
• GNU
• 仍自行发展Hurd Kernel
• 开发许多以GPL发行的应用程序与工具程序
• Linux(Linus’s Unix)
• 由网络上热心的朋友一起发展Linux Kernel
• 采用GNU发展的许多应用程序与工具
• 应该称作GNU/Linux
Linux发行版
计算机体系结构
机箱外观分类
公有云:亚马逊、微软云、阿里云、腾讯云、华为云私有云:政务云、中原云、一朵云
业务相关
Linux系统安装
1、 安装模式:文本界面、图形界面
2、 分区规划:/boot、/home、swap、/
3、 软件包选择
4、 第三方驱动加载
安装模式
文本模式:
最小化安装,安装界面不直观,磁盘分区需要纯命令操作,安装速度快
图形模式:
用于高级定制,选择安装包,使用鼠标操作,安装过程可以选择中文,界面友好美观,磁盘分区工具简单易用
欢迎界面
语言
参数设置
安装过程
创建用户
设置root密码
完成安装
登录界面
安装模式
图形模式
SSH工具
Window下ssh工具
• SecureCRT 商业软件
• Xshell 商业软件 (有家庭校园免费版)
• MobaXterm 商业软件(有家庭免费版)
• Putty 开源软件
Linux下ssh工具
• SecureCRT 商业软件
• Putty 开源软件
• OpenSSH 开源软件(系统自带)
Xshell
Xshell输入用户名与密码
Xshell登录成功
CRT输入地址
CRT输入密码
CRT登录成功
ssh
# ssh [email protected] 以root用户登录192.168.8.129服务器
# ssh -p 64422 [email protected] 以root用户登录192.168.20.88使用64422端口
SFTP工具
windows下sftp工具
WinSCP连接
WinSCP主机信息
WinSCP登录成功
WinSCP文件操作
Xftp连接
Shell简介
时间配置
# timedatectl status 显示时间时区配置
# timedatectl set-time 18:30:30 设置时间为18:30:30
# timedatectl list-timezones 列出所有可用时区
# timedatectl set-timezone Asia/Shanghai 设置时区为Asia/Shanghai
# date 显示时间
# date +"%Y-%m-%d %H:%M" 显示格式为年月日以及时间
[root@localhost ~]# date -s '2000-11-21 00:00:00'
2000年 11月 21日 星期二 00:00:00 CST
[root@localhost ~]# date
2000年 11月 21日 星期二 00:00:13 CST
[root@localhost ~]#
语言配置
# localectl status 显示语言键盘配置
# localectl set-locale LANG=en_US.UTF-8 设置语言为en_US.UTF-8
# localectl list-locales 列出语言
# localectl list-keymaps 列出键盘布局
# localectl set-keymap us us 设置键盘布局为字符模式下us图形模式下us
主机名配置
• hostnamectl 配置主机名
• 命令格式: hostnamectl [options] [command]
• 功能介绍:查询和配置主机名
status 显示设置 set-hostname 设置主机名
• 命令示例:
# hostnamectl status 显示主机名
# hostnamectl set-hostname training.beyonds.info 设置主机名为training.beyonds.info
[root@master ~]# hostnamectl set-hostname localhost 设置主机吗为localhost
[root@master ~]# bash
[root@localhost ~]#
列出文件
# ls -a 列出所有文件
# ls -t 列出文件按时间排序
# ls -alh 列出所有文件显示大小按时间排序
切换目录
# cd /mnt 切换到/mnt目录
# cd – 切换到上次所在目录
# cd .. 返回上一级目录
# cd ../../../home 切换到相对目录home
# cd $ORACLE_HOME 切换到ORACLE_HOME变量值目录
# cd ~ 切换到用户主目录
创建文件
• touch 文件创建命令
• 命令格式:
touch [options] [arguments]
• 功能介绍:创建新的空文件,也可以用来改变文件的时间属性
-t 更改文件时间属性atime、mtime -r 修改为某个文件的时间
• 命令示例:
# touch newfile 创建一个文件newfile
# touch -t 1005201030 newfile 更改newfile时间戳为2010.05.20 10:30
# touch -r word.sql first.sql 以word.sql的时间为准修改first.sql的时间
创建目录
# mkdir newdirectory 创建目录newdirectory
# mkdir -p /tmp/permission/test 递归创建/tmp/permission/test目录
# mkdir -m 700 /tmp/upload 创建/tmp/upload目录并赋予权限700
复制文件
# cp oldfile newfile 复制oldfile为newfile
# cp -r /mnt/test /tmp/test 复制/mnt/test目录到/tmp/test
# cp -a /data/mysql /usr/local/mysql 复制/data/mysql目录到/usr/local/mysql保留权限等文件属性
移动文件
# mv /root/oldfile /tmp 移动oldfile到/tmp目录
# mv /data /u01 重命名/data为/u01
# mv /etc/hosts /etc/hosts.bak 重命名hosts为hosts.bak
删除文件
• rm 删除文件
• 命令格式:
rm [options] [arguments]
• 功能介绍: rm指令用户删除给定的文件和目录 -f 强制删除,不会有删除文件的信息提示
-r 递归方式删除目录及目录下所有内容
• 命令示例:
# rm testfile 删除testfile文件
# rm -f myfile 删除myfile文件
# rm -rf /tmp/backup 强制删除/tmp/backup文件
查看文件
# cat catalina.out 查看catalina.out文件
# cat -n /var/log/messages 查看/var/log/message文件显示行号
# cat -b readme.md 查看readme.md文件显示除空格外的行号
# more catalina.out 查看catalina.out文件
# more +100 /var/log/messages 从100行开始查看/var/log/messages文件
# more -s readme.md 合并多行空格为一行查看readme.md文件
# less catalina.out 查看catalina.out文件内容
# less -e /var/log/messages 查看/var/log/messages文件内容
# less -f sys.dat 强制打开sys.dat二进制文件内容
# tail catalina.log 查看catalina.log 文件内容
# tail -n 10 /var/log/messages 查看/var/log/messages文件第十行内容
# tail -f /tomcat/logs/catalina.out 查看/tomcat/logs/catalina.out最新的内容
查找内容
# grep beyonds readme.md 查找beyonds字符在文件readme.md中
# grep -v “#” /etc/fstab 查找/etc/fstab文件中不包含#的内容
# grep -rl error /var/log/ 查找/var/log目录中包含error的文件并列出文件名
# find /var/log -name messages* 查找/var/log目录下所有messges打头的问题
# find /root/ -perm 777 查找/root目录下权限为777的文件
# find /root/ -size +20M 查找/root目录下大小大于20M的文件
# find / -type d -perm 777 -exec chmod 755 {} \; 查找/下权限777的目录并修改权限为755
# find / -user tom +5M -exec cp -a {} /root/findfiles/ \; 查看你tom用户下大于5M的文件并复制到/root/findfiles下
VIM编辑器
VIM编辑器
vim编辑器有三种模式:
命令模式Command mode
打开vim编辑器之后默认进入命令模式,按“x”“yy”“p”“r”“R”“gg”“GG”命令模式操作
编辑模式Insert mode
按“A”“a”“O”“o”“I”“i”进入编辑模式操作按“esc”退出编辑模式,进入命 令模式
末行模式Last line mode
按“:wq”“:q!”“:w”“:q”“:help”进入末行模式
文件归档
文件解压缩
文件解压缩
解压缩命令
[root@localhost ~]# cat /etc/login.defs
#
# Please note that the parameters in this configuration file control the
# behavior of the tools from the shadow-utils component. None of these
# tools uses the PAM mechanism, and the utilities that use PAM (such as the
# passwd command) should therefore be configured elsewhere. Refer to
# /etc/pam.d/system-auth for more information.
#
# *REQUIRED*
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define both, MAIL_DIR takes precedence.
# QMAIL_DIR is for Qmail
#
#QMAIL_DIR Maildir
MAIL_DIR /var/spool/mail
#MAIL_FILE .mail
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 1000
UID_MAX 60000
# System accounts
SYS_UID_MIN 201
SYS_UID_MAX 999
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 1000
GID_MAX 60000
# System accounts
SYS_GID_MIN 201
SYS_GID_MAX 999
#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD /usr/sbin/userdel_local
#
# If useradd should create home directories for users by default
# On RH systems, we do. This option is overridden with the -m flag on
# useradd command line.
#
CREATE_HOME yes
# The permission mask is initialized to this value. If not specified,
# the permission mask will be initialized to 022.
UMASK 077
# This enables userdel to remove user groups if no members exist.
#
USERGROUPS_ENAB yes
# Use SHA512 to encrypt password.
ENCRYPT_METHOD SHA512
[root@localhost ~]#
root :x:0:0:root:/root:/bin/bash
beyonds:x:1000:1001::/home/beyonds:/bin/bash
beyonds: x : 1000 : 1001 : : /home/beyonds : /bin/bash
用户名 :密码 :UID :GID :描述详细 :主目录 :默认shell
用户和组
group文件格式 root:x:0:
beyonds:x:1001:
x : 1001 :
组名 :组密码 :GID :组中的用户
添加用户
用户密码
用户管理
删除用户
用户环境变量
添加用户组
用户组管理
用户组管理
删除用户组
切换用户
用户提权
权限简介
查看权限
[root@master ~]# ls -l
总用量 104
drwxr-xr-x. 2 root root 6 10月 15 15:58 公共
drwxr-xr-x. 2 root root 6 10月 15 15:58 模板
drwxr-xr-x. 2 root root 6 10月 15 15:58 视频
drwxr-xr-x. 2 root root 6 10月 15 15:58 图片
drwxr-xr-x. 2 root root 6 10月 15 15:58 文档
drwxr-xr-x. 2 root root 6 10月 15 15:58 下载
drwxr-xr-x. 2 root root 6 10月 15 15:58 音乐
drwxr-xr-x. 2 root root 6 10月 15 15:58 桌面
-rw-------. 1 root root 1220 10月 15 15:55 anaconda-ks.cfg
-rw-r--r--. 1 root root 1375 10月 15 15:57 initial-setup-ks.cfg
-rw-r--r-- 1 root root 94239 11月 25 11:05 test
[root@master ~]# ll
总用量 104
drwxr-xr-x. 2 root root 6 10月 15 15:58 公共
drwxr-xr-x. 2 root root 6 10月 15 15:58 模板
drwxr-xr-x. 2 root root 6 10月 15 15:58 视频
drwxr-xr-x. 2 root root 6 10月 15 15:58 图片
drwxr-xr-x. 2 root root 6 10月 15 15:58 文档
drwxr-xr-x. 2 root root 6 10月 15 15:58 下载
drwxr-xr-x. 2 root root 6 10月 15 15:58 音乐
drwxr-xr-x. 2 root root 6 10月 15 15:58 桌面
-rw-------. 1 root root 1220 10月 15 15:55 anaconda-ks.cfg
-rw-r--r--. 1 root root 1375 10月 15 15:57 initial-setup-ks.cfg
-rw-r--r-- 1 root root 94239 11月 25 11:05 test
[root@master ~]#
权限说明
drwxr-xr-x 6 7161 31415 156 May 29 23:22 mysql-utilities-commercial-1.6.5-py2.7
权限说明
权限说明
修改权限
修改属组
默认权限
ACL介绍
查询ACL
配置ACL
分区表
分区表
磁盘设备
IDE类型 hda SATA类型 sda 虚拟化 xvda 云平台 vda
查询磁盘
查询磁盘
挂载磁盘