cygwin的基本操作命令 基本操作命令:----------------------------ls #以預設顯示目前的目錄檔案清單ls –a #顯示所有檔案包括隱藏檔案ls –l #顯示檔案屬性,包括大小,日期,符號串連,是否可讀寫及是否可執行ls --color=never *.so > obj #不顯示文字顏色,將所有so檔案記錄到obj檔案中 ----------------------------------------------------------------------cd dir #切換到目前的目錄下的dir目錄cd / #切換到根目錄cd .. #切換到到上一級目錄cd ../.. #切換到上二級目錄cd ~ #切換到使用者目錄,比如是root使用者,則切換到/root下 ----------------------------------------------------------------------rm file #刪除某一個檔案rm -fr dir #刪除目前的目錄下叫dir的整個目錄 ----------------------------------------------------------------------cp source target #將檔案source 複製為 targetcp /root/source . #將/root下的檔案source複製到目前的目錄cp –av soure_dir target_dir #將整個目錄複寫,兩目錄完全一樣cp –fr source_dir target_dir #將整個目錄複寫,並且是以非連結方式複製,當source目錄帶有符號連結時,兩個目錄不相同 ----------------------------------------------------------------------mv source target #將檔案source更名為target ----------------------------------------------------------------------diff dir1 dir2 #比較目錄1與目錄2的檔案清單是否相同,但不比較檔案的實際內容,不同則列出diff file1 file2 #比較檔案1與檔案2的內容是否相同,如果是文字格式設定的檔案,則將不相同的內容顯示,如果是二進位代碼則只表示兩個檔案是不同的comm file1 file2 #比較檔案,顯示兩個檔案不相同的內容 ----------------------------------------------------------------------echo message #顯示一串字元echo "message message2" #顯示不連續的字串cat:cat file #顯示檔案的內容,和DOS的type相同cat file | more #顯示檔案的內容並傳輸到more程式實現分頁顯示,使用命令less file可實現相同的功能more #分頁命令,一般通過管道將內容傳給它,如ls | more ----------------------------------------------------------------------export LC_ALL=zh_CN.GB2312 #將環境變數LC_ALL的值設為zh_CN.GB2312export DISPLAY=0:0 #通過該設定,當前字元終端下啟動並執行圖形程式可直接運行於Xserverdate #顯示當前日期時間date -s 20:30:30 #設定系統時間為20:30:30date -s 2002-3-5 #設定系統時期為2003-3-5clock –r #對系統Bios中讀取時間參數clock –w #將系統時間(如由date設定的時間)寫入Bios ----------------------------------------------------------------------eject #umout掉CDROM並將光碟彈出,但cdrom不能處於busy的狀態,否則無效 ----------------------------------------------------------------------du #計算目前的目錄的容量du -sm /root #計算/root目錄的容量並以M為單位find -name /path file #在/path目錄下尋找看是否有檔案filegrep -ir “chars” #在目前的目錄的所有檔案尋找字串chars,並忽略大小寫,-i為大小寫,-r為下一級目錄 ----------------------------------------------------------------------vi file #編輯檔案filevi 原基本使用及命令:輸入命令的方式為先按ctrl+c, 然後輸入:x(退出),:x!(退出並儲存) :w(寫入檔案),:w!(不詢問方式寫入檔案), :r file(讀檔案file) ,:%s/oldchars/newchars/g(將所有字串oldchars換成newchars) 這一類的命令進行操作 ----------------------------------------------------------------------man ls #讀取關於ls命令的協助man ls | grep color #讀取關於ls命令的協助並通過grep程式在其中尋找color字串 ----------------------------------------------------------------------startx #運行Linux圖形有環境Xfree86 #只運行X圖形server ----------------------------------------------------------------------reboot #重新啟動電腦halt #關閉電腦init 0 #關閉所有應用程式和服務,進入純淨的作業環境init 1 #重新啟動應用及服務init 6 #重新啟動電腦 ----------------------------------------------------------------------擴充命令--------------------------------------------------------------------------------------------------------------------------------------------tar xfzv file.tgz #將檔案file.tgz解壓tar xfzv file.tgz -C target_path #將檔案file.tgz解壓到target_path目錄下tar cfzv file.tgz source_path #將檔案source_path壓縮為file.tgztar c directory > directory.tar #將目錄directory打包成不壓縮的directory.targzip directory.tar #將覆蓋原檔案產生壓縮的 directory.tar.gzgunzip directory.tar.gz #覆蓋原檔案解壓產生不壓縮的 directory.tar。tar xf directory.tar #可將不壓縮的檔案解包 ----------------------------------------------------------------------dmesg #顯示kernle啟動及驅動裝載資訊uname #顯示作業系統的類型uname -R #顯示作業系統核心的version ----------------------------------------------------------------------strings file 顯示file檔案中的ASCII字元內容 ----------------------------------------------------------------------rpm -ihv program.rpm #安裝程式program並顯示安裝進程rpm2targz program.rpm program.tgz #將rpm格式的檔案轉換成tarball格式 ----------------------------------------------------------------------su root #切換到超級使用者sulogin /dev/tty4 #在tty4即alt+F4終端等待使用者登陸或直接登陸開啟一個shellchmod a+x file #將file檔案設定為可執行,指令碼類檔案一定要這樣設定一個,否則得用bash file才能執行chmod 666 file #將檔案file設定為可讀寫chown user /dir #將/dir目錄設定為user所有 ----------------------------------------------------------------------mknod /dev/hda1 b 3 1 #建立塊裝置hda1,主裝置號為3,從裝置號為1,即master硬碟的的第一個分區mknod /dev/tty1 c 4 1 #建立字元裝置tty1,主裝置號為4,眾裝置號為1,即第一個tty終端 ----------------------------------------------------------------------touch /tmp/running #在/tmp下建立一個臨時檔案running,重新啟動後消失 ----------------------------------------------------------------------sleep 9 #系統掛起9秒鐘的時間 ----------------------------------------------------------------------lpd stop 或 cups stop #停止列印服務程式lpd start 或 cups start #啟動列印服務程式lpd restart 或 cups restart #重新啟動列印服務程式lpr file.txt #列印檔案file.txt ----------------------------------------------------------------------fdisk /dev/hda #就像執行了dos的fdisk一樣cfdisk /dev/hda #比fdisk介面稍為友好些mount -t ext2 /dev/hda1 /mnt #把/dev/hda1裝載到 /mnt目錄df #顯示檔案系統裝載的相關資訊mount -t iso9660 /dev/cdrom /mnt/cdrom #將光碟機載入到/mnt/cdrom目錄mount-t smb //192.168.1.5/sharedir /mnt -o username=tomlinux,password=tomlinux #將windows的的共用目錄載入到/mnt/smb目錄,使用者名稱及密碼均為tomlinuxmount -t nfs 192.168.1.1:/sharedir /mnt #將nfs服務的共用目錄sharedir載入到/mnt/nfs目錄umount /mnt #將/mnt目錄卸載,/mnt目錄必須處於空閑狀態umount /dev/hda1 #將/dev/hda1裝置卸載,裝置必須處於空親狀態sync #將cache中的內容與磁碟同步,在Linux中複製檔案,一般要系統空閑才去寫檔案e2fsck /dev/hda1 #檢查/dev/hda1是否有檔案系統錯誤,提示修複方式e2fsck -p /dev/hda1#檢查/dev/hda1是否有錯誤,如果有則自動修複e2fsck -y /dev/hda1#檢查錯誤,所有提問均於yes方式執行e2fsck -c /dev/hda1#檢查磁碟是否有壞區mkfs /dev/hda1 #格式化/dev/hda1為ext2格式mkfs.minix /dev/hda1 #格式化/dev/hda1為minix格式檔案系統mfks /dev/hda9 #格工化/dev/hda9為Linux swap格式swapon /dev/hda9 #將swap分區裝載當作記憶體來用swapoff /dev/hda9 #將swap分區卸載 ----------------------------------------------------------------------lilo #運行lilo程式,程式自動尋找/etc/lilo.conf並按該配置生效lilo -C /root/lilo.conf #lilo程式按/root/lilo.conf配置生效grub #在Linux shell狀態下運行boot loader設定程式grub-install #安裝grub磁碟引導程式,成功後升級核心無須像lilo一樣要重新啟動系統,只需修改/etc/grub.conf即可實現新引導配置rdev bzImage #顯示kernel的根分區資訊rdev bzImage /dev/hda1 #將kernel的根分區設定為/dev/hda1,這在沒有lilo等引導程式的系統中非常重要. ----------------------------------------------------------------------dd if=/dev/fd0 f=floppy.fd #將磁碟片的內容複寫成一個鏡像,功能與舊石器時代常用的hd-copy相同dd if=/dev/zero f=root.ram bs=1024,count=1024 #產生一個大小為1M的塊裝置,可以把它當作硬碟的一個分區來用mkfs root.ram #將塊裝置格式化為ext2格式dd if=root.ram f=/dev/ram0 #將init.rd格式的root.ram的內容匯入記憶體mount /dev/ram0 /mnt #ramdisk /dev/ram0裝載到/mnt 目錄 ----------------------------------------------------------------------gcc hello.c #將hello.c編譯成名為a.out二進位執行檔案gcc hello.c -o hello #將hello.c編譯成名為hello的二進位執行檔案gcc -static -o hello hello.c #將hello.c編譯成名為hello的二進位靜態執行檔案ldd program #顯示程式所使用了哪些庫objcopy -S program #將程式中的符號表及無用的調試資訊去掉,可以小很多 ----------------------------------------------------------------------strace netscape #跟蹤程式netscape的執行,看調用的庫,環境變數設定,設定檔,使用的裝置,調用的其它應用程式等,在strace下,程式幹了什麼東東一目瞭然。ps #顯示當前系統進程資訊ps –ef #顯示系統所有進程資訊kill -9 500 #將進程編號為500的程式幹掉killall -9 netscape #將所有名字為netscape的程式殺死,kill不是萬能的,對僵死的程式則無效。top #顯示系統進程的活動情況,按占CPU資源百分比來分free #顯示系統記憶體及swap使用方式time program #在program程式結束後,將計算出program運行所使用的時間 ----------------------------------------------------------------------chroot . #將根目錄切換至目前的目錄,調試新系統時使用chroot /tomlinux #將根目錄切換至/tomlinux目錄chroot /tomlinux sbin/init #將根目錄切換至/tomlinux並執行sbin/initadduser id #增加一個叫id的使用者userdel id #增除叫id的使用者userlist #顯示已登陸的使用者列表passwd id #修改使用者id的密碼passwd -d root #將root使用者的密碼刪除chown id /work #指定/work目錄為id使用者所擁有 ----------------------------------------------------------------------ifconfig eth0 192.168.1.1 netmask 255.255.255.0 #設定網卡1的地址192.168.1.1,掩碼為255.255.255.0,不寫netmask參數則預設為255.255.255.0ifconfig eth0:1 192.168.1.2 #捆綁網卡1的第二個地址為192.168.1.2ifconfig eth0:x 192.168.1.x #捆綁網卡1的第二個地址為192.168.1.xifconfig down eth1 #關閉第二塊網卡,使其停止工作hostname -F tomlinux.com #將主機名稱設定為tomlinux.comroute #顯示當前路由設定情況route add default gw 192.168.1.1 metric 1 #設定192.168.1.1為預設的路由route del default #將預設的路由刪除dhcp #啟動dhcp服務dhclient #啟動dhcp終端並自動擷取IP地址ping 163.com #測試與163.com的串連ping 202.96.128.68 #測試與IP 202。96.128.68的串連 ----------------------------------------------------------------------probe rtl8139 #檢查驅動程式rtl8139.o是否正常工作lsmod #顯示已裝載的驅動程式insmod rtl8139.o #裝載驅動程式rtl8139.oinsmod sb.o io=0x280 irq=7 dma=3 dma16=7 mpu_io=330 #裝載驅動程式並設定相關的irq,dma參數rmmod rtl8139 #刪除名為rtl8139的驅動模組gpm -k #停止字元狀態下的mouse服務gpm -t ps2 #在字元狀態下以ps2類型啟動mouse的服務 ----------------------------------------------------------------------telnet 192.168.1.1 #登陸IP為192.168.1.1的telnet伺服器telnet iserver.com #登陸網域名稱為iserver.com的telnet伺服器ftp 192.168.1.1 或 ftp iserver.com #登陸到ftp服務 Linux開發中的常用命令(cygwin環境也同樣適用) cygwin使用心得1.在cygwin裡訪問Windows盤cd /cygdrive/ccd c:2.整合cygwin命令到Windows中假設cygwin安裝在d:/develop/cygwin,則將d:/develop/cygwin/bin添加到系統變數PATH中(最好加在windows前面,這樣的話,有些相同的命令的話,是先執行cygwin的命令,而不是windows命令,比如find)就可以直接在cmd.exe下面執行tar czvf xxx.tgz ./基本上所有的命令都可以用了,包括ls,more,less,find,grep等。3.使用TGZ備份將cygwin的BIN加入到PATH建一個BAT檔案:@echo offd:cd d:/website/8thmanagetar czvf 8thmanage.tgz 8thmanage4.Windows使用SHELL指令碼將cygwin的BIN加入到PATH在$CYGWIN的目錄/var/下面建一指令碼t.sh,注意,t.sh裡面的路徑,都是相對於$CYGWIN的,裡面需要訪問C盤的,請用/cygdrive/c/在Windows下執行:d:/cygwin/bin/bash d:/cygwin/var/t.sh(可以定期執行)5.同步Windows系統使用者mkpasswd -l > /etc/passwdmkgroup -l > /etc/group如果有Domain的話,需要加上-d domainname6.安裝系統服務cygrunsrv7.cygwing下使用rsynca.安裝rsync組件b.進入cygwin,設定管理員vi /etc/rsyncd.conf...screts file=/etc/tom.ipaddr.pas設定檔,參考我寫的另外一篇rsync的文章,注意:密碼檔案許可權必須是0400chmod 0400 /etc/tom.ipaddr.pasc.啟動服務端rsync --daemond.用戶端同步在用戶端的cygwin下面,運行rsync同步,具體命令,請參考另外一篇rsync的文章。8.cygwin下使用SSHDa.需要安裝了cygrunsrc,opensshb.運行ssh-host-config -y一路斷行符號,直到出現CYGWIN=時,輸入tty ntsec,再斷行符號,(或者,增加一系統內容變數CUGWIN=nesec tty)c.已經安裝好SSHD服務到你的Windows服務中,可以直接在服務中啟動,關閉。(cygrunsrc -S sshd或者net start sshd)9.中文顯示vi ~/.bashrc# 讓ls和dir命令顯示中文和顏色alias ls='ls --show-control-chars --color'alias dir='dir -N --color'# 設定為中文環境,使提示成為中文export LANG="zh_CN.GBK"# 輸出為中文編碼export OUTPUT_CHARSET="GBK"~/.inputrc為set completion-ignore-case onset meta-flag onset output-meta. onset convert-meta. offcygwin.bat指令碼為:@echo offset MAKE_MODE=UNIX