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

来源:http://www.cnblogs.com/ganchuanpu/archive/2016/11/20/6082875.html
-Advertisement-
Play Games

top 幾個磁碟fdisk -l 磁碟空間 df -lhdf -al 查看進程:ps -ef“grep java殺死進程:kill -9 進程號 more中過濾 more xxx |grep www.makaidong.com 安裝linux後配置ip Vim /etc/sysconfig/netw ...


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



您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文出處:http://www.cnblogs.com/wy123/p/6082338.html 現實中遇到過到這麼一種情況: 在某些特殊場景下:進行查詢的時候,加了TOP 1比不加TOP 1要慢(而且是慢很多)的情況, 也就是說對於符合條件的某種的數據,查詢1條(複合該條件)數據比查詢所有(符合該 ...
  • cd . // 進入當前目錄 cd ~ //進入根目錄 pwd //當前路徑 echo "my name is makaidong">>makaidong //追加內容到文件 ctrl+c //終止查看等操作。 more cat區別 more分頁 查看 cat全部查看 cat:小文件查看,more大 ...
  • 1.先安裝:VMWare10軟體 VMware Workstation是一款功能強大的虛擬機軟體,可以使你在一臺機器上同時運行二個或更多Windows、DOS、LINUX系統,併進行開發、測試、部署新的應用程式 vmware workstation10的許可證密鑰: 5F29M-48312-8ZDF ...
  • 基礎環境:Centos 7.X 1. 安裝tomcat 與java 環境; 2.使用jre 程式的keytool 生成密鑰,java 我使用解壓版本並運行目錄在/usr/java, 生成tomcat.keystore 密鑰文件; 然後會提示輸入DNS 信息及密碼: 3.使用keytool 通過tom ...
  • 恢復內容開始 系統環境:Windows 10 && CentOS 7 準備工具: ●CentOS7 官網下載地址:https://wiki.centos.org/Download (註意: i386是32位) ●EaseUS Partition Master是一個非常強大的磁碟分區工具,可以將分區格 ...
  • 本文主要討論和分析在UEFI+GPT模式下的Windows系統(主要是最新的Win10X64)中預設的分區結構和預設的分區大小,硬碟整數分區、4K對齊、起始扇區、恢復分區、ESP分區、MSR分區,哪些分區是必要的,刪除是否會影響系統運行。 ...
  • 安裝Linux時一般會自動識別windows系統並添加引導項,而 CentOS 預設不支持 NTFS 分區,CentOS7採用了Grub2,與CentOS6有區別。手動引導windows分區修改配置稍不一樣。 一、自動尋找分區 網上不少使用命令: grub2-mkconfig -o /boot/gr ...
  • 1.帶緩存和不帶緩存 系統調用是不帶緩存的,使用它編寫程式,需要程式員設置緩存;庫函數是帶緩存的,不需設置緩存。 2.三個位元組流 程式執行時自動打開三個位元組流,標準輸入、標準輸入和標準錯誤。 3.標準輸出重定向 4.標準輸入重定向 5.標準錯誤重定向 6.管道 可以將一個命令的位元組流輸出導向另一個命 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...