linux高效shell命令總結
cat 9.c |awk 'NR==21{gsub(/t09/,"ruiy");printf $0}'
1,comm【2文件間行比較】
1 [root@localhost ruiy]#
2 用法:comm [選項]... 文件1 文件2
3 逐行比較已排序的文件文件1 和文件2。
4
5 如果不附帶選項,程序會生成三列輸出。第一列包含文件1 特有的行,第二列包含 文件2 特有的行,而第三列包含兩個文件共有的行。
6
7 -1 不輸出文件1 特有的行
8 -2 不輸出文件2 特有的行
9 -3 不輸出兩個文件共有的行
10
11 --check-order 檢查輸入是否被正確排序,即使所有輸入行均成對
12 --nocheck-order 不檢查輸入是否被正確排序
13 --output-delimiter=STR 依照STR 分列
14 --help 顯示此幫助信息並退出
15 --version 顯示版本信息並退出
16
17 注意,比較操作遵從"LC_CPLLATE"所定義的規則。
18
19 示例:
20 comm -12 文件1 文件2 只打印在文件1和文件2中都有的行
21 comm -3 文件1 文件2 打印在文件1中有,而文件2中沒有的行。反之亦然。
2,sort【字符串排序】
29 [root@localhost ruiy]# 30 用法:sort [選項]... [文件]...
31 或:sort [選項]... --files0-from=F
32 串聯排序所有指定文件並將結果寫到標准輸出。
33
34 長選項必須使用的參數對於短選項時也是必需使用的。
35 排序選項:
36
37 -b, --ignore-leading-blanks 忽略前導的空白區域
38 -d, --dictionary-order 只考慮空白區域和字母字符
39 -f, --ignore-case 忽略字母大小寫
40 -g, --general-numeric-sort 按照常規數值排序
41 -i, --ignore-nonprinting 只排序可打印字符
42 -M, --month-sort 比較 (未知) < "一月" < ... < "十二月"
43 在LC_ALL=C 時為(unknown) < `JAN' < ... < `DEC'
44 -h, --human-numeric-sort 使用易讀性數字(例如: 2K 1G)
45 -n, --numeric-sort 根據字符串數值比較
46 -R, --random-sort 根據隨機hash 排序
47 --random-source=文件 從指定文件中獲得隨機字節
48 -r, --reverse 逆序輸出排序結果
49 --sort=WORD 按照WORD 指定的格式排序:
50 一般數字-g,高可讀性-h,月份-M,數字-n,
51 隨機-R,版本-V
52 -V, --version-sort 在文本內進行自然版本排序
53
54 其他選項:
55
56 --batch-size=NMERGE 一次最多合並NMERGE 個輸入;如果輸入更多
57 則使用臨時文件
58 -c, --check, --check=diagnose-first 檢查輸入是否已排序,若已有序則不進行操作
59 -C, --check=quiet, --check=silent 類似-c,但不報告第一個無序行
60 --compress-program=程序 使用指定程序壓縮臨時文件;使用該程序
61 的-d 參數解壓縮文件
62 --files0-from=文件 從指定文件讀取以NUL 終止的名稱,如果該文件被
63 指定為"-"則從標准輸入讀文件名
64 -k, --key=位置1[,位置2] 在位置1 開始一個key,在位置2 終止(默認為行尾)
65 -m, --merge 合並已排序的文件,不再進行排序
66 -o, --output=文件 將結果寫入到文件而非標准輸出
67 -s, --stable 禁用last-resort 比較以穩定比較算法
68 -S, --buffer-size=大小 指定主內存緩存大小
69 -t, --field-separator=分隔符 使用指定的分隔符代替非空格到空格的轉換
70 -T, --temporary-directory=目錄 使用指定目錄而非$TMPDIR 或/tmp 作為
71 臨時目錄,可用多個選項指定多個目錄
72 -u, --unique 配合-c,嚴格校驗排序;不配合-c,則只輸出一次排序結果
73 -z, --zero-terminated 以0 字節而非新行作為行尾標志
3,cut【字符串中字符截取】
1 [root@localhost ruiy]#
2 用法:cut [選項]... [文件]...
3 從每個文件中輸出指定部分到標准輸出。
4
5 長選項必須使用的參數對於短選項時也是必需使用的。
6 -b, --bytes=列表 只選中指定的這些字節
7 -c, --characters=列表 只選中指定的這些字符
8 -d, --delimiter=分界符 使用指定分界符代替制表符作為區域分界
9 -f, --fields=LIST select only these fields; also print any line
10 that contains no delimiter character, unless
11 the -s option is specified
12 -n with -b: don't split multibyte characters
13 --complement 補全選中的字節、字符或域
14 -s, --only-delimited 不打印沒有包含分界符的行
15 --output-delimiter=字符串 使用指定的字符串作為輸出分界符,默認采用輸入
16 的分界符
17 --help 顯示此幫助信息並退出
18 --version 顯示版本信息並退出
19
20 僅使用f -b, -c 或-f 中的一個。每一個列表都是專門為一個類別作出的,或者您可以用逗號隔
21 開要同時顯示的不同類別。您的輸入順序將作為讀取順序,每個僅能輸入一次。
22 每種參數格式表示范圍如下:
23 N 從第1 個開始數的第N 個字節、字符或域
24 N- 從第N 個開始到所在行結束的所有字符、字節或域
25 N-M 從第N 個開始到第M 個之間(包括第M 個)的所有字符、字節或域
26 -M 從第1 個開始到第M 個之間(包括第M 個)的所有字符、字節或域
附個vnc配置.
現在知道的centos下的vnc是:tigervnc,由於是服務端所以我們只安裝tigervnc-server即可:
yum install tigervnc-server
然後修改vnc配置文件:
cd /
vi /etc/sysconfig/vncservers
只需要兩類內容就可以了,一個是定義用戶,一個是定義用戶登錄情況:
VNCSERVERS="1:root 2:river"
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp"
VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp"
接下來分別使用命令行模式先後登錄root和river用戶,登錄後設定vncserver密碼,登錄後的操作如下:
vncpasswd
Password輸入密碼
Verify再次輸入密碼
啟動vnc服務:
/sbin/service vncserver start
設置防火牆:
iptables -I INPUT -p tcp --dport 5901:5902 -j ACCEPT
iptables -I INPUT -p udp --dport 5901:5902 -j ACCEPT
配置圖形界面:
cd ~/.vnc
vi xstartup
修改文檔中最後位置的twm為gnome-session或startkde即可,不要在這個後面再添加什麼字符,否則後果自負。哈哈。
使用vnc viewer登錄即可:
xxx.xxx.xxx.xx:1
看清冒號後面
windows.下測試可下載vnc view軟件
如果不能登錄,請重啟vncserver【/sbin/service vncserver restart】