nginx+tomcat实现同一台服务器上的不同站点使用不同的SSL证书开启https服务

by Administrator 2018.4.14 12:19
非通配符证书只能支持一个域名,当多个子域名的应用部署同一服务器时,访问https都默认用到了443,这将造成 同服的子域名即使有多个子域名证书,也只能有一个域名能配置https,这时就需设置tomcat 默认的https 转发端口了。

nginx侧的配置无异,监听443,然后转发到tomcat的http就可以了。tomcat发现是https就跳转到你设置的转发端口,如此,就可以一服部署多个使用免费非通配符证书的多域名https服务了。 [更多...]

Tags:

Win2003 Linux

用免费的阿里云证书 为Nginx+Tomcat 实现Http SSL服务

by Administrator 2018.4.13 14:48
最近玩了下小程序 ,发现小程序 里面的 request 和 业务域名都要求是https,已经不支持http了。

要上https 先得有证书呀,收费的 自己选择,略过不表。

阿里云里面有免费的证书,一年期,拿来实验测试 还是挺不错的 [更多...]

Tags:

Win2003 Linux

利用GoAgent突破GFW

by Administrator 2012.7.7 05:11
GoAgent是一个代理软件,部署和使用方法非常简单,几分钟即可搞定。步骤:1.Google账号登录,注册App Engine2.点击Create Application3.第一项Country and Carrier默认即可,Mobile Number填入你的手机号码(格式:+86 15999999999)接收到验证短信后把当中7位数字填入并点击Send4.转入“My Applications”页面,填两个空(应用ID和应用名称,ID如:quanerorg,名称随意)底下打勾,点击“Create an Application”新建应用,提示:Application Registered Successfully则表示创建成功5.下载GoAgent6.解压后双击server\uploader.bat,输入你的应用ID和你的Google帐号及密码(输入应用ID回车,再输入Google帐号回车,再输入密码回车,注意,输入密码时不会显示),完后开始自动上传到服务端,上传完毕会自动关闭7.把local\proxy.ini中的appid改成你申请到的应用ID,如:appid = quaner.appspot.com,保存关闭8.火狐浏览器安装Autoproxy扩展,用于是使用或切换代理服务器9.点击扩展‘福’字下拉小箭头,首选项-代理服务器-编辑代理服务器,新建一个名称为‘goagent’主机为‘127.0.0.1’端口为‘8087’的代理服务器,确定10.点击扩展‘福’字下拉小箭头,默认代理选择刚才新建的‘goagent’11.点击扩展‘福’字,使其变成绿色(全局代理)12.运行local文件夹中的goagent.exe到此结束,试试?Googl+

Tags:

Win2003 Linux

SSH基础命令二

by Administrator 2012.6.10 10:04
1. 基础命令A.显示文件源代码cat ooxx.php没错, cat 是一个常用查看源代码的命令,优点是很方便很可爱,缺点是会直接刷刷刷显示所有源代码,文件太长只能看到屁股后面的那坨代码B. 查看当前目录pwdpwd不是password,而是查看当前目录,会输出完整的路径C. 更改目录 Change Directory (cd)cd /path/to/directory/有DOS基础的同学应该会淫荡的一笑吧,路径可以用相对也可以用绝对D. 列出文件/子目录 Listing Files/SubFolders(ls)ls默认只显示文件名,你也可以带个参数玩,比如ls -alh带 -alh 输出会很爽… 自己试试, 大猫喜欢把 ls -alh 颜射为 ll-a显示全部文件-l比较详细的列表-h人类能看懂的比如把1024显示为1KE.帮助命令 --help任何命令后面带一个 –help 都会显示一个简洁版的帮助,记不住参数就查一下F.获取远程文件 wgetwget http://ooxx.me/me.jpg就会获取远程的me.jpg文件到当前目录,一般搬家的时候用这个让服务器去获取另一个服务器的数据,速度会快的完/p>E. 移动文件/重命名 (mv)mv ooxx.me miao.in重命名ooxx.me为miao.in如果加路径,就是移动到某个路径并重命名为miao.in和DOS不一样,移动文件和重命名换个思路,其实是一个套路,不是么?F. 创建空文件 (touch)touch miao.in这个很色情的命令,就是创建一个 miao.in 的空文件如果touch了已有的文件,则会更新那个文件的日期为当前如果touch次数多了,会high3. 文件权限A. 更改文件权限 (chmod)chmod 777 miao.in默认文件为644,文件夹为755TIP:1st digit=Owner; 2nd=Group; 3rd=Other(-rwxrwxwrx = 777, -rwxr-xr-x = 755, -rw-r–r– = 644, etc.)7 = Read + Write + Execute6 = Read + Write5 = Read + Execute4 = Read3 = Write + Execute2 = Write1 = Execute0 = All access denied4. 高级命令A. 查找. 常用命令,让我们来找一下10MB以上的文件吧find . -type f -size +10000k -exec ls -lh {} \; | awk '{ print $5 ": " $9 }' |sort -nB. Grep, 手里握着大西瓜 ls -alh | grep ooxx只显示含有ooxx的那几列,当然你在cat的时候配合这个用找文件里的某些字段很方便C. 分页 (Less/More)less miao.php如果源代码很长,则会分页显示,上下箭头滚动,输入q退出tail -n 1000 /var/log/httpd/error_log | more可以用 | more 参数来滚动显示页面或行5. MYSQL 数据库导出数据库mysqldump -u 数据库用户名 -p 数据库名 > db_ooxx.sql导出数据库为db_ooxx.sql导入数据库mysql -u 数据库用户名 -p 数据库名 < db_ooxx.sql --default-character-set=utf8 把当前目录的 db_ooxx.sql 以 utf8 编码导入,当然你原来是gbk就改成gbk中文blog经常遇到这个情况,一不小心就 ??? 满脑子都问号了6. VI留意在vi里敲的每一个键… …

Tags:

Win2003 Linux

XP启动加速技巧

by Administrator 2012.6.5 14:50
現在网上的XP启动加速文章多如牛毛,而真正有用的并不多,甚至有一些都是误导读者。我本身也是个 XP用户,对于XP的启动加速也深有感触。看过无数的优化文章,安装过N次的XP,走过很多弯路,不过最终还是总结出了真正可以优化XP启动的经验。 我的电脑配置不是很好,安装XP或者2003后启动要很长时间,滚动条要转10多圈,经过优化后启动时间明显加快,滚动条只需转1圈多就迫不及待地打开了系统。   下面就详细告诉大家怎样切实有效地加速启动。 首先,打开“系统属性”(在我的电脑上点右键-属性,或者在控制面板里打开“系统”,快捷键win+pause break)点“高级”选项卡,在“启动和故障恢复”区里打开“设置”,去掉“系统启动”区里的两个√,如果是多系统的用户保留“显示操作系统列表的时间”的√。  点“编辑”确定启动项的附加属性为 /fastdetect而不要改为nodetect,先不要加 /noguiboot属性,因为后面还要用到guiboot。     接下来这一步很关键,在“系统属性”里打开“硬件”选项卡,打开“设备管理器”,展开“IDE ATA/ ATAPI 控制器”,双击打开“次要IDE通道”属性,点“高级设置”选项卡,把设备1和2的传送模式改为DMA若可用,设备类型如果可以选择“无”就选为“无”,点确定完成设置,同样的方法设置“主要IDE通道”。 打开注册表(开始-运行-regedit),单击“我的电脑”打开“编辑”菜单的“查找”,输入AutoEndTasks,点“查找下一个”。双击打开找到的结果修改“数值数据”为1。然后在AutoEndTasks的下面可以找到HungAppTimeout,WaitToKillAppTimeout,把“数值数据”设为2000或者更小,在这里顺便也把菜单延迟的时间修改一下,在AutoEndTasks的下面找到MenuShowDelay,数值是以毫秒为单位,如果希望去掉菜单延迟就设为0。     修改后点“编辑”菜单,打开“查找下一个”(快捷键F3),把找到的结果都安装上一步的方法修改。 现在启动和关机的加速都已经完成,重启一下电脑感受一下极速启动的感觉吧,滚动条是不是只转一二圈就OK了。     享受了极速重启的乐趣后我们再进一步加速一下启动的速度,打开“系统属性”- “高级”-“启动和故障恢复”设置,打开“系统启动”区的编辑,在fastdetect的后面加上 /noguiboot,这样在启动的时候就不会再显示滚动条。    如果你非常喜欢这个滚动条的显示这一步就不用做了。     1.察看本地共享资源 运行CMD输入net share,如果看到有异常的共享,那么应该关闭。但是有时你关闭共享下次开机的时候又出现了,那么你应该考虑一下,你的机器是否已经被黑客所控制了,或者中了病毒。     2.删除共享(每次输入一个) net share admin$/delete   net share c$/delete   net share d$/delete(如果有e,f,……可以继续删除)     3.删除ipc$空连接 在运行内输入regedit,在注册表中找到 HKEY-LOCAL_MACHINESYSTEMCurrentControSetControlLSA 项里数值名称RestrictAnonymous的数值数据由0改为1。     4.关闭自己的139端口,ipc和RPC漏洞存在于此。 关闭139端口的方法是在“网络和拨号连接”中“本地连接”中选取“Internet协议(TCP/IP)”属性,进入“高级TCP/IP设置”“WinS设置”里面有一项“禁用TCP/IP的NETBIOS”,打勾就关闭了139端口。     5.防止rpc漏洞 打开管理工具——服务——找到RPC(Remote Procedure Call (RPC) Locator)服务——将故障恢复中的第一次失败,第二次失败,后续失败,都设置为不操作。 XP SP2和2000 pro sp4,均不存在该漏洞。     6.445端口的关闭 修改注册表,添加一个键值 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NetBT\Parameters在右面的窗口建立一个SMBDeviceEnabled 为REG_DWORD类型键值为 0这样就ok了     7.3389的关闭 XP:我的电脑上点右键选属性-->远程,将里面的远程协助和远程桌面两个选项框里的勾去掉。 Win2000server 开始-->程序-->管理工具-->服务里找到Terminal Services服务项,选中属性选项将启动类型改成手动,并停止该服务。(该方法在XP同样适用) 使用2000 pro的朋友注意,网络上有很多文章说在Win2000pro 开始-->设置-->控制面板-->管理工具-->服务里找到Terminal Services服务项,选中属性选项将启动类型改成手动,并停止该服务,可以关闭3389,其实在2000pro 中根本不存在Terminal Services。     8.4899的防范 网络上有许多关于3389和4899的入侵方法。4899其实是一个远程控制软件所开启的服务端端口,由于这些控制软件功能强大,所以经常被黑客用来控制自己的肉鸡,而且这类软件一般不会被杀毒软件查杀,比后门还要安全。 4899不象3389那样,是系统自带的服务。需要自己安装,而且需要将服务端上传到入侵的电脑并运行服务,才能达到控制的目的。 所以只要你的电脑做了基本的安全配置,黑客是很难通过4899来控制你的。     9、禁用服务 打开控制面板,进入管理工具——服务,    关闭以下服务   1.Alerter[通知选定的用户和计算机管理警报]     2.ClipBook[启用“剪贴簿查看器”储存信息并与远程计算机共享]     3.Distributed File System[将分散的文件共享合并成一个逻辑名称,共享出去,关闭后远程计算机无法访问共享     4.Distributed Link Tracking Server[适用局域网分布式链接? ?踪客户端服务]    5.Human Interface Device Access[启用对人体学接口设备(HID)的通用输入访问]    6.IMAPI CD-Burning COM Service[管理 CD 录制]    7.Indexing Service[提供本地或远程计算机上文件的索引内容和属性,泄露信息]   8.Kerberos Key Distribution Center[授权协议登录网络]    9.License Logging[监视IIS和SQL如果你没安装IIS和SQL的话就停止]    10.Messenger[警报]    11.NetMeeting Remote Desktop Sharing[netmeeting公司留下的客户信息收集]    12.Network DDE[为在同一台计算机或不同计算机上运行的程序提供动态数据交换]    13.Network DDE DSDM[管理动态数据交换 (DDE) 网络共享]    14.Print Spooler[打印机服务,没有打印机就禁止吧]    15.Remote Desktop Help& nbsp;Session Manager[管理并控制远程协助]    16.Remote Registry[使远程计算机用户修改本地注册表]    17.Routing and Remote Access[在局域网和广域往提供路由服务.黑客理由路由服务刺探注册信息]    18.Server[支持此计算机通过网络的文件、打印、和命名管道共享]    19.Special Administration Console Helper[允许管理员使用紧急管理服务远程访问命令行提示符]    20.TCP/IPNetBIOS Helper[提供 TCP/IP 服务上的 NetBIOS 和网络上客户端的 NetBIOS 名称解析的支持而使用户能够共享文件、打印和登录到网络]    21.Telnet[允许远程用户登录到此计算机并运行程序]    22.Terminal Services[允许用户以交互方式连接到远程计算机]    23.Window s Image Acquisition (WIA)[照相服务,应用与数码摄象机] 如果发现机器开启了一些很奇怪的服务,如r_server这样的服务,必须马上停止该服务,因为这完全有可能是黑客使用控制程序的服务端。    10、账号密码的安全原则 首先禁用guest帐号,将系统内建的administrator帐号改名~~(改的越复杂越好,最好改成中文的),而且要设置一个密码,最好是8位以上字母数字符号组合。 (让那些该死的黑客慢慢猜去吧~) 如果你使用的是其他帐号,最好不要将其加进administrators,如果加入administrators组,一定也要设置一个足够安全的密码,同上如果你设置adminstrator的密码时,最好在安全模式下设置,因为经我研究发现,在系统中拥有最高权限的帐号,不是正常登陆下的adminitrator帐号,因为即使有了这个帐号,同样可以登陆安全模式,将sam文件删除,从而更改系统的administrator的密码!而在安全模式下设置的administrator则不会出现这种情况,因为不知道这个administrator密码是无法进入安全模式。    权限达到最大这个是密码策略:用户可以根据自己的习惯设置密码,下面是我建议的设置(关于密码安全设置,我上面已经讲了,这里不再罗嗦了。      打开管理工具.本地安全设置.密码策略    1.密码必须符合复杂要求性.启用       2.密码最小值.我设置的是8      3.密码最长使用期限.我是默认设置42天      4.密码最短使用期限0天      5.强制密码历史 记住0个密码      6.用可还原的加密来存储密码 禁用    11、本地策略: 这个很重要,可以帮助我们发现那些心存叵测的人的一举一动,还可以帮助我们将来追查黑客。 (虽然一般黑客都会在走时会清除他在你电脑中留下的痕迹,不过也有一些不小心的)     打开管理工具 找到本地安全设置.本地策略.审核策略     1.审核策略更改 成功失败      2.审核登陆事件 成功失败     3.审核对象访问 失败     4.审核跟踪过程 无审核     5.审核目录服务访问 失败     6.审核特权使用 失败     7.审核系统事件 成功失败     8.审核帐户登陆时间 成功失败     9.审核帐户管理 成功失败         然后再到管理工具找到事件查看器应用程序:右键>属性>设置日志大小上限,我设置了50mb,选择不覆盖事件安全性:右键>属性>设置日志大小上限,我也是设置了50mb,选择不覆盖事件系统:右键>属性>设置日志大小上限,我都是设置了50mb,选择不覆盖事件     12、本地安全策略: 打开管理工具找到本地安全设置.本地策略.安全选项     1.交互式登陆.不需要按 Ctrl+Alt+Del 启用 [根据个人需要,? 但是我个人是不需要直接输入密码登陆的]   2.网络访问.不允许SAM帐户的匿名枚举 启用  3.网络访问.可匿名的共享 将后面的值删除   4.网络访问.可匿名的命名管道 将后面的值删除   5.网络访问.可远程访问的注册表路径 将后面的值删除   6.网络访问.可远程访问的注册表的子路径 将后面的值删除   7.网络访问.限制匿名访问命名管道和共享   8.帐户.(前面已经详细讲过)     13、用户权限分配策略: 打开管理工具找到本地安全设置.本地策略.用户权限分配      1.从网络访问计算机 里面一般默认有5个用户,除Admin外我们删除4个,当然,等下我们还得建一个属于自己的ID   2.从远程系统强制关机,Admin帐户也删除,一个都不留    3.拒绝从网络访问这台计算机 将ID删除   4.从网络访问此计算机,Admin也可删除,如果你不使用类似3389服务   5.通过远端强制关机。删掉     14、终端服务配置 打开管理工具 终端服务配置     1.打开后,点连接,右键,属性,远程控制,点不允许远程控制    2.常规,加密级别,高,在使用标准Windows验证上点√!    3.网卡,将最多连接数上设置为0    4.高级,将里面的权限也删除.[我没设置]再点服务器设置,在Active Desktop上,设置禁用,且限制每个使用一个会话     15、用户和组策略打开管理工具计算机管理.本地用户和组.用户; 删除Support_388945a0用户等等 只留下你更改好名字的adminisrator权限计算机管理.本地用户和组.组 组.我们就不分组了,每必要把     16、自己动手DIY在本地策略的安全选项       1)当登陆时间用完时自动注销用户(本地) 防止黑客密码渗透.     2)登陆屏幕上不显示上次登陆名(远程)如果开放3389服务,别人登陆时,就不会残留有你登陆的用户名.让他去猜你的用户名去吧.     3)对匿名连接的额外限制      4)禁止按 alt+crtl +del(没必要)      5)允许在未登陆前关机[防止远程关机/启动、强制关机/启动]      6)只有本地登陆用户才能访问cd-rom      7)只有本地登陆用户才能访问软驱      8)取消关机原因的提示       A、打开控制面板窗口,双击“电源选项”图标,在随后出现的电源属性窗口中,进入到“高级”标签页面;       B、在该页面的“电源按钮”设置项处,将“在按下计算机电源按钮时”设置为“关机”,单击“确定”按钮,来退出设置框;       C、以后需要关机时,可以直接按下电源按键,就能直接关闭计算机了。当然,我们也能启用休眠功能键,来实现快速关机和开机;      D、要是系统中没有启用休眠模式的话,可以在控制面板窗口中,打开电源选项,进入到休眠标签页面,并在其中将“启用休眠”选项选中就可以了。      9)禁止关机事件跟踪   开始“Start ->”运行“ Run ->输入”gpedit.msc “,在出现的窗口的左边部分,选择 ”计算机配置“(Computer Configuration )-> ”管理模板“(Administrative Templates)-> ”系统“(System),在右边窗口双击“Shutdown Event Tracker” 在出现的对话框中选择“禁止”(Disabled),点击然后“确定”(OK)保存后退出这样,你将看到类似于Windows 2000的关机窗口     17、常见端口的介绍   TCP   21   FTP   22   SSH   23   TELNET   25   TCP SMTP   53   TCP DNS   80   HTTP   135  epmap   138  [冲击波]   139  smb   445   1025 DCE/1ff70682-0a51-30e8-076d-740be8cee98b   1026 DCE/12345778-1234-abcd-ef00-0123456789ac   1433 TCP SQL SERVER   5631 TCP PCANYWHERE   5632 UDP PCANYWHERE   3389   Terminal Services   4444[冲击波]   UDP   67[冲击波]   137 netbios-ns   161 An SNMP Agent is running/ Default community names of the SNMP Agent 关于UDP一般只有腾讯QQ会打开4000或者是8000端口或者8080,那么,我们只运 行本机使用4000这几个端口就行了     18、另外介绍一下如何查看本机打开的端口和tcp\ip端口的过滤    开始--运行--cmd 输入命令netstat -a 会看到例如(这是我的机器开放的端口) Proto Local Address    Foreign Address    State TCP  yf001:epmap     yf001:0       LISTE TCP  yf001:1025(端口号)      yf001:0       LISTE TCP  (用户名)yf001:1035      yf001:0       LISTE TCP  yf001:netbios-ssn   yf001:0       LISTE UDP  yf001:1129      *:* UDP  yf001:1183      *:* UDP  yf001:1396      *:* UDP  yf001:1464      *:* UDP  yf001:1466      *:* UDP  yf001:4000      *:* UDP  yf001:4002      *:* UDP  yf001:6000      *:* UDP  yf001:6001      *:* UDP  yf001:6002      *:* UDP  yf001:6003      *:* UDP  yf001:6004      *:* UDP  yf001:6005      *:* UDP  yf001:6006      *:* UDP  yf001:6007      *:* UDP  yf001:1030      *:* UDP  yf001:1048      *:* UDP  yf001:1144      *:* UDP  yf001:1226      *:* UDP  yf001:1390      *:* UDP  yf001:netbios-ns   *:* UDP  yf001:netbios-dgm   *:* UDP  yf001:isakmp       现在讲讲基于Windows的tcp/ip的过滤 控制面板——网络和拨号连接——本地连接——INTERNET协议(tcp/ip)--属性--高级---选项-tcp/ip筛选--属性!! 然后添加需要的tcp 和UDP端口就可以了~如果对端口不是很了解的话,不要轻易进行过滤,不然可能会导致一些程序无法使用。    19、胡言乱语    (1)、TT浏览器 选择用另外一款浏览器浏览网站.我推荐用TT,使用TT是有道理的。   TT可以识别网页中的脚本,JAVA程序,可以很好的抵御一些恶意的脚本等等,而且TT即使被感染,你删除掉又重新安装一个就是。 MYIE浏览器   是一款非常出色的浏览器,篇幅有险,不做具体介绍了。(建议使用)    (2)、移 动“我的文档” 进入资源管理器,右击“我的文档”,选择“属性”,在“目标文件夹”选项卡中点“移 动”按钮,选择目标盘后按“确定”即可。在Windows 2003 中“我的文档”已难觅芳踪,桌面、开始等处都看不到了,建议经常使用的朋友做个快捷方式放到桌面上。    (3)、移 动IE临时文件 进入“开始→控制面板→Internet 选项”,在“常规”选项“Internet 文件”栏中点“设置”按钮,在弹出窗体中点“移 动文件夹”按钮,选择目标文件夹后,点“确定”,在弹出对话框中选择“是”,系统会自动重新登录。点本地连接>高级>安全日志,把日志的目录更改专门分配日志的目录,不建议是C:再重新分配日志存储值的大小,我是设置了10000KB。    20、避免被恶意代码木马等病毒攻击 以上主要讲怎样防止黑客的恶意攻击,下面讲避免机器被恶意代码,木马之类的病毒攻击。 其实方法很简单,所以放在最后讲。 我们只需要在系统中安装杀毒软件 如 卡巴基斯,瑞星,金山独霸等 还有防止木马的木马克星和金山的反木马软件(可选) 因为防火墙具有数据过滤功能,可以有效的过滤掉恶意代码,和阻止DDOS攻击等等。总之如今的防火墙功能强大,连漏洞扫描都有,所以你只要安装防火墙就可以杜绝大多数网络攻击,但是就算是装防火墙也不要以为就万事无忧。因为安全只是相对的,如果哪个邪派高手看上你的机器,防火墙也无济于事。我们只能尽量提高我们的安全系数,尽量把损失减少到最小。 安全意识也很重要,我们平时上网的时候都应该有一个好的安全意识。加上我们的不懈努力,相信我们的网络生活会更美好。    主要讲讲Windows操作系统在C盘空间不足的情况下,我们可以通过那些具体手段来增加C盘空间。    1.打开“我的电脑”-“工具”-“文件夹选项”-“查看”-在“显示所有文件和文件夹”选项前打勾-“确定”     2.删除以下文件夹中的内容: x:\Documents and Settings\用户名\Cookies\下的所有文件(保留index文件) x:\Documents and Settings\用户名\Local Settings\Temp\下的所有文件(用户临时文件) x:\Documents and Settings\用户名\LocalSettings\TemporaryInternet Files\下的所有文件(页面文件) x:\Documents and Settings\用户名\Local Settings\History\下的所有文件(历史纪录) x:\Documents and Settings\用户名\Recent\下的所有文件(最近浏览文件的快捷方式) x:\WINDOWS\Temp\下的所有文件(临时文件) x:\WINDOWS\ServicePackFiles(升级sp1或sp2后的备份文件) x:\WINDOWS\Driver Cache\i386下的压缩文件(驱动程序的备份文件) x:\WINDOWS\SoftwareDistribution\download下的所有文件    3.如果对系统进行过windoes updade升级,则删除以下文件: x:\windows\下以 $u... 开头的隐藏文件    4.然后对磁盘进行碎片整理,整理过程中请退出一切正在运行的程序    5.碎片整理后打开“开始”-“程序”-“附件”-“系统工具”-“系统还原”-“创建一个还原点”(最好以当时的日期作为还原点的名字)    6.打开“我的电脑”-右键点系统盘-“属性”-“磁盘清理”-“其他选项”-单击系统还原一栏里的“清理”-选择“是”-ok了    7、在各种软硬件安装妥当之后,其实XP需要更新文件的时候就很少了。删除系统备份文件吧:开始→运行→sfc.exe /purgecache近3xxM。(该命令的作用是立即清除"Windows 文件保护"文件高速缓存,释放出其所占据的空间)    8我删了 这一条不好用~    9、XP会自动备份硬件的驱动程序,但在硬件的驱动安装正确后,一般变动硬件的可能性不大,所以也可以考虑将这个备份删除,文件位于\windows\driver cache\i386目录下,名称为driver.cab,你直接将它删除就可以了,通常这个文件是74M。    10、删除不用的输入法:对很多网友来说,Windows XPt系统自带的输入法并不全部都合适自己的使用,比如IMJP8_1 日文输入法、IMKR6_1 韩文输入法这些输入法,如果用不着,我们可以将其删除。输入法位于\windows\ime\文件夹中,全部占用了88M的空间。    11、升级完成发现windows\多了许多类似$NtUninstallQ311889$这些目录,都干掉吧,1x-3xM    12、另外,保留着\windows\help目录下的东西对我来说是一种伤害,呵呵。。。都干掉!    13、关闭系统还原:系统还原功能使用的时间一长,就会占用大量的硬盘空间。因此有必要对其进行手工设置,以减少硬盘占用量。打开"系统属性"对话框,选择"系统还原"选项,选择"在所有驱动器上关闭系统还原"复选框以关闭系统还原。也可仅对系统所在的磁盘或分区设置还原。先选择系统所在的分区,单击"配置"按钮,在弹出的对话框中取消"关闭这个驱动器的系统还原"选项,并可设置用于系统还原的磁盘空间大小。    14、休眠功能会占用不少的硬盘空间,如果使用得少不妨将共关闭,关闭的方法是的:打开"控制面板",双击"电源选项",在弹出的"电源选项属性"对话框中选择"休眠"选项卡,取消"启用休眠"复选框。    15、卸载不常用组件:XP默认给操作系统安装了一些系统组件,而这些组件有很大一部分是你根本不可能用到的,可以在"添加/删除Windows组件"中将它们卸载。但其中有一些组件XP默认是隐藏的,在"添加/删除Windows 组件"中找不到它们,这时可以这样操作:用记事本打开\windows\inf\sysoc.inf这个文件,用查找/替换功能把文件中的"hide"字符全部替换为空。这样,就把所有组件的隐藏属性都去掉了,存盘退出后再运行"添加-删除程序",就会看见多出不少你原来看不见的选项,把其中那些你用不到的组件删掉(记住存盘的时候要保存为sysoc.inf,而不是默认的sysoc.txt),如Internat信使服务、传真服务、Windows messenger,码表等,大约可腾出近50MB的空间。    16、清除系统临时文件:系统的临时文件一般存放在两个位置中:一个Windows安装目录下的Temp文件夹;另一个是x:\Documents and Settings"用户名"\Local Settings\Temp文件夹(Y:是系统所在的分区)。这两个位置的文件均可以直接删除。    17、清除Internet临时文件:定期删除上网时产生的大量Internet临时文件,将节省大量的硬盘空间。打开IE浏览器,从"工具"菜单中选择"Internet选项",在弹出的对话框中选择"常规"选项卡,在"Internet临时文件"栏中单击"删除文件"按钮,并在弹出"删除文件"对话框,选中"删除所有脱机内容"复选框,单击"确定"按钮。    18、清除预读文件:Windows XP的预读设置虽然可以提高系统速度,但是使用一段时间后,预读文件夹里的文件数量会变得相当庞大,导致系统搜索花费的时间变长。而且有些应用程序会产生死链接文件,更加重了系统搜索的负担。所以,应该定期删除这些预读文件。预计文件存放在Windows XP系统文件夹的Prefetch文件夹中,该文件夹下的所有文件均可删除。    19、压缩NTFS驱动器、文件或文件夹:如果你的硬盘采用的是NTFS文件系统,空间实在紧张,还可以考虑启用NTFS的压缩功能。右击要压缩的驱动器-"属性"-"常规"-"压缩磁盘以节省磁盘空间",然后单击"确定", 在"确认属性更改"中选择需要的选项。这样可以节省约20% 的硬盘空间。在压缩C盘的时候,最好在安全模式下压缩,这样效果要好一些。    20、关闭华医生Dr.Watson:要关闭Dr.Watson可打开注册表编辑器,找到"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug"分支,双击其下的Auto键值名称,将其"数值数据"改为0,最后按F5刷新使设置生效,这样就取消它的运行了。也在"开始"->"运行"中输入"drwtsn32"命令,或者"开始"->"程序"->"附件"->"系统工具"->"系统信息"->"工具"->"Dr Watson",调出系统里的华医生Dr.Watson ,只保留"转储全部线程上下文"选项,否则一旦程序出错,硬盘会读很久,并占用大量空间。如以前有此情况,请查找user.dmp文件,删除后可节省几十MB空间。    21、关闭远程桌面:"我的电脑"->"属性"->"远程","远程桌面"里的"允许用户远程连接到这台计算机"勾去掉。    22、取消XP对ZIP支持:Windows XP在默认情况下打开了对zip文件支持,这要占用一定的系统资源,可选择"开始→运行",在"运行"对话框中键入"regsvr32 /u zipfldr.dll",回车确认即可取消XP对ZIP解压缩的支持,从而节省系统资源。    23、关闭错误报告:当应用程序出错时,会弹出发送错误报告的窗口,其实这样的错误报告对普通用户而言几乎没有任何意义,关闭它是明智的选择。在"系统属性"对话框中选择"高级"选项卡,单击"错误报告"按钮,在弹出的"错误汇报"对话框中,选择"禁用错误汇报"单选项,最后单击"确定"即可。另外我们也可以从组策略中关闭错误报告:从"运行"中键入"gpedit.msc",运行"组策略编辑器",展开"计算机配置→管理模板→系统→错误报告功能",双击右边设置栏中的"报告错误",在弹出的"属性"对话框中选择"已禁用"单选框即可将"报告错误"禁用。    24、关掉不用的设备:Windows XP总是尽可能为电脑的所有设备安装驱动程序并进行管理,这不仅会减慢系统启动的速度,同时也造成了系统资源的大量占用。针对这一情况,你可在 设备管理器中,将PCMCIA卡、调制解调器、红外线设备、打印机端口(LPT1)或者串口(COM1)等不常用的设备停用,方法是双击要停用的设备,在其属性对话框中 的"常规"选项卡中选择"不要使用这个设备(停用)"。在重新启动设置即可生效,当需要使用这些设备时再从设备管理器中启用它们。    25、定期清理系统还原点:打开磁盘清理,选择其他选项->清理系统还原点,点击清理。    26、卸载不需要的程序,这个就不用我多说了    27、其它优化: a 将应用软件装在其它硬盘(不要安装在系统盘下,这对重装系统也有好处); b 将"我的文档"文件夹都转到其他分区:在桌面的"我的文档"图标上是右击鼠标,选择"属性"->"移动" ; c 将IE临时文件夹都转到其他分区:打开IE浏览器,选择"工具"->"internet选项"->"常规"->"设置"->"移动文件夹"; d 把虚拟内存也转到其它硬盘; e 把pagefile.sys文件都指向一个地方:控制面板→系统→性能—高级→虚拟内存→更改,注意要点"设置"才会生效; f 在桌面的"我的电脑"图标上是右击鼠标,选择"属性"->"高级-性能设置"->"高级-虚拟内存",调至330-720。而且定时清理

Tags:

Win2003 Linux

BAT脚本编写教程

by Administrator 2012.6.5 14:40
最近工作需要,需要做几个定时执行的程序,准备写代码,转念一想,Windows自己有计划任务,于是乎就想全部用Windows自己的功能做了,所以需要些批处理脚本的东东,找来这篇文章看看,希望能解决问题,以下为正文:echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。 echo 表示显示此命令后的字符 echo off 表示在此语句后所有运行的命令都不显示命令行本身 @与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。 call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。 pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续 rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。例1:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。  批处理文件的内容为:         命令注释:    @echo off           不显示后续命令行及当前命令行    dir c:\*.* >a.txt       将c盘文件列表写入a.txt     call c:\ucdos\ucdos.bat    调用ucdos     echo 你好            显示"你好"     pause              暂停,等待按键继续     rem 准备运行wps         注释:准备运行wps     cd ucdos            进入ucdos目录     wps               运行wps  批处理文件的参数批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符“%”。%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。例2:C:根目录下有一批处理文件名为f.bat,内容为:@echo offformat %1如果执行C:\>f a:那么在执行f.bat时,%1就表示a:,这样format %1就相当于format a:,于是上面的命令运行时实际执行的是format a:例3:C:根目录下一批处理文件名为t.bat,内容为:@echo offtype %1 type %2那么运行C:\>t a.txt b.txt %1 : 表示a.txt%2 : 表示b.txt于是上面的命令将顺序地显示a.txt和b.txt文件的内容。特殊命令if goto choice for是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。一、if 是条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:1、if [not] "参数" == "字符串" 待执行的命令参数如果等于(not表示不等,下同)指定的字符串,则条件成立,运行命令,否则运行下一句。例:if "%1"=="a" format a:2、if [not] exist [路径\]文件名 待执行的命令 如果有指定的文件,则条件成立,运行命令,否则运行下一句。如: if exist c:\config.sys type c:\config.sys 表示如果存在c:\config.sys文件,则显示它的内容。3、if errorlevel <数字> 待执行的命令很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态),通过if errorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺序排列)。如果返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。如if errorlevel 2 goto x2二、goto 批处理文件运行到这里将跳到goto所指定的标号(标号即label,标号用:后跟标准字符串来定义)处,goto语句一般与if配合使用,根据不同的条件来执行不同的命令组。如:goto end:end echo this is the end标号用“:字符串”来定义,标号所在行不被执行。三、choice 使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的errorlevel,然后于if errorlevel配合,根据用户的选择运行不同的命令。注意:choice命令为DOS或者Windows系统提供的外部命令,不同版本的choice命令语法会稍有不同,请用choice /?查看用法。choice的命令语法(该语法为Windows 2003中choice命令的语法,其它版本的choice的命令语法与此大同小异):CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]描述:    该工具允许用户从选择列表选择一个项目并返回所选项目的索引。参数列表:   /C     choices        指定要创建的选项列表。默认列表是 "YN"。   /N                   在提示符中隐藏选项列表。提示前面的消息得到显示,                       选项依旧处于启用状态。   /CS                  允许选择分大小写的选项。在默认情况下,这个工具                       是不分大小写的。   /T     timeout        做出默认选择之前,暂停的秒数。可接受的值是从 0                       到 9999。如果指定了 0,就不会有暂停,默认选项                       会得到选择。   /D     choice         在 nnnn 秒之后指定默认选项。字符必须在用 /C 选                       项指定的一组选择中; 同时,必须用 /T 指定 nnnn。   /M     text           指定提示之前要显示的消息。如果没有指定,工具只                       显示提示。   /?                   显示帮助消息。   注意:   ERRORLEVEL 环境变量被设置为从选择集选择的键索引。列出的第一个选   择返回 1,第二个选择返回 2,等等。如果用户按的键不是有效的选择,   该工具会发出警告响声。如果该工具检测到错误状态,它会返回 255 的   ERRORLEVEL 值。如果用户按 Ctrl+Break 或 Ctrl+C 键,该工具会返回 0   的 ERRORLEVEL 值。在一个批程序中使用 ERRORLEVEL 参数时,将参数降   序排列。示例:   CHOICE /?    CHOICE /C YNC /M "确认请按 Y,否请按 N,或者取消请按 C。"   CHOICE /T 10 /C ync /CS /D y   CHOICE /C ab /M "选项 1 请选择 a,选项 2 请选择 b。"   CHOICE /C ab /N /M "选项 1 请选择 a,选项 2 请选择 b。"  如果我运行命令:CHOICE /C YNC /M "确认请按 Y,否请按 N,或者取消请按 C。"屏幕上会显示:确认请按 Y,否请按 N,或者取消请按 C。 [Y,N,C]?    例:test.bat的内容如下(注意,用if errorlevel判断返回值时,要按返回值从高到低排列): @echo off choice /C dme /M "defrag,mem,end"if errorlevel 3 goto endif errorlevel 2 goto mem if errotlevel 1 goto defrag:defrag c:\dos\defrag goto end:mem mem goto end:end echo good bye此批处理运行后,将显示“defrag,mem,end[D,M,E]?” ,用户可选择d m e ,然后if语句根据用户的选择作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,批处理运行结束。四、for 循环命令,只要条件符合,它将多次执行同一命令。语法:对一组文件中的每一个文件执行某个特定命令。FOR %%variable IN (set) DO command [command-parameters]%%variable   指定一个单一字母可替换的参数。(set)       指定一个或一组文件。可以使用通配符。command     指定对每个文件执行的命令。command-parameters             为特定命令指定参数或命令行开关。例如一个批处理文件中有一行: for %%c in (*.bat *.txt) do type %%c则该命令行会显示当前目录下所有以bat和txt为扩展名的文件的内容。批处理示例1. IF-EXIST1)首先用记事本在C:\建立一个test1.bat批处理文件,文件内容如下: @echo off IF EXIST \AUTOEXEC.BAT TYPE \AUTOEXEC.BAT IF NOT EXIST \AUTOEXEC.BAT ECHO \AUTOEXEC.BAT does not exist然后运行它:C:\>TEST1.BAT如果C:\存在AUTOEXEC.BAT文件,那么它的内容就会被显示出来,如果不存在,批处理就会提示你该文件不存在。2)接着再建立一个test2.bat文件,内容如下: @ECHO OFF IF EXIST \%1 TYPE \%1 IF NOT EXIST \%1 ECHO \%1 does not exist执行: C:\>TEST2 AUTOEXEC.BAT 该命令运行结果同上。说明: (1) IF EXIST 是用来测试文件是否存在的,格式为 IF EXIST [路径+文件名] 命令 (2) test2.bat文件中的%1是参数,DOS允许传递9个批参数信息给批处理文件,分别为%1~%9(%0表示test2命令本身) ,这有点象编程中的实参和形参的关系,%1是形参,AUTOEXEC.BAT是实参。3) 更进一步的,建立一个名为TEST3.BAT的文件,内容如下: @echo offIF "%1" == "A" ECHO XIAO IF "%2" == "B" ECHO TIAN IF "%3" == "C" ECHO XIN如果运行:C:\>TEST3 A B C 屏幕上会显示:XIAOTIANXIN如果运行:C:\>TEST3 A B 屏幕上会显示XIAOTIAN在这个命令执行过程中,DOS会将一个空字符串指定给参数%3。2、IF-ERRORLEVEL建立TEST4.BAT,内容如下:@ECHO OFF XCOPY C:\AUTOEXEC.BAT D:IF ERRORLEVEL 1 ECHO 文件拷贝失败 IF ERRORLEVEL 0 ECHO 成功拷贝文件然后执行文件:C:\>TEST4如果文件拷贝成功,屏幕就会显示“成功拷贝文件”,否则就会显示“文件拷贝失败”。IF ERRORLEVEL 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值,而且返回值必须依照从大到小次序顺序判断。因此下面的批处理文件是错误的:@ECHO OFF XCOPY C:\AUTOEXEC.BAT D:\ IF ERRORLEVEL 0 ECHO 成功拷贝文件 IF ERRORLEVEL 1 ECHO 未找到拷贝文件 IF ERRORLEVEL 2 ECHO 用户通过ctrl-c中止拷贝操作 IF ERRORLEVEL 3 ECHO 预置错误阻止文件拷贝操作 IF ERRORLEVEL 4 ECHO 拷贝过程中写盘错误无论拷贝是否成功,后面的:未找到拷贝文件 用户通过ctrl-c中止拷贝操作 预置错误阻止文件拷贝操作 拷贝过程中写盘错误都将显示出来。以下就是几个常用命令的返回值及其代表的意义: backup 0 备份成功 1 未找到备份文件 2 文件共享冲突阻止备份完成 3 用户用ctrl-c中止备份 4 由于致命的错误使备份操作中止diskcomp 0 盘比较相同 1 盘比较不同 2 用户通过ctrl-c中止比较操作 3 由于致命的错误使比较操作中止 4 预置错误中止比较diskcopy 0 盘拷贝操作成功 1 非致命盘读/写错 2 用户通过ctrl-c结束拷贝操作 3 因致命的处理错误使盘拷贝中止 4 预置错误阻止拷贝操作format 0 格式化成功 3 用户通过ctrl-c中止格式化处理 4 因致命的处理错误使格式化中止 5 在提示“proceed with format(y/n)?”下用户键入n结束xcopy 0 成功拷贝文件 1 未找到拷贝文件 2 用户通过ctrl-c中止拷贝操作 4 预置错误阻止文件拷贝操作 5 拷贝过程中写盘错误3、IF STRING1 == STRING2建立TEST5.BAT,文件内容如下: @echo off IF "%1" == "A" formAT A:执行: C:\>TEST5 A 屏幕上就出现是否将A:盘格式化的内容。注意:为了防止参数为空的情况,一般会将字符串用双引号(或者其它符号,注意不能使用保留符号)括起来。如:if [%1]==[A] 或者 if %1*==A*5、GOTO建立TEST6.BAT,文件内容如下: @ECHO OFF IF EXIST C:\AUTOEXEC.BAT GOTO _COPY GOTO _DONE:_COPY COPY C:\AUTOEXEC.BAT D:\ :_DONE注意: (1) 标号前是ASCII字符的冒号":",冒号与标号之间不能有空格。 (2) 标号的命名规则与文件名的命名规则相同。(3) DOS支持最长八位字符的标号,当无法区别两个标号时,将跳转至最近的一个标号。6、FOR建立C:\TEST7.BAT,文件内容如下: @ECHO OFF FOR %C IN (*.BAT *.TXT *.SYS) DO TYPE %C运行: C:>TEST7执行以后,屏幕上会将C:盘根目录下所有以BAT、TXT、SYS为扩展名的文件内容显示出来(不包括隐藏文件)。bat命令的使用。  一. 简单批处理内部命令简介      1. Echo 命令  打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。  语法  echo [{on off}] [message]   Sample:@echo off / echo hello world  在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> )结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。  2. @ 命令  表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。  Sample:@echo off   @echo Now initializing the program,please wait a minite...   @format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。)  3. Goto 命令  指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。  语法:  goto label (label是参数,指定所要转向的批处理程序中的行。)   Sample:   if {%1}=={} goto noparms   if {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。)   @Rem check parameters if null show usage   :noparms   echo Usage: monitor.bat ServerIP PortNumber   goto end  标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来才会理解你的意图啊。  4. Rem 命令  注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。  Rem Message   Sample:@Rem Here is the description.??????5. Pause 命令  运行 Pause 命令时,将显示下面的消息:  Press any key to continue . . .   Sample:   @echo off   :begin   copy a:*.* d:\back   echo Please put a new disk into driver A   pause   goto begin  在这个例子中,驱动器 A 中磁盘上的所有文件均复制到d:\back中。显示的注释提示您将另一张磁盘放入驱动器 A 时,pause 命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。  6. Call 命令  从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call 命令接受用作调用目标的标签。如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用。  语法  call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]  参数  [Drive:}[Path] FileName  指定要调用的批处理程序的位置和名称。filename 参数必须具有 .bat 或 .cmd 扩展名。  7. start 命令  调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。  入侵常用参数:  MIN 开始时窗口最小化   SEPARATE 在分开的空间内开始 16 位 Windows 程序   HIGH 在 HIGH 优先级类别开始应用程序   REALTIME 在 REALTIME 优先级类别开始应用程序   WAIT 启动应用程序并等候它结束   parameters 这些为传送到命令/程序的参数  执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用程序终止就返回命令提示。如果在命令脚本内执行,该新行为则不会发生。  8. choice 命令   #这一个命令还不会用,上网再找找资料#  choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……  如: choice /c:dme defrag,mem,end  将显示  defrag,mem,end[D,M,E]?   Sample:   Sample.bat的内容如下:   @echo off   choice /c:dme defrag,mem,end

Tags:

Win2003 Linux

Linux文件和目录管理命令

by Administrator 2012.6.5 14:38
Linux 命令行模式下来操作文件管理还是比较重要的,虽然目前在Linux桌面上能完成大部份的文件管理工作,但就效率来说,还是命令行模式更为强大。最重要的是在文本操作界面和图形界面通用。如果您是服务器管理人员,您能体会到命令行下的文件管理工具是何等重要。本文涉及了目录和文件的显示ls、复制cp、移动mv、删除rm、rmdir、目录的创建mkdir以及用echo、touch等工具创建空文件... ... 内容:1、列文件或目录的信息工具 ls或dir;ls 命令可以用于显示目录的内容,也可以显示文件的属性,比如节点、文件种类、权限、拥有者、大小、创建时间等;在目前最新版本的Linux中dir和ls命令的用法是一样的;有兴趣的不仿尝试一下;1.1 ls 的基础语法和参数;语法格式: #ls [参数]   [目录或文件名] 参数: -a 显示所有文件,包含隐藏文件;包括“.“和“..“-A 显示所有文件,包含隐藏文件,不包括“.“和“..“目录;-B 不列出文件名以~结尾的文件;-C 按列列出文件;-d 仅可以查看目录的属性参数及信息;-F 这个参数加上后,能给目录添加上/,给可执行文件加上*,给符号链接加上@  等等,来标记文件名,目的是让用户方便查看; -l 长格式输出-h 习惯人们可阅读的方式来显示文件或目录的大小,比如K、M或G等;-p 在目录的后面附加/标记;-r 逆序列出文件;-t  按文件最后访问(或修改)的时间排序,最新的排在最前面;-U 按原始排序,-L 递归显示,也就是说,当我们列某个目录的下的所有文件和目录时,能把它的下级目录的内容显示出来。--help  获得帮助; 在这里,位于[]之内的都是可选的。如果您只输入ls ,就会列出用户所处当前目录的所有文件,用短格式输出,但不会列出隐藏文件。判断用户所处目录的命令是pwd,也就是 [root@localhost ~]# pwd/root 1.2 ls 的参数示例应用;1.21 列出目录下所有文件,包含或不包含隐藏文件,-a 参数及-l参数的运用; #ls -la [目录名] 如果不接目录名,表示输出当前用户所处目录内的所有文件,包括隐藏文件; [root@localhost ~]# pwd/root[root@localhost ~]# ls -la 列出某一目录下的的文件或目录,但不包括隐藏文件,我们只用-l参数 #ls -l  目录 比如:[root@localhost ~]# ls  -l /root/总计 13968-rw-r--r-- 1 root root         0 04-19 14:09 123.txt-rw------- 1 root root      1375 03-16 08:55 anaconda-ks.cfg-rw-r--r-- 1 root root         2 03-27 02:00 fonts.scale-rw-r--r-- 1 root root      5423 03-16 08:52 install.log.syslog-rw-r--r-- 1 root root  14087155 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpmlrwxrwxrwx 1 root root        33 04-19 11:27 kernel.rpm -> kernel-2.6.15-1.2025_FC5.i686.rpmdrwxr-xr-x 2 1000 users     4096 04-04 23:30 mkuml-2004.07.17-rw-r--r-- 1 root root     68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2drwxr-xr-x 2 root root      4096 04-19 10:53 mydir-rw-r--r-- 1 root root     53992 03-16 08:54 myinstall.log-rw-r--r-- 1 root root         0 04-19 14:10 plinux.txtdrwxr-xr-x 2 root root      4096 03-17 04:25 Public-rw-r--r-- 1 root root       613 03-26 18:41 upgrade.log-rw-r--r-- 1 root root         0 03-26 18:39 upgrade.log.sysloglrwxrwxrwx 1 root root         6 04-19 11:17 yourdir -> mydir/ 说明:如果以长格式输入,总共显示出八段内容:第一段文件种类及权限,也就是类似这样的-rw-r--r-- ,我们在前面讲到,如果在这段中,第一字符表示文件的类型,如果出现-,表示普通文件。如果是d开头的就是目录。在这个例子中,123.txt是普通文件,而mkuml-2004.07.17就是一个目录。关于文件的种类,请参考 :rw-r--r--是权限位,我们在以后的教程中会讲到。第二段 硬链接个数(文件系增加一个硬链接,数字会增加1,默认从1开始,1表示无硬链接文件,如果是一个目录,它的默认值应该是2。目录是不能做硬链接的)如果我们不以长格式输出的话,可以把参数省略;第三段 文件或目录所占用的字节数,如果您想用K来表示,请用ls -lh /root第四段 最后访问日期第五段 最后访问时间第六段 文件名 [root@localhost ~]# ls /root 1.22 仅查看目录的属性的-d参数的运用示例; [root@localhost ~]# ls -ld  /etc  /boot  注:查看/etc和/boot目录的信息;drwxr-xr-x   4 root root  4096 04-11 16:22 /bootdrwxr-xr-x 108 root root 12288 04-20 12:36 /etc 1.23 查看文件或目录的inode节点,-i参数的运用;查看文件或目录的节点,我们要用到i参数。如果节点相同,能确认他们是相同的文件,是通过通过ln 创建的硬链接文件;链接接有何用?如果您想把一个文件复制时保持原文件或目录的节点、大小、权限以及访问(或修改)时间都和原文件一致的文件。必须通过硬链接来实现,用cp命令是不可能实现的。比如: [root@localhost ~]# ls -li /root[root@localhost ~]# ls -li kernel*2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel00.rpm2408270 lrwxrwxrwx 1 root root       33 04-19 14:56 kernel1.rpm -> kernel-2.6.15-1.2025_FC5.i686.rpm2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel.rpm 我们看一下kernel00.rpm 、kernel.rpm 和 kernel-2.6.15-1.2025_FC5.i686.rpm 是不是节点相同??他们的大小是不是一样,他们的访问日期是不是一样?只是他们的文件名不一样。文件名不一样没有关系,这能证明其中两个文件是由另一个文件通过ln 创建而成。您可以尝试着用cp 把 kernel-2.6.15-1.2025_FC5.i686.rpm 复制为kernel002.rpm ,看看能不能保持节点相同? [root@localhost ~]# ls -li kernel*2408272 -rw-r--r-- 1 root root 14087155 04-19 16:05 kernel002.rpm2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel00.rpm2408270 lrwxrwxrwx 1 root root       33 04-19 14:56 kernel1.rpm -> kernel-2.6.15-1.2025_FC5.i686.rpm2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel.rpm 不是是kernel002.rpm 的节点和 kernel-2.6.15-1.2025_FC5.i686.rpm 不一样了?1.24 关于排序的参数的应用;ls 显示目录的内容时,会将文件按a到z的字母顺序显示,优先级如下; 数字  a-z  A-Z 也就是说如果不加任何排序的参数,文件名第一个字母是数字的,将优先显示;其次才是A-Z,然后才是a-z;下面是几个排序的参数,大家练习一下就知道了; 在文件的大小排序上,我们要用到-S参数; 如果是逆序排序时,我们要用到-r参数;按最后访问的时候排序,要用到-t参数;根据扩展名进行排序,要用到参数 -X ; 举例 [root@localhost ~]# ls123.txt          fonts.scale         kernel                           myinstall.log  upgrade.loganaconda-ks.cfg  install.log.syslog  mkuml-2004.07.17-ananas.tar.bz2  plinux.txt     upgrade.log.syslog  [root@localhost ~]# ls -lS /root[root@localhost ~]# ls -lS总计 180-rw-r--r-- 1 root root 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2-rw-r--r-- 1 root root 53992 03-16 08:54 myinstall.log-rw-r--r-- 1 root root  5423 03-16 08:52 install.log.syslogdrwxr-xr-x 2 root root  4096 04-19 20:04 kernel-rw------- 1 root root  1375 04-19 15:04 anaconda-ks.cfg-rw-r--r-- 1 root root   613 03-26 18:41 upgrade.log-rw-r--r-- 1 root root    21 04-19 15:06 123.txt-rw-r--r-- 1 root root     2 03-27 02:00 fonts.scale-rw-r--r-- 1 root root     0 04-19 14:10 plinux.txt-rw-r--r-- 1 root root     0 03-26 18:39 upgrade.log.syslog 举例: [root@localhost ~]# ls -lr总计 180-rw-r--r-- 1 root root     0 03-26 18:39 upgrade.log.syslog-rw-r--r-- 1 root root   613 03-26 18:41 upgrade.log-rw-r--r-- 1 root root     0 04-19 14:10 plinux.txt-rw-r--r-- 1 root root 53992 03-16 08:54 myinstall.log-rw-r--r-- 1 root root 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2drwxr-xr-x 2 root root  4096 04-19 20:04 kernel-rw-r--r-- 1 root root  5423 03-16 08:52 install.log.syslog-rw-r--r-- 1 root root     2 03-27 02:00 fonts.scale-rw------- 1 root root  1375 04-19 15:04 anaconda-ks.cfg-rw-r--r-- 1 root root    21 04-19 15:06 123.txt  [root@localhost ~]# ls -lt总计 180drwxr-xr-x 2 root root  4096 04-19 20:04 kernel-rw-r--r-- 1 root root    21 04-19 15:06 123.txt-rw------- 1 root root  1375 04-19 15:04 anaconda-ks.cfg-rw-r--r-- 1 root root     0 04-19 14:10 plinux.txt-rw-r--r-- 1 root root 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2-rw-r--r-- 1 root root     2 03-27 02:00 fonts.scale-rw-r--r-- 1 root root   613 03-26 18:41 upgrade.log-rw-r--r-- 1 root root     0 03-26 18:39 upgrade.log.syslog-rw-r--r-- 1 root root 53992 03-16 08:54 myinstall.log-rw-r--r-- 1 root root  5423 03-16 08:52 install.log.syslog 1.25 递归显示目录的文件,-R参数的应用;递归显示目录下的所有文件,如果该目录下有子目录,也会把子目录的文件一并显示出来。比如 [root@localhost ~]# ls -lR / 注:也就是把Linux下/根目录下的所有文件显示出来,但不会显示隐藏文件。自己试着输入上面的命令就知道怎么回事了。1.26 关于ls 输出内容在终端显示颜色的参数 --color;在一般的情况下,ls输出内容是有颜色的,比如目录是蓝色,压缩文件是红字的显示。如果没有颜色,可以加上参数。当然也可以去掉颜色。 --color=never  表示输出输出没有彩色--color=auto  表示自动--color=always 表示输出内容有彩色 举例: [root@localhost ~]# ls -la --color=never [root@localhost ~]# ls -la --color=any[root@localhost ~]# ls -la --color=always 如果您的终端或控制台输出的内容没有颜色,可以自己来定义。在当前用户的家目录下的.bashrc 中加入下面的一行; alias ls="ls --color=always" 1.27 ls的-F参数的示例; [root@localhost ~]# ls -Fcrondw.sh*  kernel/  mkuml-2004.07.17-ananas.tar.bz2  openQreadme.txt@  sun.txt  upgrade.log  youdir/[root@localhost ~]# ls -lF总计 92-rwxr-xr-x 1 root root     0 04-20 14:18 crondw.sh*drwxr-xr-x 3 root root  4096 04-20 14:17 kernel/-rw-r--r-- 1 root root 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2lrwxrwxrwx 1 root root     7 04-20 14:18 openQreadme.txt -> sun.txt-rw-r--r-- 1 root root    11 04-20 14:17 sun.txt-rw-r--r-- 1 root root   613 03-26 18:41 upgrade.logdrwxr-xr-x 6 root root  4096 04-20 14:17 youdir/ 1.3 通配符在ls命令中的应用; * 代表0个或多个字符[]内部包括任何字符? 任何单个字符 举例:比如我们显示以k开头的所有文件,在/root目录中的; [root@localhost ~]# ls /root/k*kernel002.rpm  kernel00.rpm  kernel1.rpm  kernel-2.6.15-1.2025_FC5.i686.rpm  kernel.rpm 我们显示以数字开头的所有文件; [root@localhost ~]# ls [0-9]*123.txt  234.txt  2kexe.txt  6mns.doc 下面是一个?通配符的示例: [root@localhost ~]# ls *.t?t123.txt  234.txt  2kexe.txt  333.tot  plinux.txt 1.4 获得ls 的帮助;ls 的用法比较简单,至于更详细的参考,还是查man和help。遇到不会的,就查手册,我也是这么做的。 [root@localhost ~]# ls --help[root@localhost ~]# man ls[root@localhost ~]# info ls 2、移动文件或目录的命令 mv ;mv 命令是用来移动文件或目录的;有以下几种格式; #mv file1 file2  注:把file1移动到file2,如果file2不存在,则创建file2文件名;#mv file1 dir 注:把一个文件移动到一个事实存在的目录;#mv dir1 dir2   移动目录dir1 到 dir2 ,如果dir2不存在,则创建它;#mv file1 file2 file3 ... ...  dir   移动file1、file2、file3等多个文件到dir目录中;#mv dir1 dir2 ... ... dirn   注:移动目录dir1和dir2等多个目录到dirn目录中 参数-i ,表示人机交互模式;提示警告信息;举例: [root@localhost ~]# mv -i 123.txt  234.txtmv:是否覆盖“234.txt”? y 注:要在这里输入y,表示允许覆盖234.txt文件;如果是n,请示不允许; mv 也能和通配符结合一起使用,这样能把相似特征的文件移动到某处; * 代表0个或多个字符[]内部包括任何字符? 任何单个字符 举例:比如移动以数字开头的文件或目录到 root目录下的tmp目录中; [root@localhost ~]# pwd/root[root@localhost ~]# mv [0-9]* tmp/[root@localhost ~]# ls -lh tmp/总计 4.0K-rw-r--r-- 1 root root 21 04-19 15:06 234.txt-rw-r--r-- 1 root root  0 04-19 22:23 2kexe.txt-rw-r--r-- 1 root root  0 04-19 22:25 333.tot-rw-r--r-- 1 root root  0 04-19 22:23 6mns.doc 3、文件或目录的复制工具cp ;3.1 cp 的语法和参数 #cp  [参数选项]   源文件或目录      目标文件或目录 注:参数是可选的,常用参数比如 -r,-R,-p,-i ;参数说明(部份)-a 等同于-dpR参数一起使用;在复制过程中尽可能保留源文件或目录的属性;-b 给被覆盖的文件做备份。比如我们把file1 复制到file2时,如果file2存在,我们把file2覆盖掉,用这个参数就能同时生成一个file2~的文件,注意文件名后有~结尾-d 不间接引用符号链接,保持源文件和目标文件之间的硬链接关系;-f 删除已存在的目标文件;-i 覆盖已存在的目标文件之前给出警告提示,这是人机交互的选项;-l 建立文件硬链接,而不是复制;-p 保存源文件或目录的最后修改时间和模式,比如要保持目标目录或文件的属主、组、权限和最后访问(或修改)时间;-R 复制目录时,包括淅目录下所有的子目录和文件;-s 建立源文件的符号链接,而不是复制源文件。源文件名必须用绝对路径;-r 复制目录时,包括淅目录下所有的子目录和文件;-r选项不同于-R之处在于 尝试打开目的地文件前先删除已存在的目的地文件-i 人机交互模式,显法覆盖已存在的文件或目录的警告信息;-v 在复制之前,输出每个文件的名字;--help 查看帮助 ;3.2 示例说明cp应用;3.21 参数-i的示例; [root@localhost ~]# lsanaconda-ks.cfg  install.log.syslog  Kernel.rpm                       mydir       Plist  upgrade.log         youdirfonts.scale      kernel              mkuml-2004.07.17-ananas.tar.bz2  plinux.txt  sun    upgrade.log.syslog[root@localhost ~]# pwd/root[root@localhost ~]# cp  -i Kernel.rpm Plistcp:是否覆盖“Plist”? y 注:人机交互在数-i的运用;如果源文件复制到目标文件,如果目标文件存在,则提示警告;3.22 参数-a的示例及说明;把源目录复制到另外的一个目标,相当于克隆了一个目录,源目录和目标目录在用户组、权限及修改或访问时间保持一致; [root@localhost ~]# cp -a mydir youdir 注:复制目录mydir 到youdir ,如果yourdir目录不存在,则创建。并且把mydir中所有的文件下级子目录都复制到 yourdir目录中。也就是说mydir目录的文件和youdir是一样的。-a 参数等同于-dpR,并且源目录和目标目录的属性(用户组、权限、最后访问及修改时间)都一致;3.23 参数-b的示例应用;把源文件复制为目标文件;并且尝试-b参数的运用; [root@localhost ~]# cp fonts.scale fonts.dir  把一个文件复制为另一个文件;[root@localhost ~]# cp -bi fonts.scale fonts.dir cp:是否覆盖“fonts.dir”? y  注:因为用了-i 参数,如果目标文件存在,则报警提示;[root@localhost ~]# ls -lh fonts.*-rw-r--r-- 1 root root 2 04-20 10:24 fonts.dir-rw-r--r-- 1 root root 2 04-20 10:24 fonts.dir~  注:-b参数运用的效果就是生成已存在目标文件的覆盖之前备份。-rw-r--r-- 1 root root 2 03-27 02:00 fonts.scale 3.24 把多个文件复制到目录目录中示例;比如我们把位于用户当前目录下的fonts.dir、Kernel.rpm和Plist文件,复制到当前用户所处的目录下的sun目录中; [root@localhost ~]# pwd  注:判断用户所处的位置,也就是所处的目录;/root[root@localhost ~]# mv fonts.dir Kernel.rpm  Plist  sun/ [root@localhost ~]# ls sun/fonts.dir  Kernel.rpm  Plist 注:如果您想把多个目录或文件复制到目标目录时,您得加参数 -R3.25 复制目录时-R参数的应用;复制一个目录到另一个目录时,我们要用到 -r或-R 或-a , 如果目标目录不存在,则创建它,如果目标目录存在,则复制源目录到目标目录之下;看看-a和-R或-r有什么不同?尝试看看;比如我们在用户当前操作的目录中,有mydir目录,我们想把mydir复制为medir(在复制之前medir是不存在的)。 [root@localhost ~]# cp -R mydir medir 注:如果medir目录不存在,则创建medir目录,并且medir目录中的内容和mydir中的一样; 如果您把-R参数换成-a参数,会有什么不同?看看前面的例子所说的;4、 目录创建工具mkdir和删除空目录工具rmdir;4.1 mkdir 是目录创建工具;4.11 mkdir语法格式及参数;语法格式 #mkdir [参数选项]  目录 参数常用的如下:-m 在创建目录时要授其权限,要和chmod的授权格式;-p 如果中间目录不存在,则创建它4.12 参数 -p 的应用示例我们要创建一个目录linuxsir,并且linuxsir目录下包含子目录sirdoc,sirdoc目录下还有 redhat目录; [root@localhost ~]# mkdir -p  linuxsir/sirdoc/redhat 举例: -m 参数的应用示例;我们以不同的权限来创建目录,然后查看我们所创建目录的属性;这要涉及到chown 来改变目录的权限的格式。我们会在以后讲到chown改变目录或文件的权限。在这里不同的是,在目录创建之时就给其授权了; [root@localhost ~]# mkdir -m  644 sundir[root@localhost ~]# mkdir -m 755 moondir[root@localhost ~]# mkdir -m 000 beinandir[root@localhost ~]# ls -ld sundir moondir beinandird--------- 2 root root 4096 04-20 11:01 beinandir drwxr-xr-x 2 root root 4096 04-20 11:01 moondirdrw-r--r-- 2 root root 4096 04-20 11:00 sundir 4.2 删除空目录工具 rmdir 和rm ;rmdir 是用来删除空目录用的,如果目录中有文件或子目录,必须先删除文件或子目录,其语法格式如下: #rmdir [参数]  目录 rmdir 参数常用的有:-p 删除目录时是一级一级的时行的,值得注意的是,首先从最里面的目录开始。下面是一个例子; [root@localhost ~]# mkdir -p  linuxsir/sirdoc/redhat/  注:首先在当前目录下创建linuxsir目录,他的子目录是sirdoc,sirdoc内又有一个子目录redhat [root@localhost ~]# rmdir -p linuxsir/sirdoc/redhat/  注:删除linuxsir目录,要用到参数-p[root@localhost ~]# ls linuxsir  注:检查一下是不是还有这个目录? ls: linuxsir: 没有那个文件或目录 rmdir 所删除的目录,每级目录中都是空的,没有其它的文件。如果任何一级的目录有文件,也不能删除。这时您要用到rm -rf 命令强制删除。不过用rm -rf 删除时有点不安全,还是用rf -ri 比较好一点,因为在删除的时候,会有警告提示。这对于安全操作来说是很重要的; [root@localhost ~]# ls -lh sun/  注:这是sun目录,里面有内容;总计 28K-rw------- 1 root root 1.4K 04-19 15:04 anaconda-ks.cfg-rw-r--r-- 1 root root    2 04-20 10:24 fonts.dir-rw-r--r-- 1 root root    2 03-27 02:00 fonts.scale-rw-r--r-- 1 root root 5.3K 03-16 08:52 install.log.syslog-rw-r--r-- 1 root root    0 04-19 20:44 Kernel.rpm-rw-r--r-- 1 root root    0 04-20 10:20 Plist[root@localhost ~]# rmdir sun/  注:我们尝试用rmdir来删除,rmdir: sun/: 目录非空   [root@localhost ~]# rm -rf sun/  注:强制用rm -rf 来删除;[root@localhost ~]# ls sun    注:检查是否删除,删除成功;ls: sun: 没有那个文件或目录 5、创建一个空文件的工具:用 touch、echo、cat等工具;有时我们为了方便,可能在控制台或终端下创建一个不存在的空文件,然后我们再用编辑器来编辑它;创建空文件有时还有点用。说说也无妨。我们在这里用touch、ech0及cat 工具。其实这些工具,创建文件只是他们的一个小小的功能,我们以后再介绍这些工具,先说他们创建文件的功能。注意:创建这些文件,在我们操作创建文件之前,这些文件在用户当前操作目录下是不存在的,我们在这里只是创建一个新的文件名,并且它里面没有任何空容的; [root@localhost ~]# ls 123456.txt 654321.txt 98765.txtls: 123456.txt: 没有那个文件或目录ls: 654321.txt: 没有那个文件或目录ls: 98765.txt: 没有那个文件或目录  [root@localhost ~]# echo > 123456.txt  注:用ech0 来创建,在创建之前在此操作目录下不存不123456.txt文件;[root@localhost ~]# ls 123456.txt     注:查看一下看有没有生成?123456.txt  [root@localhost ~]# touch 654321.txt  注:用 touch 来创建,在创建之前在此操作目录下不存在654321.txt文件;[root@localhost ~]# ls 654321.txt  注:查看一下看有没有生成?654321.txt  [root@localhost ~]# cat > 98765.txt  注:用ech0 来创建,在创建之前在此操作目录下不存在98765.txt 文件;然后按ctrl+c组合键退出;[root@localhost ~]# ls 98765.txt   注:查看一下看有没有生成?98765.txt 6、删除文件工具rm;rm 是用来删除一个或多个文件的工具,并且能用于删除非空目录。我们前面提到了可以加参数-rf 就可以强制删除一个非空目录。rm的语法格式; #rm [参数选项] file1 file2 ... ... #rm  [参数选项]  dir1 dir2 dir3 ... ... rm 常用参数: -f  不显示警告或提示信息就删除,用的时候需要小心;-i  删除文件时,显示警告信息,要多用,这样比较安全;根据提示,输入y就表示删除,输入n,请示不删除;-r或-R  表示可以删除整个目录(包括子目录及所有文件),要小心用;  [root@localhost ~]# rm -i 123.sh  注:这是删除一个文件,用-i参数的示例,有警告提示;rm:是否删除一般空文件“123.sh”? y 比如我们想删除mydir目录及所有下级目录和文件,要有提示的警告信息,可以用-r参数和-i参数的组合;如果您想终止rm命令,请按ctrl+c组合健退出rm; [root@localhost ~]# rm -ri mydir/rm:是否进入目录“mydir/”? yrm:是否进入目录“mydir//youdir”? yrm:是否删除一般文件“mydir//youdir/enteruml.sh”? 如果您想没有任何警告信息的删除mydir目录下的所有文件及子目录,可以用-r和-f参数的组合; [root@localhost ~]# rm -rf mydir 7、修改文件名工具 mvmv 可以移动一个文件(或目录)到另一个文件(或目录),如果文件(或目录)不存在,则创建它。其实mv 这个过程也可以理解为改名过程,所以说mv工具能修改文件名和目录名。 #mv 原文件名或目录名  新文件或目录名 注意:新文件名或目录名应该不能与现有文件名(或目录名)同名。举例: [root@localhost ~]# lscrondw.sh  kernel  mkuml-2004.07.17-ananas.tar.bz2  mydir  openQreadme.txt  sun.txt  upgrade.log  youdir[root@localhost ~]# mv crondw.sh 123.sh  注:移动crondw.sh 到123.sh ,其实就是把文件名改为了123.sh[root@localhost ~]# ls123.sh  kernel  mkuml-2004.07.17-ananas.tar.bz2  mydir  openQreadme.txt  sun.txt  upgrade.log  youdir 再看一例mv 修改目录的。当然mv是把文件(或目录)从一个地方移到另一个地方。如果另一地方没有和源文件(或目录)同名的,就创建。这也相当于改名; [root@localhost ~]# ls123.sh  kernel  mkuml-2004.07.17-ananas.tar.bz2  mydir  openQreadme.txt  sun.txt  upgrade.log  youdir[root@localhost ~]# mv kernel/ kernelBak[root@localhost ~]# ls123.sh  kernelBak  mkuml-2004.07.17-ananas.tar.bz2  mydir  openQreadme.txt  sun.txt  upgrade.log  youdir

Tags:

Win2003 Linux

Linux目录的创建与删除命令

by Administrator 2012.6.5 14:37
文件操作的常用指令 建立目录 、改变当前目录 、复制、改名、查看........ mkdir命令功能:创建一个目录(类似MSDOS下的md命令)。语法:mkdir [选项] dir-name说明:该命令创建由dir-name命名的目录。要求创建目录的用户在当前目录中(dir-name的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或 文件名称。命令中各选项的含义为:- m 对新建目录设置存取权限。也可以用chmod命令设置。- p 可以是一个路径名称。此时若路径中的某些目录尚不存在, 加上此选项后, 系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。 rmdir 命令功能:删除空目录。语法:rmdir [选项] dir-name说明:dir-name表示目录名。该命令从一个目录中删除一个或多个子目录项。需要 特别注意的是,一个目录被删除之前必须是空的。rm - r dir命令可代替 rmdir,但是有危险性。删除某目录时也必须具有对父目录的写权限。命令中各选项的含义为:- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应 的信息。 cd 命令功能:改变工作目录。语法:cd [directory]说明:该命令将当前目录改变至directory所指定的目录。若没有指定directory, 则回到用户的主目录。为了改变到指定目录,用户必须拥有对指定目录的执行和读 权限。该命令可以使用通配符(通配符含义请参见第十章)。pwd 命令在Linux层次目录结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录。然而,没有提示符来告知用 户目前处于哪一个目录中。要想知道当前所处的目录,可以使用pwd命令,该命令显示整个路径名。语法:pwd说明:此命令显示出当前工作目录的绝对路径。 ls 命令ls是英文单词list的简写,其功能为列出目录的内容。这是用户最常用的一个命令之一,因为用户需要不时地查看某个目录的内容。该命令类似于DOS下的dir命令。语法:ls [选项] [目录或是文件]对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls将输出 其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。命令中各选项的含义如下:- a 显示指定目录下所有子目录与文件,包括隐藏文件。- A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和 “..”。- b 对文件名中的不可显示字符用八进制逃逸字符显示。- c 按文件的修改时间排序。- C 分成多列显示各项。- d 如果参数是目录,只显示其名称而不显示其下的各文件。往往与l选项一起使 用,以得到目录的详细信息。- f 不排序。该选项将使lts选项失效,并使aU选项有效。- F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记 “@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。- i 在输出的第一列显示文件的i节点号。- l 以长格式来显示文件的详细信息。这个选项最常用。每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小 建立或最近修改的时间 名字对于符号链接文件,显示的文件名之后有“—〉”和引用文件路径名。对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。目录中的总块数显示在长格式列表的开头,其中包含间接块。- L 若指定的名称为一个符号链接文件,则显示链接所指向的文件。- m 输出按字符流格式,文件跨页显示,以逗号分开。- n 输出格式与l选项相同,只不过在输出中文件属主和属组是用相应的UID号和 GID号来表示,而不是实际的名称。- o 与l选项相同,只是不显示拥有者信息。- p 在目录后面加一个“/”。- q 将文件名中的不可显示字符用“?”代替。- r 按字母逆序或最早优先的顺序显示输出结果。- R 递归式地显示指定目录的各个子目录中的文件。- s 给出每个目录项所用的块数,包括间接块。- t 显示时按修改时间(最近优先)而不是按名字排序。若文件修改时间相同,则 按字典顺序。修改时间取决于是否使用了c或u选顶。缺省的时间标记是最后一次修 改时间。- u 显示时按文件上次存取的时间(最近优先)而不是按名字排序。即将-t的时间 标记修改为最后一次访问的时间。- x 按行显示出各排序项的信息。用ls - l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一:- 普通文件d 目录l 符号链接b 块设备文件c 字符设备文件后面的9个字符表示文件的访问权限,分为3组,每组3位。第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字 符分别表示对文件的读、写和执行权限。各权限如下所示:r 读w 写x 执行。对于目录,表示进入权限。s 当文件被执行时,把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组 ID)。t 设置标志位(留在内存,不被换出)。如果该文件是目录,在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文件,在该文件执行 后,指向其正文段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。chown oracle /home/u1 表示改变目录所有者为oracle账户; chgrp dba /home/u1 改变/home/u1目录为dba所有; chmod 755 /home/u1 表示oracle账户对/home/u1目录有755权限; rmdir /home/u1 表示删除/home/u1目录 hostname可以查看linux的计算机名; whoami可以查看当前用户; pwd显示当前路径; df查看系统的硬件信息 ls -lrt l表示显示详细列表,-t表示按时间排序,-r反向排序 cat orcl_ora_3436.trc|grep bucket 以下查看相关文件内容: more /etc/oratab cat /etc/passwd cat /etc/group

Tags:

Win2003 Linux

IIS和Apache同时使用80端口

by Administrator 2010.8.21 14:37
修改在apache下conf目录的httpd.conf文件:找到下面几行文字,将前面面的#去掉,就可以打开代理功能LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule proxy_http_module modules/mod_proxy_http.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.so另外检查下是否要包含httpd-vhosts.conf文件,如果下述文字前方有#,就把他去掉# Virtual hostsInclude conf/extra/httpd-vhosts.conf接着在conf的子目录extra下的httpd-vhosts.conf文件,添加apache和IIS下的虚拟主机信息:apache下的虚拟主机配置范例:<VIRTUALHOST *:80>    ServerAdmin b@b.com    ServerName    www.kuangfeng.cn    ServerAlias kuangfeng.cn *.kuangfeng.cn    DocumentRoot  “d:/kuangfeng”</VirtualHost>IIS下的虚拟主机配置范例:<VIRTUALHOST *:80>    ProxyPreserveHost On    ServerAdmin a@a.com    ServerName www.dothetask.cn    ServerAlias     dothetask.cn  *.dothetask.cn    DefaultLanguage zh-CN    AddDefaultCharset GB2312    ProxyPass / http://www.dothetask.cn:8081/     ProxyPassReverse / http://www.dothetask.cn:8081/</VirtualHost>记住IIS下应建立tcp端口为8081的同一域名网站,才能实现转发。当然上述配置修改保存后,要重启IIS和XAMPP才能生效。以上是我不得己的办法,如果你只是想本地测试或者有多余的IP还可以用下述的方法让apache和IIS共存:1:服务器有两个IP:你可以让IIS和apache使用不同的IP,这样两个系统都可以用80端口,而不需要使用代理功能了。这种情况下只需要在httpd.conf文件中的监听端口设置处将下述文字对应修改就可以了默认设置:#Listen 12.34.56.78:80Listen 80修改后:listen 192.168.0.2:802.本地测试这种最简单,你可以让IIS用81端口,apache使用默认80端口,就可以同时使用了。希望以上的文字能给大家有所帮助,也希望大家安装调试顺利成功!

Tags:

Win2003 Linux

完美解读Linux中文件系统的目录结构

by Administrator 2010.8.21 14:26
一、前 言 接触Linux也有一段时间了,不过这几天在编译开源程序时,才发现自己对 linux文件系统的目录结构了解的不够透彻,很多重要目录都说不清楚是用来干嘛的,于是在网上百度了一下这方面的介绍,根据自己的使用习惯,整理出来一篇关于Linux文件系统的目录结构的文章,和大家一起分享。 文章对Linux下所有目录一一说明,对比较重要的目录加以重点解说,以帮助初学者熟练掌握Linux的目录结构。同时文章最后附录了一份Linux目录结构的简明手册,以便大家查阅。二、目 录 1、什么是文件系统2、文件系统的类型3、目录结构的详细解读4、一些重要子目录的解读5、附录:目录结构的简明查阅手册 三、正 文 我想,不光是我,对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步。下面大家跟飘扬一起来学习吧…………. 1、什么是文件系统 当您使用Linux的时候,如果您通过ls –l / 就会发现,在/下包涵很多的目录,比如etc、usr、var、bin ... ... 等目录,而在这些目录中,我们进去看看,发现也有很多的目录或文件。文件系统在Linux下看上去就象树形结构,所以我们可以把文件系统的结构形象的称为树形结构。linux文件系统的最顶端是/,我们称/为Linux的root,也就是 Linux操作系统的文件系统。Linux的文件系统的入口就是/,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。 2、文件系统的类型 LINUX有四种基本文件系统类型:普通文件、目录文件、连接文件和特殊文件,可用file命令来识别。 普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat、less、more、vi、emacs来察看内容,用mv来改名。 目录文件:包括文件名、子目录名及其指针。它是LINUX储存文件名的唯一地方,可用ls列出目录文件。 连接文件:是指向同一索引节点的那些目录条目。用ls来查看是,连接文件的标志用l开头,而文件面后以"->"指向所连接的文件。 特殊文件:LINUX的一些设备如磁盘、终端、打印机等都在文件系统中表示出来,则一类文件就是特殊文件,常放在/dev目录内。例如,软驱A称为/dev/fd0。LINUX无C:的概念,而是用/dev/had来自第一硬盘。 3、目录结构的详细解说 文件系统的组织结构分析,我们能分析什么呢?也就是当我们列/目录时,所看到的 /usr、/etc ... ... /var 等目录是做什么用的,这些目录是不是有些特定的用途。无论哪个哪个版本的Linux系统,都有这些目录,这些目录应该是标准的。当然各个Linux发行版本也会存在一些小小的差异,但总体来说,大体还是差不多。言归正传,下面飘扬将讲到本文最核心的部分:linux文件系统的目录结构。 / bLinux文件系统的入口,也是处于最高一级的目录;/bin 系统所需要的那些命令位于此目录,比如 ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的、普通用户都可以使用的命令。作为基础系统所需要的最基础的命令就是放在这里。/boot Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录;/dev 设备文件存储目录,比如声卡、磁盘... .../etc 系统配置文件的所在地,一些服务器的配置文件也在这里;比如用户帐号及密码配置文件;/home 普通用户家目录默认存放目录;/lib 库文件存放目录/lost+found 在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。 有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。/mnt 这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom 等目录。可以参看/etc/fstab的定义。有时我们可以把让系统开机自动挂载文件系统,把挂载点放在这里也是可以的。主要看/etc/fstab中怎么定义了;比如光驱可以挂载到/mnt/cdrom 。/opt 表示的是可选择的意思,有些软件包也会被安装在这里,也就是自定义软件包,比如在Fedora Core 5.0中,OpenOffice就是安装在这里。有些我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以通过 ./configure --prefix=/opt/目录 。/proc 操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录伪装的文件系统proc的挂载目录,proc并不是真正的文件系统,它的定义可以参见 /etc/fstab 。/root Linux超级权限用户root的家目录;/sbin 大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的;我们记住就行了,凡是目录sbin中包含的都是root权限才能执行的。/tmp 临时文件目录,有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。/usr 这个是系统存放程序的目录,比如命令、帮助文件等。这个目录下有很多的文件和目录。当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里。如果有涉及服务器配置文件的,会把配置文件安装在/etc目录中。/usr目录下包括涉及字体目录/usr/share/fonts ,帮助目录 /usr/share/man或/usr/share/doc,普通用户可执行文件目录/usr/bin 或/usr/local/bin 或/usr/X11R6/bin ,超级权限用户root的可执行命令存放目录,比如 /usr/sbin 或/usr/X11R6/sbin 或/usr/local/sbin 等;还有程序的头文件存放目录/usr/include。/var 这个目录的内容是经常变动的,看名字就知道,我们可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地; 4、一些重要子目录的解说 下面飘扬再补充几个比较常见且很重要的目录。/etc/init.d 这个目录是用来存放系统或服务器以System V模式启动的脚本,这在以System V模式启动或初始化的系统中常见。比如Fedora/RedHat;/etc/xinit.d 如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下。有些系统没有这个目录, 比如Slackware,有些老的版本也没有。在Rehat/Fedora中比较新的版本中存在。/etc/rc.d 这是Slackware发行版有的一个目录,是BSD方式启动脚本的存放地;比如定义网卡,服务器开启脚本等。/etc/X11 这是X-Windows相关的配置文件存放地。 /usr/bin 这个目录是可执行程序的目录,普通用户就有权限执行;当我们从系统自带的软件包安装一个程序时,他的可执行文件大多会放在这个目录。比如安装gaim软件包时。相似的目录是/usr/local/bin;有时/usr/bin中的文件是/usr/local/bin的链接文件;/usr/sbin 这个目录也是可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行;相似目录是/sbin 或/usr/local/sbin或/usr/X11R6/sbin等;/usr/local 这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。这个目录下面有子目录。自己看看吧。/usr/share 系统共用的东西存放地,比如 /usr/share/fonts 是字体目录,/usr/share/doc和/usr/share/man帮助文件。/usr/src 是内核源码存放的目录,比如下面有内核源码目录,比如 linux 、linux-2.xxx.xx 目录等。有的系统也会把源码软件包安装在这里。比如Fedora/Redhat,当我们安装file.src.rpm的时候,这些软件包会安装在 /usr/src/redhat相应的目录中。/var/adm 比如软件包安装信息、日志、管理信息等,在Slackware操作系统中是有这个目录的。在Fedora中好象没有;自己看看吧。/var/log 系统日志存放,分析日志要看这个目录的东西;/var/spool 打印机、邮件、代理服务器等假脱机目录; 5、附录:目录结构的简明查阅手册 (1)“/”根目录部分有以下子目录: /usr 目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本的主要的应用程序,譬如,Netscape。/var 目录包含在正常操作中被改变的文件:假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等/home 目录包含用户的文件:参数设置文件、个性化文件、文档、数据、EMAIL、缓存数据等。这个目录在系统省级时应该保留。/proc 目录整个包含虚幻的文件。它们实际上并不存在磁盘上,也不占用任何空间。(用ls –l 可以显示它们的大小)当查看这些文件时,实际上是在访问存在内存中的信息,这些信息用于访问系统/bin 系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用。/sbin 系统执行文件(二进制),这些文件不打算被普通用户使用。(普通用户仍然可以使用它们,但要指定目录。)/etc 操作系统的配置文件目录。/root 系统管理员(也叫超级用户或根用户)的Home目录。/dev 设备文件目录。LINUX下设备被当成文件,这样一来硬件被抽象化,便于读写、网络共享以及需要临时装载到文件系统中。正常情况下,设备会有一个独立的子目 录。这些设备的内容会出现在独立的子目录下。LINUX没有所谓的驱动符。/lib 根文件系统目录下程序和核心模块的共享库。/boot 用于自举加载程序(LILO或GRUB)的文件。当计算机启动时(如果有多个操作系统,有可能允许你选择启动哪一个操作系统),这些文件首先被装载。这个目录也会包含LINUX核(压缩文件vmlinuz),但LINUX核也可以存在别处,只要配置LILO并且LILO知道LINUX核在哪儿。/opt 可选的应用程序,譬如,REDHAT 5.2下的KDE (REDHAT 6.0下,KDE放在其它的XWINDOWS应用程序中,主执行程序在/usr/bin目录下)/tmp 临时文件。该目录会被自动清理干净。/lost+found 在文件系统修复时恢复的文件 (2)“/usr”目录下比较重要的部分有:/usr/X11R6 X-WINDOWS系统(version 11, release 6)/usr/X11 同/usr/X11R6 (/usr/X11R6的符号连接)/usr/X11R6/bin 大量的小X-WINDOWS应用程序(也可能是一些在其它子目录下大执行文件的符号连接)。/usr/doc LINUX的文档资料(在更新的系统中,这个目录移到/usr/share/doc)。/usr/share 独立与你计算机结构的数据,譬如,字典中的词。/usr/bin和/usr/sbin 类似与“/”根目录下对应的目录(/bin和/sbin),但不用于基本的启动(譬如,在紧急维护中)。大多数命令在这个目录下。/usr/local 本地管理员安装的应用程序(也可能每个应用程序有单独的子目录)。在“main”安装后,这个目录可能是空的。这个目录下的内容在重安装或升级操作系统后应该存在。/usr/local/bin 可能是用户安装的小的应用程序,和一些在/usr/local目录下大应用程序的符号连接。(3)“/proc”目录的内容:/proc/cpuinfo 关于处理器的信息,如类型、厂家、型号和性能等。/proc/devices 当前运行内核所配置的所有设备清单。/proc/dma 当前正在使用的DMA通道。/proc/filesystems 当前运行内核所配置的文件系统。/proc/interrupts 正在使用的中断,和曾经有多少个中断。/proc/ioports 当前正在使用的I/O端口。 四、后 记 本文是Linux文件系统的一个组成部分,对于一个系列文档来说,还是必不可缺的。写本文的目的如开头已经叙说的一样,是为了给Linux学习者提供一个关于Linux文件系统的目录结构的参考手册。

Tags:

Win2003 Linux

关于博主

      什么都懂一点儿,热衷技术,热爱Programming,每有难题,常夜以继日,每有解决方案,手舞足蹈而欣喜若狂;好读书,不求甚解;每有会意,便欣然忘食;常纵情于山水之间,忘乎于尘世之外,唯程序难释怀尔。
       QQ:51557288

归档

最近的评论

声明

本博所有网友评论不代表本博立场,版权归其作者所有。

© Copyright 2011