UNIX语言运行软件命令
在Windows操作系统中,读者可能用过一些屏幕记录软件,可以将某段时间的操作通过视频的形式记录下来。
不过在Unix操作系统中,有时候不用这么麻烦。
因为操作系统提供了一个scipt命令,帮助系统工程师来记录某个会话的过程。
这是一个比较冷僻的命令,也不在POSIX的规范中。
为此有些Unix操作系统版本就可能不带有这个功能。
不少系统工程师可能平时很少接触这个命令。
不过笔者是比较喜欢这命令的。
简单的说,系统工程师利用这个命令就可以将一个会话的整个过程或则中间的某些操作记录到一个文件中。
利用这个命令基本上可以在文件中记录大部分的键盘操作、命令的输出结果以及错误信息。
也就是说,在屏幕上输出的信息基本上都可以保存在这个文件中。
然后系统管理员可以在事后查看这个文件以获得必要的信息。
那么这个命令该如何使用呢? scipt命令使用的基本过程。
首先当系统工程师想要记录某个会话的时候,则只需要在会话开始时输入scipt命令。
输入这个命令后,系统就会将当前用户的所有键盘操作、屏幕输出以及错误信息等等保存到一个特定的文件中。
如上面执行了ps命令与who命令后,希望就会将这两个命令 (用户的键盘操作)、屏幕输出(命令的执行结果)等等保存到文件中。
当工程师需要退出记录过程时,则只需要输入exit命令,系统就会就是scipt done的提示信息。
表示系统已经结束了记录工作。
当系统工程师需要查看这个文件的信息时,可以使用cat或者vi命令来查看这个文件中的内容。
不过所使用的shell版本不同,他们先是的结果可能有所差异。
如在某些版本中,使用cat命令来查看这个文件,可能只显示这个命令在什么时候完成,而不会显示用户的键盘操作与屏幕的输出信息。
为此笔者建立采用vi命令。
利用vi命令来查看这个文件,就不会有版本之间的差异问题。
如使用vi typescipt命令,就可以查看这个文件中的具体信息。
通常情况下,整个文件中包含以下几部分内容。
第一行是注释信息。
如“Scipt stated on 2009年06月15日 星期一 18时24分21秒”。
这个提示信息显示这个命令开始执行的时间。
然后在最后一行中,也有类似的提示信息。
不过最后一行的提示信息显示的是这个命令完成的时间,显示了命令执行完成的日期、具体时间等西虚拟。
然后中间的部分就是命令与输出结果的信息。
如果在命令的的执行过程中,有错误信息的话,也会一并在这里记录。
【unix命令】unix怎么删文件命令是什么
这个命令使用起来其实并不是很复杂。
不过在一些细节方面还系统管理员仍然需要注意。
具体的来说,有如下几个方面要注意。
第一需要注意重复记录的问题。
系统工程师可能只需要记录部分的操作,为此在世纪工作中可能会频繁的打开和关闭这个命令。
但是需要注意的是,默认情况下采用scipt命令后会覆盖原有的文件。
如现在系统工程师首先使用scipt命令记录了ps操作,此时系统会产生一个叫做typescipt 的文件,记录这个命令操作的相关信息,然后中止了这个命令。
一会儿一后又重新使用这个命令,来记录who操作的过程。
此时系统又会产生一个一模一样的 typescipt文件。
此时系统会将原先的记录文件覆盖掉。
显然这可能跟系统工程师的初衷相违背的。
系统工程师希望后续的操作能够保存在原先的记录文件中,而不是覆盖掉。
如果要实现这个需求的话,那么系统工程师在执行这个命令时,必须使用一个可选项参数。
即按照scipt –a的形式来启动这个命令。
此时系统就不会覆盖原有的记录内容,而是将后续的操作内容追加到原有的文件中。
第二是不会记录所有的操作。
如系统工程师先启动了scipt命令。
然后再利用passwd命令来修改当前帐户或者其他帐户(以特权用户登录)的密码时,这个密码信息是否也会记录下来呢?如果在记录文件中也记录了密码的操作信息,那么显然会带来一定的安全隐患。
不过这个担忧是多余的。
各位读者可以回去测试一下,一般情况下这个密码信息是不会记录在这个文件中。
其实,大家可以想象一下,再输入passwd命令后,输入新密码时,在屏幕上也不会显示用户的输入内容,即新密码。
为此这个在屏幕上没有输出的内容,也不会保存到这个记录文件中。
所以笔者说用户的这个担忧是不必要的。
第三是某些特定的命令不会记录。
笔者上面谈到,有些键盘操作记录是不会被保存的。
即只要在屏幕上没有输出的信息一般情况下就不会给保存到记录文件中。
不过这是一个充分不必要条件。
即反过来就不成立。
并不是屏幕上所有显示的内容都会一五一十的记录到这个文件中。
像一些全屏模式的操作命令,如vi命令等等,就不会记录到这个文件中。
为此系统工程师在使用这个工具时,需要预见到这种情况。
在操作时,如果需要记录相关的会话过程,那么就需要尽量避免使用一些全屏的命令。
如在设置环境变量时,尽量不要直接利用vi修改相关的配置文件。
而是使用set等非全屏命令来对环境变量进行操作。
如此操作系统才能够记录完成的操作过程。
第四系统工程师需要了解一些特殊键在文件中是如何表示的。
上面笔者所过,记录文件基本上会记录所有的键盘敲击动作。
如现在用户输入了ls -1命令先查看当前目录下的所有文件的详细信息。
后来用户反悔了,就利用退格键将后面的-l参数去掉了。
此时这个退格键的操作也会保存到记录文件中。
但是这些特定的功能键在文件中是采用一些特殊的符号来表示的。
如退格键在文件中采用的是“[K”字符符号。
所以向这个光标移动键或者del删除键等等都有不同的代表方式。
只有熟悉了这些代码的含义之后,才可以真正的读懂这个文件。
不过其代表的形式虽然不同,但是还是有点规律可循。
即一般特殊的功能键都是以[开头的。
如果系统工程师看到有这个字符的话,那么就需要考虑这是否代表着某个特殊的功能键。
第五是可以根据自己的需要来确定记录的文件名与保存的路径。
如果系统工程师直接使用scipt命令的话,那么系统会自动为这个文件命名。
并且这个文件默认是保存在命令执行所在的目录,即当前目录中。
系统工程师在执行命令时,也可以自定义记录文件的名字与保存路径。
如可以使用这个命令 scipt log,让系统将相关的记录保存在当前文件夹下的log文件中。
如果这个文件不存在的话,系统会自动创建这个文件。
若存在的话,除非在命令中使用了-a参数,否则的话,会覆盖原有的文件。
在覆盖之前,不会提醒系统工程师。
所以这一点系统工程师要引起重视,防止文件被意外删除。
第六是需要注意如果输出结果中有图片信息的话,在这个文件中无法正常读取。
如在会话记录的过程中,使用了netconfig命令启动了一个图形窗口。
这个图形窗口的信息不会在记录文件中正确反映。
系统工程师查看记录文件时,看到的可能只是一连串的[k符号而已。
最后需要说明的是,scipt命令只是对当前的会话有效。
即即使在oot帐户下启动了scipt命令,则系统记录的仍然是当前会话的操作。
对于其他用户的会话不会有丝毫影响,也不会记录其他用户的操作。
Linux操作系统命令行下的BT软件是怎样的?
我家里的所有机器都是通过一台slackwae 10.1作网关来上网的。
最近很想玩魔兽世界,就开始在这台slackwae 10.1下的vmwae gsx seve 3.1里跑的Windows 2000 po上下载客户端。
由于都是通过slackwae 10.1这台网关上网,所以windows系统都在内网里,下载速度十分慢。
开始想反正这台slackwae 10.1的机器整天都开着,不如就用这台机器下载。
它有直接于ADSL连接,有公网IP。
于是开始找Linux下的BT软件,因为我没有安装X seve,所以必须找一个可以在没有x seve环境下运行的BT客户端,最终我找到了CToent CToent简介 CToent 是用C语言写的一个BT客户端。
现在可以运行在多种Linux 版本,MacOS 和 FeeBSD下,以后可能也会运行在Windows下。
CToent是运行在命令行模式下的,这意味着它不需要任何图形组件(如X Seve)。
你可以通过远程访问来让它在后台运行。
CToent主页 http:ctoent.soucefoge.net 下载 http:ctoent.soucefoge.net?action=downloads 目前最新版本是1.3.2 安装 将下载回来的ctoent-1.3.2.ta.gz文件解压缩。
ta zxvf ctoent-1.3.2.ta.gz 进入ctoent-1.3.2目录 cd ctoent-1.3.2 配置和编译软件 .configue make make install 使用 安装完成后,程序默认会放在usin下,这样我们在任何目录都可以通过ctoent来使用了 具体参数可以通过ctoent -h来察看。
举个实例 比如我要将eg.toent这个种子文件的内容下载到mnthd下,命令如下 ctoent -s mnthd eg.toent 如何察看下载状态 10, [0334331], 6070,9845, | 5004,3984 E:3 10 - 连接人数(其他一些有你要下载文件的人) 0334331 - 已完成全部可利用的部分. 6070,9845 - 平均下载速度(in ytess), 平均上传速度(in ytess) 5004,3984 - 当前下载速度 (in ytess), 当前上传速度 (in ytess) E:3 - The tacke has efused connections 3 times.
linux,unix常用基本命令
登录时(当看到login:时)你必须是在系统安装时创建的用户或root超级用户.(在FreeBSD系统安装时就已经创建了root用户了 ,root用户遍历到系统的任何一个目录并且可以做任何事情,包括删除系统文件,所以一定要千万小心!)符号%和符号# 代表提示符(你的可能不一样),%表示普通用户,#表示超级用户root要退出系统(并且回到login:提示符),打命令:# exit对,打完命令后按回车,记住UNIX对命令是区分大小写的--也就是说,是exit,而不是EXIT.要关闭机器,打命令:# /sbin/shutdown -h now要重启机器,打命令:# /sbin/shutdown -r now或者# /sbin/reboot你也可以按Ctrl-Alt-Delete来重启机器.花少许时间练习一下.在最近发行的FreeBSD版本中这和/sbin/reboot是相等的,而且这比按reset按钮要好多了.你也不想重装东西,难道不是吗?2.用Root权限添加用户当你第一次运行adduser时,它也许会创建一些缺省设置.在它建议你把sh作为缺省shell的时候,你可能想把csh作为缺省shell 而不是sh.否则直接按回车接受默认值.这些默认设置保存在/etc/adduser.conf中,一个可编辑文件.# adduser假如你创建了一个新用户jack全名为Jack Benimble.出于安全因素,给jack一个口令(即使周围的孩子也可能敲击键盘).当它问你是否想jack成为某个组的成员时,回答w heelLogin group is ``jack''. Invite jack into other groups: wheel这样就可以用户jack登录系统,再用su命令成为root超级用户.然后你就再也不会因为以root超级用户登录而受到责备了.你可以在adduser中,通过按Ctrl-C退出随时退出.在创建结束时你可以批准该用户的生成或打n来取消创建该用户.你也许想创建第二个用户(jill?)这样当你编辑jack的登录文件时,就有一个热备份以免出错.一旦创建完用户,exit用exit回到login:提示符以jack登录.通常情况下,最好不要用root用户而是用普通用户完成大部分的工作.如果你已经创建了一个用户而且想使该用户能够用su命令成为root用户,你可以root登录然后编辑文件/etc/group,把jack加入第一行(wheel组),但是你首先要练习使用vi,文本编辑器--或简单些的编辑器,安装在最近发行的FreeBSD中的ee.要删除一个用户使用rmuser命令.修改密码 passwd命令,这个命令和linux上修改用户密码的命令是一样。
输入passwd命令以后,会提示输入oldpassword,再输入新密码,确认新密码!丢人3. 环顾四周以普通用户登录,四处浏览一下再使用一些命令试着访问帮助资源和FreeBSD的别的信息.以下是一些命令和它们的功能:id 告诉你你是谁!pwd 显示你在哪个目录--当前工作目录.ls 显示当前目录的文件.ls -F 显示当前目录的文件.执行文件的文件名后加*,目录名后加/,符号链接后加@.ls -l 以长格式显示文件.ls -a 列出隐藏点文件和其它文件.如果你是root用户,无须加-a选项,点文件将自动显示.cd 改变目录.cd .. 回到上级目录;注意cd后的空格.cd /usr/local 到/usr/local目录下.cd ~ 到以登录用户的主目录--例如/usr/home/jack.试试cd /cdrom,然后ls, 看看你的CDROM是否mounted并且正常工作.view filename让你看一个文件(文件名为filename 不改变文件名).试试view /etc/fstab.:q :q退出.cat filename在屏幕上显示filename.如果文件太长你只能看到文件的最末部分,按ScrollLock 然后用上下键往回移;ScrollLock键在看手册的时候也用的上.再按一下ScrollLock将退出屏幕滚动.你可以试一下cat你主目录的点文件cat .cshrc , cat .login , cat .profile.你也许注意到了.cshrc文件中有关ls命令的别名(它们用起来很方便).你可以编辑.cshrc文件来创建一些别的别名.为了使系统的所有用户都能使用这些别名,把它们放到csh的系统配置文件/etc/csh.cshrc中.4. 获得帮助信息这里有一些关于帮助的有用的资源.text表示你从键盘打入的东西--通常是一条命令或文件名.apropos text 在whatis数据库中所有包含text的有关信息.man texttext的手册.是Un*x系统文档的主要来源.man ls会告诉你使用ls命令的所有方法.按回车键在文本中移动,Ctrl-b往前翻一页,Ctrl-f往后翻一页,q或Ctrl-c退出.which text 告诉你text命令所在的路径.locate text 所有找到text字符串的路径.whatis text告诉你text命令主要用来干什么和它的手册页.打入whatis *将告诉你当前目录中的所有命令的有关信息.whereis text 寻找text文件,并给出它的完全路径.你可能想对一些常用命令如cat, more,grep,mv,find,tar,chmod,chown,date,和script使用whatis命令.more命令可以让你以DOS的方式一次只阅读一页内容. 例如: ls -l | more 或 more filename.符号*代表通配符--例如:ls w*将显示所有以w开头的文件名.这些命令是不是并不太有效?locate和whatis命令都取决于每星期重建一次的数据库.如果你不准备让你的机器在周末也运行的话(运行FreeBSD),你也许希望不时地每天、每星期、每月运行这些命令?现在,以root身份运行这些命令然后在运行下条命令之前指定一个结束时间.# /etc/daily 输出省略# /etc/weekly 输出省略# /etc/monthly 输出省略如果你等的不耐烦了,按Alt-F2到另一个虚拟控制台上并登录进去.实际上FreeBSD是一个多用户、多任务系统.不过这些命令在运...
说说常用的UNIX命令?
下文列出了常用的unix命令。
more less:less的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less允许使用者往回卷动以浏览已经看过的部份,同时因为less并未在一开始就读入整个档案,因此在遇上大型档案的开启时,会比一般的文书编辑器(如 vi)来的快速。
unix种类[图]>> Linux ‖ BSD ‖ Solaris ‖ SCO ‖ HP-UX ‖ AIX ‖ AS400 ‖ Tru64 ‖ IRIX ‖ MacOsXUNIX命令一、UNIX命令格式1、UNIX命令提示符 在命令行下,操作系统会显示一提示符,提示用户在此提示符后可以输入一行命令。
不同的Shell有不同的缺省提示符: B Shell和K Shell的缺省提示符为"$"; C Shell的缺省提示符为"%"; 但当以root用户登录时,系统提示符统一缺省为"#"。
用户可以更改自己的缺省Shell和提示符。
2、基本命令格式 在Shell提示符下,就可以输入UNIX命令。
UNIX命令的基本格式如下: command 参数1 参数2 ... 参数nUNIX命令由一个命令(command)和零到多个参数构成,命令和参数之间,以及参数与参数之间用空格隔开。
UNIX的命令格式和DOS的命令格式相似,但UNIX的命令区分大小写,且命令和参数之间必须隔开。
如:对DOS来说是以下四条命令是相同的: cd\tmp cd \tmp CD \tmp cd \Tmp对UNIX操作系统来说,改变目录的命令也是cd命令,以下是正确的UNIX cd命令: cd /tmp cd /Tmp但tmp和Tmp是两个不同的目录。
以下两条命令: cd/tmp CD /tmp已经不是cd命令了。
3、在一行中运行多个命令 可以在一行中输入多个命令,命令间用“;”分开,如: mkdir tmp ; cp file1 tmp/file2 ; ls -l tmp UNIX会顺序执行以上三条命令。
4、在后台运行程序 要让程序在后台执行,只需在命令行的最后加上“&”符号。
[例1] 在后台运行find命令,在当前目录及其子目路下查找文件名为abc的文件。
执行命令和立即显示的内容如下: $ find . -name abc -print& 10722 $ ... 10722表示进程号(PID)。
当find命令在后台执行完后,会显示结果。
当在后台运行命令时,最好将其输出重定向输出到一个文件中去,以便以后检查。
[例2] 在后台运行find命令,在当前目录及其子目路下查找文件名为abc的文件并将结果存到myfind文件中。
执行命令如下: $ find . -name abc -print>;myfind&在运行后台程序的同时可以继续输入命令。
5、nohup命令 当终端退出后,由该终端启动的后台程序自动退出。
要想终端退出后程序不停止运行,则要用nohup命令启动后台程序。
如对于例2的命令加入nohup后变为: $ nohup find . -name abc -print>;myfind&二、特殊按键在UNIX命令操作中有一些特殊键,列表如下:Ctrl + d 结束键盘输入或退出当前shellDel 中断键,停止当前动作回到shellCtrl+s 暂停屏幕输出Ctrl+q 继续屏幕输出Ctrl+u kill键,删除光标所在行的所有字符Esc 结束当前的操作状态(如vi)三、UNIX常用简单命令下表列出了几个简单的UNIX命令:解释 UNIX命令 命令举例查看帮助信息 man mandate查看日期 date date显示日历 cal cal1998显示大写大字 bannerbanner “ABCD”计算器 bc bc修改口令 passwdpasswd查看谁在使用系统 whowho查看我是谁 who am iwho am i显示用户信息 fingerfinger 用户名清除屏幕 clearclear1、man命令 - 查看帮助信息 举例: 查看man的使用方法: man 查看finger命令的帮助信息: man finger2、date命令 - 显示、修改日期和时间显示时间的命令如下: date显示如下: Mon Aug 17 13:43:14 NST 1998表示NST标准时间,1998年8月17日13:43:14,星期一。
3、cal命令 - 显示日历 举例: 显示1998年全年日历: cal 1998 显示1998年8月日历: cal 8 19984、banner命令 - 显示大写大字 举例:在屏幕上用大字显示“HUAWEI”,命令如下 banner "HUAWEI"5、bc命令 - 简单计算器 bc命令可以进行加、减、乘、除、求模、乘方运算,运算符分别为“+”“-”“*”“/”“%”“^”。
bc使用举例如下 bc以后输入算式即可,如: 1234 * 3 + 2^4按回车显示结果,以后等待输入其它算式。
按;+d键退出bc。
6、passwd命令 - 修改口令要修改自己的口令,只需运行: passwd以后系统会提示输入原来口令,并输入新口令。
7、who命令 - 查看正在使用UNIX的用户 用法如下: who系统会显示正在使用UNIX的用户名、终端号和登录时间。
要查看使用者自己的信息,运行: who am i8、finger命令 - 显示用户信息 finger命令比who命令显示的信息量大,功能强。
基本使用方法如下: 显示登录信息: finger 显示smith用户详细信息: finger smith9、clear命令 - 清除屏幕 clear四、UNIX用户间简单通讯命令 UNIX提供许多方式让用户相互通信,它允许你以文本的方式发送及接收信息。
你可以传递信息给其他用户、所有用户、或自己。
信息来源可以是文本文件或直接由键盘输入的内容。
(一)write 命令 可使用write 实用程序向已登录的另一个用户发送一条报文,当对方也使用write 命令时,双方之间就建立了通信。
当用户使用write 命令时,就在对方用户终端上显示提示信息。
write 命令的格式如下: write destination-user [terminal] 其中,destination-user是你想与之通信的用户注册名,通...
如题,如何用UnixShell命令批量给文件重命名?
对于经常在Unix和Windows下同时进行软件开发的人来说,文件格式转换是进行需要做的事,由于Unix操作系统下换行符是字符\n, 而Windows操作系统下换行符是字符\\n,所以在这两个操作系统下传输文件时需要进行格式转换,Unix环境下的文件格式转换工具有dos2unix命令,Windows环境下可以用UltaEdit进行转换,但是平常我们一般都是用它们进行单个文件的转换,如果要进行批量转换,Unix下需要自己写shell脚本,Windows环境下需要进行批量替换,具体方法如下:1. Unix环境下Dos格式文件批量替换为Unix文件 #!inash showUsage() { echo "Usage: dos2unixdi [destdi]" exit 0 }di=$PWD if [ $# -gt 1 ] then showUsage fiif [ $# -gt 0 ] then di=$1 fifo i in `find $di` do if [ ! -d $i ] then echo "pocessing file..." $i dos2unix $i $i fi done 或 dos2unix 实际上就是把文本文件里面的^M删除,我一般懒得用这个命令,vi里面用一个命令(:%s^mg)删除即可。
用法举例: dos2unix a.txt .txt 要把一批文件都dos2unix,可以用下面的fo语句: fo f in *.txt 或fo f in * do dos2unix $f done 注:*表示当前目录中所有文件的名字 2. Windows环境下Dos格式文件批量替换为Unix文件在UltaEdit中选择Seach | Seach in files菜单,在Find框中填写^p(表示DOS文件中的回车换行符号),在Replace with中输入^n(表示UNIX文件中的回车换行符号)。
然后选择文件目录进行批量替换,可以进行扩展名过滤 http:log.chinaunix.netu394271showat_2291548.html 关于从UNIX到DOS格式的批量修改 从西门子sc下载的asc文件可能都是UNIX格式的,我们在处理的时候需要把它们都转换成dos格式,这就需要一个批量转换的过程。
首先要明确2个问题: 1.UNIX格式和DOS格式就我所知区别只是在于回车这个字符。
UNIX格式下,每行的回车都是用一个0x0a字符表示的;而DOS格式下,每行的回车都是用0x0d0a两个字符表示的。
所以我们只需要替换这个即可。
2.UltaEdit本身就具备多文件批量替换的功能。
所以我们可以这样做: 1.打开UltaEdit 2.选择在文件中替换 3.在查找中输入: ^n (代表在UNIX格式下的回车字符) 4.在替换中输入: ^P (代表在DOS格式下的回车字符) 5.选择文件类型为*.asc 6.选择好需要转换的所有文件所在目录 7.OK点全部替换 这样就大功告成了,是不是超简单呢?根本需要写什么批处理程序。
关键是明白我上面提到的2点就OK了。