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. wcf DataTable作为返回类型

    如果这个DataTable是自己定义的,则再声明DataTable dt=new DataTable("exampleName")时,一定要调用带有一个参数的DataTable个构 ...

  2. JavaScript中的匿名函数及函数的闭包

    1.匿名函数 函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途.匿名函数:就是没有函数名的函数. 1.1 函数的定义,首先简单介绍一下函数的定义,大致可分为三种方式 第一种: ...

  3. Effective java笔记(八),异常

    57.只针对异常的情况才使用异常 try { int i = 0; while(true) range[i++].climb(); }catch(ArrayIndexOutOfBoundsExcept ...

  4. clr enabled Server Configuration Option

    在SQL Server中启用CLR,可以执行下面SQL语句: EXEC sp_configure 'clr enabled'; '; RECONFIGURE; Source Code

  5. sqlHelper做增删改查

    1.把数据库里面的数据显示出来 sqlHelper怎么用:[网上可以下载,需要可以找楼主要] 1.拷贝到项目,修改它的命名空间等于当前项目名称 2.数据库的连接信息,用户名,密码,登录方式等 < ...

  6. visual studio 2015 开发android

    转载请注明: http://www.cnblogs.com/sunyl/p/5493249.html http://www.cnblogs.com/sunyl/ 最近有不少新闻, 甲骨文向谷歌索赔93 ...

  7. eclipse中怎么用cmd

    1:点击Run-----External tools------External tools configurations - 如果所示, name:就是工具配置的名字 location:cmd.ex ...

  8. Javaweb学习笔记——使用Jdom解析xml

    一.前言 Jdom是什么? Jdom是一个开源项目,基于树形结构,利用纯java的技术对XML文档实现解析,生成,序列化以及多种操作.它是直接为java编程服务,利用java语言的特性(方法重载,集合 ...

  9. SharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息

     1. SharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息2. 数据存储检测,content://com.starcor.launcherInfo/deviceInfo&q ...

  10. WCF入门教程1——WCF简要介绍

    什么是WCF Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台. 整合了原有的windo ...