top

几个磁盘
fdisk -l
磁盘空间 df -lh
df -al

查看进程:ps -ef“grep java
杀死进程:kill -9 进程号

more中过滤

more xxx |grep www.makaidong.com

安装linux后配置ip

Vim /etc/sysconfig/network-scripts/ifcfg-eth5
IPADDR=192.168.42.142
NETMASK=255.255.255.0
GATEWAY=192.168.42.1

启动关闭网卡
Ifdown eth5
Ifup eth5
service network restart 优先

2:无法上网 配置dns
vim /etc/resolv.conf

dns

nameserver 8.8.8.8
nameserver 114.114.114.114
nameserver 223.5.5.5
nameserver 223.6.6.6

测试:
ping www.makaidong.com

yum安装软件
rpm

yum -y install mysql

shell基础
#!/bin/sh

#print hello world in the console window
a="hello world!hello makaidong"
echo "Hi, $as"

就不会输出“Hi, hello worlds”,而是输出“Hi,”。这是因为Shell把$as当成一个变量,而$as未被赋值,其值为空。
正确的方法是:

echo "Hi, ${a}s"
echo $a

ps -aux|grep 'ambari'

tail -f -n 200 add_run_7.sh.log
切换到root
sudo su -

切换到其他用户
sudo su hive

Top

df -lh

find 递归查找制定文件名
find 201412/ -type f -name "*.txt"
安装

复制 通配符
cp -r *_result bak/

wordcount
wc -l 统计 通配符

wc -l 3_net_*/*

scp -r makaidong root@10.251.242.59:/mnt/

#!/bin/sh

a=10
b=20

if [ $a == $b ]
then
echo "a is equal to b"
fi

if [ $a != $b ]
then
echo "a is not equal to b"
fi
[ -f "$file" ] 判断$file是一个文件
[ ! -f "$file" ] 判断$file不是一个文件
history low great
[ $a -lt 3 ] 判断$a的值是否小于3,同样-gt和-le分别表示大于等于或小于等于
num1-eq num2 等于 [ 3 -eq $mynum ]
num1-ne num2 不等于 [ 3 -ne $mynum ]
num1-lt num2 小于 [ 3 -lt $mynum ]
num1-le num2 小于或等于 [ 3 -le $mynum ]
num1-gt num2 大于 [ 3 -gt $mynum ]
num1-ge num2 大于或等于 [ 3 -ge $mynum ]

[ -n "$a" ] 判断变量$a是否有值,测试空串用-z

文件比较运算符
[-e filename] 如果 filename存在,则为真 [ -e /var/log/syslog ]
-d filename 如果 filename为目录,则为真 [ -d /tmp/mydir ]

-r filename 如果 filename可读,则为真 [ -r /var/log/syslog ] read
-w filename 如果 filename可写,则为真 [ -w /var/.txt ] write
-x filename 如果 filename可执行
-z string 如果 string长度为零,则为真 [ -z "$myvar" ]
-n string 如果 string长度非零,则为真 [ -n "$myvar" ]
string1= string2 如果 string1与 string2相同,则为真 [ "$myvar" = "one two three" ]
string1!= string2 如果 string1与 string2不同,则为真 [ "$myvar" != "one two three" ]

while [ cond1 ] && { || } [ cond2 ] …; do

done

for var in …; do

done

for (( cond1; cond2; cond3 )) do

done

until [ cond1 ] && { || } [ cond2 ] …; do

done

linux shell 数组建立及使用技巧

shell数组+for循环
#!/bin/bash
for i in ip1 ip2 ip3 ip4
do
echo ssh root@$i
echo "已重启$i apache 服务"
done
exit

sh -x *.sh
生成 测试数据的shell脚本
data_create.sh
rm -rf ./data.txt
touch data.txt
for((i=0;i<2000;i++))
do
str=',name';
name=${i}${str}${i}
#echo $name
echo $name>> data.txt
done

echo 'show testdata'
more data.txt

chmod u+x data_create.sh
运行脚本
sh -x data_create.sh

sed 替换 递归 正则
sed -i "s/<div class=\"c_r_a c_r_13_a\"><script language=\"javascript\">c_r_13_a();<\/script><\/div>//g" index.shtml

sed -i "s/10.16.60.29/cloud1.xingtu.360.cn/g" *

find /data -name "*" -print | xargs -i sed -i 's/<div class=\"c_r_a c_r_14_a\"><script language=\"javascript\">c_r_14_a();<\/script><\/div>//' {}

find * -name "*" -print | xargs -i sed -i 's/<div class=\"c_r_a c_r_14_a\"><script language=\"javascript\">c_r_14_a();<\/script><\/div>//' {}
#正则
find * -name "*" -print | xargs -i sed -i 's/<div class=\"c_r_a c_r_.*_a\"><script language=\"javascript\">c_r_.*_a();<\/script><\/div>//' {}

find * -name "*" -print | xargs -i sed -i 's/<div class="c_a_tb".* id=c_a_tb.*>.* c_a_tb.*();<\/script> <\/div>//' {}

find * -name "*" -print | xargs -i sed -i 's/<div class="c_a_tb".* id=c_a_tb.>.* c_a_tb.*();<\/script> <\/div>//' {}
9id=c_a_tb9><script type='text/javascript'> c_a_tb9();</script></div>

crontab 定时执行shell
20 * * * * sh -x /root/start.sh >> start.log 2>&1
远程机器ping不同本机
本机可以ping通远程,那可以这样取:
先考到自己的用户目录下:
在目标机器上:cp tmpdir.sql.gz /home/makaidong/
然后在本机:
scp -r makaidong@10.115.92.82:/home/makaidong/\*.sql.gz .
注 :\*转义
nohup
nohup hive --service hiveserver 2>&1 &

dos2unix windows-linux shell格式转换
find . -name "*.conf" | xargs dos2unix

var.sh 就写:year=2015

shell import source引入其他shell
#!/bin/bash
#在其他目录:source ./sh/var.sh #sh目录下 或source sh/var.sh
source var.sh
rm -rf ./data.txt
touch data.txt
for((i=0;i<$year;i++))
do
str=',name';
name=${i}${str}${i}
#echo $name
echo $name>> data.txt
done

awk $(awk -F"=" '$1== {print $2}

压缩:
zip 递归压缩文件夹(目录)
zip -r ./201412.zip ./201412/* -r
Linux压缩保留源文件的方法:
gzip –c filename > filename.gz
Linux解压缩保留源文件的方法:
gunzip –c filename.gz > filename

呵,基本上我现在常用的四个命令如下:
压缩成gzip文件:
tar -zcvf shell.tar.gz shell/
将gzip文件解压:
tar -zxvf shell.tar.gz
压缩为bz2文件:
tar -jcvf shell.tar.bz2 shell/
将bz2文件解压:
tar -jxvf shell.tar.bz2

tar -zxvf makaidong.tar.gz -C /zzz/bbs
gunzip makaidong.tar.bz2.gz
tar -jxvf makaidong.tar.bz2

Linux简介及常用命令使用4--linux高级命令与技巧的更多相关文章

  1. Linux简介及常用命令使用5--linux shell编程入门

    生成 测试数据的shell脚本 Vim data_create.sh rm -rf ./data.txttouch data.txtfor((i=0;i<2000;i++))dostr=',na ...

  2. Linux简介及常用命令使用1--linux环境搭建

    1.先安装:VMWare10软件 VMware Workstation是一款功能强大的虚拟机软件,可以使你在一台机器上同时运行二个或更多Windows.DOS.LINUX系统,并进行开发.测试.部署新 ...

  3. Linux简介及常用命令使用3--vi编辑器

    1.进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 [新建文件]vi +n filename :打开文件,并将光标置于第n行首 [比如:某个shell报错的行数时使用] ...

  4. Linux简介及常用命令使用2--linux常用命令:查看 删除 编辑 创建等

    cd .       // 进入当前目录 cd ~     //进入根目录 pwd      //当前路径 echo "my name is makaidong">makai ...

  5. linux上的常用的进程与内存优化命令

    进程 ps命令 f 以树状结构显示 u 显示详细信息 a 显示所有进程 -A 显示所有进程 -u 用户名 是显示该用户下的进程 -l 更多进程详细信息 例子1. 以树状结构显示root用户下进程的详细 ...

  6. Linux:课程安排、Linux简介、虚拟机安装、课前准备(常用设置和操作)

    一.课程安排 1)Linux 的作用 商业服务器基本上都是 Linux: 开源软件都先支持 Linux: 大数据分析.机器学习首先选 Linux: 整个互联网地基靠Linux撑起来: Linux 系统 ...

  7. linux的系统组成和计算机组成原理,linux常用操作

    Linux入门 linux简介   学习目的:linux服务器操作系统稳定长期运行,python,pycharm装于linux上 linux系统组成 应用软件:调用系统软件接口 linux操作系统分两 ...

  8. linux终端命令(四)系统信息相关命令(五)其他命令

    四.系统信息相关命令 时间和日期 date cal 磁盘和目录空间 df du 进程信息 ps top kill 1.时间和日期 序号 命令 作用 01 cal 查看日历,-y选项可以查看一年的日历 ...

  9. 5 其他命令-学习目标以及find命令的基本使用

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

随机推荐

  1. Android中Fragment+ViewPager的配合使用

    官方推荐 ViewPager与Fragment一起使用,可以更加方便的管理每个Page的生命周期,这里有标准的适配器实现用于ViewPager和Fragment,涵盖最常见的用例.FragmentPa ...

  2. webmagic的设计机制及原理-如何开发一个Java爬虫

    之前就有网友在博客里留言,觉得webmagic的实现比较有意思,想要借此研究一下爬虫.最近终于集中精力,花了三天时间,终于写完了这篇文章.之前垂直爬虫写了一年多,webmagic框架写了一个多月,这方 ...

  3. Scala 中下划线的用途

    转载自:https://my.oschina.net/leejun2005/blog/405305 Scala 作为一门函数式编程语言,对习惯了指令式编程语言的同学来说,会不大习惯,这里除了思维方式之 ...

  4. 我对Backbone.js的一些认识

    backbone.js已经不是当前最流行的前端框架了,但是对于我而言,依然具有比较好的学习价值.虽然目前来说,react,vue等mvvm框架非常火热,但是感觉自身还不到去使用这种框架的层次.这些技术 ...

  5. The Practice of .NET Cross-Platforms

    0x01 Preface This post is mainly to share the technologies on my practice about the .NET Cross-Platf ...

  6. 将GridView数据导入到excel,并提供下载

    之前项目中需要一个导出数据到Excel的功能,现在将代码记录下来.其实将girdView中的数据导出的代码很简单,如下: ) { Response.Charset="GB2312" ...

  7. 爱上MVC~图表的使用Chart

    回到目录 图表在一个系统中是必须的,MVC架构把它当然是一个扩展集成了进来,通过简单的几句话就可以生成一个风格多样的图表,这给报表的开发带来了很大的方便,大叔的项目中也做了一个测试,把主要的代码贴出来 ...

  8. java条件语句练习题

    输入三个数字显示最大的: System.out.println("请输入三个数字:"); int a,b,c; Scanner d = new Scanner(System.in) ...

  9. spice server dpkg-buildpackage 打包编译备忘

    一般我们会通过configure,make 编译.但是为了替换版本的方便需要把他编译成deb的包,而且还需要自定义下包名.下面就记录下我的修改过程. 注:前面关于spice server的编译过程掠过 ...

  10. PHP中抽象类,接口定义

    这里先介绍接口,因为在我最近看的好几本php工具书中都没有提到抽象类. 本人也觉得,在理解了接口后抽象类也非常好理解. 例子代码随便写了一下.例子代码是很ok的,测试过了不会报错,懒得看代码的筒靴们看 ...