linux1

  1. VMware虚拟物理机,Linux的CentOS系统
  2. CentOS是Linux的发行版之一,它安全、稳定、高效,CentOS根据Red Hat Enterprise Linux开放源代码编译而成,与RedHat Linux并没有什么本质上的差别;但Red Hat Enterprise Linux是商业软件,使用必须向RedHat公司付费,而CentOS并没有任何使用上的限制
  3. 内核官网:http://www.kernel.org/
  4. linux的设计目标是建立不受任何商品化软件版权制约的、全世界都能自由使用的类unix兼容产品
  5. linux为主流的服务器系统,Android系统与linux系统有联系
  6. *?CentOS设置(问题很多)
    1. su - root利用root用户权限
    2. yum install ppp pptp pptp-setup
    3. https://blog.csdn.net/qq_26938637/article/details/77930277
    4. vim /etc/hosts 加入设置地址+hostname,建立映射
    5. vim /etc/sysconfig/network-scripts/ifcfg-ens33文件中的ONBOOT=yes和BOOTPROTO="static",设置开机启动和静态IP

linux目录结构

  1. /文件系统的入口,最高一级目录
  2. /bin基础系统所需要的命令位于此目录,如:ls, cp, mkdir等;二进制可执行命令
  3. /boot包含Linux内核及系统引导程序所需要的文件;系统启动核心文件
  4. /dev设备文件存储目录,比如声卡、磁盘... ... ;设备驱动器
  5. /etc存放系统程序或者一般工具的配置文件;系统配置文件,如网络配置文件
  6. /home普通用户默认存放目录,它们以 /home/username 的方式存在;用户主目录,可以看到用户的文件夹
  7. /lib库文件存放目录这里包含了系统程序所需要的所有共享库文件;类似windows,.dll文件
  8. /lost+found当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。
  9. /media即插即用型存储设备的挂载点自动在这个目录下创建
  10. /mnt 这个目录一般是用于存放挂载储存设备的挂载目录的
  11. /opt表示的是可选择的意思,有些软件包也会被安装在这里
  12. /proc操作系统运行时,进程(正在运行中的程序)信息,硬件信息存放在这里。
  13. /rootLinux超级权限用户root的家目录
  14. /sbin大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令
  15. /tmp临时文件目录,有时用户运行程序的时候,会产生临时文件
  16. /usr这个是系统存放程序的目录,比如命令、帮助文件等;最庞大的目录,应用程序和文件都在这个文件夹里
  17. /var下有/var/log 这是用来存放系统日志的目录

linux基础标识和命令

  1. 命令行普通用户$,root用户#
  2. [root@wswjue ~]:root当前用户,wswjue当前所在主机,~用户的家目录
  3. su - root切换到root用户,一般可以用su -

yum -y install tree安装tree插件,方便用命令行查看文件;用root用户安装

  1. tree查看当前目录下的文件
  2. tree -L 1 /查看根目录下的文件夹,1表示显示下面1层
  3. tree -a /直接将所有的文件路径显示出来
  4. tree -d /显示目录
  5. cd:change directory切换目录
  6. pwd以绝对路径方式显示当前所在目录
    1. 切换路径可以用相对路径和绝对路径,../为返回上一级目录
  7. ls [-选项] [想要查看的目录],即list当前目录下的所有文件;[-选项]可以组合使用
    1. -a:all查看包括隐藏文件的所有文件
    2. -l:long以长格式的方式显示文件,类似windows文件夹的详细信息
      1. 第一列d开头:目录
      2. 第一列-开头:文件
      3. 第一列后9个字符,rwxrwxr-x:三个字符为一组,分别为所有者权限u,所属组权限g,其他用户的权限o
        1. r:读权限,4
          1. cat,more,head,tail
        2. w:写权限,2
          1. vi,touch,mkdir,mv,cp,rm
        3. x:执行权限,1
          1. cd,sh(执行脚本)
        4. 修改文件或目录的权限命令:都必须用root权限,chmod 对象+|-权限 目录|文件,多个对象的权限操作用,隔开
          1. 数字权限:chmod 777 file|dictionary,赋予三个角色对于该文件的所有权限
          2. 修改文件或目录及目录中子文件的权限,递归修改权限:chmod -R 755 file|dictionary
      4. chown root 文件|目录:修改文件或目录的所属用户,root权限
        1. chown root:root 文件|目录:同时修改文件或目录的所属用户:所属用户组的权限
      5. chgrp root 文件|目录:修改文件或目录的所属用户组,必须用root权限
    3. man ls:命令介绍
    4. ll等同于ls -l

目录和文件的基本命令,linux区分大小写

  1. clear,ctrl+l清屏
  2. mkdir:make dictionary在相对路径或绝对路径上创建目录;某些路径下需要root权限创建目录
    1. mkdir -p 目录:创建一个多级目录,没有-p则只能在当前目录下创建目录
  3. touch 文件名:创建文件,要带后缀
  4. rmdir删除一个空目录
  5. rm:remove删除文件
    1. rm -r:删除目录
    2. rm -rf:强制删除
  6. cp [-选项] [想要复制的目录] [粘贴到确定位置]:复制粘贴文件或目录
    1. cp -r:复制粘贴目录中所有文件,我是只能在root权限下才能复制的
  7. mv:剪切目录或文件
  8. cat:查看小文件
  9. more:分页查看大文件内容,空格按页翻,回车按行翻
  10. head -n:查看文件前n行,默认显示10行
  11. tail -n:查看文件后n行,默认显示10行
    1. tail -f:动态查看文件内容,可以看到文件的实时变化

*root用户安装yum -y install;root用户卸载yum -y remove vi文件编辑器的操作:Unix和linux系统下的标准编辑器

  1. 命令模式:刚进入文件时候的状态
    1. ctrl+b:往前翻页
    2. ctrl+f:往后翻页
    3. ctrl+d:往前翻半页
    4. ctrl+u:往后翻半页
    5. G:移动到文件的最后行
    6. shift+$:光标移动到所在行行尾
    7. [n]x:删除光标所在位置后面的n个字符
    8. X:删除光标所在位置前面的一个字符
    9. dd:删除光标所在行
    10. u:撤销操作,即windows的ctrl+z
    11. r:输入字符替换光标所在处的字符;R:不退出则依次替换后面的字符
    12. /字符串:查找字符串,n跳到下一个
  2. 插入模式:可用insert进入
    1. i光标所在字前插入
    2. a光标所在字后插入
    3. o光标所在行下插入新行
    4. I光标所在行前插入
    5. A光标所在行后插入
    6. O光标所在行上插入新行
  3. 最后行模式:在命令模式下,输入:后接字符
    1. set nu显示行号
    2. w保存q退出
    3. 在字符串后面加上!,强制操作
    4. wq filename:另存为文件

管道符|:将前一个命令的输出结果传递给后面的命令执行,类似R中的%>%

  1. 将前面的输出结果直接传给后面的命令处理,cat file | more,查看小文件并用more命令分页查看
  2. grep:筛选过滤,grep 'a' file,将文件中带有a的行过滤出来
  3. ifconfig:命令用来查看和配置网络设备
  4. ifconfig | grep 'inet' >> a.txt:将ifconfig输出文件过滤出inet行,并过滤所得加入到a.txt文件中,>>相当于追加或写入新文件(>为覆盖文件)

wc统计:wc 文件,得到文件的行数 单词数 字符数 ps -ef显示当前系统运行的进程

  1. du -sh 文件|目录:统计文件|目录占用空间大小
  2. df -lh:显示磁盘剩余空间;du -sh:查看指定目录的大小

find搜索命令:find会消耗大量的资源,通过遍历指定起始路径下文件系统的层级结构完成文件查找,(此处的文件即文件或目录)

  1. find [搜索范围] [匹配条件]
  2. find / -name init:全盘查找文件名为init的文件
    1. 模糊查找(即查找文件名带有init的文件)*init*,其中*为通配符,init*则代表以init开头的文件名,?代表一个字符
    2. -iname不区分大小写
  3. find / -size +|-2M:全盘查找>|<2M的文件,不加符号为=
  4. find / -user root:全盘查找所有者为root的文件
    1. find / -group root:全盘查找所属组为root的文件
  5. find / -name init* -type f:全盘查找文件名开头为init的文件(file),区分文件f|目录d|管道文件p类型查找
  6. find / -perm 644:根据权限查找

sudo:修改/etc/sudoers配置文件;sudo的作用是可以让普通用户也能得到root权限

  1. 修改/etc/sudoers配置文件,即使是root用户,也要用(单用)visudo才能修改,并且能主动检查语法错误
  2. 在/etc/sudoers配置文件中加入:普通用户名 ALL=(root) NOPASSWD:ALL,即可在普通用户不使用密码下,用sudo来得到root权限使用命令
    1. 普通用户 ALL=(root):普通用户赋予root权限
    2. NOPASSWD:ALL:普通用户执行命令不需要密码

*虚拟机中的快照:相当于备份,可以将虚拟机恢复到快照前状态,不能脱离原始虚拟机 *虚拟机中的克隆:复制出完全相同的虚拟机;链接克隆部分脱离,完全克隆完全脱离原始虚拟机 用户和用户组

  1. 查看用户信息:cat /etc/passwd,其中:
    1. root:x:0:0:root:/root:/bin/bash:用户:密码:用户UID:用户组GID:fullname注释信息:用户家目录:登录之后的shell
    2. 用户
      1. root:最高权限,UID:0
      2. 普通用户:UID从500开始
      3. 伪用户:UID在1-499之间,伪用户不能删除,系统会崩溃
    3. 用户组:用户必须有一个组
      1. 初始组:用户登录即拥有该用户组的相关权限,每个用户的初始组只能有一个,一般为这个用户名相同的组名;初始组可以修改,但是不推荐
      2. 附加组:用户可以加入多个其他的附加组,拥有这些组的权限
        1. gpasswd -a|d 用户 用户组:给已存在的用户组添加|移除用户
    4. shell:linux命令解释器,即cmd
      1. 标准shell:/bin/bash
      2. 禁止登陆:/sbin/nologin,可以修改,不推荐
  2. 查看加密密码:cat /etc/shadow,影子文件,用:分隔9个字段
    1. 用户名
    2. 加密密码:密码可暴力破解
      1. SHA512散列加密算法;如果密码为!!或*代表没有密码且不能登陆
    3. 天数:密码最后一次修改距今多少天,1970/1/1为开始时间
    4. 两次密码修改时间间隔天数,和第三个字段相比
    5. 密码有效期
    6. 密码修改到期前的警告天数,和第五个字段相比
    7. 密码到期后的宽限天数,和第五个字段相比
      1. 0代表密码到期后立即失效
      2. -1代表密码永远不失效
    8. 账号失效时间天数
      1. 时间戳转日期: date -d "1970-1-1 17680 days"
      2. 日期转时间戳:echo $(($(date --date='2018/06/09' +%s)/86400+1)),日期和+的空格不能省
    9. 保留字段
  3. 查看组信息文件:cat /etc/group,用:分隔4个字段
    1. 组名
    2. 组密码
    3. GID
    4. 组中附加用户
  4. 家目录
    1. 普通用户:/home/用户名/
    2. root:/root/
    3. 退出当前用户:logout
  5. 用户管理命令
    1. 用户添加命令:useradd 新用户名 [-选项] 参数,选项有:
      1. -c 备注:加上备注文字,会保存在passwd的备注栏位中
      2. -d 登入目录:指定用户登入时的起始目录
      3. -e:有效期限
      4. -f:缓冲天数
      5. -u:指定UID
    2. 用户设置密码:passwd [-选项] 参数 用户名;不连接用户名,则设置当前用户的密码
      1. -d:删除密码,需要root权限
      2. -l:锁住密码
      3. -u:解开已上锁密码
      4. -s:列出密码信息,需要root权限
      5. echo '1234' | passwd --stdin wswjue
        1. --stdin表示输入,将1234作为wswjue用户的密码
    3. 删除用户:userdel -r wswjue:彻底删除用户,包括用户的主目录
  6. 查看用户默认值文件:cat /etc/default/useradd
    1. GROUP=100:用户默认组
    2. HOME=/home:用户家目录
    3. INACTIVE=-1:密码过期宽限天数
    4. EXPIRE=:密码失效时间
    5. SHELL=/bin/bash:默认shell
    6. SKEL=/etc/skel:模板目录
    7. CREATE_MAIL_SPOOL=yes:是否建立邮箱
  7. 模板用户文件夹:/etc/skel,此文件夹即模板文件夹,新建用户相当于复制该文件夹到/home/
  8. 当前用户密码默认文件:/etc/login.defs
    1. PASS_MAX_DAYS 99999:密码有效期
    2. PASS_MIN_DAYS 0:密码修改间隔
    3. PASS_MIN_LEN 5:密码最小位数
    4. PASS_WARN_AGE 7:密码到期前警告天数
    5. UID_MIN 500:最小用户id
    6. UID_MAX 60000:最大用户id
    7. GID_MIN 500:最小组id
    8. GID_MAX 60000:最大组id
    9. CREATE_HOME
    10. UMASK
    11. USERGROUPS_ENAB
    12. ENCRYPT_METHOD SHA512:加密模式
  9. 密码原则:普通用户不强制要求,root用户必须遵守
    1. 八位字符以上,大小写字母,数字,符号组成
    2. 不能是英文单词
    3. 不能是和用户相关的内容
    4. 易记性
    5. 定期更换,最多180天

压缩和解压缩

  1. linux常见的压缩文件:zip,tar,gz,tar.gz
  2. 压缩
    1. zip -r 压缩文件.zip 被压缩文件|目录,-r将目录下的层级目录一起压缩
    2. gzip 被压缩文件:不能保留原文件,只能压缩文件
    3. tar [-选项] 压缩文件.tar 被压缩文件|目录:
      1. -c:建立压缩档案
      2. -x:解压
      3. -z:有gzip属性
      4. -v:显示所有过程
      5. -t:查看内容
      6. -f:使用档案名字,为最后一个参数
    4. tar [-选项] 压缩文件.tar.gz 文件|目录
  3. 解压缩
    1. unzip 压缩文件.zip
    2. gunzip (-d) 压缩文件.gz
    3. tar [-选项] 压缩文件|目录.tar -C 解压目录:解压文件到目录(没有-C 解压目录则解压到当前目录)
    4. tar -zxvf 压缩文件.tar.gz -C 解压目录
  4. 安装
    1. yum -y install 压缩文件

查看防火墙:service iptables status,为了安全性,限制网络应用的访问

  1. CentOS7防火墙开启问题:https://blog.csdn.net/cenylon/article/details/79954524
  2. CentOS7防火墙的关闭与禁止开机自动开启:https://www.cnblogs.com/moxiaoan/p/5683743.html
  3. *yum使用的是python2.7版本,升级到python3版本需要对两个文件进行修改才能使用yum:https://blog.csdn.net/qq_42006894/article/details/80936955
  4. 子安全系统设置:vim /etc/sysconfig/selinux文件内的SELINUX=disabled

 

你可能感兴趣的:(linux)