Linux經常使用命令List

 參考《linux命令行大全》linux

一.文件命令

cd - 切換爲以前目錄正則表達式

wc -l -w fileshell

cmd --helpexpress

apropos keywordbootstrap

apropos cpu >vim

type foo 檢查命令類型,是否已被佔用windows

alias foo='cd;ll;cd -'bash

foo網絡



ll /etc/passwd > pw.txt (輸出重定向時,>自動建立不存在的文件)app

> file (刪除一個文件)



cmd >> file 文件尾部追加,不存在則建立之



0--標準輸入文件

1--標準輸出文件

2--標準錯誤文件

cmd 2> err.txt

cmd &> outerr.txt

cmd 2> /dev/null



cat f1 f2 > f3 文件合併

$ cat (等待鍵盤輸入)

$ cat -ns file 刪除空行,且對行編號

ctrl-D (文件觸底,end of file



cmd | tee file | grep pattern



echo a{A{1..2},B{3..4}}

aA1 aA2 aB3 aB4



mkdir {2015..2016}-0{1..9}

2015-01

2015-02

2015-03





二.命令行鍵盤編輯技巧

1.光標移動

ctrl-A 光標到行首

ctrl-E 光標到行尾

CTRL-F 前移一個字符

CTRL-B 後移一個字符

ALT-F 前移一個字

ALT-B 後移一個字



2.文本編輯

ctrl-D 刪除字符

ctrl-T 前字符替換

Alt-U 大寫轉換



3.剪切複製

ctrl-K 剪切光標到行尾

ctrl-U 剪切光標到行首

ALT-D 剪切光標到詞尾

ALT-Backspace 剪切光標到詞首

ctrl-Y 複製kill-ring緩衝區到光標


Tab命令自動補齊

ls l(Tab)---ls log

 

!88 --執行history中第88行命令

!! 執行history最後一行命令

4.權限

id

cat /etc/passwd

cat /etc/group


$ su -c 'command'

sudosu區別:

執行有限條指令;

sudo無需輸入root密碼,只輸用戶密碼;

不啓動新shell環境,不加載另外一個用戶環境

進程

ps      只顯示當前會話終端進程

ps x    顯示全部進程

ps aux

gedit &    後臺運行進程,ctrl-c沒法中斷

jobs      查看終端全部做業

fg %jobid    進程回到前臺運行

bg %jobid 進程回到後臺


ctrl-z 暫停前臺進程

 

kill [-signal] PID…

kill -SIGHUB/1 PID/%jobid 前臺程序終止,後臺進程從新初始化

kill -INT PID/%jobid 中斷信號,終止程序

killall [-u user] [-signal] name…

 

pstree 進程樹

vmstat 5 5s輸出資源使用快照,mem,swap,IO

free -m

du

tail -f /var/log/messages 實時檢測系統的好方法

mount

umount


變量

1.變量顯示

set 顯示環境變量/shell變量

printenv USER 僅顯示環境變量USER

echo $USER

PATH=$PATH:$HOME/bin

export PATH 保證shell子進程能使用PATH變量

gedit file


2.變量擴展

ls -l $(which cp)

` ’ 「區別

ls -l `which cp` 反引號` 等同於 $,做爲命令替換

ls -l "my test.txt" 雙引號""將特殊字符($ / `除外)視爲普通字符

echo "$(cal) "

echo '$(cal)' 單引號‘’抑制全部擴展

$(cal)

 

echo "money \$:5" 反斜槓阻止雙引號內特殊字符($ ! & 空格等)擴展

 

VIM命令

1.光標移動











 

shift ^ 本行開頭

shift $ 本行末尾

W 下一個單詞處

B 上一個單詞處

number-shift-G 移到第number

shift G 至文件最後一行

















 

 

2.查找替換

















 


%s/word1/word2/gc 全局替換,%指代^~$

 

3.複製/粘貼/刪除















 


















4.編輯模式—插入













 

5.外部命令模式















 




 

:n 切換到下一文件

N 切換到上一文件



軟件安裝

1.RPM安裝

rpm -qa package 列出全部安裝軟件 q-query a-all

rpm -q packname 查詢pack是否安裝



2.源碼安裝

wget src

tar zxvf src.tar.gz

./configure

make

#make install

 

網絡

ping baidu.com

netstat -ie 顯示網卡信息

 

文件查找

locate fname 以文件名查找,沒法查最新

find ~ [-print] | wc -l 計算行數

find ~ -type f -name 「*.jpg」 -size +1M | wc -l

find ~ \(-type f -not -perm 0600 \) -or \( -type d -not -perm 0700 \) and默認,or顯式

find ~ -type f -name 「*.jpg」 -print/delete/ls

find ~ -type f -name 「*.jpg」 -exec ls -l '{}' ';' 每搜到一個執行一次命令

find ~ -type f -name 「*.jpg」 -exec ls -l '{}' '+' 結果集只執行一次命令

find ~ -type f -name 「*.jpg」 -ok ls -l '{}' ';' {}表明當前路徑,-ok交互式執行自定義操做

find ~ -type f -name 「*.jpg」 -print | xargs ls -l xargs處理stdin信息並轉化爲命令輸入參數表

find ~ -type f -name 「*.jpg」 -print0 | xargs --null ls -l 以空字符分隔參數



歸檔備份

1.壓縮解壓

gzip fname

gzip -tv f.gz 檢查完整性/顯示詳細信息

gunzip fname

zcat f.gz | less 查看壓縮文件內容

bzip2gzip 高壓縮低速度

linuxgzip>bzip2>zip(用於與windows交換文件)

 

tar

tar mode[options] pathname以 相對路徑 處理處理 文件名路徑

mode

c create

x extract

r apppend

t list the contents of an archive

 

tar cf file.tar path

tar tf file.tar

tar tvf file.tar

tar zxvf file.tar

 

find ~ -name 'file-a' | -exec tar rf file.tar '{}' '+'

find ~ -name 'file-A' | tar czf play.tgz -T -

  1. -T tar命令從文件(此處爲stdout文件)中讀取文件路徑名列表,而不是從命令行
  2. - 表明標準輸入輸出stdin/stdout文件(這裏是stdout文件,即屏幕所看到的內容)
  3. find默認action-print
  4. 舉例find play -name 'file-A' | tar czf play.tgz -T file.list

#cat file.list

./.profile

./.bashrc

./dbootstrap_settings

./usr.include.txt

./.viminfo



Regular Expresstion

支持命令find locate vim less

grep [options] regex file… #查找匹配行

-i 忽略大小寫

-v 輸出不匹配行

-h不輸出文件名,只輸出匹配內容

BRE基本正則表達式元字符:( )^ $ . * \爲元字符)

ERE擴展正則表達式元字符: +-*\ ()[]{} ^$ .| ? ' '括起避免擴展,\爲文字字符)

# grep -h '^zip' file

zip1

zip2

#grep -h 'zip$' file

1zip

2zip

# grep -h '^zip$' file

zip

grep -Eh '^(bz|gz|zip)' file

匹配電話號碼(nnn)nnn-nnnnnnn nnn-nnnn表達式:

grep -E ===> egrep 擴展REG

egrep '^\(?[0-9]{3}\)? [0-9]{3}-[0-9]{4}$' phone.txt #(,)出現01

find ~ -regex '.[^-_./0-9a-zA-Z].*' findtest選項支持regex

locate --regex 'bin(bz|gz|zip)'

zgrep -El 'regex | regular expression' . zgrep對壓縮文件進行搜索



文本處理

排序

sort -t ';' -k 3.7nbr -k 4.1nbr file | uniq | head

t爲指定分割符;

-k 3.7nbr 3個字段第7字符爲關鍵字,忽略開頭空白(b),逆序(r),數字排序(n

uniq只對已排序文件有效

^I – 製表符Tab

截斷

cat -A

cut -d ':' -f 1 /etc/passwd | head

paste data.txt version.txt

比較

cat f1 f2 逐行比較已排序文件f1,f2

diff -c f1 f2 上下文格式輸出,+多,-

 







diff -u f1 f2









diff -Naur fold fnew > diff_file

patch < diff_file

-N, --new-filetreat absent files as empty

-a: treat all files as text

-r : recursively compare any subdirectories found



替換刪除tr

echo 「i love linux」 | tr a-z A-Z 替換

tr -d '\r' < dos_file > unix_file 刪除dos文件回車符\r

sed 's/old/new/g

sed -n '1,5p' file

nl text 對文本行編號

相關文章
相關標籤/搜索