
Linux
BabyFish13
不要急,慢慢来;控制好节奏,奋斗到底!
展开
-
Shell标准输入、标准输出和标准错误及其重定向
Shell会自动为我们打开和关闭0、1、2这三个文件描述符,我们不需要显式地打开或关闭它们。如果没有显式地进行重定向,命令通过文件描述符0从屏幕读取输入,通过文件描述符1和2将输出和错误信息输出到屏幕。原创 2024-12-29 20:16:10 · 405 阅读 · 0 评论 -
linux查看crontab日志的命令
如果您只对特定的cron任务感兴趣,可以使用grep命令来筛选cron日志文件。默认情况下,cron日志会记录在特定用户的home目录下的cron文件中。可以使用以下命令查看特定用户的cron日志。有时,与cron相关的错误信息可能会被记录在系统日志文件中。请根据您的需求选择适合您的命令。查看/var/log/cron:这个日志文件记录了所有与cron相关的操作和消息。“syslog”文件可能会有其他名称,具体名称取决于您所使用的Linux发行版。注意,将“用户名”替换为实际的用户名。原创 2024-11-29 11:26:31 · 1906 阅读 · 0 评论 -
linux中限定特定用户使用crontab
在Linux中,crontab(cron table)是用来定时执行任务的工具。默认情况下,任何用户(包括普通用户)都可以为自己的账户创建和管理crontab条目,但前提是这个用户拥有对目录的写入权限,或者通过cron服务本身的权限控制。然而,如果你的意思是“如何允许或限制特定用户或用户组使用crontab”,这通常不是通过直接给“crontab权限”来实现的,而是通过系统配置和权限管理来控制的。原创 2024-11-29 11:16:28 · 988 阅读 · 0 评论 -
shell 数组详细用法
数组就是一系列元素的集合,一个数组内可以存放多个元素。# 方式一:array=(元素1 元素2 元素3)# 方式二:# 方式三:依次赋值# 方式四:利用执行命令的结果设置数组元素:array=($(命令))或者 array=(`命令`) 该方式会将命令的结果以空格为分隔符切成多个元素然后赋值给数组# ps:查看声明过的数组 declare -a。原创 2024-10-21 11:13:16 · 480 阅读 · 0 评论 -
shell数组计算
shell数之间差并计算。原创 2024-10-21 11:02:31 · 132 阅读 · 0 评论 -
Linux上网络端口通不通如何测试
方法1:telnet命令telnet命令是测试网络最常用的工具,使用方式telnet 远程ip port.如图,是网络端口通和不通的两种情况,当出现telnet: connect to address 192.168.150.168: Connection refused时,有两种情况,首先网络不通,你可以使用ping检测,如果网络通,可能对方服务器没有启动对应的服务。只因为telnet出现了不明确的答案,所以尝试了后面几种方法。方法2:nc命令nc命令作用很强.原创 2022-05-25 06:26:08 · 35515 阅读 · 2 评论 -
Linux用telnet判断端口是否通
通的[root@1222 ~]# telnet 127.0.0.1 4531Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.不通[root@1222 ~]# telnet 127.0.0.1 4581Trying 127.0.0.1...telnet: connect to address 127.0.0.1: Connection refused退出方式1.输入Ctrl+】键,然后原创 2022-05-21 07:18:23 · 21959 阅读 · 1 评论 -
Linux之AWK使用
awk是一种用于处理数据和生成报告的编程语言,也就是样式扫描和处理语言。一般的使用格式是:awk '{pattern + action}' {filenames}pattern指在每一行中进行匹配的条件,action指针对符合条件的行进行的操作,filenames是输入的文件名。例子:假设data文件中有以下数据:1 donald 305 200501292 chin 102 200401293 mark 304 20040229下面对这个文件进行操作:awk '原创 2022-04-25 11:49:00 · 692 阅读 · 0 评论 -
Linux上网络IP相关设置
1、用ifconfig、route、hostname设置IP地址:ifconfig eth0 192.168.0.95 netmask 255.255.255.0 up设置默认网关:route add default gw 192.168.0.1说明:eth0是第一个网卡,其他依次为eth1,eth*192.168.0.95是给网卡配置的第一个网卡配置的ip地址netmask 255.255.255.0 配置的是子网掩码up是表示立即激活临时修改主机名:[root@lo原创 2022-04-13 07:03:14 · 1612 阅读 · 0 评论 -
Linux(RedHat)下日期时间的设置
date //显示当前日期date -s //设置当前时间,只有root权限才能设置,其他只能查看。date -s 20061010 //设置成20061010,这样会把具体时间设置成空00:00:00date -s 12:23:23 //设置具体时间,不会对日期做更改date -s "12:12:23 2006-10-10" //这样可以设置全部日期时间在RedHat Linux里date命令默认显示的是如下格式:Tue Oct 24 20:18:11...原创 2022-04-13 06:38:58 · 8640 阅读 · 1 评论 -
Linux中su、sudo等用户切换操作
sudo :暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。缺点是每次执行超级用户权限都要在命令前加上 sudo ,优点是在当前终端再使用 sudo 不要再重复输入密码(只对于当前终端有效)。不过有时间限制,Ubuntu默认为一次时长15分钟。sudo su: 运行sudo命令给su命令提权,运行su命令。 要求执行该命令的用户必须在sudoers中才可以。sudo -i:为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。原创 2020-05-11 13:31:36 · 2362 阅读 · 0 评论 -
VIM光标快速移动
1、快速移动光标至行首和行尾 1)行首:使用键盘上的编辑键Home; 也可在命令模式中使用快捷键"^"(即Shift+6)或0(数字0)。 2)行尾:使用编辑键End; 也可以在命令模式中使用快捷键"$"(Shift+4)。 快捷键"$"前可以加上数字表示移动的行数。例如使用"1$"表示当前行的行尾,"25$"表示当...原创 2019-12-03 13:13:10 · 2919 阅读 · 0 评论 -
VI常用快捷操作1-添加、删除和修改文本
1、在vi中添加文本a 在光标后插入文本A 在当前行插入文本i 在光标前插入文本I 在当前行前插入文本o 在当前行的下边插入新行O 在当前行的上边插入新行:r file 读入文件file内容,并插在当前行后:nr file 读入文件file内容,并插在第n行后escape 回到命令模式^v char原创 2018-02-01 17:06:29 · 3339 阅读 · 0 评论 -
VI常用快捷操作3-查找和替换
一、查找 查找命令 /pattern :向下查找pattern匹配字符串 ?pattern:向上查找pattern匹配字符串 使用了查找命令之后,使用如下两个键快速查找: n:按照同一方向继续查找 N:按照反方向查找 ftext 在当前行向前查找textFtext 在当前行向后查找textttext 在当前行向前查找text,并将光标定位在原创 2018-02-02 17:06:08 · 521 阅读 · 0 评论 -
VI常用快捷操作2-光标控制和复制粘贴
光标控制命令h或^h 向左移一个字符j或^j或^n 向下移一行k或^p 向上移一行l或空格 向右移一个字符G 移到文件的最后一行gg 移到文件的第一行nG 移到文件的第n行w 移到下一个字的开头W 移到下一个字的开头,忽略标点符号b 移到前一个字的开头B 移到前一个字的开头,忽略标点符号原创 2018-02-01 17:39:18 · 654 阅读 · 0 评论 -
VI常用快捷操作4-有用的小命令
:.= 打印当前行的行号:= 打印文件中的行数:l 使用字母"l"来显示许多的特殊字符,如制表符和换行符s选项设置::set all 打印所有选项:set nooption 关闭option选项:set nu 每行前打印行号(number与nu同义):set noic 查找时忽略大小写:set list 显示制表符(^I)原创 2018-02-02 17:33:59 · 345 阅读 · 0 评论 -
Shell打印日期范围的列表日期
1、输入两日期参数打印两日期范围内的日期列表printRangeDate.sh#!/bin/bash # startdate="$1"date1=$(date -d "$1" "+%s") date2=$(date -d "$2" "+%s") date_count=$(echo "$date2 - $date1"|bc) day_m=$(echo "$date_count原创 2017-04-17 11:19:26 · 3112 阅读 · 0 评论 -
用Shell根据AcessLog统计对应的点击量
环境说明:AcessLog已经装载到Hdfs上,数据的存储是按日期存放,每天数据又按机器名、小时命名的文件进行存放。正常情况,一天的数据文件2300多个,大小是3~400G。1、将数据按小时分块,并行计算执行时长,20分钟左右。目前三种方案中较理想与合理的一种。#!/bin/bash for(( i = 0; i < 24; i++ )) do {hour2=`pri原创 2017-04-11 16:36:16 · 566 阅读 · 0 评论 -
大数据平台用于生成数据跑批脚本的脚本
1、脚本的目录结构/home/hs/opt/dw-etl/script_generate│ exec_hivessa_create_tab.sh│ exec_rdsssa_create_tab.sh│ rds-increment_tab_should_create_idx_sql.sh│ ssa-create_hive2mysql_increment_int_scrip原创 2016-03-24 14:58:23 · 18613 阅读 · 1 评论 -
Linux命令grep操作
1、或操作 grep -E '123|abc' filename // 找出文件(filename)中包含123或者包含abc的行egrep '123|abc' filename // 用egrep同样可以实现awk '/123|abc/' filename // awk 的实现方式2、与操作 grep pattern1 files | grep pattern2 ...原创 2018-09-27 16:11:47 · 406 阅读 · 0 评论 -
通过Shell数组传参控制Sql脚本串并行调度一例
一、目录环境[hadoop@emr-worker-9 UserPortrait]$ pwd/home/hadoop/nisj/UserPortrait[hadoop@emr-worker-9 UserPortrait]$ lltotal 616-rw-r--r-- 1 hadoop hadoop 2516 Mar 7 18:21 indexCalc-barrage-byUidOn原创 2017-03-13 10:19:11 · 1129 阅读 · 0 评论 -
Crontab避免周期内未执行完重复执行
如果某脚本要运行30分钟,可以在Crontab里把脚本间隔设为至少一小时来避免冲突。而比较糟的情况是可能该脚本在执行周期内没有完成,接着第二个脚本又开始运行了。如何确保只有一个脚本实例运行呢?一个好用的方法是利用lockf(FreeBSD 8.1下为lockf,CentOS 5.5下为flock),在脚本执行前先检测能否获取某个文件锁,以防止脚本运行冲突。lockf的参数如下:-k:一直等待获取文...原创 2018-03-12 19:11:49 · 2213 阅读 · 0 评论 -
Linux中grep查找含有某字符串的所有文件
在项目中,经常会遇到原始表名等已更换需要在脚本中批量替换的情况。但是这些涉及到哪些表,一个个的查找有些麻烦还可能会漏掉;直接在Linux上替换掉可能不能进行很好的版本同步;所以,可以考虑通过find与grep命令组合先查找出需要修改的脚本再进行统一处理。--递归查找目录下含有该字符串的所有文件grep -rn "data_chushou_pay_info" /home/hadoop/nisj/...原创 2018-03-27 10:28:04 · 140210 阅读 · 0 评论 -
Linux shell “if else” 与 条件判定
Abstract:1)"if else"执行控制;2)数学逻辑条件比较与字符串比较。 1、" if else "执行控制Linux Shell 里面实现“ if else if else”执行控制如下:if条件;then 执行代码;elif条件;then 执行代码;else 执行代码;fi并且使原创 2016-05-16 11:49:01 · 1969 阅读 · 0 评论 -
Mac终端添加ll命令
习惯了Linux下的ll命令,Mac终端没有这个命令很不爽,每次执行的时候总是报[-bash: ll: command not found]。可以用ll当作别名解决这个问题。其它命令可以类似操作。1、打开终端、cd到home路径cd ~2、编辑.bash_profile文件,添加别名vim .bash_profilealias ll='ls -alF'3、新加内容生效...原创 2019-09-21 14:38:57 · 1232 阅读 · 0 评论 -
linux文件每行数值总和相加
1、原始文件情况1.1、文件数[hadoop@emr-worker-10 result]$ ll room54000-htm_2018-* -rw-rw-r-- 1 hadoop hadoop 2 Oct 9 18:59 room54000-htm_2018-09-30-00.txt-rw-rw-r-- 1 hadoop hadoop 2 Oct 9 18:59 room54000-...原创 2018-10-10 10:00:12 · 16294 阅读 · 1 评论 -
linux的tree命令等代
Linux tree命令用于以树状图列出目录的内容。执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。但是,有些系统里,如 centos,他需要单独安装,如果服务器处于无网环境,则会比较麻烦。于是,通过linux命令组合,依然能够实现tree命令的效果。如下:find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'...原创 2018-06-05 15:16:57 · 1508 阅读 · 0 评论 -
CentOS添加用户到sudoers
1、修改/etc/sudoers文件权限进入超级用户,因为没有写权限,所以要先把写权限加上chmod u+w /etc/sudoers2、编辑/etc/sudoers文件vim /etc/sudoers找到这一 行:"root ALL=(ALL) ALL"在起下面添加"airflow ALL=(ALL) ALL"(airflow是用户名),然后保存。## Allow root to run any...原创 2018-05-11 14:48:12 · 6594 阅读 · 0 评论 -
Linux终端不能显示表情符问题
Linux客户端:secureCRT on Mac1、Hive数据直接查看hive> select uid,nickname > from oss_bi_all_user_profile > where pt_day='2018-04-18' and uid in(1133572117,1224160922,1056349348,1259606656,51639...原创 2018-04-23 10:53:55 · 3164 阅读 · 0 评论 -
shell中多命令执行
shell可以一次执行多个命令,每个命令之间可用'||'、'&&'和';'隔开。 ';' :如,command1 ; command2;是先执行第一个命令,不管第一个命令是否出错都执行下一个命令。'&&':如,command1 && command2;是当第一个命令正确执行完毕后,才执行下一个命令。'||':如,command1 || command...原创 2018-04-23 09:39:32 · 843 阅读 · 0 评论 -
linux中批量替换目录下所有文件内容的方法
形式1:sed -i "s/oldString/newString/g" `grep oldString -rl /path`sed -i "s/oss_room_v2/oss_bi_all_room/g" `grep oss_room_v2 -rl /home/hadoop/nisj/automationDemand/idfaQuery`形式2:grep oldString -rl /pa...原创 2018-03-27 14:21:51 · 14387 阅读 · 0 评论 -
Linux下模拟多线程的并发shell脚本写法
一个在Linux下模拟多线程的并发的方法,使用这个方法可以同时批量在定义数量的服务器上执行相关命令,比起普通for/while循环只能顺序一条一条执行的效率高非常多。1、不使用多线程的情况/Users/nisj/PycharmProjects/BiDataProc/UserPortrait/user_portrait_view_singleThread.sh#!/usr/bin/env原创 2017-03-03 16:39:46 · 4911 阅读 · 0 评论 -
Vim的四种模式
1.Vim常用模式 命令模式(command-mode) 插入模式(insert-mode) 可视模式(visual-mode) 正常模式(normal-mode) 2.如何进入这些模式①.正常模式正常模式主要用来浏览和修改文本内容的一般的,打开Vim都是正常模式。在任何模式下,只要按下 Esc 键就可以返回正常模式。正常模式一般用于浏览文件原创 2017-02-21 16:44:26 · 1271 阅读 · 0 评论 -
Linux shell function call Sample
[hs@master Log_Data]$ cat dw_parameter_ex.sh#!/bin/bash#99_dianz total data proc ...src_dbip=`sh /home/hs/opt/public-function/getsrcinfo.fc dbip 99_dianz`src_user=`sh /home/hs/opt/public-原创 2016-06-01 11:45:02 · 1268 阅读 · 0 评论 -
Linux shell function study
语法:[ function ] funname [()]{ action; [return int;]}说明:1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255)实例(fun原创 2016-05-31 19:47:06 · 687 阅读 · 0 评论 -
CentOS6.6-64下rpm方式mysql-5.7.12安装实录
操作系统环境情况:[root@localhost ~]# cat /etc/issue CentOS release 6.6 (Final)Kernel \r on an \m[root@localhost ~]# getconf LONG_BIT641、mysql-5.7.12 rpm bundel包下载[root@localhost ~]# wget ht原创 2016-04-22 17:10:39 · 6694 阅读 · 3 评论 -
linux基础命令之:su和sudo用户切换命令的使用
1、su 的用法通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,而普通用户切换到其它任何用户都需要密码验证。su [OPTION选项参数] [用户]语 法:su [-flmp][--help][--version][-][-c ][-s ][用户帐号][root@localhost babyfish]# su --hUsage:原创 2016-04-22 14:22:55 · 13638 阅读 · 0 评论 -
linux基础命令之:vi模式下查找和替换
一、查找查找命令/pattern :向下查找pattern匹配字符串?pattern:向上查找pattern匹配字符串使用了查找命令之后,使用如下两个键快速查找:n:按照同一方向继续查找N:按照反方向查找pattern是需要匹配的字符串,例如:/hello #查找hello/hello #查找hello单词(注意前后的空格)除此之外,patt原创 2016-01-20 14:46:40 · 10397 阅读 · 0 评论 -
linux基础命令之:Linux统计命令wc学习
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。1、wc命令帮助[spark@Master etl-script]$ wc --helpUsage: wc [OPTION]... [FILE]... or: wc [OPTION]... --files0-from=FPrint newline, word,原创 2016-02-17 17:46:36 · 698 阅读 · 0 评论 -
linux基础命令之:last命令学习
命令简介:该命令用来列出目前与过去登录系统的用户相关信息。指令所在路径:/usr/bin/last 执行last指令时,它会读取位于/var/log目录下名称为wtmp的文件,并把该给文件的内容记录的登录系统的用户名单全部显示出来。默认是显示wtmp的记录,btmp能显示的更详细,可以显示远程登录,例如ssh登录。utmp文件中保存的是当前正在本系统中的用户的信息。 wtm原创 2016-04-12 15:10:10 · 1164 阅读 · 0 评论