linux常用命令總結二(chown/sed/echo/ls/vim/scp/awk)
阿新 • • 發佈:2018-12-25
####chown
通過chmod可以修改一個檔案的許可權,也可以修改檔案所有者及使用者組。chown是change owner 的縮寫。chown -R
用來同時修改目錄下的子目錄和檔案(-R表示遞迴)。
建立使用者
useradd changhf
passwd changhf
將目錄/usr/test及其下面的所有檔案和子目錄的使用者組改成changhf
su //到root目錄下執行下面的命令
chown -R changhf:changhf /usr/test
將目錄/home/admin/music及其下面的所有檔案、子目錄的使用者組改成 admin
chown -R admin:admin /home/admin/music
檢視使用者所在的使用者組
groups admin //輸出admin : admin
檢視所有使用者組
cat /etc/group
sed
-i :直接修改讀取的檔案內容,而不是輸出到終端。
sed 's/要被取代的字串/新的字串/g'
//對當前目錄下的所有xml檔案修改${user.home}為/opt/rocketmq
sed -i 's#${user.home}#/opt/rocketmq#g' *.xml
//$ 代表的是最後一行,a是新增,因此該檔案最後新增『# This is a test』!
sed -i '$a # This is a test' abc.txt
如果你有一個 100 萬行的檔案,你要在第 100 行加某些文字,此時使用 vim 可能會瘋掉!因為檔案太大了!
config_band(){ if [ "${band_version}" == "real" ]; then if [-d "/usr/band/"]; then rm -rf /usr/band/ fi mkdir /usr/band/ cp -R /install/band/* /usr/band/ cp /install/base-client-1.0.0.jar /usr/band/ sed -i -e "s/{band_endpoint}/${secure_band_endpoint}/g" /usr/band/config/variables.properties sed -i -e "s#{band_url}#${secure_band_url}#g" /usr/band/config/variables.properties cd /usr/band/ java -jar yundun-base-client-1.0.0.jar fi }
####echo
- 文字、變數的輸出
echo "helloworld" //輸出文字
echo $JAVA //輸出變數
- 使用>指令覆蓋檔案原內容並重新輸入內容,若檔案不存在則建立檔案。
echo "123" > test
chmod +x test && /bin/bash ./test
// 輸出:123
- 使用>>指令向檔案追加內容,原內容將儲存。
echo "123" >> test
echo "456" >> test
chmod +x test && /bin/bash ./test
// 輸出:
123
456
####ls
ls -al
drwxr-xr-x+
//d表示目錄,-表示檔案
//後面是許可權rwx,三個為一組,一次為擁有者,同用戶組,其他使用者組的許可權。
linux下每個檔案、目錄都是有特定許可權的,分別為檔案擁有者,群組和其他使用者。
####vim
vim進入一個檔案,敲 / 進入關鍵字搜尋,輸入要搜尋的關鍵字,回車開始查詢,n 向下查詢,N 向上查詢;shift + G 進入檔案末尾。
####scp
//scp 傳送中目錄下的檔案到另一臺伺服器指定目錄
scp /root/abc.sql [email protected]:/root
//scp -r "目標機器地址" "當前物理機地址",目標機器的地址傳輸到當前物理機地址
scp -r [email protected]:/opt/temp /tmp/helloworld
####awk
awk是Aho、Weinberger、Kernighan三位發明者名字首字母,它是一個行文字處理工具。
netstat -tlp | grep 8080 | awk '{print $7}' //列印佔用埠的程序名程序號
ps -ef|grep ezrl|awk '{print $1}'//列印ezrl的程序號
以下是引數說明
NF 當前記錄欄位個數
$NF 當前記錄最後一列
$0 當前記錄
$1~$n 當前記錄第n個欄位