zoukankan      html  css  js  c++  java
  • cygwin-使用介绍

    cygwin使用:

      使用上的方便性很是不错,启动Cygwin以后,会在Windows下得到一个Bash Shell,由于Cygwin是以Windows下的服务运行的,所以很多情况下和在Linux下有很大的不同

    开始使用Cygwin:

    比如PS,相当于Windows下的TM(任务管理器),直接Ps的话 那么得到的会是Cygwin下的Shell的进程如下

    Taynni-417@ENTERBD-417 ~
    $ ps
    PID PPID PGID WINPID TTY UID STIME COMMAND
    2212 1 2212 2212 con 1003 01:54:29 /usr/bin/bas
    3384 2212 3384 3232 con 1003 01:59:24 /usr/bin/ps

    如果这个时候你需要在Cygwin下显示Windows下的进程你可以在PS后面加上参数-aW,PS的相关用法:

    Quote 
    Usage ps [-aefl] [-u uid]
    -f = show process uids, ppids
    -l = show process uids, ppids, pgids, winpids
    -u uid = list processes owned by uid
    -a, -e = show processes of all users
    -s = show process summary
    -W = show windows as well as cygwin processes

    很容易看懂.

    有点不一样的地方,我想大家一定想知道在Cygwin下怎么访问Windows下的内容了,首先使用DF命令直接查看下本地驱动器,很容易了吧,显示的内容

    如下:

    Quote 
    Taynni-417@ENTERBD-417 ~
    $ df
    Filesystem 1k-blocks Used Available Use% Mounted on
    e:cygwinin 10231384 4844432 5386952 48% /usr/bin
    e:cygwinlib 10231384 4844432 5386952 48% /usr/lib
    e:cygwin 10231384 4844432 5386952 48% /
    c: 5106676 1240312 3866364 25% /cygdrive/c
    d: 10239408 6560328 3679080 65% /cygdrive/d
    e: 10231384 4844432 5386952 48% /cygdrive/e
    f: 6333252 4065564 2267688 65% /cygdrive/f
    g: 7150972 4672724 2478248 66% /cygdrive/g

    如上便是我的硬盘的全部了,在后面的/cygdrive/c便是C盘了,然后/cygdrive/d便是D盘了,这样的话,想进D盘便可以这样进

    Quote 
    Taynni-417@ENTERBD-417 ~
    $ cd /cygdrive/d
    Taynni-417@ENTERBD-417 /cygdrive/d
    $ ls -l
    ls: pagefile.sys: Permission denied
    total 0
    drwxr-xr-x 9 Taynni-4 None 0 Aug 31 20:56 Book
    drwxr-xr-x 2 Taynni-4 None 0 Aug 23 05:24 Ftproot
    drwxr-xr-x 30 Taynni-4 None 0 May 10 23:38 HACKER
    drwxr-xr-x 11 Taynni-4 None 0 Feb 1 2005 JIAOXUE
    drwxr-xr-x 8 Taynni-4 None 0 Jan 3 2005 Local Settings
    dr-xr-xr-x 24 Taynni-4 None 0 Oct 16 2004 My Documents
    drwxr-xr-x 12 Taynni-4 None 0 May 14 16:48 Mywww
    drwxr-xr-x 2 Taynni-4 None 0 Jun 29 2004 Recycled
    drwxr-xr-x 3 Taynni-4 None 0 Aug 22 04:44 SECBOOK
    drwxr-xr-x 6 Taynni-4 None 0 Feb 28 2005 TaynniCHX
    drwxr-xr-x 15 Taynni-4 None 0 Mar 30 01:04 TaynniGZ
    drwxr-xr-x 12 Taynni-4 None 0 May 11 01:30 TaynniH
    drwxr-xr-x 15 Taynni-4 None 0 Mar 12 04:27 TaynniYM
    drwxr-xr-x 6 Taynni-4 None 0 Dec 13 2004 Taynniwww
    drwxr-xr-x 8 Taynni-4 None 0 Aug 31 20:55 Word
    Taynni-417@ENTERBD-417 /cygdrive/d
    $

    在Cygwin下还可以运行Windows下的程序,如下:

    Taynni-417@ENTERBD-417 ~
    $ cmd.exe
    Microsoft Windows XP [Version 5.1.2600]
    (C) Copyright 1985-2001 Microsoft Corp.
    e:cygwinhomeTaynni-417>d:
    D:>cd hacker
    D:HACKER>cd tools
    D:HACKERTools>cd pstools
    D:HACKERToolsPstools>ls
    pdh.dll pskill.exe pspasswd.exe
    Psinfo.exe psexec.exe pslist.exe psservice.exe
    Pstools.chm psfile.exe psloggedon.exe psshutdown.exe
    README.TXT psgetsid.exe psloglist.exe pssuspend.exe
    D:HACKERToolsPstools>exit
    Taynni-417@ENTERBD-417 ~
    $

      很明显的,直接输入CMD.EXE便可以得到一个本机CMDSHELL,这样你想运行什么程序都可以了

    退出到Cygwin的Bash shell需要使用exit命令,很方便

      在Cygwin下还可以进行编译程序,比如C和perl,当然,你也可以借助ActivePy,这个东西也很不错,也是一个仿真器,在Windows下模拟perl的解释器.

      对于一个系统而言,没有相应的系统工具是不可能的,在Cygwin下拥有的UNIX工具基本上够你使用了。当然,这需要你安装完整的Cygwin包

      一般像grep,cut,sed,strings,strace,md5sum,diff,patch,ssh,xxd,等等工具你都可以进行安装和使用

    (这个命令是用于效验文件md5值的,主要是为了文件的完整性和安全性)

    Quote 
    Taynni-417@ENTERBD-417 ~
    $ md5sum --help
    Usage: md5sum [OPTION] [FILE]...
    or: md5sum [OPTION] --check [FILE]
    Print or check MD5 (128-bit) checksums.
    With no FILE, or when FILE is -, read standard input.
    -b, --binary read files in binary mode (default on DOS/Windows)
    -c, --check check MD5 sums against given list
    -t, --text read files in text mode (default)
    The following two options are useful only when verifying checksums:
    --status don't output anything, status code shows success
    -w, --warn warn about improperly formated checksum lines
    --help display this help and exit
    --version output version information and exit
    The sums are computed as described in RFC 1321. When checking, the input
    should be a former output of this program. The default mode is to print
    a line with checksum, a character indicating type (`*' for binary, ` ' for
    text), and name for each FILE.
    Taynni-417@ENTERBD-417 ~
    $

    来写一个hello world程序。

    # cd

    进入了/home/administrator目录,我当前的登陆帐号是administrator

    # mkdir source

    建立一个叫做source的子目录

    # cd source

    进入 /home/administrator/source

    # vim hello.c

    我们编辑hello.c文件,输入:

    #include
    int main(void) {
    printf( "Hello World!");
    }

    然后,输入wq命令退到命令行。
    输入编译指令:

    # gcc hello.c -o hello

    编译成功后可以看一下

    # ls

    看到hello.exe了吧,嘿嘿。
    好,让我们运行看看。

    # ./hello

    效果如何?不错吧? :)
    okey,现在玩一个C++的hello world,

    # vim world.cpp

    输入:

    #include
    using namespace std;
    void main() {
    cout << "Hello World!";
    }

    编译C++程序要用g++

    # g++ world.cpp -o world

    运行一下哈,

    # ./world

    如何,效果不错吧?诸位都是高手,走到这步应该编些简单程序都不成问题了吧:p
    好了,关于如何编写makefile文件,如何用gdb下次再说了。

    Linux开发一路过来 cygwin->make->gcc

     常用命令
           在Bash shell的命令行交互中可以输入很多命令运行。例如:
    命令 说明   命令 说明

    touch 新建文件   cmd 切换到windows控制台,可以运行windows程序
    rm 删除文件   --help 参数,显示命令帮助
    mkdir 新建目录   man 显示命令帮助
    rmdir 删除目录   info 显示命令更详细帮助
    ls 显示文件和目录   ps 显示进程
    cd 改当前目录 cd /   echo 输出变量值,echo $PATH
    cp 复制文件   find 查找文件
    mv 移动文件   diff 比较文件差异
    查看命令帮助文档时,按 Ctrl+Z 或 Ctrl+C 退出命令

    这些命令之所以可用,是因为对应的exe都放在 /bin目录下。如果追加扩展的exe放于此目录,也是可以运行的。
    此外,bash也可以看作一个脚本语言,其比批处理更灵活,内部通过正则表达式可以最大发挥文本的功能;流程控制也具备了顺序编程语言的特点;熟悉其变量、方法和脚本文件的组织和使用,可以做很多日常的操作维护。

    http://itlab.idcquan.com/linux/special/linuxcom/Index.html

  • 相关阅读:
    C# 9.0语法新特性【废弃,自用,无参考价值】
    0兆宽带年费过万,垄断坑企咋破
    筹划建立题目该如何作答?
    去重 sort -u
    大城市治理
    申论话题
    面试 思维
    成语
    人民日报怒批机关事业单位三大怪状
    留痕主义
  • 原文地址:https://www.cnblogs.com/hwaggLee/p/4903921.html
Copyright © 2011-2022 走看看