- VMware虚拟物理机,Linux的CentOS系统
- CentOS是Linux的发行版之一,它安全、稳定、高效,CentOS根据Red Hat Enterprise Linux开放源代码编译而成,与RedHat Linux并没有什么本质上的差别;但Red Hat Enterprise Linux是商业软件,使用必须向RedHat公司付费,而CentOS并没有任何使用上的限制
- 内核官网:http://www.kernel.org/
- linux的设计目标是建立不受任何商品化软件版权制约的、全世界都能自由使用的类unix兼容产品
- linux为主流的服务器系统,Android系统与linux系统有联系
- *?CentOS设置vpn(问题很多)
- su - root利用root用户权限
- yum install ppp pptp pptp-setup
- https://blog.csdn.net/qq_26938637/article/details/77930277
- vim /etc/hosts 加入vpn设置地址+hostname,建立映射
- vim /etc/sysconfig/network-scripts/ifcfg-ens33文件中的ONBOOT=yes和BOOTPROTO="static",设置开机启动和静态IP
linux目录结构
- /文件系统的入口,最高一级目录
- /bin基础系统所需要的命令位于此目录,如:ls, cp, mkdir等;二进制可执行命令
- /boot包含Linux内核及系统引导程序所需要的文件;系统启动核心文件
- /dev设备文件存储目录,比如声卡、磁盘... ... ;设备驱动器
- /etc存放系统程序或者一般工具的配置文件;系统配置文件,如网络配置文件
- /home普通用户默认存放目录,它们以 /home/username 的方式存在;用户主目录,可以看到用户的文件夹
- /lib库文件存放目录这里包含了系统程序所需要的所有共享库文件;类似windows,.dll文件
- /lost+found当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。
- /media即插即用型存储设备的挂载点自动在这个目录下创建
- /mnt 这个目录一般是用于存放挂载储存设备的挂载目录的
- /opt表示的是可选择的意思,有些软件包也会被安装在这里
- /proc操作系统运行时,进程(正在运行中的程序)信息,硬件信息存放在这里。
- /rootLinux超级权限用户root的家目录
- /sbin大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令
- /tmp临时文件目录,有时用户运行程序的时候,会产生临时文件
- /usr这个是系统存放程序的目录,比如命令、帮助文件等;最庞大的目录,应用程序和文件都在这个文件夹里
- /var下有/var/log 这是用来存放系统日志的目录
linux基础标识和命令
- 命令行普通用户$,root用户#
- [root@wswjue ~]:root当前用户,wswjue当前所在主机,~用户的家目录
- su - root切换到root用户,一般可以用su -
yum -y install tree安装tree插件,方便用命令行查看文件;用root用户安装
- tree查看当前目录下的文件
- tree -L 1 /查看根目录下的文件夹,1表示显示下面1层
- tree -a /直接将所有的文件路径显示出来
- tree -d /显示目录
- cd:change directory切换目录
- pwd以绝对路径方式显示当前所在目录
- 切换路径可以用相对路径和绝对路径,../为返回上一级目录
- ls [-选项] [想要查看的目录],即list当前目录下的所有文件;[-选项]可以组合使用
- -a:all查看包括隐藏文件的所有文件
- -l:long以长格式的方式显示文件,类似windows文件夹的详细信息
- 第一列d开头:目录
- 第一列-开头:文件
- 第一列后9个字符,rwxrwxr-x:三个字符为一组,分别为所有者权限u,所属组权限g,其他用户的权限o
- r:读权限,4
- cat,more,head,tail
- w:写权限,2
- vi,touch,mkdir,mv,cp,rm
- x:执行权限,1
- cd,sh(执行脚本)
- 修改文件或目录的权限命令:都必须用root权限,chmod 对象+|-权限 目录|文件,多个对象的权限操作用,隔开
- 数字权限:chmod 777 file|dictionary,赋予三个角色对于该文件的所有权限
- 修改文件或目录及目录中子文件的权限,递归修改权限:chmod -R 755 file|dictionary
- r:读权限,4
- chown root 文件|目录:修改文件或目录的所属用户,root权限
- chown root:root 文件|目录:同时修改文件或目录的所属用户:所属用户组的权限
- chgrp root 文件|目录:修改文件或目录的所属用户组,必须用root权限
- man ls:命令介绍
- ll等同于ls -l
目录和文件的基本命令,linux区分大小写
- clear,ctrl+l清屏
- mkdir:make dictionary在相对路径或绝对路径上创建目录;某些路径下需要root权限创建目录
- mkdir -p 目录:创建一个多级目录,没有-p则只能在当前目录下创建目录
- touch 文件名:创建文件,要带后缀
- rmdir删除一个空目录
- rm:remove删除文件
- rm -r:删除目录
- rm -rf:强制删除
- cp [-选项] [想要复制的目录] [粘贴到确定位置]:复制粘贴文件或目录
- cp -r:复制粘贴目录中所有文件,我是只能在root权限下才能复制的
- mv:剪切目录或文件
- cat:查看小文件
- more:分页查看大文件内容,空格按页翻,回车按行翻
- head -n:查看文件前n行,默认显示10行
- tail -n:查看文件后n行,默认显示10行
- tail -f:动态查看文件内容,可以看到文件的实时变化
*root用户安装yum -y install;root用户卸载yum -y remove vi文件编辑器的操作:Unix和linux系统下的标准编辑器
- 命令模式:刚进入文件时候的状态
- ctrl+b:往前翻页
- ctrl+f:往后翻页
- ctrl+d:往前翻半页
- ctrl+u:往后翻半页
- G:移动到文件的最后行
- shift+$:光标移动到所在行行尾
- [n]x:删除光标所在位置后面的n个字符
- X:删除光标所在位置前面的一个字符
- dd:删除光标所在行
- u:撤销操作,即windows的ctrl+z
- r:输入字符替换光标所在处的字符;R:不退出则依次替换后面的字符
- /字符串:查找字符串,n跳到下一个
- 插入模式:可用insert进入
- i光标所在字前插入
- a光标所在字后插入
- o光标所在行下插入新行
- I光标所在行前插入
- A光标所在行后插入
- O光标所在行上插入新行
- 最后行模式:在命令模式下,输入:后接字符
- set nu显示行号
- w保存q退出
- 在字符串后面加上!,强制操作
- wq filename:另存为文件
管道符|:将前一个命令的输出结果传递给后面的命令执行,类似R中的%>%
- 将前面的输出结果直接传给后面的命令处理,cat file | more,查看小文件并用more命令分页查看
- grep:筛选过滤,grep 'a' file,将文件中带有a的行过滤出来
- ifconfig:命令用来查看和配置网络设备
- ifconfig | grep 'inet' >> a.txt:将ifconfig输出文件过滤出inet行,并过滤所得加入到a.txt文件中,>>相当于追加或写入新文件(>为覆盖文件)
wc统计:wc 文件,得到文件的行数 单词数 字符数 ps -ef显示当前系统运行的进程
- du -sh 文件|目录:统计文件|目录占用空间大小
- df -lh:显示磁盘剩余空间;du -sh:查看指定目录的大小
find搜索命令:find会消耗大量的资源,通过遍历指定起始路径下文件系统的层级结构完成文件查找,(此处的文件即文件或目录)
- find [搜索范围] [匹配条件]
- find / -name init:全盘查找文件名为init的文件
- 模糊查找(即查找文件名带有init的文件)*init*,其中*为通配符,init*则代表以init开头的文件名,?代表一个字符
- -iname不区分大小写
- find / -size +|-2M:全盘查找>|<2M的文件,不加符号为=
- find / -user root:全盘查找所有者为root的文件
- find / -group root:全盘查找所属组为root的文件
- find / -name init* -type f:全盘查找文件名开头为init的文件(file),区分文件f|目录d|管道文件p类型查找
- find / -perm 644:根据权限查找
sudo:修改/etc/sudoers配置文件;sudo的作用是可以让普通用户也能得到root权限
- 修改/etc/sudoers配置文件,即使是root用户,也要用(单用)visudo才能修改,并且能主动检查语法错误
- 在/etc/sudoers配置文件中加入:普通用户名 ALL=(root) NOPASSWD:ALL,即可在普通用户不使用密码下,用sudo来得到root权限使用命令
- 普通用户 ALL=(root):普通用户赋予root权限
- NOPASSWD:ALL:普通用户执行命令不需要密码
*虚拟机中的快照:相当于备份,可以将虚拟机恢复到快照前状态,不能脱离原始虚拟机 *虚拟机中的克隆:复制出完全相同的虚拟机;链接克隆部分脱离,完全克隆完全脱离原始虚拟机 用户和用户组
- 查看用户信息:cat /etc/passwd,其中:
- root:x:0:0:root:/root:/bin/bash:用户:密码:用户UID:用户组GID:fullname注释信息:用户家目录:登录之后的shell
- 用户
- root:最高权限,UID:0
- 普通用户:UID从500开始
- 伪用户:UID在1-499之间,伪用户不能删除,系统会崩溃
- 用户组:用户必须有一个组
- 初始组:用户登录即拥有该用户组的相关权限,每个用户的初始组只能有一个,一般为这个用户名相同的组名;初始组可以修改,但是不推荐
- 附加组:用户可以加入多个其他的附加组,拥有这些组的权限
- gpasswd -a|d 用户 用户组:给已存在的用户组添加|移除用户
- shell:linux命令解释器,即cmd
- 标准shell:/bin/bash
- 禁止登陆:/sbin/nologin,可以修改,不推荐
- 查看加密密码:cat /etc/shadow,影子文件,用:分隔9个字段
- 用户名
- 加密密码:密码可暴力破解
- SHA512散列加密算法;如果密码为!!或*代表没有密码且不能登陆
- 天数:密码最后一次修改距今多少天,1970/1/1为开始时间
- 两次密码修改时间间隔天数,和第三个字段相比
- 密码有效期
- 密码修改到期前的警告天数,和第五个字段相比
- 密码到期后的宽限天数,和第五个字段相比
- 0代表密码到期后立即失效
- -1代表密码永远不失效
- 账号失效时间天数
- 时间戳转日期: date -d "1970-1-1 17680 days"
- 日期转时间戳:echo $(($(date --date='2018/06/09' +%s)/86400+1)),日期和+的空格不能省
- 保留字段
- 查看组信息文件:cat /etc/group,用:分隔4个字段
- 组名
- 组密码
- GID
- 组中附加用户
- 家目录
- 普通用户:/home/用户名/
- root:/root/
- 退出当前用户:logout
- 用户管理命令
- 用户添加命令:useradd 新用户名 [-选项] 参数,选项有:
- -c 备注:加上备注文字,会保存在passwd的备注栏位中
- -d 登入目录:指定用户登入时的起始目录
- -e:有效期限
- -f:缓冲天数
- -u:指定UID
- 用户设置密码:passwd [-选项] 参数 用户名;不连接用户名,则设置当前用户的密码
- -d:删除密码,需要root权限
- -l:锁住密码
- -u:解开已上锁密码
- -s:列出密码信息,需要root权限
- echo '1234' | passwd --stdin wswjue
- --stdin表示输入,将1234作为wswjue用户的密码
- 删除用户:userdel -r wswjue:彻底删除用户,包括用户的主目录
- 用户添加命令:useradd 新用户名 [-选项] 参数,选项有:
- 查看用户默认值文件:cat /etc/default/useradd
- GROUP=100:用户默认组
- HOME=/home:用户家目录
- INACTIVE=-1:密码过期宽限天数
- EXPIRE=:密码失效时间
- SHELL=/bin/bash:默认shell
- SKEL=/etc/skel:模板目录
- CREATE_MAIL_SPOOL=yes:是否建立邮箱
- 模板用户文件夹:/etc/skel,此文件夹即模板文件夹,新建用户相当于复制该文件夹到/home/
- 当前用户密码默认文件:/etc/login.defs
- PASS_MAX_DAYS 99999:密码有效期
- PASS_MIN_DAYS 0:密码修改间隔
- PASS_MIN_LEN 5:密码最小位数
- PASS_WARN_AGE 7:密码到期前警告天数
- UID_MIN 500:最小用户id
- UID_MAX 60000:最大用户id
- GID_MIN 500:最小组id
- GID_MAX 60000:最大组id
- CREATE_HOME
- UMASK
- USERGROUPS_ENAB
- ENCRYPT_METHOD SHA512:加密模式
- 密码原则:普通用户不强制要求,root用户必须遵守
- 八位字符以上,大小写字母,数字,符号组成
- 不能是英文单词
- 不能是和用户相关的内容
- 易记性
- 定期更换,最多180天
压缩和解压缩
- linux常见的压缩文件:zip,tar,gz,tar.gz
- 压缩
- zip -r 压缩文件.zip 被压缩文件|目录,-r将目录下的层级目录一起压缩
- gzip 被压缩文件:不能保留原文件,只能压缩文件
- tar [-选项] 压缩文件.tar 被压缩文件|目录:
- -c:建立压缩档案
- -x:解压
- -z:有gzip属性
- -v:显示所有过程
- -t:查看内容
- -f:使用档案名字,为最后一个参数
- tar [-选项] 压缩文件.tar.gz 文件|目录
- 解压缩
- unzip 压缩文件.zip
- gunzip (-d) 压缩文件.gz
- tar [-选项] 压缩文件|目录.tar -C 解压目录:解压文件到目录(没有-C 解压目录则解压到当前目录)
- tar -zxvf 压缩文件.tar.gz -C 解压目录
- 安装
- yum -y install 压缩文件
查看防火墙:service iptables status,为了安全性,限制网络应用的访问
- CentOS7防火墙开启问题:https://blog.csdn.net/cenylon/article/details/79954524
- CentOS7防火墙的关闭与禁止开机自动开启:https://www.cnblogs.com/moxiaoan/p/5683743.html
- *yum使用的是python2.7版本,升级到python3版本需要对两个文件进行修改才能使用yum:https://blog.csdn.net/qq_42006894/article/details/80936955
- 子安全系统设置:vim /etc/sysconfig/selinux文件内的SELINUX=disabled