首页 文章 精选 留言 我的

精选列表

搜索[shell],共7518篇文章
优秀的个人博客,低调大师

Shell脚本初级练习篇

脚本1 作用:创建10个1M的文件 1 2 3 4 5 6 [root@pythonscript] #catmake_file.sh #!/bin/bash # for i in $( seq 110); do dd if = /dev/zero of= /data/test/test "${i}" bs=1Mcount=1 done 脚本2 作用:移走/data/test目录下大于100K的普通文件到/tmp目录下 1 2 3 4 [root@pythonscript] #catfile_mv.sh #!/bin/bash # find /data/test - type f-size+100k| xargs -i mv {} /tmp 脚本3 作用:删除/tmp目录下包含test的任意字符且大小大于100K的文件 1 2 3 4 [root@pythonscript] #catfile_rm.sh #!/bin/bash # find /tmp -name "test*" - type f-size+100k| xargs -i rm -f{} 脚本4 结合continue,break的for循环示例 1 2 3 4 5 6 7 8 9 10 11 12 13 [root@pythonscript] #catfor.sh #!/bin/bash #forloopegs for I in {1..10}; do if [[$I- eq 6]]; then echo "sixsixsix" continue elif [[$I- eq 9]]; then echo "byebye9" break fi echo $I done 脚本5 简单while循环示例 1 2 3 4 5 6 7 8 [root@pythonscript] #catwhile.sh #!/bin/bash #whileloopegs NUM=5 while [[$NUM-gt0]]; do echo $NUM let NUM-=1 done 脚本6 简单until循环示例 1 2 3 4 5 6 7 8 9 [root@pythonscript] #catuntil.sh #!/bin/bash #untilloopegs # NUM=5 until [[$NUM-lt0]]; do echo $NUM let NUM-=1 done 脚本7 结合位置参数的case语句用法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [root@pythonscript] #catcase.sh #!/bin/bash #caseloopegs # VAR=$1 case $VAR in neo) echo hacker ;; sternberg) echo rigorous ;; michael) echo creative ;; *) echo unknow ;; esac 脚本8 function函数示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [root@pythonscript] #catfunction.sh #!/bin/bash #functionegs # #1stfunction function hi(){ echo "Hi,youarebeautiful!" } #sencondfunction hello(){ echo -e "JunLeisays\"hellothankyou\"" } hi hello 本文转自 PowerMichael 51CTO博客,原文链接:http://blog.51cto.com/huwho/1958762,如需转载请自行联系原作者

优秀的个人博客,低调大师

Netkiller Linux Shell 手札之前言

1.2.作者简介 陈景峯 (ㄔㄣ ㄐ丨ㄥ ㄈㄥ) Nickname:netkiller | English name: Neo chen | Nippon name: ちんけいほう (音訳) | Korean name: 천징봉 | Thailand name: ภูมิภาพภูเขา | Vietnam: Trần Cảnh Phong Callsign: BG7NYT | QTH: ZONE CQ24 ITU44 ShenZhen, China 程序猿,攻城狮,挨踢民工, Full Stack Developer, UNIX like Evangelist, 业余无线电爱好者(呼号:BG7NYT),户外运动,山地骑行以及摄影与钢琴爱好者。 《Netkiller 系列 手札》的作者 成长阶段 1981年1月19日(庚申年腊月十四)出生于黑龙江省青冈县建设乡双富大队第一小队 1989年9岁随父母迁居至黑龙江省伊春市,悲剧的天朝教育,不知道那门子归定,转学必须降一级,我本应该上一年级,但体制让我上学前班,那年多都10岁了 1995年小学毕业,体制规定借读要交3000两银子(我曾想过不升初中),亲戚单位分楼告别平房,楼里没有地方放东西,把2麻袋书送给我,无意中发现一本电脑书BASIC语言,我竟然看懂了,对于电脑知识追求一发而不可收,后面顶零花钱,压岁钱主要用来买电脑书《MSDOS 6.22》《新编Unix实用大全》《跟我学Foxbase》。。。。。。 1996年第一次接触UNIX操作系统,BSD UNIX, Microsoft Xinux(盖茨亲自写的微软Unix,知道的人不多) 1997年自学Turbo C语言,苦于没有电脑,后来学校建了微机室才第一次使用QBASIC(DOS 6.22 自带命令),那个年代只能通过软盘拷贝转播,Trubo C编译器始终没有搞到, 1997年第一次上Internet网速只有9600Bps, 当时全国兴起各种信息港域名格式是www.xxxx.info.net, 访问的第一个网站是NASA下载了很多火星探路者拍回的照片,还有“淞沪”sohu的前身 1998~2000年在哈尔滨学习计算机,充足的上机时间,但老师让我们练打字(明伦五笔/WT)打字不超过80个/每分钟还要强化训练,不过这个给我的键盘功夫打了好底。 1999年学校的电脑终于安装了光驱,在一张工具盘上终于找到了Turbo C, Borland C++与Quick Basic编译器,当时对VGA图形编程非常感兴趣,通过INT33中断控制鼠标,使用绘图函数模仿windows界面。还有操作 UCDOS 中文字库,绘制矢量与点阵字体。 2000年沉迷于Windows NT与Back Office各种技术,神马主域控制器,DHCP,WINS,IIS,域名服务器,Exchange邮件服务器,MS Proxy, NetMeeting...以及ASP+MS SQL开发;用56K猫下载了一张LINUX。ISO镜像,安装后我兴奋的24小时没有睡觉。 职业生涯 2001年来深圳进城打工,成为一名外来务工者. 在一个4人公司做PHP开发,当时PHP的版本是2。0, 开始使用Linux Redhat 6.2.当时很多门户网站都是用FreeBSD,但很难搞到安装盘,在网易社区认识了一个网友,从广州给我寄了一张光盘,FreeBSD 3.2 2002年我发现不能埋头苦干,还要学会"做人".后辗转广州工作了半年,考了一个Cisco CCNA认证。回到深圳重新开始,在车公庙找到一家工作做Java开发 2003年这年最惨,公司拖欠工资16000元,打过两次官司2005才付清. 2004年开始加入分布式计算团队,目前成绩,工作仍然是Java开发并且开始使用PostgreSQL数据库。 2004-10月开始玩户外和摄影 2005-6月成为中国无线电运动协会会员,呼号BG7NYT,进了一部Yaesu FT-60R手台。公司的需要转回PHP与MySQL,相隔几年发现PHP进步很大。在前台展现方面无人能敌,于是便前台使用PHP,后台采用Java开发。 2006年单身生活了这么多年,终于找到归宿. 工作更多是研究PHP各种框架原理 2007物价上涨,金融危机,休息了4个月(其实是找不到工作),关外很难上439.460中继,搞了一台Yaesu FT-7800. 2008终于找到英文学习方法, 《Netkiller Developer 手札》,《Netkiller Document 手札》 2008-8-8 08:08:08 结婚,后全家迁居湖南省常德市 2009《Netkiller Database 手札》,2009-6-13学车,年底拿到C1驾照 2010对电子打击乐产生兴趣,计划学习爵士鼓。由于我对Linux热爱,我轻松的接管了公司的运维部,然后开发运维两把抓。我印象最深刻的是公司一次上架10个机柜,我们用买服务器纸箱的钱改善伙食。我将40多台服务器安装BOINC做压力测试,获得了中国第二的名次。 2011 平凡的一年,户外运动停止,电台很少开,中继很少上,摄影主要是拍女儿与家人,年末买了一辆山地车 2012 对油笔画产生了兴趣,活动基本是骑行银湖山绿道, 2013开始学习民谣吉他,同时对电吉他也极有兴趣;最终都放弃了。这一年深圳开始推数字中继2013-7-6日入手Motorola MOTOTRBO XIR P8668,Netkiller 系列手札从Sourceforge向Github迁移;年底对MYSQL UDF,Engine与PHP扩展开发产生很浓的兴趣,拾起遗忘10+年的C,写了几个mysql扩展(图片处理,fifo管道与ZeroMQ),10月份入Toyota Rezi 2.5V并写了一篇《攻城狮的苦逼选车经历》 2014-9-8 在淘宝上买了一架电钢琴 Casio Privia PX-5S pro 开始陪女儿学习钢琴,由于这家钢琴是合成器电钢,里面有打击乐,我有对键盘鼓产生了兴趣。 2014-10-2号罗浮山两日游,对中国道教文化与音乐产生了兴趣,10月5号用了半天时间学会了简谱。10月8号入Canon 5D Mark III + Canon Speedlite 600EX-RT香港过关被查。 2014-12-20号对乐谱制作产生兴趣(https://github.com/SheetMusic/Piano),给女儿做了几首钢琴伴奏曲,并计划将小汤,大汤,巴斯蒂安,拜厄,车尔尼...制谱然后生成MIDI与WAV文件。 2015-09-01 晚饭后拿起爵士鼓基础教程尝试在Casio Privia PX-5S pro演练,经过反复琢磨加上之前学钢琴的乐理知识,终于在02号晚上,打出了简单的基本节奏,迈出了第一步。 2016 对弓箭(复合弓)产生兴趣,无奈兲朝法律法规不让玩。每周游泳轻松1500米无压力,年底入 xbox one s,开始关注功放音响这块 2017 7月9号入 Yamaha RX-V581 功放一台,连接Xbox打游戏爽翻了,计划学习蝶泳,职业生涯路上继续打怪升级 联系作者 http://netkiller.github.io/ http://netkiller.sourceforge.net/ Mobile: +86 13113668890 Callsign: BG7NYT QTH: Shenzhen, China Email: netkiller@msn.com MSN: netkiller@msn.com ICQ: 101888222 QQ: 13721218 Yahoo/AIM/GTalk: bg7nyt IRC: irc://irc.freenode.net /nickname netkiller or neo 注:请不要问我安装问题! Xbox club 我再xbox上的ID是netkiller xbox,我创建了一个俱乐部 netkiller 欢迎加入。 CQ CQ CQ DE BG7NYT 写给火腿: 欢迎无线电爱好者和我QSO,我的QTH在深圳宝安区龙华镇溪山美地,设备YAESU FT-50R,FT-60R,FT-7800 144-430双段机, 拉杆天线/GP天线 Nagoya MAG-79EL-3W/Yagi 如果这篇文章对你有所帮助,请寄给我一张QSL卡片,qrz.cn or qrz.com or hamcall.net Personal Amateur Radiostations of P.R.China ZONE CQ24 ITU44 ShenZhen, China Best Regards, VY 73! OP. BG7NYT 守听频率 DMR 438.460 -10 Slot 1 Color 12 1.3.写给读者 写给读者 欢迎提出宝贵的建议,如有问题请到 邮件列表 讨论 至读者: 我不知道什么时候,我不再更新文档或者退出IT行业去从事其他工作,我必须给这些文档找一个归宿,让他能持续更新下去。 我想捐赠给某些基金会继续运转,或者建立一个团队维护它。 我用了10年时间坚持不停地写作,持续更新,才有今天你看到的《Netkiller 手扎》系列文档,在中国能坚持10年,同时没有任何收益的技术类文档,是非常不容易的。 有很多时候想放弃,看到外国读者的支持与国内社区的影响,我坚持了下来。 中国开源事业需要各位参与,不要成为局外人,不要让外国人说:中国对开源索取无度,贡献却微乎其微。 我们参与内核的开发还比较遥远,但是进个人能力,写一些文档还是可能的。 原文出处:Netkiller 系列 手札 本文作者:陈景峯 转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

优秀的个人博客,低调大师

shell命令使用Hadoop归档文件

每个文件HDFS采用块方式进行存储,在系统运行时,文件块的元数据信息会被存储在NameNode的内存中,因此,对HDFS来说,大规模存储小文件显然是低效的,很多小文件会耗尽NameNode的大部分内存。 Hadoop归档文件和HAR文件可以将文件高效地放入HDFS块中的文件存档设备,在减少NameNode内存使用的同时,仍然允许对文件进行透明访问。具体来说,Hadoop归档文件可以作为MapReduce的输入。这里需要注意的是,小文件并不会占用太多的磁盘空间,比如设定一个128MB的文件块来存储1MB的文件,实际上存储这个文件只需要1MB磁盘空间,而不是128MB。 Hadoop归档文件是通过archive命令工具根据文件集合创建的。因为这个工具需要运行一个MapReduce来并行处理输入文件,所以需要一个运行MapReduce的集群。而HDFS中有些文件是需要进行归档的,例如: hadoop fs -lsr /user/ubuntu/In/ -rw-r--r-- 3 ubuntu\ubuntu supergroup 13 2012-03-18 20:15 /user/ubuntu/In/hello.c.txt -rw-r--r-- 3 ubuntu\ubuntu supergroup 13 2012-03-17 15:13 /user/ubuntu/In/hello.txt 运行archive命令如下: hadoop archive -archiveNamefiles.har /user/ubuntu/In/ /user/ubuntu/ 在命令行中,第一个参数是归档文件的名称,这里是file.jar文件; 第二个参数是要归档的文件源,这里我们只归档一个源文件夹,即HDFS下/user/ubuntu/In/中的文件,但事实上,archive命令可以接收多个文件源; 最后一个参数,即本例中的/user/ubuntu/是HAR文件的输出目录。可以看到这个命令的执行流程为一个MapReduce任务。 下面我们来看这个归档文件是怎么创建的: hadoop fs -ls /user/ubuntu/In/ /user/ubuntu/ Found 2 items -rw-r--r-- 3 ubuntu\ubuntu supergroup 13 2012-03-18 20:15 /user/ubuntu/In/hello.c.txt -rw-r--r-- 1 ubuntu\ubuntu supergroup 13 2012-03-17 15:13 /user/ubuntu/In/hello.txt Found 3 items drwxr-xr-x - ubuntu\ubuntu supergroup 0 2012-03-18 20:15 /user/ubuntu/In drwxr-xr-x - ubuntu\ubuntu supergroup 0 2012-03-18 18:53 /user/ubuntu/ubuntu drwxr-xr-x - ubuntu\ubuntu supergroup 0 2012-03-18 20:47 /user/ubuntu/files.har 这个目录列表展示了一个HAR文件的组成:两个索引文件和部分文件(part file)的集合。这里的部分文件包含已经连接在一起的大量源文件的内容,同时索引文件可以检索部分文件中的归档文件,包括它的长度、起始位置等。但是,这些细节在使用HAR URI模式访问HAR文件时大多数都是隐藏的。 HAR文件系统是建立在底层文件系统之上的(此处是HDFS),以下命令是以递归的方式列出了归档文件的文件: hadoop fs -lsr har://user/ubuntu/files.har drw-r--r-- - ubuntu\ubuntu supergroup 0 2012-03-18 20:47 /user/ubuntu/files.har/user drw-r--r-- - ubuntu\ubuntu supergroup 0 2012-03-18 20:47 /user/ubuntu/files.har/user/ubuntu drw-r--r-- - ubuntu\ubuntu supergroup 0 2012-03-18 20:47 /user/ubuntu/files.har/user/ubuntu/In -rw-r--r-- - ubuntu\ubuntu supergroup 0 2012-03-18 20:47 /user/ubuntu/files.har/user/ubuntu/In/hello.c.txt -rw-r--r-- - ubuntu\ubuntu supergroup 0 2012-03-18 20:47 /user/ubuntu/files.har/user/ubuntu/In/hello.txt 如果HAR文件所在的文件系统是默认的文件系统,那么这里的内容就非常直观和易懂,但是,如果你想要在其他文件系统中使用HAR文件,就需要使用不同格式的URI路径。下面两个命令具有相同的作用: hadoop fs -lsr har:/// user/ubuntufiles.har/my/files/dir hadoop fs -lsr har://hdfs-localhost:8020/ user/ubuntu/files.har/my/files/dir 第二个命令,它仍然使用HAR模式描述一个HAR文件系统,但是使用HDFS作为底层的文件系统模式,HAR模式之后紧跟一个HDFS系统的主机和端口号。HAR文件系统会将HAR URI转换为地产底层的文件系统fangwenURI。在本例中即为hdfs://localhost:8020/user/ubuntu/archive/files.har,文件的剩余部分路径即为文件归档部分的路径/my/files/dir。 想要删除HAR文件,需要使用删除的归档格式,这是因为底层的文件系统HAR文件是一个目录,删除命令为hadoop fs -rmr /userubuntu/files.har。 对于HAR文件我们还需要了解它的一些不足之处。当创建一个归档文件时,还会创建原始文件的一个副本,这样就需要额外的磁盘空间(尽管归档完成后悔删除原始文件)。而且当前没有针对闺房文件的压缩办法,只能对写入归档文件的原始文件进行压缩。归档文件一旦创建就不能改变,要增加或者删除文件,就需要重新创建。事实上,这对于那些写后不能更改的文件不构成问题,因为可以按日或者按周进行定期成批归档。 如前所述,HAR文件可以作为MapRedeuce的一个输入文件,然而,没有一个基于归档的InputFormat可以将多个文件打包到一个单一的MapReduce中去。所以,即使是HAR文件,处理小的文件时效率仍然不高。 本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/5141259.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

shell 写的 jrottenberg/ffmpeg 转码

#!/bin/bash if [ $# -ne 2 ];then echo "The argument must be 2" exit; else echo "$1 $2" fi VIDEOPATH=/data/golang/videode INPUTPATH=${1} OUTPATH=${2} #checkout file DECODEFILE=${VIDEOPATH}/${OUTPATH} NEWDIR=${DECODEFILE%/*} if [ ! -d ${NEWDIR} ]; then mkdir -p ${NEWDIR} fi echo $DECODEFILE #if [ ! -f "$DECODEFILE" ]; then # rm -rf $DECODEFILE #fi docker run -i --name ffepmge -v ${VIDEOPATH}:/tmp/workdir jrottenberg/ffmpeg -i ${INPUTPATH} -c:v libx264 -crf 28 -strict -2 ${OUTPATH} docker rm ffepmge curl -connect-timeout 2 -m 5 "http://xxxx/$OUTPATH"

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册