歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> Linux簡介及常用命令使用4--linux高級命令與技巧,linux4--linux

Linux簡介及常用命令使用4--linux高級命令與技巧,linux4--linux

日期:2017/3/3 18:06:43   编辑:學習Linux

Linux簡介及常用命令使用4--linux高級命令與技巧,linux4--linux

Linux簡介及常用命令使用4--linux高級命令與技巧,linux4--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 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 [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


http://xxxxxx/Linuxjc/1173657.html TechArticle

Copyright © Linux教程網 All Rights Reserved