自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux shell中的那些小把戲

系統(tǒng) Linux
我日常使用Linux shell(Bash),但是我經(jīng)常忘記一些有用的命令或者shell技巧。是的,我能記住一些命令,但是肯定不會只在特定的任務(wù)上使用一次,所以我就開始在我的Dropbox賬號里用文本文件寫下這些Linux shell的小技巧,現(xiàn)在我決定共享它給你。

我日常使用Linux shell(Bash),但是我經(jīng)常忘記一些有用的命令或者shell技巧。是的,我能記住一些命令,但是肯定不會只在特定的任務(wù)上使用一次,所以我就開始在我的Dropbox賬號里用文本文件寫下這些Linux shell的小技巧,現(xiàn)在我決定共享它給你。這個表我以后還會更新。記住,這里的一些貼士需要在你的Linux發(fā)行版上安裝額外的軟件。

[[92532]]

在bash中檢查遠程端口是否打開:

 

  1. echo >/dev/tcp/8.8.8.8/53 && echo "open" 

將進程掛起:

 

  1. Ctrl + z  

將進程移到前臺:

 

  1. fg 

(譯注,掛起的進程是不執(zhí)行的,如果希望在后臺執(zhí)行,可以使用bg命令,并且指定通過jobs命令獲得的任務(wù)號。)

生成隨機16進制數(shù)字,n是字符的數(shù)量:

 

  1. openssl rand -hex n 

在當(dāng)前shell中執(zhí)行一個文件中的命令(譯注:這個文件不是一個bash腳本,比如.bashrc、bash_profile等):

 

  1. source /home/user/file.name 

提取字符串的前5個字符:

 

  1. ${variable:0:5} 

打開SSH調(diào)試模式(譯注:當(dāng)你遇到SSH連接問題時很有用):

 

  1. ssh -vvv user@ip_address 

使用pem key的進行SSH連接:

 

  1. ssh user@ip_address -i key.pem 

用wget獲取完整目錄列表到本地目錄:

 

  1. wget -r --no-parent --reject "index.html*" http://hostname/ -P /home/user/dirs 

同時創(chuàng)建多個目錄:

 

  1. mkdir -p /home/user/{test,test1,test2} 

以樹狀列出進程及子進程:

 

  1. ps axwef 

創(chuàng)建war文件:

 

  1. jar -cvf name.war file 

測試磁盤寫速度:

 

  1. dd if=/dev/zero of=/tmp/output.img bs=8k count=256k conv=fdatasync; rm -rf /tmp/output.img 

測試磁盤讀速度:

 

  1. hdparm -Tt /dev/sda 

獲取文本的md5值:

 

  1. echo -n "text" | md5sum 

檢測xml語法:

 

  1. xmllint --noout file.xml 

將tar.gz文件解壓到指定目錄:

 

  1. tar zxvf package.tar.gz -C new_dir 

用curl獲取HTTP頭:

 

  1. curl -I http://www.example.com 

修改一些文件或目錄的時間戳 (格式為:YYMMDDhhmm):

 

  1. touch -t 0712250000 file 

使用wget從ftp下載:

 

  1. wget -m ftp://username:password@hostname 

生成隨機密碼 (本例中16位字符長):

 

  1. LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo; 

快速創(chuàng)建一個文件的備份(擴展名是.bkp):

 

  1. cp some_file_name{,.bkp} 

訪問Windows共享:

 

  1. smbclient -U "DOMAIN\user" //dc.domain.com/share/test/dir 

運行history中的命令 (這里在history中的第100個):

 

  1. !100 

unzip到目錄中:

 

  1. unzip package_name.zip -d dir_name 

輸入多行文字 (按 CTRL + d 退出):

 

  1. cat > test.txt 

創(chuàng)建空白的文件或者清空已存在的文件:

 

  1. > test.txt 

從Ubuntu NTP服務(wù)器上更新日期:

 

  1. ntpdate ntp.ubuntu.com 

netstat 顯示所有IPv4的TCP監(jiān)聽的端口:

 

  1. netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*' 

將qcow2的鏡像轉(zhuǎn)化成raw格式:

 

  1. qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img \ 
  2.                                  precise-server-cloudimg-amd64-disk1.raw 

 

重復(fù)運行命令并顯示它的輸出 (默認2秒重復(fù)一次):

 

  1. watch ps -ef 

顯示所有用戶:

 

  1. getent passwd 

以讀寫模式掛載根文件系統(tǒng):

 

  1. mount -o remount,rw / 

掛載目錄 (適合于符號鏈接不能工作的情況下):

 

  1. mount --bind /source /destination 

發(fā)送DNS動態(tài)更新給DNS:

 

  1. nsupdate <<EOF 
  2. update add $HOST 86400 A $IP 
  3. send 
  4. EOF 

 

遞歸grep所有目錄

 

  1. grep -r "some_text" /path/to/dir 

列出10個最大的系統(tǒng)中已打開的文件:

 

  1. lsof / | awk '{ if($7 > 1048576) print $7/1048576 "MB "$9 }' | sort -n -u | tail 

以MB顯示空余內(nèi)存:

 

  1. free -m | grep cache | awk '/[0-9]/{ print $4" MB" }' 

打開vim并跳轉(zhuǎn)到文件最后:

 

  1. vim + some_file_name 

git clone特定branch (本例是master分支):

 

  1. git clone git@github.com:name/app.git -b master 

git切換到另外一個branch (本例是develop分支):

 

  1. git checkout develop 

git刪除一個branch(本例是myfeature):

 

  1. git branch -d myfeature 

Git刪除一個遠程branch:

 

  1. git push origin :branchName 

Git push 新的branch到遠程:

 

  1. git push -u origin mynewfeature 

打印history中最后的cat命令

 

  1. !cat:p 

運行history中的最后的cat命令:

 

  1. !cat 

找出在/home/user中的所有空子目錄:

 

  1. find /home/user -maxdepth 1 -type d -empty 

得到test.txt中50到60行的文本:

 

  1. < test.txt sed -n '50,60p' 

以sudo權(quán)限重新運行上一個執(zhí)行的命令 (如果是: mkdir /root/test, 下面會運行: sudo mkdir /root/test)(譯注:當(dāng)你執(zhí)行一個命令忘記sudo時,可以這樣重新執(zhí)行,而不必再把完整命令敲一遍):

 

  1. sudo !! 

創(chuàng)建臨時RAM文件系統(tǒng) - ramdisk (請先創(chuàng)建 /tmpram 目錄):

 

  1. mount -t tmpfs tmpfs /tmpram -o size=512m 

Grep完整的單詞(譯注:而不是其它單詞的一部分):

 

  1. grep -w "name" test.txt 

提升權(quán)限后在一個文件后追加文本:

 

  1. echo "some text" | sudo tee -a /path/file 

列出所有支持的kill信號:

 

  1. kill -l 

生成隨機密碼 (本例中16個字符長):

 

  1. openssl rand -base64 16 

在bash歷史中不記錄最后的會話:

 

  1. kill -9 $$ 

掃描網(wǎng)絡(luò)來找出開放的端口:

 

  1. nmap -p 8081 172.20.0.0/16 

設(shè)置git email:

 

  1. git config --global user.email "me@example.com" 

如果你有未提交的commit,與master同步:

 

  1. git pull --rebase origin master 

將文件名中含有txt的所有文件移動到/home/user:

 

  1. find -iname "*txt*" -exec mv -v {} /home/user \; 

按行將兩個文件中的對應(yīng)行合并顯示:

 

  1. paste test.txt test1.txt 

shell中的進度條:

 

  1. pv data.log 

用netcat發(fā)送數(shù)據(jù)給服務(wù)器:

 

  1. echo "hosts.sampleHost 10 `date +%s`" | nc 192.168.200.2 3000 

轉(zhuǎn)換tab為空格:

 

  1. expand test.txt > test1.txt 

跳過bash歷史:

 

  1. <<空格>>cmd 

回到之前的工作目錄:

 

  1. cd - 

切割大的tar.gz文件為幾個文件 (每個100MB),并還原:

 

  1. split –b 100m /path/to/large/archive /path/to/output/files 
  2. cat files* > archive 

 

用curl獲取HTTP狀態(tài)值:

 

  1. curl -sL -w "%{http_code}\\n" www.example.com -o /dev/null 

當(dāng) Ctrl + c 沒用時:

 

  1. Ctrl + \ 

獲取文件所有者:

 

  1. stat -c %U file.txt 

列出塊設(shè)備:

 

  1. lsblk -f 

找出文件中帶有末尾空格的文件:

 

  1. find . -type f -exec egrep -l " +$" "{}" \; 

找出用tab縮進的文件:

 

  1. find . -type f -exec egrep -l $'\t' "{}" \; 

用"="打印水平行

 

  1. printf '%100s\n' | tr ' ' = 

更新: 2013年11月25日

via: http://www.techbar.me/linux-shell-tips/

責(zé)任編輯:奔跑的冰淇淋 來源: Linux中國
相關(guān)推薦

2024-09-23 12:00:00

Python編程

2011-05-06 16:36:48

SQL備份還原

2023-11-13 22:08:05

ShellLinux

2009-06-04 11:08:32

struts2 val框架

2012-07-19 15:30:00

Linux

2022-05-09 20:00:41

Android軟件IDM

2015-08-18 09:12:54

app推廣渠道

2020-12-15 09:08:40

LinuxShell

2012-01-18 10:46:33

ibmdw

2015-03-09 09:34:04

C語言函數(shù)指針

2009-09-29 10:45:17

UnixLinuxshell

2017-12-20 10:08:53

2010-08-13 08:21:11

Windows Pho

2018-09-07 14:53:04

物聯(lián)網(wǎng)生命科學(xué)IOT

2023-03-01 09:49:23

2022-08-21 16:27:36

LinuxShell

2017-01-09 17:09:41

CES科技產(chǎn)品

2019-03-25 14:48:45

程序員技能溝通

2020-06-11 10:05:00

計算機視覺 技術(shù)

2022-08-30 08:52:04

shell腳本Linux
點贊
收藏

51CTO技術(shù)棧公眾號