积累

—每天进步一点 再烦,也别忘微笑;再急,也要注意语气; 再苦,也别忘坚持;再累,也要爱自己。 人生四项基本原则:懂得选择,学会放弃,耐得住寂寞,经得起诱惑。 我不去想是否能够成功,既然选择了远方便只顾风雨兼程;我不去想能否赢得爱情,既然钟情于玫瑰就勇敢地吐露真诚;我不去想身后会不会袭来寒风冷雨,既然目标是地平线留给世界的只能是背影;我不去想未来是平坦还是泥泞,只要热爱生命/一切,都在意料之中。 ——“人生有三大诱惑,能够克服这三大诱惑的人,无论成就如何都可以尊称一声伟人。 ——第一诱惑,少年时贪玩,荒废了学业没打下扎实的基础。 ——第二诱惑,青年时贪情,在朋友和情人面前迷失了自我。 ——第三诱惑,中年时贪功,躺在功劳簿上骄傲自满的犯懒。”

C++博客 联系 聚合 管理
  18 Posts :: 1 Stories :: 0 Comments :: 0 Trackbacks

#

linux下常见命令格式
command [option] [source file(s)] [target file]
帮助
man whatis
linux文件的类型
Ordinary files 普通文件(-)
Directory files   目录文件(d)
Special files 特殊文件 (块or字符文件 )
链接文件(软链接“相当于windows下面的快捷方式”和硬链接)
具体介绍
1.查看文件信息(ls)
2.mkdir [options] 目录名
3.可以移动 (mv)、复制 (cp) 或删除 (rm) 文件和目录
4.查找find,grep

http://blog.csdn.net/freelongren/archive/2008/03/11/2167059.aspx
http://www.oracle.com/technology/global/cn/pub/articles/calish_file_commands.html
http://softbbs.pconline.com.cn/8930577.html

posted @ 2009-08-11 14:30 起点(每天进步一点) 阅读(118) | 评论 (0)编辑 收藏

具体的可以在linux环境下 用tar --help查看详细说明
格式:tar [option] file
           -c create  create a new archive
           -x extract extract files from an archive
           -t  list       list the contents of an archive
          其中c/x/t不能同时存在
          -z  --gzip, --gunzip, --ungzip   filter the archive through gzip
         -j, --bzip2                filter the archive through bzip2
         -f, --file=ARCHIVE         use archive file or device ARCHIVE
          -v, --verbose              verbosely list files processed
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
范例:

范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
[root@linux ~]#
tar -cvf /tmp/etc.tar /etc<==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc<==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc<==打包后,以 bzip2 压缩
# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
# 上述指令在执行的时候,会显示一个警告讯息:
# 『tar: Removing leading `/" from member names』那是关於绝对路径的特殊设定。

范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
# 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,
# 就得要加上 z 这个参数了!这很重要的!

范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
# 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,
# 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz ,
# 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc
# 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!

范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
# 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,
# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!

范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限!
[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc
# 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!

范例六:在 /home 当中,比 2005/06/01 新的文件才备份
[root@linux ~]# tar -N "2005/06/01" -zcvf home.tar.gz /home

范例七:我要备份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf - /etc | tar -xvf -
# 这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的!
# 要注意的地方在於输出档变成 - 而输入档也变成 - ,又有一个 | 存在~
# 这分别代表 standard output, standard input 与管线命令啦!
# 这部分我们会在 Bash shell 时,再次提到这个指令跟大家再解释啰!


http://www.21andy.com/blog/20060820/389.html
posted @ 2009-08-11 10:39 起点(每天进步一点) 阅读(34622) | 评论 (0)编辑 收藏

chown 修改文件和文件夹的用户和用户组属性
1。要修改文件hh.c的所有者.修改为sakia的这个用户所有
chown sakia hh.c
这样就把hh.c的用户访问权限应用到sakia作为所有者
2。将目录 /tmp/sco 这个目录的所有者和组改为sakia和组net
chown -R sakia:net /tmp/sco

chmod 修改文件和文件夹读写执行属性
1。把hh.c文件修改为可写可读可执行
chmod 777 hh.c
要修改某目录下所有的文件属性为可写可读可执行
chmod 777 *.*
把文件夹名称与后缀名用*来代替就可以了。
同理若是要修改所有htm文件的属性
chmod 777 *.htm
2。把目录 /tmp/sco修改为可写可读可执行
chmod 777 /tmp/sco
要修改某目录下所有的文件夹属性为可写可读可执行
chmod 777 *
把文件夹名称用*来代替就可以了
要修改/tmp/sco下所有的文件和文件夹及其子文件夹属性为可写可读可执行
chmod -R 777 /tmp/sco
可写 w=4
可读 r=2
可执行 x=1
777就是拥有全权限。根据需要可以自由组合用户和组的权限
本文来自: 脚本之家(www.jb51.net) 详细出处参考:http://www.jb51.net/article/6935.htm

posted @ 2009-08-06 15:59 起点(每天进步一点) 阅读(372) | 评论 (0)编辑 收藏

linux chown 命令

指令名称   :   chown    
  使用权限   :   root    
   
  使用方式   :   chown   [-cfhvR]   [--help]   [--version]   user[:group]   file...
说明   :   利用   chown   可以将档案的拥有者加以改变。这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。  

posted @ 2009-08-06 15:57 起点(每天进步一点) 阅读(746) | 评论 (0)编辑 收藏

使用指令:chmod
使用权限:所有使用者
使用格式: chmod [-cfvR] [--help] [--version] mode file...
参数 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
范例 :将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt 
将档案 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt 
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt 
将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py 
将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r * 


此外chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
C3(1)+C3(2)+C3(3)=3+3+1=7
即:r,w,x,rw,rx,wx,rwx
       4,2,1,6,5,3,7
范例:
chmod a=rwx file 

chmod 777 file 
效果相同
chmod ug=rwx,o=x file 

chmod 771 file 
效果相同
若用chmod 4755 filename可使此程序具有root的权限

posted @ 2009-08-06 15:42 起点(每天进步一点) 阅读(963) | 评论 (0)编辑 收藏

sshd 为加密登陆,所以有安全方面的要求,权限是不可能对所有的用户开放.所以g和o用户权限为r
Starting sshd:/var/empty/sshd must be owned by root and not group or world-writable.
                                                            [FAILED]
这个是权限的问题
可采取以下两步解决
chown   -R   root:root    /var/empty/sshd
chmod 744 /var/empty/sshd
service sshd restart
就可以解决上述的问题
posted @ 2009-08-06 14:44 起点(每天进步一点) 阅读(1426) | 评论 (0)编辑 收藏

 

AppWizard

1.定义:
         在可视化开发环境下,生成一个应用程序要做的工作主要包括编写源代码、添加资源和设置编译方式。向导实质上是一个源代码生成器,利用应用程序向导可以快速创建各种风格的应用程序框架,自动生成程序通用的源代码,同时自动生成程序框架所需要的支持文件。
我们可以为Visual C++ MFC编程作一个形象的总结,MFC应用程序框架使我们的程序设计工作犹如做填充题,Developer Studio中的集成工具使我们的程序设计工作犹如做选择题,程序员犹如软件集成装配车间里的技术工人
2.对文件的理解:
1.文件类型
  Visual C++中通用的文件类型

后缀       类型              说明

dsw 工作区文件 将项目的详细情况组合到工作区中
dsp 项目文件     存储项目的详细情况并替代mak文件
h     C++头文件   存储类的定义代码
cpp C++源文件   存储类的成员函数的实现代码
rc    资源脚本文件 存储菜单、工具栏和对话框等资源
rc2 资源文件      用来将资源包含到项目中
ico   图标文件      存储应用程序图标
bmp 位图文件      存储位图
clw 类向导文件  存储ClassWizard类向导使用的类信息

PS:黑体是不经常用到的
2.文件中的类
   1). 定义: MFC类库将所有图形用户界面的元素如窗口、菜单和按钮等都以类的形式进行了封装,编程时需要利用C++类的继承性从MFC类中派生出自己的类,实现标准Windows应用程序的功能
   2). 类的命名:  应用程序框架中类(框架窗口类例外)的命名规则一般遵照如下要求:

  Class Name = C + ProjectName + ClassType  ( CFrameWnd CMysdiDoc CMysdiView等等)
  3).常见的类中的成员变量和成员方法:
       a.  框架窗口类的头文件MainFrm.h,该头文件用于定义框架窗口类CMainFrame。不同的SDI应用程序,其框架窗口类名和文件名是统一的。
CMainFrame类是MFCCFrameWnd类的派生类,它主要负责创建标题栏、菜单栏、工具栏和状态栏。CMainFrame类中声明了框架窗口中的工具栏m_wndToolBar、状态栏m_wndStatusBar两个成员变量和四个成员函数。
       b.文档类的头文件MysdiDoc.h,该头文件用于定义文档类CMysdiDocCMysdiDoc类是MFCCDocument类的派生类,它主要负责应用程序数据的保存和装载,实现文档的序列化功能
   c. 视图类的头文件MysdiView.h,该头文件用于定义视图类CMysdiView。视图类用于处理客户区窗口,它是框架窗口中的一个子窗口。CMysdiView类是MFCCView类的派生类,它主要负责客户区文档数据的显示,以及如何进行人机交互。
   d.应用程序类的头文件Mysdi.h,该头文件用于定义应用程序类CMysdiAppCMysdiApp类是MFCCWinApp类的派生类,它主要负责完成应用程序的初始化、程序的启动和程序运行结束时的清理工作

posted @ 2009-02-11 16:52 起点(每天进步一点) 阅读(1027) | 评论 (0)编辑 收藏

1.树形控件的定义:
树形控件是一种可以分级显示项目列表的窗口,其所含项目以相互关联的方式显示在控件中,通过点击位于某个层次的项目节点可以展开下一层次中从属于该节点的所有项目。树形控件非常适合于管理那些层次较多且相互间隶属关系较为清晰的项目元素。在MFC中,由CTreeCtrl类提供了对树形控件的功能支持。
代码中控件的定义:
BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些树形控件的专用风格:

TVS_HASLINES 在父/子结点之间绘制连线
TVS_LINESATROOT 在根/子结点之间绘制连线
TVS_HASBUTTONS 在每一个结点前添加一个按钮,用于表示当前结点是否已被展开
TVS_EDITLABELS 结点的显示字符可以被编辑
TVS_SHOWSELALWAYS 在失去焦点时也显示当前选中的结点
TVS_DISABLEDRAGDROP 不允许Drag/Drop
TVS_NOTOOLTIPS 不使用ToolTip显示结点的显示字符

数据结构:树形控件的数据结构 
成员方法: 

SetImageList()设置与树视控件关联的图像列表
 GetCount()返回控件中项目的数量
GetSelectedItem()返回当前选中的项目
GetNextItem()获得满足某种条件的项目
GetChildItem()GetParentItem()返回一个项目的子项目或父项目
GetNextSiblingItem()GetPrevSiblingItem()返回下一个或上一个兄弟项
GetRootItem()返回根项目
GetItemText()SetItemText()用于获取或设置项目的文本串
GetItemData()SetItemData()获得或设置项目的关联数据

InsertItem()插入一个项目

HTREEITEM InsertItem( LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST );可以添加一个结点,pszItem为显示的字符,hParent代表父结点的句柄,当前添加的结点会排在hInsertAfter表示的结点的后面,返回值为当前创建的结点的句柄。

通过InsertItem()函数可以为其添加数据项,返回的HTREEITEM类型的句柄唯一标识了此添加的项目。该句柄应当妥善保管,只有通过该句柄才能为此项目继续添加子项目。
DeleteItem()删除一个项目
DeleteAllItem()删除所有项
Expand()展开或者折叠项目

2.使用步骤:
 

开花->结果

 过程:

1.       通过获得树的风格,同时定义新的树的风格,设置树的新的风格

2.       定义HTreeItem 数据

HTREEITEM InsertItem( LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST );可以添加一个结点,pszItem为显示的字符,hParent代表父结点的句柄,当前添加的结点会排在hInsertAfter表示的结点的后面,返回值为当前创建的结点的句柄。

HTREEITEM hitem,hsubitem;
hitem = m_CTreeCtrl.InsertItem("root",TVI_ROOT)
hsubitem = m_CTreeCtrl.InsertItem("test",hitem);
hitem = m_CTreeCtrl.InsertItem("parent",TVI_ROOT,hitem); 
hitem = m_CTreeCtrl.InsertItem("parent02",TVI_ROOT);
hsubitem = m_CTreeCtrl.InsertItem("chid01",hitem);
hsubitem = m_CTreeCtrl.InsertItem("chid02",hitem,hsubitem);

 

  把果实做好,再嫁接到树枝上

      HTREEITEM hRoot,hCur;//树控制项目句柄
      TV_INSERTSTRUCT TCItem;//
插入数据项数据结构
    
TCItem.hParent=TVI_ROOT;//增加根项
      TCItem.hInsertAfter=TVI_LAST;//
在最后项之后
      TCItem.item.mask=TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDI          MAGE;//
设屏蔽
      TCItem.item.pszText="
数据选择";
      TCItem.item.lParam=0;//
序号
      TCItem.item.iImage=0;//
正常图标
      TCItem.item.iSelectedImage=1;//
选中时图标
      hRoot=m_TreeCtrl.InsertItem(&TCItem);//
返回根项句柄

3.树形控件的消息映射:
作为同用户的接口,树形控件将在不同的动作下发出各种通知消息,可以在控件窗口的消息映射中添加ON_NOTIFY_REFLECT宏或是在控件所在父窗口的消息映射中添加ON_NOTIFY宏来为每一个通知消息指定处理函数。

  树形控件中的任何一个项目均可以拥有一个子项目列表,此列表可以随时处于展开或缩起状态。当处于展开状态时,对应的子项目将以缩进方式显示在父项目下;当处于缩起状态时,子项目将不显示。当用户在双击父项目时,相应的子项目列表将自动在展开与缩起状态切换。在子项目列表状态发生改变时和状态改变完成后树形控件将分别发出TVN_ITEMEXPANDING和 TVN_ITEMEXPANDED通知消息。关于其它的通知消息及其具体含义可参见下表:

通知消息 消息说明
TVN_BEGINDRAG 开始拖拽操作
TVN_BEGINLABELEDIT 开始编辑标签
TVN_BEGINRDRAG 开始鼠标右键拖拽操作
TVN_DELETEITEM 删除一个指定的项目
TVN_ENDLABELEDIT 结束编辑标签
TVN_GETDISPINFO 获取一个项目的显示信息
TVN_ITEMEXPANDED 子项目列表被展开或收起
TVN_ITEMEXPANDING 子项目列表正将展开或收起
TVN_KEYDOWN 键盘事件
TVN_SELCHANGED 项目的选择发生改变
TVN_SELCHANGING 项目的选择将要发生改变
TVN_SETDISPINFO 通知更新一个项目的信息

4.举例:

控件使用举例

只是做了个草稿是第一次做,新手。欢迎高手拍砖。











 

posted @ 2009-02-09 15:34 起点(每天进步一点) 阅读(5248) | 评论 (0)编辑 收藏

仅列出标题
共2页: 1 2