1.怎么着手学UNIX?我是学计算机才1年多,学的WINDOWS,我 爱问知
一、概述 标准 UNIX 操作系统是一个交互式的分时系统,提供了一个支持程序开发全过程的基础和环境,可以支持40个终端用户。
UNIX系统是由美国电报电话公司(AT&T)下属的Bell实验室的两名程序员K。 汤普逊(Ken Thompson)和D。
里奇(Dennis Ritchie)于1969~1970年研制出来的。UNIX问世以来十分流行,它运行在从高档微机到大型机各种具有不同处理能力的机器上。
目前,UNIX除了可在PDP-11 、DEC公司的VAX-11系统的各种机型上运行之外,还可以在IBM的370、3300系列机和Amdahi公司、Data General公司、Hp公司的系列机上。 近年来,几乎所有的16位机、32位微型计算机都竞相移植UNIX。
这种情况在操作系统发展的历史上是极为罕见的。随着UNIX的普及,书写系统的C语言也成为引人注目的语言,得到广泛使用。
UNIX系统获得了巨大的成功,这有着内在的原因和客观的因素。 客观条件之一是,UNIX问世之前己有许多操作系统研制成功,其中有成功的经验,也有失败的教训,而UNIX的设计者正是经过认真考虑,作了适当的取舍,使UNIX站在前人肩头上获得成功(MULTICS用了200人年未达到原定目标,UNIX只用了2个人年);其二是,由于当时人们需要一个使用方便、能提供良好开发环境、大小适中的系统,UNIX恰是生逄其时;其三是,UNIX是在PDP-11系列机上开发出来的,这种机器在世界上己得到广泛应用,这为UNIX广泛配置创造了条件。
当然,UNIX成功的关键是在于自身的性能和特点。 UNIX的主要特点是:短小精悍、简易有效、并具有易理解、易扩充、易移植性。
UNIX的核心程序由约10000行C语言代码和1000行汇编语言代码构成,被分成能独立编译和汇编的44个文件,每个文件又分若干过程。 这些文件可分以下三类: ⑴汇编语言文件:系统只有2个文件用汇编语言编程,包含33个汇编子程序,与机器硬件直接相关的部分,如中断处理、系统启动等,为了提高效率,有些频繁使用的基本过程,也用汇编语言编写。
⑵C语言文件:共有28个,其中包括进程管理的主要过程,它们又可分成190个子程序 。文件可以独立编译,经装配程序连接装配后就可执行。
⑶C语言全局变量文件:共14个,其中含有结构的重要说明。 这类文件不能独立编译,而必须和某个C语言文件一起编译。
二、UNIX操作系统的主要特点 1。精巧的核心与丰富的实用层 UNIX系统在结构上分成内核层和实用层。
核心层小巧,而实用层丰富。核心层包括进程管理、存储管理、设备管理、文件系统几个部分。
UNIX核心层设计得非常精干简洁,其主要算法经过反复推敲,对其中包含的数据结构和程序进行了精心设计。因此,核心层只需占用很小的存储空间,并能常驻内存,以保证系统以较高的效率工作。
实用层是那些能从核心层分离出来的部分,它们以核外程序形式出现并在用户环境下运行 。这些核 外程序包含有丰富的语言处理程序。
UNIX支持十几种常用程序设计语言的编译和解释程序,如C、APL、FORTRAN77、PASCAL、SNOBOL、COBOL、BASIC、ALGOL68等语言及其编译程序。 还包括其他操作系统常见的实用程序,如编辑程序、调试程序、有关系统状态监控和文件管理的实用程序等。
UNIX还有一组强有力的软件工具,用户能比较容易地使用它们来开发新的软件。这些软件工具包括:用于处理正文文件的实用程序troff,源代码控制程序SCC S(Source Code Control System),命令语言的词法分析程序和语法分析程序的生成程序LEX(Generator of Lexical Analyzers)和YACC(Ye t Another Compiler Compiler)等。
另外,UNIX的命令解释程序Shel l也属于核外程序 。正是这些核外程序给用户提供了相当完备的程序设计环境。
UNIX的核心层向核外程序提供充分而强有力的支持。核外程序则以内核为基础,最终都使用由核心层提供的低层服务,它们逐渐都成了“UNIX系统”的一部分。
核心层和实用层两者结合起来作为一个整体,向用户提供各种良好的服务。 2。
使用灵活的命令程序设计语言Shell Shell首先是一种命令语言。UNIX 的200多条命令对应着200个实用程序。
Shell 也是一种程序设计语言。它具有许多高级语言所拥有的控制流能力,如if、for、while、until、case语句,以及对字符串变量的赋值、替换、传替参数、命令替换等能力。
用户可以利用这些功能用Shell语言写出“Shell”程序存入文件。 以后用户只要打入相应的文件名就能执行它。
这种方法易于系统的扩充。 3。
层次式文件系统 UNIX系统采用树型目录结构来组织各种文件及文件目录。这样的组织方式有利于辅助存储器空间分配及快速查找文件,也可以为不同用户的文件提供文件共享和存取控制的能力,且保证用户之间安全有效的合作。
4。文件和设备统一看待 UNIX系统中的文件是无结构的字节序列。
在缺省情况下,文件都是顺序存取的,但用户如果需要的话,也可为文件建立自己需要的结构,用户也可以通过改变读/写指针对文件进行随机存取。 UNIX将外围设备与文件一样看待,外围设备如同磁盘上的普通文件一样被访问、共享和保护。
用户不必区分文件和设备,也不需要知道设备的物理。
2.怎样使用Unix命令行模式高效地进行文本编辑?
简单研究一下可节省时间和精力的一些基本命令行文本编辑程序。
文本编辑操作通常在文本编辑器应用程序中交互式地进行。然而,有些任务可以直接从 UNIX® 命令行方便快捷地完成。
此外,还可以在脚本中使用这些单命令行程序来自动化各种编辑过程。 大多数 UNIX® 开发人员都选择 Emacs、vi 或这两个文本编辑应用程序的众多变种、分支和克隆之一。
操作员通常在所选的文本编辑器中打开文件,并交互式地对文件指定和应用更改。 但是与在文本编辑器中打开文件相比,您通常可以在命令行更快地完成编辑工作。
复杂的编辑过程可以从命令行进行编程和指定,并跨多个文件执行,从而消除所有不必要的屏幕显示、光标移动和与文件的人工交互。 一种很好的策略是在手边保留一些相关的命令行程序,以完成常见的编辑工作。
它们不仅可以为您节省时间(尤其是在涉及到多个文件的批处理操作中),而且您还可以在脚本中使用它们。 用于编辑和处理文本的单命令行程序是 Perl 和 AWK(以及最近的 Ruby)语言(当然还包括 Shell)中有名的传统功能。
本文使用在所有系统上都随时可用的三个最主要的命令行编辑工具来演示基本的文本编辑技术:cat、ed 和 sed。下面的编辑示例首先从最简单和最常见的构造开始,并逐步过渡到较复杂的构造。
使用 cat 进行编辑 使用 cat(其名称表示“连接”)来连接文件和标准输入流,如清单 1 所示。 世界上的懒鬼们还将它用作通用分页程序 (cat file) 和完整的文本编辑环境 (cat > file)。
其语法的简单性无与伦比,而且对于文本编辑单命令行程序,它还为您提供了无需编辑器即可追加或插入文本的快捷方法。 清单 1。
使用 cat 来连接文件和标准输入流 $ (cat - input1 - input2 - input3 - input4) | mailx ted Ted, Take a look at these example files。 This is the first file 。
Ctrl-D This is the second file 。
Ctrl-D This is the third file -- note the fourth paragraph below 。
Ctrl-D And here's the last file 。
Ctrl-D $ 将文本添加到文件结尾 然而,懒鬼也是讲策略的。
当您需要将文本追加到文件结尾时,再没有比使用 cat 更快的方法了: $ cat >> file > line > line > line Ctrl-D $ 当您在添加行时,按 Ctrl-U 可以删除当前行,按 Ctrl-Z 可以挂起该过程,按 Ctrl-C 可以中止所有操作。 当您完成编辑时,可以在各行上按 Ctrl-D。
(存在一些缺省的 Korn Shell 控制键,但它们适用于大多数 Shell 和编辑模式。) 以上是我对于这个问题的解答,希望能够帮到大家。
3.关于黑客技术,我想问怎样入侵UNIX、Linux系统服务器?
在回答你这个问题之前,我需要告诉你——入侵网站绝对是非法的;但是在网络上找到网站的入侵漏洞并通知该网站是受到欢迎的。
为什么要这样寻找入侵漏洞去入侵呢,著名的黑客Hackalot说过,“入侵网站是利用所学的知识来学习新的知识的一种办法”,这也就是中国人所常说的“温故而知新”。 原理: 尽管为服务器设计软件的软件工程师想方设法提高系统的安全性,然而由于系统管理员水平的参差不齐或安全意识低下,往往给我们提供了入侵的机会。
分析一部分主页被黑的事例可以发现使用入侵者最热衷于入侵Web服务器和FTP服务器,因为相对来说这是最简单的两种途径。 在假设你对UNIX系统和WEBSERVER的知识不曾了解的情况下,大概有下面的步骤:(注:以下全部内容仅供理论上讨论参考,严禁模仿,否则后果自负)。
一、了解要入侵的系统 现在网络上用作服务器的操作系统以UNIX和Linux为主流,如果要入侵这些系统则必须对它们有一个了解。 大部份在DOS上使用的指令在UNIX及Linux上都有对应的指令(因为早期的dos开发借鉴了UNIX),以下列出在使用SHELL帐号(shellaccount)时最主要的一些指令对应的dos指令: HELP=HELP CP=COPY MV=MOVE LS=DIR RM=DEL CD=CD 要看谁同时也在该系统上用户可以键入WHO指令,要知道系统上某一位使用者的资料,可以键入FINGER。
这些基本的UNIX指令可以让你得到正使用的系统信息。 二、破解密码 在UNIX操作系统中,所有系统使用者的密码都存放在一个文件中,这个文件存放在/etc这个目录下面,它的文件名就叫做passwd。
如果你认为所要做的工作就是拿到这个文件按照上面的密码登陆系统的话那就大错特错了。 UNIX和Linux下的passwd文件是特殊的,在它里面所有帐号的密码都已经经过重新编译的(也就是前面说过的DES加密方法),而且这些密码所进行的都是单向编译,也就是说没有办法可以反编译它的。
但是还是有些程序可以得到这些原始的密码。 我推荐一个破解密码的程序“CrackerJack”,它也是一个使用字典来对字典文件进行穷举的软件。
首先“CrackerJack”会把字典文件里的每一个值进行编译,然后将编译过的值与密码文件中的内容进行比较,得到相同的结果就会报告对应的未经编译密码。 这个软件巧妙的绕过密码无法反编译的限制,使用穷举比较获得密码。
使用这种原理获得密码的工具有许多,你可以到网络上去搜寻一下。 三、获得密码文件 这是最困难的一部分。
很明显,如果管理员有那么一个密码文件的话他当然不会放在那里让其它人舒舒服服的拿到的。 入侵者必须找到好方法以不进入系统的方式拿到密码文件。
这里我推荐两种方法: 目录在FTP服务上不会被锁住,入侵可以用FTPclient程序使用anoymously匿名帐号登陆,然后检查一下/etc/passwd是否为匿名设置了被读取的权限,如果有马上备份下来使用软件解码。 2。
些系统中,/cgi-bin目录下会有个叫PHF的文件,如果准备入侵的服务器上有的话那就要方便的多了。因为PHF允许使用者对网站系统里的文件作远端读取,以此为据,用户可以使用浏览器抓取passwd文件,只要在浏览器地址栏中键入URL: 如果这两种方法都行不通的话,那入侵者必须实施其它的办法了。
在有些情况下入侵者找到的密码文件的第二部分是X、!或者*,那么说明该密码文件已经被锁死,这是系统管理员使用的加强安全的手段之一。但是将密码文件完全隐藏起来的情况是不太有的。
通常情况下都会有未经锁死的密码文件备份在系统中,这样入侵者就可以加以利用,比如:入侵者通常会寻找/etc/shadow目录或类似的目录,看能否找到密码文件的备份。 四、建立自己的shell帐号 经过二、三两个关键的步骤入侵者终于拿到了关键的密码文件,并且破解出了密码。
现在可以运行TELNET程序,登陆主机了。当连上服务器时服务器会向你显示自己的一些信息,通常是UNIX、linux、aix、irix、ultrix、bsd甚至是DOS和VAX/Vms;然后是Login提示符出现在屏幕上,这时键入得来的帐号和密码即可登陆系统。
此时入侵者就可以利用自己的UNIX知识做自己喜欢做的事了。 最后对一份密码文件做一个分析,该文件内容如下: root:1234aaab:0:1:Operator:/:/bin/csh nobody:*:12345:12345::/: daemon:*:1:1::/: sys:*:2:2::/:/bin/csh sun:123456hhh:0:1:Operator:/:/bin/csh bin:*:3:3::/bin: uucp:*:4:8::/var/spool/uucppublic: news:*:6:6::/var/spool/news:/bin/csh audit:*:9:9::/etc/security/audit:/bin/csh sync::1:1::/:/bin/sync sysdiag:*:0:1:OldSystem Diagnostic:/usr/diag/sysdiag:/usr/diag/sysdiag/sysdiag sundiag:*:0:1:System Diagnostic:/usr/diag/sundiag:/usr/diag/sundiag/sundiag tom:456lll45uu:100:20::/home/tom:/bin/csh john:456fff76Sl:101:20:john:/home/john:/bin/csh henry:AusTs45Yus:102:20:henry:/home/henry:/bin/csh harry:SyduSrd5sY:103:20:harry:/home/harry:/bin/csh steven:GEs45Yds5Ry:104:20:steven:/home/steven:/bin/csh +::0:0::: 其中以“:”分成几个栏位,比如: tom:456lll45uu:100:20:tomchang:/home/tom:/bin/csh的含义是: UserName:tom Password:456。
4.unix系统如何安装
第一步:先下载一个启动盘软件放在我们的U盘里(像是现在比较有名的u深度和老毛桃U盘系统安装软件都可以)。
然后在在网上找到一个unix系统的系统镜像,下载在我们的U盘里备用就可以了。 第二步:在U盘里打开我们下载的U盘系统安装软件,双击进行安装,?在出现的对话框中点击接受协议内容,之后会让我们选择安装系统的类型,这一步很重要喔,大家可不要一时手快点错了,这里我们选择CentOS就可以了,点击完成,然后我们再选择一下我们刚开始下载的镜像、在右侧的复选框内打钩,最后点击开始制作就可以了。
第三步:U盘制作完成之后,我们将U盘插在电脑的usb接口上,然后将电脑重启,重启开机的时候我们进入boos模式(进入该模式每个电脑的方法不一,大家根据电脑品牌和型号在网上搜一下就行)选择U盘启动。电脑就会进入U盘系统的页面,找到一键装系统文件,找到一开始下载好的unix系统的镜像文件,点击打开即可,然后在一键装系统页面点击安装就可以了。
静静等他安装好就可以了。
5.windows10bash怎么创建unix账户
具体方法如下:
1、没安装Bash的用户可以按照之前介绍的方法,先在设置→更新和安全→针对开发人员中选择“开发人员模式”,点击后会下载“开发人员模式包”,如下图 ——
Win10
但有时这个包会下载不成功,出现如下图提示——
2、此时也无需担心,上一步如果不顺利,可以在后续步骤中弥补。此时进入控制面板→程序和功能→启用或关闭Windows功能,勾选“适用于Linux的Windows子系统(Beta)”,点击“确定”后安装,如下图——
Win10
3、安装后需要重启,然后打开命令提示符,执行如下命令即可开启(可直接在管理员模式下输入Bash命令开启):
C:windowssystem32bash.exe
4、如果第一步安装不顺利,此时可能就需要从商店下载所需组件,顺利与否还得看网络状况,IT之家测试中就遇到如下“鬼畜”情况:
Win10
5、由上图可见,下载安装的过程中需要用户创建Unix账户,因此要设定账户密码,在输入密码的过程中,密码文字不可见,需要输入两遍,你心里要有数,设置成功后就可以使用了
6、功能命令可用bash --help来查询,在使用的话要在前面加上“bash”,例如:
bash --debug
bash --init-file
bash --version
Win10
7、如果要运行Linux命令,可采用如下格式(注意 c 和前引号间的空格,如上图):
bash -c “linux命令”
例如:
bash -c “echo Hello from IThome”
bash -c “ls /mnt/c”
bash -c “lsb_release -a”
6.windows10bash怎么创建unix账户
具体方法如下: 1、没安装Bash的用户可以按照之前介绍的方法,先在设置→更新和安全→针对开发人员中选择“开发人员模式”,点击后会下载“开发人员模式包”,如下图 —— Win10 但有时这个包会下载不成功,出现如下图提示—— 2、此时也无需担心,上一步如果不顺利,可以在后续步骤中弥补。
此时进入控制面板→程序和功能→启用或关闭Windows功能,勾选“适用于Linux的Windows子系统(Beta)”,点击“确定”后安装,如下图—— Win10 3、安装后需要重启,然后打开命令提示符,执行如下命令即可开启(可直接在管理员模式下输入Bash命令开启): C:windowssystem32bash.exe 4、如果第一步安装不顺利,此时可能就需要从商店下载所需组件,顺利与否还得看网络状况,IT之家测试中就遇到如下“鬼畜”情况: Win10 5、由上图可见,下载安装的过程中需要用户创建Unix账户,因此要设定账户密码,在输入密码的过程中,密码文字不可见,需要输入两遍,你心里要有数,设置成功后就可以使用了 6、功能命令可用bash --help来查询,在使用的话要在前面加上“bash”,例如: bash --debug bash --init-file bash --version Win10 7、如果要运行Linux命令,可采用如下格式(注意 c 和前引号间的空格,如上图): bash -c “linux命令” 例如: bash -c “echo Hello from IThome” bash -c “ls /mnt/c” bash -c “lsb_release -a”。
转载请注明出处windows之家 » win10如何进行unix开发