cygwin常用命令
Cygwin常用命令
Cygwin常常常常:ls #以以以以以以以以以以以以以以以ls –a #以以显显以以显显显显以以ls –l #以以以以显显,显显包包,日日,符符符符,是是是是是是是是是否否ls –color=never *.so > obj #不以以以不不不,将显显so以以文以文obj以以文———————————————————————‐cd dir #切切文以以以以切切dir以以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 #比比以以,以以两删以以不两两切件件———————————————————————‐第 1 页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常常切命命第 2 页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.tgz tar c directory > directory.tar #将以以directory打显换不解压切directory.targzip directory.tar #将将将原以以将换解压切 directory.tar.gz gunzip directory.tar.gz #将将原以以解解将换不解压切directory.tar。
cygwin常用快捷键总结
Cygwin总结:1.Cygwin窗口中进外盘用cd /cygdrive/f 而dos中则直接用d:等2.Cygwin中需要安装什么工具直接不卸载重新装工具包/uid-15070602-id-2779056.html3.Cygwin快捷键# Ctrl-U: 擦除一行光标前面的部分。
# Ctrl-H: 擦除光标前面的一个字符。
# Ctrl-D: 终止输入。
(退出shell,如果您正在使用shell 的话)。
# Ctrl-C: 终止当前正在运行的程序。
# Ctrl-Z: 暂停程序。
&'')# Ctrl-S: 停止向屏幕输出。
# Ctrl-Q: 重新激活向屏幕输出。
默认的shell,`bash’,有历史编辑和tab 补齐功能。
# up-arrow: 开始历史命令搜索。
# Ctrl-R: 开始增量历史命令搜索,可以按照关键字查查自己用过哪些命令。
# TAB: 完整的把文件名输入到命令行。
# Ctrl-V TAB: 输入TAB 而不是扩展命令行。
# Ctrl + P - 上一条命令# Ctrl + N - 下一条命令# Ctrl-U: 擦除一行光标前面的部分。
# Ctrl + Y - 粘贴前一Ctrl+U类命令删除的字符,是粘贴不是撤销啊!下面的应用可能稍稍高级一点点# !! - 上一条命令# !-n - 倒数第N条历史命令# !-n:p - 打印上一条命令(不执行)# !?string?- 最新一条含有“string”的命令# !-n:gs/str1/str2/ - 将倒数第N条命令的str1替换为str2,并执行(若不加g,则仅替换第一个)其他一些有用的按键组合。
Ctrl-Alt-Del:挂起或者重新启动系统,这三个按键在Linux下可以轻松地修改成关机的操作,这对于单用户的朋友还是很方便的# Ctrl + l - 清屏# Ctrl + A - 光标移到行首# Ctrl + E - 光标移到行尾# Ctrl + W - 清除光标之前一个单词# Ctrl + K - 清除光标到行尾的字符# Ctrl + T - 交换光标前两个字符# Ctrl + V - 输入控制字符如Ctrl+v ,会输入^M# Ctrl + F - 光标后移一个字符# Ctrl + B - 光标前移一个字符# Ctrl + H - 删除光标前一个字符# N++F - 光标后移N个单词,N为1时可省略# N++B - 光标前移N个单词,N为1时可省略# Left-click-and-drag mouse: 选择并且拷贝到剪贴板。
cygwin使用手册
**Cygwin使用手册****一、安装**1. 访问Cygwin官方网站,下载最新版本的安装程序。
2. 运行安装程序,按照提示进行安装。
在安装过程中,您可以选择下载安装所需的文件的方式。
推荐选择Http和Ftp方式,将文件全部下载回来后再进行本地安装。
3. 在安装界面,可以选择安装的版本,推荐选择Curr版本。
然后单击View按钮,在可用的安装文件之间进行选择性的安装。
**二、基本使用**1. **启动Cygwin**:在Windows系统中,双击Cygwin图标即可启动Cygwin。
2. **命令行操作**:Cygwin提供了一个类Unix的命令行界面,您可以在此输入并执行各种命令。
3. **文件操作**:使用`cd`命令可以改变当前目录,使用`ls`命令可以列出当前目录下的文件和文件夹。
4. **网络操作**:Cygwin支持网络操作,您可以使用`ping`命令来测试网络连接,使用`ftp`或`sftp`命令来进行文件传输等。
**三、高级功能**1. **环境变量设置**:在Cygwin中,您可以设置环境变量,以便在命令行中直接访问Windows 系统的某些目录或文件。
2. **窗口管理**:Cygwin支持多个窗口管理,您可以使用各种命令和工具来进行窗口的切换、排列和管理。
3. **进程管理**:您可以使用各种命令来查看和管理Windows系统中的进程。
**四、常见问题与解决方案**1. **无法启动Cygwin**:检查Cygwin是否正确安装,确保路径和环境变量设置正确。
2. **命令无法执行**:检查命令是否正确输入,或者是否缺少必要的库或工具。
3. **文件操作出错**:检查路径是否正确,或者是否具有足够的权限进行操作。
请注意,Cygwin是一个强大的工具,但也需要一定的学习和实践才能熟练使用。
建议您参考官方文档和教程,以便更好地掌握Cygwin的使用方法。
cygwin使用方法
退出到Cygwin的Bash shell需要使用exit命令,很方便吧,呵呵
苹果提示:USA, Wisconsin ftp:///pub/xlivecd/xlivecd-20041201.iso
这个下载速度快
Shelley Yen 的cygnuwin : ftp://.tw/pub/free_software/cygnuwin/
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
0:简介
1:下载和安装
2:使用
简介
Cygwin是一个运行于Windows下的免费的UNIX的子系统,使用一个Dll(动态链接库)来
实现,这样,我们可以开发出Cygwin下的UNIX工具,使用这个DLL运行在Windows下,大家可以想
一下,你在运行Windows的同时,也可以使用VI,BASH,TAR,SED等UNIX下的工具,不是很好吗?这个VM
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
Germany, Bochum ftp://linux.rz.ruhr-uni-bochum.de/xlivecd/xlivecd-20041201.iso
cygwin make命令的用法
在Cygwin环境中,`make`命令是一个功能强大的构建工具,它用于自动化执行多个编译步骤,生成可执行文件、库文件等。
使用`make`命令时,需要指定一个包含编译规则的Makefile文件。
Makefile文件定义了编译过程中的各种规则,包括依赖关系、编译选项等。
下面是一个简单的Makefile示例:```makefileCC0 = gccCFLAGS = -Wall -gall: myprogrammyprogram: main.o utility.o$(CC0) $(CFLAGS) -o myprogram main.o utility.omain.o: main.c utility.h$(CC0) $(CFLAGS) -c main.cutility.o: utility.c utility.h$(CC0) $(CFLAGS) -c utility.c```在上面的示例中,`CC0`定义了编译器名称,`CFLAGS`定义了编译选项。
`all`是默认目标,它依赖于`myprogram`目标,并执行构建`myprogram`的命令。
`myprogram`依赖于`main.o`和`utility.o`两个目标,并使用指定的编译器和选项构建它们。
`main.o`和`utility.o`分别依赖于对应的源文件和头文件,并使用指定的编译器和选项进行编译。
要使用这个Makefile进行构建,可以在Cygwin命令行中进入包含Makefile的目录,并输入以下命令:```make```这将根据Makefile中的规则自动执行编译、链接等操作,最终生成可执行文件`myprogram`。
如果要清理生成的文件,可以使用以下命令:```arduinomake clean```这会删除生成的目标文件和可执行文件,以便重新构建。
Cygwin使用指南
Cygwin使用指南下载:1. 下载、运行安装向导文件一开始的下载方法,了解Cygwin的人都知道:就是到: 中先当个安装向导文件setup.exe,这个是Cygwin的官方下载安装向导文件,而且也只能通过它才能正确下载最新的Cygwin版本(为何?稍后有说明)。
setup.exe下载完毕,双击运行,程序安装向导界面如下图所示:点击“下一步”继续,准备选择Cygwin的安装方式。
2. 选择安装方式如上图所示,一共有三种安装方式:(1)Install from Internet:直接从Internet上下载并立即安装(安装完成后,下载好的安装文件并不会被删除,而是仍然被保留,以便下次再安装)。
(2)Download Without Installing:只是将安装文件下载到本地,但暂时不安装。
(3)Install from Local Directory:不下载安装文件,直接从本地某个含有安装文件的目录进行安装。
强烈建议选择第(2)项,以便于能够手工指定安装路径。
然后再点击”下一步“。
3. 设置安装文件的本地存储路径由于我们选择的是直接下载的安装方式,所以必需指定好一个本地下载文件存储目录。
安装目录所在的驱动器剩余空间必须足够(若要完全下载,至少需要600M以上的空间)。
设置好后,点击“下一步”。
4. 选择连接方式如上图所示,共有三种连接方式选择:(1)Direct Connection:直接连接。
(2)Use IE5 Settings:使用IE的连接参数设置进行连接。
(3)Use HTTP/FTP Proxy:使用HTTP或FTP代理服务器进行连接(需要输入服务器地址和端口号)。
用户可根据自己的网络连接的实情情况进行选择,一般正常情况下,均选择第一种,也就是直接连接方式。
然后再点击“下一步”。
5. 选择下载站点经过一番搜索,安装向导为我们列出了众多可用的下载镜像站点以供选择,有HTTP的也有FTP的。
cygwin清屏命令是什么
cygwin清屏命令是什么
cygwin是一个在windows平台上运行的unix模拟环境,大家使用过程中知道怎么用cygwin清屏命令吗?下面是店铺为大家整理的 cygwin清屏命令,希望对您有所帮助!
2. 快捷键
使用Ctrl+L快捷键直接清屏
3. 添加clear命令
修改/home/.bashrc文件,在最后一行添加
[html] view plain copy print?
alias clear='echo -e "\E[2J"'
则命令行直接执行clear就能清屏
cygwin清屏命令
依次执行:
cd /usr/bin/
vim clear.sh
vim编辑器中输入
[plain] view plain copy print?
#!/bin/bash
cmd /c cls
在命令行执行bash clearFra biblioteksh则清空窗口
或者不用做任何配置,直接输入cmd /c cls可以清屏
cygwin 编译 openssh
cygwin 编译openssh
要使用Cygwin 编译OpenSSH,您可以按照以下步骤进行操作:
1.确保您已经安装了Cygwin,并设置了正确的环境变量。
2.打开Cygwin 终端并进入OpenSSH 源代码所在的目录。
3.运行以下命令来配置OpenSSH:
bash复制代码
./configure --prefix=/usr/local/openssh
这将配置OpenSSH 以便在Cygwin 上进行编译和安装。
4. 运行以下命令来编译OpenSSH:
复制代码
make
这将编译OpenSSH 的各个组件。
5. 运行以下命令来安装OpenSSH:
bash复制代码
make install
这将将编译好的文件安装到指定的目录中。
6. 完成安装后,您可以使用以下命令来启动OpenSSH 服务:
bash复制代码
/usr/local/openssh/bin/sshd -D &
这将启动OpenSSH 的守护进程。
请注意,您可能需要根据您的实际情况调整命令中的路径。
以上是使用Cygwin 编译OpenSSH 的基本步骤。
请注意,具体的步骤可能会因您的操作系统和环境而有所不同。
确保仔细阅读OpenSSH 的文档以了解更多详细信息。
Cygwin基本命令
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 sourcetarget#将文件sour ce 复制为 targetcp /root/source. #将/root下的文件sourc e复制到当前目录cp –av soure_d ir target_dir #将整个目录复制,两目录完全一样cp –fr source_dir target_dir #将整个目录复制,并且是以非链接方式复制,当source目录带有符号链接时,两个目录不相同----------------------------------------------------------------------mv sourcetarget#将文件sour ce更名为t arget----------------------------------------------------------------------diff dir1 dir2 #比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出diff file1 file2 #比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的comm file1 file2 #比较文件,显示两个文件不相同的内容----------------------------------------------------------------------echo message #显示一串字符echo "message message2" #显示不连续的字符串cat:cat file #显示文件的内容,和DOS的ty pe相同cat file | more #显示文件的内容并传输到mo re程序实现分页显示,使用命令les s file可实现相同的功能more #分页命令,一般通过管道将内容传给它,如ls | more----------------------------------------------------------------------exportLC_ALL=zh_CN.GB2312#将环境变量LC_ALL的值设为zh_C N.GB2312exportDISPLAY=0:0 #通过该设置,当前字符终端下运行的图形程序可直接运行于Xserv er date #显示当前日期时间date -s 20:30:30 #设置系统时间为20:30:30date -s 2002-3-5 #设置系统时期为2003-3-5clock –r #对系统Bios中读取时间参数clock –w #将系统时间(如由date设置的时间)写入Bios----------------------------------------------------------------------eject #umout掉C DROM并将光碟弹出,但cdrom不能处于bus y的状态,否则无效----------------------------------------------------------------------du #计算当前目录的容量du -sm /root #计算/root目录的容量并以M为单位find -name /path file #在/path目录下查找看是否有文件filegrep -ir“chars”#在当前目录的所有文件查找字串chars,并忽略大小写,-i为大小写,-r为下一级目录----------------------------------------------------------------------vi file #编辑文件fil evi 原基本使用及命令:输入命令的方式为先按ctr l+c,然后输入:x(退出),:x!(退出并保存) :w(写入文件),:w!(不询问方式写入文件),:r file(读文件file) ,:%s/oldchar s/newchar s/g(将所有字串ol dchars换成newc hars) 这一类的命令进行操作----------------------------------------------------------------------man ls #读取关于ls命令的帮助man ls | grep color #读取关于ls命令的帮助并通过grep程序在其中查找color字串----------------------------------------------------------------------startx#运行Linux图形有环境Xfree86 #只运行X图形s erver----------------------------------------------------------------------reboot#重新启动计算机halt #关闭计算机init 0 #关闭所有应用程序和服务,进入纯净的操作环境init 1 #重新启动应用及服务init 6 #重新启动计算机----------------------------------------------------------------------扩展命令--------------------------------------------------------------------------------------------------------------------------------------------tar xfzv file.tgz #将文件file.tgz解压tar xfzv file.tgz -C target_path #将文件file.tgz解压到t arget_path目录下tar cfzv file.tgz source_path #将文件sour ce_pat h压缩为fi le.tgztar c directo ry > directo ry.tar #将目录dire ctory打包成不压缩的direct ory.targzip directo ry.tar #将覆盖原文件生成压缩的 directo ry.tar.gzgunzipdirecto ry.tar.gz #覆盖原文件解压生成不压缩的 directo ry.tar。
Cygwin使用指南
Cygwin使用指南Cygwin使用指南根据cygwin user guide翻译整理,希望对大家有所帮助。
有错误清指出。
1 引言cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。
它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。
随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。
本文将对其作一介绍。
2 机理cygnus当初首先把gcc,gdb,gas等开发工具进行了改进,使他们能够生成并解释win32的目标文件。
然后,他们要把这些工具移植到windows平台上去。
一种方案是基于win32 api对这些工具的源代码进行大幅修改,这样做显然需要大量工作。
因此,他们采取了一种不同的方法——他们写了一个共享库(就是cygwin.dll),把win32 api中没有的unix风格的调用(如fork, spawn, signals, select, sockets等)封装在里面,也就是说,他们基于win32 api写了一个unix系统库的模拟层。
这样,只要把这些工具的源代码和这个共享库连接到一起,就可以使用unix主机上的交叉编译器来生成可以在windows平台上运行的工具集。
以这些移植到windows平台上的开发工具为基础,cygnus又逐步把其他的工具(几乎不需要对源代码进行修改,只需要修改他们的配置脚本)软件移植到windows上来。
这样,在windows平台上运行bash和开发工具、用户工具,感觉好像在unix上工作。
关于cygwin实现的更详细描述,请参考[url]/doc/b817755437.html,/cygwin-ug-net/highlights.html[/url]3 安装设置cygwin3.1 安装要安装网络版的cygwin,可以到[url]/doc/b817755437.html,[/url],点击"Install Cygwin Now!"。
Cygwin网站日志分析的常见命令用法(实战版)
Cygwin日志分析的常见用法(实战版)一、less的用法less就是查看日志的目录内容,不确定日志文件有什么内容的或者输入命令想查看导出结果的,可以用less查看如cat XXX.log|less二、wc –l的用法wc –l就是看有多少条数据,在输入各种命令排查日志内容,可以优先用wc –l 看看还剩下多少条数据。
Wc –l经常会用于查看各种搜索引擎蜘蛛数量、搜索引擎用户来源的数据。
如:cat xxx.log|wc –l上者两者结合简单命令组合作用举例:首先查看这份日志一天有多少个百度蜘蛛:数据量较少的话,可以用less直接看蜘蛛访问的都是什么页面:日志初级用法说明:百度蜘蛛每次更新之前给到一个网站的数量基本差不多,比如一个网站百度蜘蛛一天给到的蜘蛛份额就只有30个,那么他每天正常来说只会爬30条内容(不算大量录入新内容吸引)。
用wc –l 可以监控蜘蛛增长的情况,以便增加或者减少seo操作,less可以查看蜘蛛爬行到什么内容,如果爬行到无用的内容,我们在robots.txt那边禁止蜘蛛爬到无用内容。
三、查看网站的稳定性。
这里的稳定性是查看状态码,其中状态码200是正常的,301以及302是重定向和临时定向,这部分如果网站自己内部操作也属于正常,非正常的代码是“404”、“500”、“502”我们可以通过日志分析监控这部分的数据:同样的日志,我们分析正常的百度蜘蛛访问的代码,得出,我们200正常的有74条,但是我们这份日志一天蜘蛛访问95条,也就是说有19条是错误代码,可以进一步排查进一步排查命令可以发现这份网站一天百度蜘蛛访问返回404的结果有12条,304(网站页面之前已经收录,无变动)结果9条:然后我们就用less命令查看详细的404页面:发现爬的全是网站之前上传的压缩包,这部分在百度站长后台死链提交工具把这些都提交。
四、查看蜘蛛访问目录蜘蛛进入网站并不是一定会访问有用的内容,只要上传到服务器,没被robots禁止的内容,蜘蛛都有可能会爬,那么我们就要看蜘蛛访问的是什么内容:从图中我们可以看出访问的大部分都是无用的url,我们需要对这部分的数据进行处理,所以要把这些数据都导出来,那么我们就可以输入:这里的“>”是把左边的命令结果导出到右边的url.txt(如果没这文件,自动生成)。
收集到的cygwin使用资料
收集到的cygwin使用资料关键字: linux, cygwincygwin使用心得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的文章,注意:密码文件权限必须是0400 chmod 0400 /etc/tom.ipaddr.pasc.启动服务端rsync --daemond.客户端同步在客户端的cygwin下面,运行rsync同步,具体命令,请参考另外一篇rsync 的文章。
cygwin中文教程
Shell 設計入門臥龍小三ols3@.tw 台南縣教育網路中心Copyright© 2002 by OLS3v1.0.0 08/01/2002v1.0.1 08/05/2002v1.0.2 08/08/2002v1.0.3 08/12/2002v1.0.4 08/15/2002v1.0.5 08/19/2002Table of Contents1.前言2.佈置練習環境Linux/FreeBSD等Un*x 平台Cygwin 環境3.Bash shell 的結構簡單的示範程式打開執行權執行script 的方法shell 使工作自動化容易您一定可以學會它本節習題4.基本的命令bash shell 的內建命令echocdpwdalias命令列程式datewholscatwclnbasenamedirnamesortuniqcutpastetrgrep練習用的資料檔常用的特殊字元一個命令列執行好幾個命令命令列郵寄帶檔的方法本節習題5.設定變數設定變數的方法取得變數的內容取消變數的內容變數的有效範圍使變數成為環境變數取消環境變數由標準輸入讀取資料陣列(array)Here Document進階變數設定亂數產生eval:使shell 掃瞄命令二次本節習題6.萬用字元7.標準輸入/輸出/錯誤及I/O轉向與管線本節習題8.正規表示式何謂正規表示式(Regular Expressions)一點.^$[...]*\{...\}\(...\)sedsed 的作用格式sed 的作用法1sed 的作用法2sed 的作用法3sed 的作用法4sed 的作用法5sed 的作用法6sed 的作用法7awkawk 的作用格式awk 的作用法1awk 的作用法2awk 的作用法3awk 的作用法4awk 的作用法5本節習題9.引號10.算術運算11.參數傳遞12.程式條件控制if 語法結構13.真假值判斷14.case 語法結構本節習題15.迴圈語法結構for 的迴圈while 的迴圈until 的迴圈無窮迴圈本節習題16.函式函式的寫法引入函式檔傳遞參數函式也可以遞迴呼叫17.select 選單語法select 的寫法本節習題18.歷史記錄取用歷史記錄的方法取用歷史記錄的最後一筆取用最後一筆歷史記錄中的參數部份實例參考資源# 版權宣告: 1999 Copyright OLS3 All rights reserved.# 作者: OLS3 (臥龍小三)# 本講義僅供台南縣 87 學年度網路管理進階研習班上課之用. # 學員可保存一份自用, 供日後網管時參考備查.# 作者保有一切形式的著作權.# 欲作其它用途者, 需經作者授權同意.# 未經作者授權同意之前, 請勿轉載刊登.Bash的環境設定和Bash的環境設定有關的檔案有/etc/profile (主要)$HOME/.bash_profile (主要)$HOME/.bash_login$HOME/.profile$HOME/.bash_logout (主要)$HOME/.bashrc (主要)/etc/bashrc說明如下:•登入(login)時1.先執行/etc/profile2.接著bash會檢查使用者的自家目錄中,是否有.bash_profile 或者 .bash_login 或者 .profile,若有,則會執行其中一個,執行順序為:a..bash_profile 最優先b..bash_login其次c..profile 最後這三個檔案只有在登入時,才會被bash讀取•登出(exit/logout)時bash會檢查使用者自家目錄中是否有 .bash_logout,若有,則bash會執行其中的指令•登入後啟動一個新的shell :此時我們稱之為一個subshell, 也就是說在命令列中鍵入bash, 除了原先登入時的bash 之外, 又另外啟動了一個新的 bash shell.bash 會檢查使用者的自家目錄中是否有 .bashrc,若有則予以執行•實驗:在各檔中加入echo 指令, 以觀察其執行順序.各檔案用途說明•/etc/profile 由 root 所控管, 用來設定適合全體使用者的shell環境•若使用者自己覺得 /etc/profile 的設定, 並不合意, 可以修改自家目錄中的 .bash_profile•既然有了 .bash_profile, 為何要有 .bash_login 及 .profile ?這是因為有些人可能是從 Bourne shell 移轉過來的, 那麼, 只要將 Bourne shell 主要的起動檔 .profile 移到自家目錄中, 放棄使用 .bash_profile 及 .bash_login 即可繼續沿用以前的設定環境•.bash_login 存在理由或許和 c shell 有關, 但因為 bash 和 c shell 二者語法並不完全相容, 因此, 並不建議將 c shell 的啟動檔直接移過來使用.•.bashrc 則是用來設定 subshell 的環境的, 之所以要有這個 .bashrc 是為免 subshell產生時, 又重覆將 /etc/profile 執行一次. 我們發現 .bashrc 中已預先會去執行 /etc/bashrc 的指令, 這表示, 或許root 會將產生 subshell 時的環境設好了,使用者只要沿用/etc/bashrc 的內容, 應該不會有任何問題.•.bash_logout 是使用者登出主機之前, 會去執行的設定檔, 如果使用者希望在他登出系統之後, 能幫他自動處理一些瑣事, 比如: 清除暫存檔, 清除螢幕等, 可以在這個檔案中加以設定.# 版權宣告: 1999 Copyright OLS3 All rights reserved.# 作者: OLS3 (臥龍小三)# 本講義僅供台南縣 87 學年度網路管理進階研習班上課之用.# 學員可保存一份自用, 供日後網管時參考備查.# 作者保有一切形式的著作權.# 欲作其它用途者, 需經作者授權同意.# 未經作者授權同意之前, 請勿轉載刊登.Shell當我們登入 Linux 之後, 第一個接觸到的, 便是 Shell. 我們必須對它有點初步的認識才行.一. Shell 簡介.Linux 系統分成三個重要的部份•核心•Shell•工具程式核心的部份相當低階, 操作者不易和它直接溝通, 因此, 必須要有一個友善的介面(interface), 使得操作時能更為方便, 這個介面便是 Shell.換言之, Shell 就是一個居於核心和操作者之間的一層使用者介面.那麼, 為何稱它為 Shell 呢? Shell 的本意是 "殼" 的意思呢!沒錯, 在核心的外面, 包覆著一層外殼, 用來負責接收使用者輸入的指令, 然後將指令解譯成核心能夠了解的方式, 傳給核心去執行, 再將結果傳回至預設的輸出周邊.如圖所示:例如: 鍵入ls -lshell 給你以下回應:擁檔有案檔種案檔案大小最近修改的類檔案權限數擁有人組別 (byte單位)日期及時間檔案名稱drwxr-xr-x 14 root root 1024 Jul 21 21:31 .drwxr-xr-x 17 root root 1024 Apr 11 12:01 ..drwxr-xr-x 8 82 82 1024 Feb 25 19:23 apache-rw-r--r-- 1 root root 1335460 Feb 25 17:45apache_1_3_4.tar.gzdrwxr-xr-x 6 root root 1024 Aug 31 1998 ftpdrwxr-xr-x 5 root root 1024 Aug 31 1998 httpddrwx------ 2 james james 1024 Apr 23 06:47 jamesdrwxr-xr-x 2 root root 12288 Aug 31 1998 lost+found drwxr-xr-x 2 msql nobody 1024 Dec 28 1998 msqldrwxr-xr-x 28 ols3 ols3 2048 Jul 19 21:38 ols3drwxr-xr-x 3 1022 nobody 1024 Jan 25 23:40 ols3cgi drwxrwxr-x 3 perl ols3 1024 Feb 2 07:11 perl-rw------- 1 root root 2097152 Jul 21 18:39 quota.group -rw------- 1 root root 1278656 Jul 21 18:39 er drwxrwxr-x 2 root nobody 1024 May 11 1998 sambadrwxr-xr-x 3 apache nobody 1024 Feb 25 16:58 tempdrwxrwxr-x 2 webadm nobody 1024 Mar 14 16:34 webadm其實不只是 Linux 有這一層 Shell, 其它作業系統也有.比如 DOS 的 , Windows 的 GUI(Graphical User Interface), Mac 的 GUI.Shell 按著表現的方式與讀取使用者輸入種類的不同, 可分為二大類: •Text base : 文字導向•Graph base: 圖型導向所謂 "讀取使用者輸入種類不同" 是指: 讀取自鍵盤, 或讀取自滑鼠, 其它serial input, 螢幕觸控等.這樣說來, Shell 好像只是命令直譯器罷了?!嗯, 這倒要按不同的 OS 所附給的 Shell 其功能和選擇性的自由度而定.以 DOS 的 而言, 它就是一個十足的命令直譯器, 除了一點點batch 檔的能力之外, 它的功能並不多. Win 平台的 GUI, 則是一個圖型式的命令直譯器, 介面十分友善. 不過, 這二種 OS, 不能讓你自由而簡單地選擇Shell.(以前 DOS 有 4dos 可選用)Linux 的 shell, 除了做為命令直譯器之外, 它也是一個不錯的程式語言, 是系統管理維護時的重要工具.由於 Unix 家族, 對 Shell 的處理, 採獨立自由開放的方式, 因此, Shell 的種類相當地多, 更可以讓人自由地更換(chsh).目前流行的 shell 有:•Bourne shell : sh• C shell : csh•Korn shell: ksh (商業軟體)•tcsh (free)•Bourne Again shell: bash (GNU)Linux 的標準 shell 是採用 bash. 它也是我們要學習的主要對象.二. Shell 的簡史第一個重要的 shell 是 Bourne shell (如此命名是為了紀念此 shell 的發明者 Steven Bourne), 1979 年第一個流行的 Unix 版本 7 發行時, 開始使用Bourne shell.Bourne shell 的主檔名為 sh, 因此, 日後人們便以 sh 為 Bourne shell 的主要識別名稱.雖然 Unix 上的 shell 有許多種, 但 Bourne shell 的地位至今仍然沒有改變. 許多 Unix 系統中仍然使用 sh 做為重要的管理工具. (它的工作從開機到關機, 幾乎無所不包)第一個廣為流行使用的 shell 變種是 C shell. C shell 主要附在 BSD 版的Unix 系統中. 它的作者是柏克萊大學的 Bill Joy. C shell 主要是因為其語法和 C 語言相類似, 因而得名. 這使得 Unix 系統的程式師, 在學習 C shell 時, 感到相當地方便容易.以上這二種形成 shell 的二大主流, 後來的變種 shell 大都攫取這二種shell 的優點.比如 Korn, tcsh 及 bash.Bash shell 是 GNU 計劃的重要工具軟體之一, 也是 GNU 作業系統中標準的shell.Bash 相容於 sh, 因此, 許多早期開發出來的 Bourne shell 都可以繼續在bash 中運作. 現在我們安裝好的 RedHat Linux 便是完全使用 Bash. (/bin/sh -> /bin/bash)Bash 在 1988 年誕生, 最初的作者是 Brian Fox, Chet Ramey 於 1989 加入, 現在官方正式的維護者是 Chet Ramey, 他的工作便是持續不斷地增強 bash 的功能.1995~1996 期間推出 bash 2.0 , 在這之前, 廣為使用的版本是 1.14.x, 它增加了許多新的功能, 以及更好的相容性.當然, Bash 是完全免費的, 它是 Open Source 的一員, 原始碼全部開放.二. Bash 的功能.Bash 具有以下功能:•相容於 Bourne shell (sh)•包含有 C shell 以及 Korn shell 中最好的功能.•具命令列編修的能力(您記得以前 DOS 中的 doskey 嗎?)•工作控制(job control)的能力, 可控制前景及背景程式•具 shell 程式設計的能力, 可讓您自訂shell及設計程式, 管理系統.三. 新版的 Bash 哪裡抓取?若欲抓取新版的 bash, 可至或其 mirror 站台.中研院 FTP 也是不錯的選擇. ftp://.tw或ftp://.tw三. 開始使用 Bash當你 login 進 Linux 主機時, 便開始和 bash 互動, 一直到你 logout 主機(下exit,logout,或按^D) 為止.Bash 的提示符號為 $ (代表一般身份使用者), 當您具有 root 權限時, 提示符號則變為 #.一旦出現提示符號時, 您便可以開始鍵入操作命令列(command line)了.命令可分為二大類:•bash 內建的指令•程式如果是 bash 內建的指令, 則由 bash shell 負責回應; 若是程式, 則 shell 會找出該程式, 然後將控制權交給核心, 由核心執行該程式, 執行完之後, 再將控制權交回給 shell.怎麼知道那些指令是 bash 內建的, 那些是程式呢? 通常用 "which 指令", 若沒有任何回應, 表示是內建的指令(除非該指令錯誤、不存在, 或該程式不在預設的搜尋路徑之內), 範例如下:[ols3@ols3 /ols3]$ which echo [沒有回應, 表示是內建的指令][ols3@ols3 /ols3]$ which ls/bin/ls四. 命令列的格式.命令列通常由好幾個字串組成, 中間用空白或 tab 鍵分開. 如下所示:command options arguments(或稱為 parameters)命令選項參數rm -rf /home/ols3除了空白和 tab 鍵之外, 每一部份, 我們稱之為 token, 比如上面的例子中, 便有三個 token: rm, -rf, /home/ols3.當鍵入此一命令列時, shell 首先將它分解成個別的 token, 然後判斷是內建的指令, 或是程式, 再按之前提過的方式去執行.怎麼知道一個命令或程式, 它有那些選項和參數呢? 通常 man 一下該指令, 就可以得到了. 例如:man rm另外, 多行指令也可以一下全部寫在同一命令列中, 只要中間用 ; 分開, 如:ls ; mkdir test ; clear五. 現行目錄和自家目錄.所謂現行目錄(current directory)是指: 你現在所處的位置, 又稱為工作目錄(working directory).欲知現行目錄為何? 可下 pwd 指令便知.所謂自家目錄(home directory)是指: 當初 root 為你建立帳號時, 所指定給你的一個私人專用的目錄, 也是你登入系統之後, 第一個進入的地方.欲知自家目錄, 可用下列方式:•cd (然後直接按 Enter)•cd ~ (~ 代表自家目錄)•cat /etc/passwd | grep 您的帳號相關的技巧•cd ./myway (進入目前目錄下的 myway 目錄中)•cd .. (回到上一層目錄)•cd - (回到先前的目錄)六. 萬用字元.如果命令列的參數中, 含有檔名, 那麼萬用字元(wildcards)可以帶來十分便利的操作. (不過若使用不當, 也是惡夢的開始)如果各位以前有過 DOS 的操作經驗, 應該還記得 * 及 ? 所代表的意義吧?!以下是 bash 中使用的萬用字元:七. 輸入和輸出與重新導向.當 Linux 系統完成開機之後, 預設上, 便開有三個檔案, 這三個檔案是做為輸入、輸出以及顯示錯誤之用的.我們稱之為:•標準輸入: 通常是鍵盤, 檔案代碼為 0•標準輸出: 通常是螢幕, 檔案代碼為 1•標準錯誤: 通常標準輸出相同(也就是螢幕), 檔案代碼為 2雖然系統已幫你設好了這三個檔案, 但我們仍然可以視需要, 適時地改變輸入,輸出,及錯誤這三者至不同的地方. 這種改變標準輸出入的動作, 我們稱之為"I/O 重新導向" (I/O Redirection).例如:ls -la > myfile 就是將查詢的結果重新導向至 myfile 中(本來是應該出現在螢幕上的)cat myfile 便可以看見 ls -la 的結果.cat < myfile > youfile 就是將 myfile 的內容拷貝給 youfile.> 代表將輸出轉向< 代表將輸入轉向另一個會將輸出入轉向的機制是 "管線" (Pipelines).所謂的管線就是將一個程式的輸出當成另一個程式的輸入.例如: cat /etc/passwd | grep ols3上面這段指令的意思是說: 把 /etc/passwd 檔的內容顯示結果(即輸出) 丟給grep 這個指令當作輸入值, 然後由 grep 從中找出包含關鍵字 ols3 的資料列.八. 前景與背景工作.Linux 是多人多工的作業系統, 這意謂 Linux 可以讓多人同時使用, 更可以同時執行許多程式.一般而言, 你所執行的指令會一直握著控制權, 一直到程式結束為止, 我們稱為這樣的執行工作是在前景工作(foreground jobs), 如果, 執行指令時, 你仍然可以再做其它的事情, 那我們就稱它是在背景工作.通常比較耗時間的工作, 我們會把它丟到背景去執行, 而這期間, 我們仍然可以和 shell 繼續溝通, 下達其它命令給 shell 去執行.例如: 我們想從中研院的 FTP 伺服器下載某一個目錄中所有的檔案, 但又不想等它執行完畢(因為這樣耗時間,也很無聊), 可以用以下的方式來達成:ncftp -R ftp://.tw/pub1/redhat/powertools &(註: 新版 ncftp 已無 -R 選項,請改用 ncftpget)其中 & 這個符號便是將命令列丟到背景去執行的指令.如果您想離線之後, 仍然令系統繼續傳檔, 可以在前面再加一個 nohup 的指令, 如下:nohup ncftp -R ftp://.tw/pub1/redhat/powertools & nohup 原意: 是 no hangup 即不掛斷之意. 在這裡指:離線不中斷指令八. 特殊字元及引號.有許多字元, 對 shell 來說, 是具有特殊意義的. 詳列於下:九. 常用控制組合鍵.我們在操作 Linux 時, 常會使用一些組合鍵來控制 shell 的活動. 詳列如下:十. 指令練習.Cygwin 環境對許多人而言,Windows 是他們比較習慣的平台,若要他們為了學習 shell 入門再去學習如何安裝一套作業系統,可能是不小的工程。
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.GB2312 export 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图形serverreboot #重新启动计算机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.tar gzip directory.tar #将覆盖原文件生成压缩的directory.tar.gzgunzip directory.tar.gz #覆盖原文件解压生成不压缩的directory.tar。
cygwin 编译c -回复
cygwin 编译c -回复Cygwin是一个在Windows操作系统下提供类Unix环境的开源项目。
它允许用户在Windows系统上编译和运行类Unix的应用程序,包括C语言程序。
本文将介绍如何使用Cygwin编译C程序,并提供一步一步的详细指导。
第一步:安装Cygwin要使用Cygwin编译C程序,首先需要安装Cygwin。
你可以在Cygwin 的官方网站上下载最新版本的安装程序(第二步:打开终端安装完成后,你会在开始菜单中找到Cygwin的快捷方式。
点击它打开Cygwin终端。
Cygwin终端类似于Linux系统中的终端,可以在其中执行命令。
第三步:创建C源文件在Cygwin终端中,你可以使用文本编辑器创建C源文件。
C源文件的扩展名通常是.c。
你可以使用vi、nano或其他喜欢的编辑器来创建和编辑文件。
例如,执行以下命令使用vi编辑器创建一个名为hello.c的文件:vi hello.c这会打开一个新的vi编辑窗口。
在其中输入以下C源代码:c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}在完成后,按下Esc键,然后输入`:wq`并按下回车键来保存并退出vi编辑器。
第四步:编译C程序在Cygwin终端中,使用以下命令来编译C程序:gcc -o hello hello.c这会将源文件hello.c编译为可执行文件hello。
如果没有出现任何错误,那么编译是成功的。
可以使用以下命令运行编译后的程序:./hello你将在终端中看到"Hello, World!"这个输出。
第五步:高级编译选项在上面的示例中,我们只是使用了最简单的编译命令进行编译。
然而,gcc 提供了许多其他选项,可以用来更精细地控制编译过程。
以下是一些常用的选项:- `-c`:只编译源文件,生成目标文件而不进行链接。
Windows下Cygwin和MinGW的基本命令
一.Cygwin的使用:1.C文件编译:(1).C文件的创建命令:① "notepad" + "文件名" + ".后缀名" 【例:"notepad example.c"】;② 当弹出一个询问窗口,选择“是”即可,然后即可输入源程序代码,点击保存后关闭窗口即可;③ 注:若要打开已有文件,同样使用此指令。
(2).C文件的编译命令:方法一:① "gcc" + "文件名" + ".后缀名" 【例:"gcc example.c"】;②注:此时生成的可执行文件名均为:a.exe 。
方法二(同C++的编译指令相同,从2中即可看出):①"g++" + "文件名" + ".后缀名" + "‐o" + "可执行文件名"【例:"g++ example.c ‐o example"】;② 注:此时生成的可执行文件名即为:example.exe 。
(3).C文件的执行命令:"./" + "可执行文件名(加上与不加上后缀名均可)"【例:"./a" 或 "./a.exe" 或 "./example" 或 "./example.exe"】。
2.C++文件的编译(与C文件类似,只是在编译时的指令略有差别,上已说明。
本部分,略之。
)3.Fortran文件的编译:(1).Fortran文件的创建命令:"notepad" + "文件名" + ".后缀名"注:Fortran分为两种格式(Fixed Format 与 Free Format),前者的后缀名为“.f”或“.for”,后者的后缀名为“.f90”。
cygdb 用法 -回复
cygdb 用法-回复cyydb是一个功能强大的调试器,它是Cygwin开发环境的一部分,用于调试C和C++程序。
它提供了一些强大的调试功能,如设置断点、单步执行、变量查看等。
在本文中,我将详细介绍cyydb的使用方法,并为您提供一步一步的指导。
第一步:安装Cygwin和cyydb首先,您需要安装Cygwin开发环境和cyydb调试器。
您可以从Cygwin官方网站(第二步:设置调试选项在使用cyydb调试程序之前,您需要设置一些调试选项。
打开您的源代码文件,然后在需要调试的地方添加断点。
断点是指在程序执行到指定行时中断程序执行,以便您可以检查程序的状态。
您可以通过在源代码中使用“break”关键字来设置断点。
例如,如果您想在第10行设置断点,您可以在该行之前输入“break 10”。
第三步:编译并生成可执行文件在使用cyydb调试程序之前,您需要先编译您的源代码,并生成可执行文件。
打开Cygwin终端,然后导航到您的源代码所在的目录。
输入以下命令来编译您的源代码:gcc -g -o program program.c此命令将编译您的源代码,并生成一个名为“program”的可执行文件。
请注意,我们在编译命令中添加了“-g”选项,这可以确保编译器在生成可执行文件时包含调试信息。
第四步:使用cyydb调试器调试程序在Cygwin终端中,输入以下命令来启动cyydb调试器:cyydb program这将启动cyydb调试器,并加载您的程序。
您会看到cyydb的提示符(通常是“(cyydb)”)。
现在,您可以使用各种调试命令来控制程序的执行。
下面是一些常用的调试命令:- “run”命令用于启动程序的执行。
您可以按下回车键来执行完整的程序,或使用“run N”命令来执行程序的前N行。
- “break”命令用于设置断点。
例如,“break 10”命令将在第10行设置断点。
- “continue”命令用于继续执行程序直到下一个断点或程序结束。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基本操作命令:--------------------------------------------------------------------------------------------------------------------------------------------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 of=floppy.fd #将软盘的内容复制成一个镜像,功能与旧石器时代常用的hd-copy相同dd if=/dev/zero of=root.ram bs=1024,count=1024 #生成一个大小为1M的块设备,可以把它当作硬盘的一个分区来用mkfs root.ram #将块设备格式化为ext2格式dd if=root.ram of=/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下,程序干了什么东东一目了然。