Linux简介及常用命令使用4--linux高级命令与技巧
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高级命令与技巧的更多相关文章
- Linux简介及常用命令使用5--linux shell编程入门
生成 测试数据的shell脚本 Vim data_create.sh rm -rf ./data.txttouch data.txtfor((i=0;i<2000;i++))dostr=',na ...
- Linux简介及常用命令使用1--linux环境搭建
1.先安装:VMWare10软件 VMware Workstation是一款功能强大的虚拟机软件,可以使你在一台机器上同时运行二个或更多Windows.DOS.LINUX系统,并进行开发.测试.部署新 ...
- Linux简介及常用命令使用3--vi编辑器
1.进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 [新建文件]vi +n filename :打开文件,并将光标置于第n行首 [比如:某个shell报错的行数时使用] ...
- Linux简介及常用命令使用2--linux常用命令:查看 删除 编辑 创建等
cd . // 进入当前目录 cd ~ //进入根目录 pwd //当前路径 echo "my name is makaidong">makai ...
- linux上的常用的进程与内存优化命令
进程 ps命令 f 以树状结构显示 u 显示详细信息 a 显示所有进程 -A 显示所有进程 -u 用户名 是显示该用户下的进程 -l 更多进程详细信息 例子1. 以树状结构显示root用户下进程的详细 ...
- Linux:课程安排、Linux简介、虚拟机安装、课前准备(常用设置和操作)
一.课程安排 1)Linux 的作用 商业服务器基本上都是 Linux: 开源软件都先支持 Linux: 大数据分析.机器学习首先选 Linux: 整个互联网地基靠Linux撑起来: Linux 系统 ...
- linux的系统组成和计算机组成原理,linux常用操作
Linux入门 linux简介 学习目的:linux服务器操作系统稳定长期运行,python,pycharm装于linux上 linux系统组成 应用软件:调用系统软件接口 linux操作系统分两 ...
- linux终端命令(四)系统信息相关命令(五)其他命令
四.系统信息相关命令 时间和日期 date cal 磁盘和目录空间 df du 进程信息 ps top kill 1.时间和日期 序号 命令 作用 01 cal 查看日历,-y选项可以查看一年的日历 ...
- 5 其他命令-学习目标以及find命令的基本使用
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
随机推荐
- Android测试提升效率批处理脚本(二)
前言: 前面放出过一次批处理,本次再放出一些比较有用的批处理(获得当前包名.查看APP签名信息等),好长时没来写博客了,简单化,请看正文,更多脚本尽请期待~~~(不定期) 目录 1.[手机录屏(安卓4 ...
- TCP三次握手,四次挥手
前言 在面试的过程中,TCP的传输协议经常会出现.以前我参加面试的过程中就被问到过,现在轮到我面试其他人的时候,我也会问一些相关的问题.作为一名开发者,无论使用什么样的开发语言,最基本的网络知识一定要 ...
- Hibernate —— HQL、QBC检索方式
一.HQL 检索方式 以双向的一对多来测试 HQL 检索方式.以 Department 和 Employee 为例. 建表语句: CREATE TABLE department ( dept_id ) ...
- 使用DapperExtensions实现简单仓储
Dapper是一个轻量级的ORM框架,它只是一个IDbConnection的扩展文件.所以我们需要手写很多SQL,但是写CRUD的代码总是很无趣的.所有就有了DapperExtensions.Dapp ...
- 7.8 数据注解特性--Column
Column特性可以用到类的属性中,Code-First默认的约定是使用属性名称作为列名.这个Column特性可以打破这个特性. 看下面的代码: using System; using System. ...
- C#基础知识三之new关键字
运算符 new一个Class时,new完成了两方面内容:一是调用new class命令来为实例在托管堆中分配内存;二是调用构造函数来实现对象初始化. 修饰符 显示隐藏从基类继承来的成员.虽然可以不用n ...
- 多个提高C#编程能力的建议
1.总是用属性 (Property) 来代替可访问的数据成员 2.在 readonly 和 const 之间,优先使用 readonly 3.在 as 和 强制类型转换之间,优先使用 as 操作符 4 ...
- SQL Server 2005 数据库 可疑状态
KJDY数据库名称 ALTER DATABASE KJDY SET EMERGENCY ---修改数据库为 紧急模式 ALTER DATABASE KJDY SET SINGLE_USER ---单用 ...
- 【C#进阶系列】30 学习总结
前面学起来还是很顺的,毕竟很多都接触过. 后面学起来只能用“磨”来形容,以至于八章用了2个月.(当然也有相当一些原因是这两个月中发生了一些个人生活上的问题) 总的来说收获超大,这种感觉就像大一的时候学 ...
- Debian 7 安装配置总结
最近几天折腾了一下Debian 7 (gnome桌面DVD版,KDE桌面CD版最后会提到),总的来说收获还是挺大的,对比以前使用ubuntu,debian 7给我的感觉像是一个新生婴儿,不带多余的花俏 ...