Linux

Posted 小企鹅推雪球!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux相关的知识,希望对你有一定的参考价值。

Linux 时间日期类

  1. date指令-显示当前时间
  2. date 基本语法
    1. date 显示当前时间
    2. date +%Y :显示当前年份
    3. date + %m :显示当前月份
    4. date + %d :显示当前是哪一天
    5. date “%Y-%m-%d%H:%M:%S ”:显示年月日时分秒
  3. date 应用案例
    1. 显示当前时间信息:date
    2. 显示当前时间年月日:date “%Y-%m-%d”
    3. 显示当前时间年月日时分秒 :date “%Y-%d%H:%M:%S”

使用date指令设置最新时间

  1. 基本语法:date -s 字符串时间
  2. 设置系统当前时间,比如 设置为 2020-12-12 12:12:12
    `date -s " 2020-12-12 12:12:12"

cal 指令

  1. cal 是查看日历的指令
  2. cal基本语法:cal [选项] ;不加选项,只显示本月日历
  3. cal 应用案例
    1. 显示当前日历 :cal
    2. 显示2020年日历: cal 2020

搜索查找类

find指令

  1. find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或目录显示在终端
  2. 基本语法;find [搜索范围] [选项]
  3. 选项说明
    1. -name<查询方式> 按照指定的文件名查找模式查找文件 ,可以使用适配符 * ?
    2. -user<用户名> :查找属于指定用户名所有文件
    3. -size<文件大小> :按照在指定的文件大小查找文件
  4. find 应用案例:
    1. 按文件名,根据名称查找/home 目录下的hello.txt 文件
      find /home -name hello.txt
    2. 按拥有者,查找/opt 目录下,用户名称为nobody的文件
      find /opt -user nobody
    3. 查找整个Linux系统下大于10M的文件(+n 大于,-n 小雨 ,n 等于)
      find / -size +10M

locate指令

  1. locate指令可以快速定位文件路径
  2. locate指令利用事先建立的系统中所有文件名称以及路径的locate数据库实现快速定位给定的文件
  3. locate指令无需遍历整个文件系统,查询速度比较快,为了保证查询结果的准确性,管理必须定期更新locate时刻
  4. locate基本语法
    1. locate 搜索文件
  5. 用法说明:由于locate 指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
  6. locate指令案例
    1. 使用locate指令快速定位 hello.txt文件所在目录
      locate hello.txt

grep指令和管道符号 |

  1. grep 过滤查找,管道符号| 表示将前一个命令的处理结果输出传递给后面的命令处理
  2. grep基本语法: grep [选项] 查找内容 源文件
  3. grep 常用选项 :
    1. -n 显示匹配行以及行号
    2. -i 忽略字符大小写
  4. grep 案例
    1. 在 /etc/profile 文件中查找 if 所在行,并显示行号
      grep –n if /etc/profile [在/etc/profile 中查找 if ,并显示行,区别大小写]
    2. grep –ni if /etc/profile [在/etc/profile 中查找 if ,并显示行,不区别大小写]
    3. 配合管道符号|,使用案例,查看当前服务器有没有sshd服务在监听
      netstat -anp | grep sshd

压缩和解压类

gzip/gunzip 指令

  1. gzip/gunzip 指令:gzip用于压缩文件,gunzip 用户解压缩
  2. 基本语法:
    1. gzip 文件 ; 压缩文件,只能将文件压缩为 .gz 文件
    2. gunzip 文件.gz :解压缩文件命名
  3. 应用案例
    1. gzip压缩:将hello.txt文件进行压缩
      gzip hello.txt
    2. gunzip解压缩 ,将hello.txt.gz 文件进行解压缩
      gunzip hello.txt.gz

zip/unzip指令

  1. zip 用于压缩文件,unzip 用于解压文件,zip/unzip常用于项目打包发布中
  2. 基本语法
    1. zip [选项] xxxx :需要压缩的内容,压缩文件和目录
    2. unzip [选项] xxx.zip :解压缩文件
  3. zip常用选项 :- r ;递归压缩,即压缩目录
  4. unzip 常用选项 : -d<目录> :指定解压后文件的存放目录
  5. 应用案例
    1. 将 /home 下的所有文件进行压缩成 test.zip 退出 /home
      zip -r test.zip /home/
    2. 将test.zip 解压到 /home/temp 目录下
      unzip -d /opt/temp test.zip 如果/home/temp 目录不存在,则会自动创建

tar指令

  1. tar指令是打包指令,最后打包后的文件是.tar.gz文件
  2. tar 指令可以压缩和解压
  3. tar基本语法:tar [选项] test.tar.gz 打包的内容/目录:打包目录,压缩后的文件格式为.tar.gz
  4. tar 选项说明·
    1. -c ;产生 tar 打包文件
    2. -v :显示详细信息
    3. -f: 指定压缩后的文件名
    4. -z: 打包同时压缩
    5. -x :解压打包的tar文件

组管理和权限管理

  1. Linux中的每个用户都必须属于一个组,不能独立于组外
  2. 再Linux中,每个文件有所有者,所在组,其他组的概念
  3. 在Linux中,一个用户属于一个组
  4. 当我们创建一个用户后,默认的会在/home/xxx创建一个和用户相同的目录,该目录就是用户家目录
  5. 当一个用户登录后,默认会切换到/home/用户名 的目录
  6. 一个用户默认是不能进入到其他用户目录的
  7. 用户的权限体现在对文件的操作

文件/目录的所有者

  1. 一般为文件的创建者,谁创建该文件,就自然的成为了该文件的所有者
  2. 查看文件的所有者:ls -ahl
    1. 应用实例,创建一个组 test,再创建一个用户ryx,然后将ryx放在test组中,然后使用ryx去创建一个ryx.txt文件,
    2. 我的虚拟机炸了,就不在虚拟中写这段命令了
    gouupadd test
    useradd -g test ryx
    .... 
    ls -ahl
    

修改文件所有者

  1. 指令:chown 用户名 文件名
  2. 先创建一个test.txt文件,然后将其所有者修改为ryx
touch test.txt
chown ryx test.txt

改变用户所在的组

  1. 在添加用户的时候,可以指定将该用户添加到哪个组中
  2. 可以使用root管理员权限改变某个用户所在的组
  3. 改变用户所在组实例
    1. usermod -g 组名 用户名
    2. usermod -d 目录名 用户名 :改变用户登录的初始目录
  4. 应用实例:
    1. 创建一个temp组,将ryx这个用户从原本的test组修改到temp组
      usemod -g temp ryx

权限的基本介绍

  1. ls -l 显示的内容如下
[root@CentOS home]# cd 
[root@CentOS ~]# ls -l
总用量 100
-rw-------. 1 root root  1392 927 22:27 anaconda-ks.cfg
-rw-r--r--. 1 root root 45703 927 22:27 install.log
-rw-r--r--. 1 root root 10033 927 22:25 install.log.syslog
drwxr-xr-x. 2 root root  4096 927 22:30 公共的
drwxr-xr-x. 2 root root  4096 927 22:30 模板
drwxr-xr-x. 2 root root  4096 927 22:30 视频
drwxr-xr-x. 2 root root  4096 927 22:30 图片
drwxr-xr-x. 2 root root  4096 927 22:30 文档
drwxr-xr-x. 2 root root  4096 927 22:30 下载
drwxr-xr-x. 2 root root  4096 927 22:30 音乐
drwxr-xr-x. 3 root root  4096 928 06:16 桌面
  1. - 表示普通文件,d:表示目录 ,l:链接文件·c;字符设备文件(键盘鼠标),b:块设备文件(硬盘)
  2. drwx表示文件拥有者所拥有的文件权限
    d 表示删除,r:读取,x:执行权限
  3. 1392 表示文件大小,如果说是目录则统一为4096

rwx权限详解

rwx作用到文件

  1. r代表可读。
  2. w代笔可以写,可以修改,但是不代表可以删除该文件,删除一个文件的前提是对该文件有写权限,才能删除该文件
  3. x 代表执行权限,可以被执行

rwx作用到目录

  1. r代表可读,可以读取,ls查看目录内容
  2. w代表可写,可以修改,目录内创建+删除+重命名目录
  3. x 代表可执行,可以进入该目录

修改权限-chmod

  1. 通过修改权限chmode指令,可以修改文件或目录权限

  2. 第一种变更权限的方法通过 + ,-,=变更权限

    1. u: 所有者,g:所有组,o:其他人 。a:所有人(u,g,o的总和)
  3. chmod命令的使用

    1. chmod u=rwx,g=rx,o=x 文件,目录 :表示给所有者rwx,给所在组的用户rx,给其他人x权限
    2. chmod o+w :文件/目录 :表示给其他用户增加w的权限
    3. chmod a-x :文件/目录:表示给所有用户去掉 x权限
  4. chmod案例

    1. 给abc文件的所有者读写执行的权限,给所在组读执行权限,给其他组读执行权限
      chmode u=rwx,g=rx,o=rx abc
    2. 给abc文件的所有者除去执行的权限,增加组写的权限
      chmod u-x,g+w abc
    3. 给abc文件的所有用户添加读的权限
      chmod a+r abc

通过数字变更权限

  1. r=4 ,w=2,x=1,rwx = 4+2+1=7
  2. chmode u=rwx,g=rx,o=x 文件/目录 等于 chmode 751 文件/目录
  3. 使用数字更改权限的案例;将 /home/abc.txt文件的权限修改成 rwxr-xr-x ,使用给数字的方式实现
    chmod u=rwx,g=xr,o=x /home/abc.txt
    chmod 751 /home/abc.txt

修改文件所有者 -chown

chown基础命令

  1. chown newowner file 改变文件的所有者
  2. chown newowner:newgroup file 改变用户的所有者和所有组
  3. chown 常用的选项 -R :如果是目录,则使其下所有子文件或目录递归生效
  4. chown 案例演示
    1. 将/home/test.txt 文件的所有者修改成 ryx
      chown ryx /home/test.txt
    2. 将 /home/test 目录下的所有文件和目录的所有者都修改成ryx:chown -R ryx /home/test
    3. 将home 下的所有文件和目录的所有者都改成ryx,将所在组改为temp
      chown - R ryx:test /home/

修改文件所在的组 -chgrp

  1. chgrp newgroup file 改变文件的所有组
  2. chgrp 案例:
    1. 将/home/test.txt 文件的所有组修改为 ryxtest
      chgrp ryxtest /home/test.txt
    2. 将 /home/kkk 目录下的所有的文件和目录的所有组都修成 ryxtest
      chgrp -r ryxtest /home/kkk

以上是关于Linux的主要内容,如果未能解决你的问题,请参考以下文章

linux打开终端如何启动scala,如何在终端下运行Scala代码片段?

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

linux中怎么查看mysql数据库版本

-bash: /usr/bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory(代码片段

text Debian linux片段

markdown 我的linux片段为RHCSA