首页 > 系统相关 >linux基础

linux基础

时间:2022-10-21 10:01:28浏览次数:45  
标签:jason 基础 信息 etc hosts linux 定时 权限

今日内容概要

  • 文件属性信息
  • 文件相关命令
  • 文件权限
  • 文件所属用户、用户组
  • 文件大小信息
  • 文件索引属性信息
  • 链接信息
  • 系统时间
  • 定时任务
  • 企业案例

今日内容概要

文件属性信息

ls -lhi /etc/ --- 查看数据属性信息
67683849  d rwxr-xr-x.  3  root  root  101 Nov 30 12:13  abrt
    01        02        03  04    05    06        07      08
第⼀列: inode信息 index node 索引节点
第⼆列: ⽂件类型 ⽂件权限
第三列: 硬链接数
    磁盘(设备⽂件) == 超市       /mnt(挂载点) == 超市的⼊⼝
    硬链接 === 超市的多⼊⼝   /oldboy
第四列: 数据(⽂件 ⽬录)的所属⽤户信息 == 监护⼈(⽗亲 ⺟亲)
第五列: 数据(⽂件 ⽬录)的所属⽤户组信息 == 家庭中亲⼈
第六列: ⽂件⼤⼩信息
第七列: ⽂件修改时间信息
第⼋列: ⽂件名称(不属于⽂件属性信息)
"""详细说明"""
⽂件类型:
    windows系统中: 根据⽂件扩展名称信息决定⽂件类型
    linux系统中: 系统的⽂件类型和⽂件扩展名没有半⽑钱关系
        linux系统⽂件类型分类: ls -lhi /etc/  # ./
            d    directory    ⽬录类型的⽂件
            -    file         普通类型的⽂件
            l    softlink     连接类型的⽂件
            c   character     字符类型的⽂件(会源源不断的产⽣字符信息)
            b   block         块设备类型的⽂件 设备⽂件
            s   socket        和⽹络接⼝通讯相关(开发 ⽹络编程)
            p   pip           管道⽂件

文件相关命令

1.显示⽂件信息类型命令 file
    file jason.txt
2.显示命令绝对路径信息 which
    which cp
3.显示命令路径以及⽂件 whereis 
    whereis cp
4. 快速定位⽂件路径信息 locate
    touch oldgirl1212.txt
    updatedb # 更新数据库信息, 便于locate命令可以进⾏查找
    locate jason1.txt
5.快速查找数据信息命令 find # 重点掌握
语法说明: find 区域 查找⼈的类型 具体的条件
eg:
    1.寻找⼀个jason.txt
        find /temp -type f -name "jason.txt"
    2.寻找⼀个以.txt扩展名结尾的⽂件
        find /temp -type f -name "*.txt"
    3.按照⽂件数据⼤⼩进⾏查找⽂件 查找⼤于10k的⽂件 但⼩于10M
        find /etc/ -type f -size +10k -size -10M # 默认递归
        # 限制查找层级
        find /etc/ -maxdepth 1 -type f -size +10k -size -10M
6.对数据信息进⾏压缩处理
压缩数据的命令 tar
tar 参数信息 压缩包信息(箱⼦) 物品01(数据信息) 物品02(数据信息)
eg:
    1.压缩/jason、/etc/hosts⾄/jason/jason.tar.gz
        tar -zcvf /jason/jason.tar.gz /jason /etc/hosts
        z: 利⽤gzip⽅式进⾏压缩数据 rar zip
        c: 创建压缩包 create
        v: 详细执⾏操作过程 verbose
        f: 指定需要压缩的⽂件信息 file
    2.如何检查确认压缩数据
        tar -tf /jason/jason.tar.gz
    3.解压数据⽂件
        tar -zxvf /jason/jason.tar.gz
        tar -zxvf system.tar.gz -C /oldgirl # 解压⾄指定位置

文件权限

[root@jason /jason]# ls -l
# rwxr-xr-x 9位信息表示⽂件权限
# ⽂件权限有哪些
    r: read 数值 4 是否可以读取⽂件: cat file
    w: write 数值 2 是否可以写⼊⽂件: echo vim sed
    x: execute 数值 1 是否可以执⾏⽂件: sh python
    -: 空了 数值 0 ⽂件没有相应权限: 没有权限
    eg:rwx r-x --x -w-
        7   5    1  2
# 权限每三位为⼀组
第⼀位: 只表示是否有读权限
第⼆位: 只表示是否有写权限
第三位: 只表示是否有执⾏权限
 rwxr-xr-x: 9位信息表示⽂件权限
# 对⼀个⽂件说, 可以有很多⼈管理
⽂件(你)    ⽂件的所属⽤户信息--属主信息(⽗⺟教育你)
    由9位权限位的前3位决定属主权限
    属主信息: ⼀般创建⽂件的⽤户就是⽂件的属主信息
⽂件(你)    ⽂件的所属⽤户组信息--属组信息(亲⼈)
    由9位权限位的中间3位决定属组权限
⽂件(你)    ⽂件的其他⽤户信息(隔壁⽼王)
    由9位权限位的后3位决定其他⽤户权限

文件所属用户、用户组

在linux系统中,多⽤户操作系统,⽂件数据,系统进程信息都要有⽤户管理
创建⽤户: useradd oldgirl
# ⽅法⼀: 交互式设置密码
    passwd oldgirl # ⼀定要加上⽤户名否则是设置root⽤户密码
    输⼊确认密码信息
# ⽅法⼆: 免交互设置密码
    useradd oldboy01
    echo "12345"|passwd --stdin oldboy01 # >/dev/null
# ⽅法三: 即创建⽤户⼜设置⽤户密码信息(分号⽀持多个命令)
    useradd jason;echo "12345"|passwd --stdin jason

查看系统⽤户是否存在
    id oldboy
    uid=1000(oldboy)   gid=1000(oldboy)   groups=1000(oldboy)
     ⽤户id 1000       ⽤户组id 所属的组    可能⽤户还属于哪些组

到底系统中都有哪些⽤户(系统对⽤户进⾏分类)
01. 超级管理员⽤户 --- 皇帝
    root id=0 # 能⼒: 基本上是处于⽆敌地位 
02. 普通⽤户 --- 平⺠
    id 1000+ # 能⼒: 需要root⽤户进⾏指定
    只能管理⾃⼰家⽬录下⾯数据   /tmp 临时⽬录
03. 虚拟⽤户 --- 傀儡
    id 1-999 # 能⼒: 存在即可 ⽤于管理服务进程信息

文件大小信息

# 查看普通⽂件⼤⼩⽅法
    [root@jason /tmp]# ls -lh /etc/services
# 查看⽬录⽂件⼤⼩⽅法
    du 显示⽬录中的数据真实占⽤磁盘空间⼤⼩
        du -sh /etc/
        -s: 将⽬录下⾯的数据信息⼤⼩进⾏统计
        -h: 以⼈类可读⽅式显示
# 企业案例: 磁盘空间不够使⽤了删除⽐较⼤的⽂件
01. 确认磁盘空间是否不够⽤了
    df -h
02. 确认⽐较⼤的⽂件数据信息
    du -sh /usr/*
03. 没有⽤的⽂件(检查⼤⼩会不会有变化)
    ⽂件⼤⼩产⽣变化的⽂件如何处理:备份 清空⽂件中的数据>⽂件信息
    ⽂件⼤⼩不会产⽣变化的⽂件:备份 直接进⾏删除
04. 进⾏磁盘空间利⽤率确认

文件索引属性信息

# inode(index node)
    概念说明:书⽬录 索引指向信息 指向数据真实存储在磁盘的位置
    如何查看inode信息:
        [root@jason /tmp]# ll -hi /etc/hosts
# block
    概念说明: ⽤于真实存储数据信息
    如何查看block信息:
        [root@jason /tmp]# ls -l /etc/hosts
    block默认⼤⼩4k 可以调整, 但建议⼀定要在格式化分区时调整
# 问题: block是调整⼤⼀些10M,还是调整⼩⼀些10k
    情况⼀: 存储数据量⽐较⼤的时候
        正确答案: 是选择⼤的block更好 
            可以减少block消耗, 节省磁盘IO
    情况⼆: 存储数据量⽐较⼩的时候
        正确答案: 选择⼩的block会更好
            可以节省磁盘空间, 可以让更多数据进⾏存储

链接信息

# 硬链接
概念说明:
    磁盘(超市--数据) 有⻔进⼊超市     cat /etc/hosts
                    多⻔进⼊超市    cat/oldboy/hosts 
只能对⽂件做硬链接不能对⽬录做硬链接
作⽤说明:
    01. 可以⽤于查看数据信息
    02. 可以⽤于作为备份
    03. 当所有硬都被删除, 等价于数据将会被删除
区别说明:
    01. 对于源⽂件关注程度
        源⽂件删除, 不会对硬链接⽂件产⽣影响
    02. 对于链接⽂件关注程度
        不会有影响, 对于源⽂件硬链接数会减少
# 软链接
概念说明:
    创建⼀个⽂件或者⽬录的快捷⽅式
作⽤说明:
    01. 使复杂路径操作更加⽅便
    02. 使不同软件程序版本调⽤更加⽅便
区别说明:
    01. 对于源⽂件关注程度
        源⽂件被删除, 会影响软链接⽂件
    02. 对于链接⽂件关注程度
        毫⽆影响
"""详细操作"""
1.硬链接
 ln /etc/hosts /oldboy/hard_link_hosts.txt
 cat /etc/hosts
 cat /oldboy/hard_link_hosts.txt
 echo oldboyinfo >> /etc/hosts
 cat /etc/hosts
 cat /oldboy/hard_link_hosts.txt
2.软连接
 ln -s /etc/sysconfig/network-scripts/ifcfg-eth0/oldboy/soft_link_eth0

系统时间

# 系统时间如何查看
    date
# 按照⾃定义需求, 显示时间信息
    date +年-⽉-⽇ ⼩时:分钟:秒
    date +%y-%m-%d # date +%F
    date +"%y-%m-%d %H:%M:%S"
# 显示过去的时间信息 显示未来的时间信息
    显示过去的时间
        date +%F -d "-3 day"/date +%F -d "-3day"
        date +%F -d "+3 day ago"
        date +%F -d "-3 year"
    显示未来的时间
        date +%F -d "+3 day"/date +%F -d "+3day"

# 设置系统时间⽅法
    date -s "2022-11-11 11:11:11"
'''时间同步服务centos6为ntp centos7位chrony'''

定时任务

'''三种实现⽅式'''
定时任务软件:cronie
    rpm -qa cronie
定时任务软件:atd
    定时任务只执⾏⼀次(淘汰)
定时任务软件:anacron
    只是适合⾮24⼩时运⾏的服务器(淘汰)
'''定时任务的类型'''
01.系统默认设置好的定时任务
    ⽇志⽂件进⾏切割处理
        ll /var/log/
        ll /etc/log
        vim /etc/logrotate.conf
    4个重要定时任务⽬录:
        控制定时任务⽬录:/etc/cron.hourly
        控制定时任务⽬录:/etc/cron.daily
        控制定时任务⽬录:/etc/cron.weekly
        控制定时任务⽬录:/etc/cron.monthly
    /etc/cron.deny  --- 阻⽌哪些⽤户不能使⽤系统⾃带定时任务服务
    /etc/contab       --- 定时任务参考⽂件
02. 需要⽤户⾃⼰定义设置的定时任务 
    定时任务配置: ⼀个命令 ⼀个⽂件
    ⼀个命令:crontab           # 设置或查看定时任务信息的命令
    -u: <user> define user    # 定义以什么⽤户身份进⾏定时任务设定
    -e: edit users crontab    # 编写定时任务配置⽂件crond table
    -l: list users crontab    # 显示定时任务配置⽂件信息
    -r: delete users crontab  # (⼀定不要使⽤-r oldboy)
    -i: prompt before deleting cp -imv -i rm -i
    -n: <host> set host in cluster to run users'crontabs
    -c: get host in cluster to run users'crontabs
    -s: selinux context
    -x: <mask> enable debugging
    ⼀个⽂件:/var/spool/cron/root
'''编写定时任务'''
# Example of job definition:
.---------------- minute (0 - 59)
| .------------- hour (0 - 23)
| | .---------- day of month (1 - 31)
| | | .------- month (1 - 12) ORjan,feb,mar,apr ...
| | | | .---- day of week (0 - 6) (Sunday=0or 7) OR sun,mon,tue,wed,thu,fri,sat
| | | | |
* * * * * user-name command to be executed

企业案例

# 服务器磁盘空间满解决⽅式
    磁盘空间不够可能的情况>>>:No space left on device
        第⼀种原因: 是因为inode空间被占⽤满了
            创建出⼤量⼩⽂件会严重占⽤inode数量
            ⼤量⼩⽂件清除⽅式: 部分清除 *
        第⼆种情况: 磁盘空间真的满了   df -i\df -h
            将没⽤的⼤⽂件进⾏删除或者清空
            扩充磁盘容量
        第三种情况: ⽂件被程序调⽤
            删除⽂件原理:
            01. 确认硬链接数为0      -i_link=0
            02. 确认程序被调⽤数为0   -i_conut=0

标签:jason,基础,信息,etc,hosts,linux,定时,权限
From: https://www.cnblogs.com/wwjjll/p/16812501.html

相关文章

  • linux—— 文件
    linux——文件别名1、如何查看别名设置alias别名aliascp='cp-i'aliasmv='mv-i'aliasrm='rm-i'-i如要⼈为交互,有提示信息问题:如何⾮交互的覆盖原......
  • linux修改limits.conf不生效
    正常情况下,/etc/security/limits.conf的改动,重新登录就可以生效,我遇到的问题最后的解决方案是重启虚拟机解决了,也参考了很多网上的文章,整理记录一下一、修改方法1.......
  • Linux系统文件相关命令
    系统优化相关性能优化安全优化编码优化1)了解⾃⼰的系统情况cat/etc/redhat-releaseuname-r/-a/-n/-s/...#详⻅下图2)在系统中创建⽤户信息创建⽤户use......
  • Linux下定期清空被正在运行服务占用的日志文件
    linux下定期删除日志:运用linux下的whiletrue循环,加上echo"">***.log完成while:;do#echo"">nohup.out#ls"dir"-lR|grep-v^d|awk'{print$9}'|tr-s'......
  • Golang基础-变量与数据类型
    变量变量的定义1.声明2.赋值3.使用//声明:var变量名变量类型varnamestring//赋值:name="xiaoming"//使用:fmt.Println(name)//声明+赋值//var变......
  • mysql基础
    mysql基础数据库-表增删改####mysqlctrl+l清屏ctrl+c终止[linux]servicemysqlstart  启动mysqlservicemysqlstop   停止mysqlservicemysqlre......
  • 2022-2023-1 20221424 《计算机基础与程序设计》第8周学习总结
    2022-2023-120221424《计算机基础与程序设计》第8周学习总结作业信息这个作业属于哪个课程2022-2023-1-计算机基础与程序设计这个作业要求在哪里2022-2023-1......
  • 对于利用Java Script实现的判断的基础浅层总结
    各种判断,请收好啦!判断输入框中的数据是否为整数:点击删除按钮,出现判断是否删除的弹窗在button里面加上这样一句话就能够实现删除判断弹窗啦!......
  • Linux清理缓存
     echo1>/proc/sys/vm/drop_caches//1释放页缓存echo2> /proc/sys/vm/drop_caches//2释放dentries和inodes缓存echo3> /proc/sys/vm/drop_caches......
  • Linux不同发行版本的区别(以安装Linux版本QQ为例)
     安装:当前版本的QQLinux版依赖gtk2.0,安装QQLinux版前请确保你的系统已安装gtk2.0。以下是一些使用命令行安装gtk2.0的例子:sudoaptinstalllibgtk2.0-0#Ubuntusu......