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 [email protected]:/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 [email protected]$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 [email protected]:/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

时间: 2024-10-21 17:33:53

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

Linux 简介和常用命令

Linux文件系统简介 在Linux操作系统中,所有被操作系统管理的资源,例如网络接口卡.磁盘驱动器.打印机.输入输出设备.普通文件或是目录都被看作是一个文件.  也就是说在LINUX系统中有一个重要的概念:一切都是文件.其实这是UNIX哲学的一个体现,而Linux是重写UNIX而来,所以这个概念也就传承了下来. Linux的目录结构如下: Linux文件系统的结构层次鲜明,就像一棵倒立的树,最顶层是其根目录: 常见目录说明: /bin: 存放二进制可执行文件(ls,cat,mkdir等),常用

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

生成 测试数据的shell脚本 Vim data_create.sh rm -rf ./data.txttouch data.txtfor((i=0;i<2000;i++))dostr=',name';name=${i}${str}${i} #echo $nameecho $name>> data.txtdone echo 'show testdata'more data.txt chmod u+x data_create.sh 运行脚本 sh -x data_create.sh cro

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

1.先安装:VMWare10软件 VMware Workstation是一款功能强大的虚拟机软件,可以使你在一台机器上同时运行二个或更多Windows.DOS.LINUX系统,并进行开发.测试.部署新的应用程序 vmware workstation10的许可证密钥: 5F29M-48312-8ZDF9-A8A5K-2AM0Z 2.VMware安装CentOS http://jingyan.baidu.com/article/7f766daf4071864101e1d0fc.html http:/

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

1.进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 [新建文件]vi +n filename :打开文件,并将光标置于第n行首 [比如:某个shell报错的行数时使用]vi + filename :打开文件,并将光标置于最后一行首 [追加功能]vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 [vi +/.com makaidong][vi +/is makaidong] insert 输入 再按一次:覆盖[覆写]

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

cd .       // 进入当前目录 cd ~   //进入根目录

linux的一些常用操作(随时更新)命令导入sql文件

一..打开terminal方法 1.最方便的是Ctrl+Alt+T 2.点击Dash主页 输入terminal 二.显示当前路径 pwd 三.显示当前路径下的文件 ls 四.导入sql文件到mysql数据库 1.>mysql -u root -p 2.>mysql密码 3.进入mysql就可以导入了  >use yourdatabasename; 4 >set name utf8; 5.>source /home/user/Desktop/test.sql; 就开始执行了,注

Linux的简介及常用命令

Linux的组成: 内核:是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序. shell:是系统的用户界面,提供了用户和内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行,是一个命令解释器.但它不仅使命令解释器,而且还是高级编程语言,shell编程. 文件系统:文件系统是文件存放在磁盘等存储设备上的组织方法,Linux支持多种文件系统,如:ext3,ext2,NFS,SMB,iso9660等 应用程序:标准的Linux操作系统都会有一套应用程序例如X-Windo

linux基础及常用命令的使用

linux系统是一个主要使用命令进行日常工作的系统,所以了解并熟练掌握常用命令的使用是进入linux大门的基本,以下便是linux学习过程中学习的常用的命令的用法: linux的日常管理工作一般有如下几个部分,下面通过这几个方面的管理工作来整理与其相关的常用命令: 一  shell的介绍 1.普通用户需要直接使用计算机系统提供的功能,是非常困难的,因为计算机系统能接收的指令和人发出的指令是不相同的,因此需要在计算机系统及用户之间建立一个可以将相互的指令进行"翻译"的功能.shell就是

【Linux基础】常用命令大全

Linux基础之常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /