首页
留言页面
归档
友情链接
Search
1
navicat和idea的那啥方法
221 阅读
2
开始了新征途,出发
124 阅读
3
关于操蛋的四月的一些碎碎念
117 阅读
4
面试题 — 连续登录问题的简单记录
61 阅读
5
重建站的碎碎念
55 阅读
默认分类
linux
leetcode
hive
数据结构
登录
/
注册
Search
标签搜索
hive
情感
生活随感
海绵
累计撰写
29
篇文章
累计收到
6
条评论
今日撰写
0
篇文章
首页
栏目
默认分类
linux
leetcode
hive
数据结构
页面
留言页面
归档
友情链接
用户登录
登录
注册
搜索到
10
篇与
linux
的结果
2022-03-15
shell的简单记录
shell的简单记录特殊变量$n功能描述:n为数字,$0代表该脚本名称,$1-9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10}。$功能描述:获取所有输入参数个数,常用于循环$*功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体$@功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待注意:如果想让$*和$@ 体现区别必须用双引号括起来才生效,如果不加双引号,效果是一样的。$?用来判断上一条执行能不能执行成功的,如果可以的话,返回的数组为0,不是0的话,说明上一个失败了。运算符$((运算式)) 或者 $[运算式]。一般用后者吧,前者不够优雅。注意点:>= <= 这两个会报错,我们需要用 以下的判断。-lt 小于(less than) -le 小于等于(less equal)-eq 等于(equal) -gt 大于(greater than)-ge 大于等于(greater equal) -ne 不等于(Not equal)还有 -f 表示一个已存在的常规文件。-d 表示已存在的目录流程控制if 语句if [ $a == $b ] then echo "a 等于 b" elif [ $a -gt $b ] then echo "a 大于 b" elif [ $a -lt $b ] then echo "a 小于 b" else echo "没有符合的条件" fi注意点1:要有空格隔开。多个 if 判断用 elif ,有 [ ] 判断的地方要带上 then。最后一个 fi 是结束的标志。如果 else 分支没有语句执行,就不要写这个 else。case 语句echo '输入 1 到 4 之间的数字:' echo '你输入的数字为:' read aNum case $aNum in 1) echo '你选择了 1' ;; 2) echo '你选择了 2' ;; 3) echo '你选择了 3' ;; 4) echo '你选择了 4' ;; *) echo '你没有输入 1 到 4 之间的数字' ;; esaccase 工作方式如上所示,取值后面必须为单词 in,每一模式必须以右括号结束。取值可以为变量或常数,匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令。for 语句#!/bin/bash for loop in "$@" do echo "The value is: $loop" done echo "======================" for loo in "$*" do echo "The value is: $loo" done 上面提到了一个 $@ 和 $* 的区别。要在双引号才可以体验到区别。这里就可以看出来了。如果不带双引号,两者的效果是一样的。while 语句#!/bin/bash s=0 i=1 while [ $i -le 100 ] do s=$[$s+$i] i=$[$i+1] done echo $s 控制台读入read xxx -t 限制时间 -p 控制台的提示语自定义函数#!/bin/bash demoFun(){ echo "这是我的第一个 shell 函数!" } echo "-----函数开始执行-----" demoFun echo "-----函数执行完毕-----"取前一天的时间#获取时间,如果有时间就指定时间,没有的话,就自动前一天 if [ -n "$1" ]; then do_date=$1 else do_date=`date -d "-1 day" +%F` fi-n 的参数表示 判断 输入的字符串的长度,从而判断有没有输入。单引号和双引号和反引号的区别# 在文件中添加如下内容 #!/bin/bash do_date=$1 echo '$do_date' echo "$do_date" echo "'$do_date'" echo '"$do_date"' echo `date` 2)查看执行结果 [atguigu@hadoop102 bin]$ test.sh 2019-02-10 $do_date 2019-02-10 '2019-02-10' "$do_date" 2019年 05月 02日 星期四 21:02:08 CST (1)单引号不取变量值(2)双引号取变量值(3)反引号`,执行引号中命令(4)双引号内部嵌套单引号,取出变量值(5)单引号内部嵌套双引号,不取出变量值单引号可以将它中间的所有任意字符还原为字面意思。双引号不会屏蔽 反引号,转义字符,美元符这三个字符。反引号进行命令替换,替换为命令字符的执行结果输出内容。
2022年03月15日
8 阅读
0 评论
1 点赞
2022-03-15
linux组和用户
新增用户useradd 命令用于创建新的用户,格式为 “useradd [选项] 用户名”。 可以使用 useradd 命令创建用户账户。使用该命令创建用户账户时,默认的用户家目录会 被存放在/home 目录中,默认的 Shell 解释器为/bin/bash,而且默认会创建一个与该用户同名 的基本用户组。一般没有特殊的要求,我们可以直接 useradd + 名字 ,其他的参数默认就是了。命令中的参数以及作用参数作用-d指定用户的家目录(默认为/home/username)-e账户的到期时间,格式为 YYYY-MM-DD.-u指定该用户的默认 UID-g指定一个初始的用户基本组(必须已存在)-G指定一个或多个扩展用户组,添加多个前面 -a-N不创建与用户同名的基本用户组-s指定该用户的默认 Shell 解释器相关的知识点查看当前用户的组信息 id + 用户名查看全部用户 cat /etc/passwd,如果查看这个文件最后是 /sbin/nologin ,说明这个用户被禁止登录了。修改用户usermod 命令用于修改用户的属性,格式为 “usermod [选项] 用户名”。用户的信息保存在/etc/passwd 文件中,可以直接用文本编辑器来修改其中的 用户参数项目,也可以用 usermod 命令修改已经创建的用户信息。但是这里更加推荐修改文件的方式去修改用户的信息如果要修改用户的名字以及所归属的组,修改 /etc/passwd 这个文件就好。看上图找到对应的地方改就是了。删除用户userdel [-r] username带上参数 -r 说明连同 home 目录下的文件夹也一起删除掉。参数 -f 是强制删除用户。新增组groupadd 命令用于创建用户组,格式为 “groupadd [选项] 群组名”。一个用户可以有很多个组,可以大概划分为基本用户组和扩展用户组。在《鸟哥的Linux私房菜》一书中提到两个概念,一个是有效群组,一个是初始群组,所谓初始群组,就是在创建这个用户的时候,就已经分配了一个初始群组,当然也可以使用 -g 去指定一个群组。上面说过了我们使用 usermod -G 去指定一个扩展用户组。查看用户所属的组groups 指令。查看用户归属的所有组,其中第一个是有效群组,也就是说,我的有效群组为 dmtsai 啦~ 此时,如果我以 touch 去建立一个新档,例如:『 touch test 』,那么这个文件的拥有者为 dmtsai , 而且群组也是 dmtsai 的啦。查看组有那些用户,改组名字之类的,都可以通过修改 /etc/group 文件进行操作。当然 直接输入 id 也是看到相关的数据。/etc/group 文件结构 : 组名 :x :gid:此群组支持的账号名称切换组newgrp + 组名修改组groupmod [-g gid] [-n group_name] 群组名。但是不推荐改组id,一般改名字就好了。带上参数 -n 即可。删除组groupdel + 组名。在删除之前要注意的是:必须要确认 /etc/passwd 内的账号没有任何人使用该群组作为 initial group
2022年03月15日
4 阅读
0 评论
0 点赞
2022-03-15
centos防火墙设置
centos防火墙设置CentOS7以前的版本默认使用iptables服务进行管理防火墙规则。但是CentOS7以及以上版本默认使用firewall管理防火墙。所以在CentOS8中,就使用其默认的firewalld配置防火墙。常见的firewall指令systemctl start firewalld.service # 启动防火墙 systemctl stop firewalld.service # 关闭防火墙 systemctl status firewalld.service # 查看防火墙状态 systemctl enable firewalld.service # 设置防火墙随着系统启动(一般用来设置开机自启动) systemctl disable firewalld.service # 禁止防火墙随着系统启动 firewall-cmd --state # 查看防火墙状态 firewall-cmd --reload # 更新防火墙规 firewall-cmd --list-ports # 查看所有打开的端口 端口相关的指令firewall-cmd --query-port=8080/tcp # 查询端口是否开放 firewall-cmd --add-port=80/tcp --permanent #永久添加80端口例外(全局) firewall-cmd --remove-port=80/tcp --permanent #永久删除80端口例外(全局) firewall-cmd --reload #重启防火墙(修改配置后要重启防火墙)
2022年03月15日
7 阅读
0 评论
0 点赞
2022-03-15
centos8 同步网络时间
centos8 同步网络时间centos 7 还有 ntp 直接同步网络时间。但是在centos8使用了chrony去做时间同步了。本文将介绍配置国内的时间服务器,然后每次开机的时候自动同步时间。防止集群之间时间不同步。修改配置文件[root@hadoop102 atguigu]# vim /etc/chrony.conf pool ntp5.aliyun.com iburst #使用 root 用户,修改上面的文件,修改成阿里云的时间服务器 设置开机启动systemctl restart chronyd systemctl enable chronyd注意点如果chrony的服务已经启动了,直接执行 chronyc tracking 命令即可同步时间。补充:亲测这个指令不行哇 ,重启服务吧。不是很确定:在没有启动服务的时候,可以执行下面这个同步时间。chronyd -q 'pool ntp1.aliyun.com iburst'
2022年03月15日
37 阅读
0 评论
0 点赞
2022-03-15
Contos 8 yum 源失效的解决办法
Contos 8 yum 源失效的解决办法centos 8 官方停止维护了,yum 源自然而然的就会失效。这边文章教你如何重新配置 yum 源。本文使用的是阿里云的源进到目录cd /etc/yum.repos.d进到这个目录之后,有很多以 repo 结尾的文件。记住:这些文件都要改动。修改baseurl[BaseOS] name=Qcloud centos OS - $basearch baseurl=https://mirrors.aliyun.com/centos-vault/8.3.2011/BaseOS/$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial我们打开这些 repo 结尾的文件,有 baseurl 这个参数的,我们就把他改了。这里唯一要变的是 83.2011。[root@hadoop102 yum.repos.d]# cat /etc/redhat-release CentOS Linux release 8.3.2011这里我查看了我的发行版本的信息,是 8.3.2011。如果你的是 8.5.2111。那么你需要把 baseurl 上面的 8.3.2011 替换成 8.5.2111。注释所有 mirrorlist每一次 repo 结尾的文件都需要修改,见到 mirrorlist 就要把他给注释掉。同时下面原本的 baseurl 注释要去掉,打开 baseurl 这个配置。类似下面这样[devel] name=CentOS Linux $releasever - Devel WARNING! FOR BUILDROOT USE ONLY! #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=Devel&infra=$infra baseurl=https://mirrors.aliyun.com/centos-vault/8.3.2011/Devel/$basearch/os/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial关于 gpgkeygpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial出现 gpgkey 的参数,全部改成。最后yum clean all yum makecache等待即可。总结全部 repo 文件都得改改的地方有上面三处
2022年03月15日
6 阅读
0 评论
1 点赞
1
2