vnc 遠程圖像調用 文件查找相關

tar 打包
     -c 打包
    -x 解包
    -v 顯示過程
    -f 指定文件(通常要與c x連用)
    -j 調用bzip2壓縮解壓
    -z 調用gzip壓縮解壓
    -C 指定解壓路徑
eg : tar -cvf acc   將acl打包
     tar -jcvf uu.vmdk.tar.bz2 uu.vmdk  將uu.vmdk打包壓縮

我們在日常中,可能會碰到有些人惡意的把本身是.bz2的改成gz的模式,造成
我們解壓的時候出現錯誤,這個時候,我們有個萬能的工具,就是在解壓的過程
中,不加j或者z參數來進行解壓,因爲它會自動的進行匹配
tar -xvf uu.vmdk.tar.gz  即可

當然,也可以通過file來判斷文件的類型
[root@localhost tmp]# touch a
[root@localhost tmp]# ls
a
[root@localhost tmp]# tar jcvf a.tar.bz2 a
a
[root@localhost tmp]# ll
total 4
-rw-r--r-- 1 root root   0 May 25 19:20 a
-rw-r--r-- 1 root root 106 May 25 19:20 a.tar.bz2
[root@localhost tmp]# file a.tar.bz2
a.tar.bz2: bzip2 compressed data, block size = 900k
[root@localhost tmp]#


我們也可以查看壓縮包內的內容,加上-tf即可
[root@localhost tmp]# tar -tf a.tar.bz2
a


wc 統計命令
 命令的分類
    外部命令: 保存在磁盤殺姑娘的程序,可以通過which來查詢
    內部命令: 常駐內存,shell知道的,能執行,但不能用which來查看
wc -l 統計行
   -w 僅列出多少字(英文單詞)
   -c 字符
   -m 多少字符
[root@localhost tmp]# cat /etc/passwd|wc
     44行      69字數     1965字符數
[root@localhost tmp]# cat /etc/passwd|wc -l
44
[root@localhost tmp]# cat /etc/passwd|wc -m
1965
[root@localhost tmp]# cat /etc/passwd|wc -w
69


sort -n 按數字排序
     -r 反向
sort -t:   -k3   -n    file_name
     分隔符 第幾段  純數字
比如對

[root@localhost tmp]# tail -n 10 /etc/passwd >passwd
[root@localhost tmp]# ls
passwd
[root@localhost tmp]# cat passwd
squid:x:23:23::/var/spool/squid:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
gdm:x:42:42::/var/gdm:/sbin/nologin
sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin
jackicy:x:500:500::/home/jackicy:/bin/bash
a:x:501:501::/home/a:/bin/bash
b:x:502:502::/home/b:/bin/bash
c:x:503:503::/home/c:/bin/bash
d:x:504:504::/home/d:/bin/bash

這個時候對數字進行排序
[root@localhost tmp]# sort -t: -k3 -n passwd

squid:x:23:23::/var/spool/squid:/sbin/nologin
gdm:x:42:42::/var/gdm:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin
jackicy:x:500:500::/home/jackicy:/bin/bash
a:x:501:501::/home/a:/bin/bash
b:x:502:502::/home/b:/bin/bash
c:x:503:503::/home/c:/bin/bash
d:x:504:504::/home/d:/bin/bash

排序是如此了,那麼,我如果想截取其中的字段呢,也可以,不過就要使用cut來進行
cut  -d 指定字段分隔符
     -b 取字節
     -c 取字符
     -f 取字段
我要截取上述文件的第一字段和第三字段並且排序,該
[root@localhost tmp]# cut -d: -f1,3 passwd |sort -t: -k2 -n

squid:23
gdm:42
xfs:43
sabayon:86
jackicy:500
a:501
b:502
c:503
d:504


grep文本搜索,
grep [選項] 特徵字 文件名
      -i:  不區分大小寫
      -r:查看子目錄
      -w: 全字符匹配

whereis 與 which類似,但與目錄相關的文檔也能顯示
locate 在系統的數據庫中搜索文件,如果知道文件,但不知道文件的存放位置,就可以用此方法
eg:locate qq 查找速度極快,因爲是從系統數據庫中查找(/var/lib/mlocate/mlocate.db),但是,有一個缺點,也就是新增的文件,有時候來不及更新的時候,就會提示找不到,這個時候,需要我們手動更新數據庫,可以用updatedb來進行

find 文件搜索
格式  find  搜索路徑[選項]
         -name 按名字查找
     -type 按類型查找
     -uid  按用戶ID查找
     -gid  按組ID查找
     -user 按用戶查找
     -group 按組查找
     -perm  按權限查找
     find / -perm 777
     find / -perm 4777  注意s位,危險
     -size  按文件大小查找  +n  大於n
                 -n  小於n
     
          -exec 對匹配的文件執行操作
      -exec command {} \;
         {} 表示找到的文件
        \  禁止轉義
        ;命令結束
[root@localhost homework]# find . -type f -exec ls {} \;
./ULE/Lesson7/ule0524
./ULE/Lesson5/ule0520
./ULE/Lesson5/ule0520_homework
./ULE/Lesson5/ule0520_homework~
./ULE/Lesson5/ule0520~
./ULE/Lesson6/ule0523
./ULE/Lesson4/ule0519筆記
./ULE/Lesson4/ule0519
./ULE/Lesson4/ule0519筆記~
./ULE/pdf/系統監視 GRUB初級知識.pdf
./ULE/pdf/文件掛載 磁盤配額和yum源的製作.pdf
./ULE/pdf/系統  開機流程 訪問控制ACL 服務啓動設置.pdf
[root@localhost homework]#


使用exec有個很大的毛病就是不會提示你任何東西,這樣,就會造成一定的危險,那麼,我們可以
用-ok也就是-exec的加強版來進行使用即可
[root@localhost tmp]# top >top.log
[root@localhost tmp]# ls
top.log
[root@localhost tmp]# find . -name *.log -exec rm {} \;
[root@localhost tmp]# ls
[root@localhost tmp]# top >top.log
[root@localhost tmp]# find . -name *.log -ok rm {} \;
< rm ... ./top.log > ? y
[root@localhost tmp]#
曾經的一道試題,要求更改某個目錄下所有的文件的後綴
[root@localhost tmp]# touch {a,b,c,d}{1,2,3}.doc
[root@localhost tmp]# ls
a1.doc  a3.doc  b2.doc  c1.doc  c3.doc  d2.doc
a2.doc  b1.doc  b3.doc  c2.doc  d1.doc  d3.doc
[root@localhost tmp]# cd ..
[root@localhost /]# find /tmp/* -exec mv {} {}.old \;
[root@localhost /]# cd /tmp/
[root@localhost tmp]# ls
a1.doc.old  a3.doc.old  b2.doc.old  c1.doc.old  c3.doc.old  d2.doc.old
a2.doc.old  b1.doc.old  b3.doc.old  c2.doc.old  d1.doc.old  d3.doc.old
[root@localhost tmp]#

當然,也可以用其他方法,比如xargs 來進行
 xargs -t 顯示過程
       -I 顯示錶示符

[root@localhost tmp]# touch {a,b,c,d}{1,2,3,4}.doc
[root@localhost tmp]# ls
a1.doc  a3.doc  b1.doc  b3.doc  c1.doc  c3.doc  d1.doc  d3.doc
a2.doc  a4.doc  b2.doc  b4.doc  c2.doc  c4.doc  d2.doc  d4.doc
[root@localhost tmp]# ls |xargs -t -I {} mv {} {}.bak
mv a1.doc a1.doc.bak
mv a2.doc a2.doc.bak
mv a3.doc a3.doc.bak
mv a4.doc a4.doc.bak
mv b1.doc b1.doc.bak
mv b2.doc b2.doc.bak
mv b3.doc b3.doc.bak
mv b4.doc b4.doc.bak
mv c1.doc c1.doc.bak
mv c2.doc c2.doc.bak
mv c3.doc c3.doc.bak
mv c4.doc c4.doc.bak
mv d1.doc d1.doc.bak
mv d2.doc d2.doc.bak
mv d3.doc d3.doc.bak
mv d4.doc d4.doc.bak
[root@localhost tmp]# ls
a1.doc.bak  a4.doc.bak  b3.doc.bak  c2.doc.bak  d1.doc.bak  d4.doc.bak
a2.doc.bak  b1.doc.bak  b4.doc.bak  c3.doc.bak  d2.doc.bak
a3.doc.bak  b2.doc.bak  c1.doc.bak  c4.doc.bak  d3.doc.bak
[root@localhost tmp]#



xwindow的介紹
1984年麻省理工開始
到目前位置,X11R6分成兩個版本   XFree86 和xorg{比前者高}
查看本機的版本號可以
[root@localhost tmp]# X -version

X Window System Version 7.1.1
Release Date: 12 May 2006
X Protocol Version 11, Revision 0, Release 7.1.1
Build Operating System: Linux 2.6.18-194.8.1.el5 i686 Red Hat, Inc.
Current Operating System: Linux localhost.localdomain 2.6.18-238.el5 #1 SMP Sun Dec 19 14:24:47 EST 2010 i686
Build Date: 01 September 2010
Build ID: xorg-x11-server 1.1.1-48.76.el5_5.2
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Module Loader present

x系統的組成
     xserver 帶有顯示器等輸出設備的機器
     client  客戶端,使用系統視窗系統的程序
     通信通道
 
配置文件
    XFree86->/etc/X11/XF86.conf
    xorg   ->/etc/X11/xorg.conf
圖形配置
    system-config-display
    system-config-keyboard(引申)

啓動到多個xwindow的方法
在文本模式下使用 startx -- :1(數字:0,1,2,3,4。。)

桌面環境的切換,kde和gnome的切換,需要
1 配置yum源,方便安裝kde
2 安裝kde
3 安裝switchdesk*包
4 輸入 switchdesk kde 切換到kde  
5 輸入 switchdesk gnome 切換回gnome

遠程桌面的調用
ssh ip -X
[root@localhost ~]# ssh [email protected] -X
[email protected]'s password:
Last login: Tue May 24 15:40:03 2011 from 172.16.9.1
[root@centos ~]# w
 15:40:18 up 18 min,  2 users,  load average: 0.00, 0.00, 0.03
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     -                15:23   16:57   0.12s  0.12s -bash
root     pts/0    172.16.9.1       15:40    0.00s  0.08s  0.03s w
[root@centos ~]# nautilus 遠程調用本地顯示
Initializing nautilus-open-terminal extension

另一種方式
x服務器    xhost + 10.1.1.183  允許183的圖形在本機顯示
客戶機     export DISPLAY=10.1.1.20:0.0 將圖形輸出至20的顯示器中,屬永久性的配置

[root@localhost ~]# xhost + 172.16.9.129    客戶機(相當於服務器)
172.16.9.129 being added to access control list

[root@centos ~]# export DISPLAY=192.168.1.105:0.0   服務器(相當於客戶機)

在客戶機[root@localhost ~]# lsof -i:6000,發現,無結果,因爲我們gdmsetup中,需要把
security中Deny TCP connections  to xserver 的勾去掉
然後gdm-restart後
[root@localhost ~]# lsof -i:6000
COMMAND   PID USER   FD   TYPE DEVICE SIZE NODE NAME
Xorg    21883 root    1u  IPv4  85206       TCP *:x11 (LISTEN)
[root@localhost ~]#


VNC的應用
是一款優秀的遠程控制工具
[root@localhost ~]# rpm -qa |grep vnc
vnc-server-4.1.2-14.el5_5.4
gtk-vnc-0.3.8-3.el5
gtk-vnc-python-0.3.8-3.el5
[root@localhost ~]#

這裏,我們需要安裝vnc客戶端,用yum install vnc*進行安裝{前面配置過yum源}
設置過程

設置vnc密碼,對應給每個登錄的linux用戶使用
vncpasswd
[root@localhost Server]# vncpasswd
Password:
Verify:

啓動vnc
[root@localhost Server]# vncserver :1

New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:1.log

用虛擬機登錄上我的這臺服務器,看看效果如何
[root@localhost ~]# vncviewer 172.16.9.129:2

VNC Viewer Free Edition 4.1.2 for X - built Jun 24 2010 12:28:43
Copyright (C) 2002-2005 RealVNC Ltd.
See http://www.realvnc.com for information on VNC.

Thu May 26 01:07:52 2011
 CConn:       connected to host 172.16.9.129 port 5902
 CConnection: Server supports RFB protocol version 3.8
 CConnection: Using RFB protocol version 3.8

Thu May 26 01:07:55 2011
 TXImage:     Using default colormap and visual, TrueColor, depth 24.
 CConn:       Using pixel format depth 6 (8bpp) rgb222
 CConn:       Using ZRLE encoding


這個時候讓你輸入相應的密碼即可,但是,彈出來的界面是文本模式,我們需要更改
~/.vnc/xstartup中,將unsee 和exec前的#去掉,然後殺掉,重啓
[root@localhost ~]# vim ~/.vnc/xstartup
[root@localhost ~]# vncserver -kill :2
Killing Xvnc process ID 22552
[root@localhost ~]# vncserver :2

New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:1.log

[root@localhost ~]#

這個時候,在登錄上去,就是圖形界面了
那麼有些時候,我們爲了防止被人惡意使用,僅僅允許對方能看到我的屏幕,而不允許操作,應該如何使用呢
我們需要先在客戶機上安裝一個vino的包,默認安裝好的
這個時候,輸入[root@localhost ~]# vino-preferences彈出對話框,裏面很簡單的英文提示,自行設置

查看可以啓動多少個窗口
[root@localhost ~]# netstat -tunlp |grep vnc
tcp        0      0 0.0.0.0:5801                0.0.0.0:*                   LISTEN      22735/Xvnc         
tcp        0      0 0.0.0.0:5901                0.0.0.0:*                   LISTEN      22735/Xvnc         
tcp        0      0 0.0.0.0:6001                0.0.0.0:*                   LISTEN      22735/Xvnc         
[root@localhost ~]#




[root@localhost ~]# /etc/rc.d/init.d/vncserver status
Xvnc (pid 22735) is running...


vn[root@localhost ~]# netstat -tunlp |grep vnc
tcp        0      0 0.0.0.0:5801                0.0.0.0:*                   LISTEN      22735/Xvnc         
tcp        0      0 0.0.0.0:5901                0.0.0.0:*                   LISTEN      22735/Xvnc         
tcp        0      0 0.0.0.0:6001                0.0.0.0:*                   LISTEN      22735/Xvnc         
[root@localhost ~]#




VNC日誌
~/.vnc/hostname.1.log(hostname:主機名)
[root@localhost ~]# vim ~/.vnc/localhost.localdomain\:1.log
可以查看有什麼IP登錄成功或者失敗的記錄

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章