shell心得体会

shell心得体会
shell心得体会

shell心得体会

篇一:Linux心得体会

《Linux操作系统》学习心得体会

姓名:杜昕

学号:XX441789

班级:计科普1004班

一、摘要

Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。因为我是学习嵌入式方向的,这学期就选修了这门专业任选课。为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。眼看这个学期的Linux课程已经告一段落了,我觉得有必要写一遍心得体会来总结一下这学期对着门课程的学习。

关键词:Linux、嵌入式、心得

二、Linux简介

Linux是一种广泛使用的类UNIX操作系统,它不仅可以在Intel,AMD等系列个人计算机上运行,也可以运行在许多工作站上。它是真正多用户、多任务操作系统,他继承了UNIX系统的主要特征,具有强大的信息处理功能,特别在Internet和Intranet应用中占有明显优势。

1991年,芬兰赫尔辛基大学的学生Linux Torvalds在Inter386个人计算机上开发了Linux核心,并利用互联网发布了源代码,从而创建了Linux操作系统。之后,许多系统软件设计专家共同对它进行改进和提高。到现在为止,Linux 已成为具有全部UNIX特征、与POSIX兼容的操作系统。

Linux的功能强大而全面,与其他操作系统相比,具有一系列显著特点:

(1)与UNIX系统兼容。

(2)自由软件和源码公开。

(3)性能高和安全性强。

(4)便于定制和再开发。

(5)互操作性高。

(6)全面的多任务和真正的32位操作系统。

当今的Linux有两种版本:核心版本和发行版本。其中核心版本主要是Linux的内核。其官方版本由Linux Torvalds本人维护着。发行版本是各个公司推出的版本,他们与核心版本是各自独立发展的。常见的发行版本有以下7种:

(1)Red Hat Linux/ Fedora Core

(2)Debian

(3)Ubuntu

(4)Slackware

CRT常用命令

SecureCRT 常用命令 2010年4月26日 | 分类: Linux | 标签: SecureCRT 常用命令: 一、ls 只列出文件名(相当于dir,dir也可以使用) -A:列出所有文件,包含隐藏文件。 -l:列表形式,包含文件的绝大部分属性。 -R:递归显示。 –help:此命令的帮助。 二、cd 改变目录 cd /:进入根目录 cd :回到自己的目录(用户不同则目录也不同,root为/root,xxt为/home/xxt cd ..:回到上级目录 pwd:显示当前所在的目录 三.less 文件名:查看文件内容。 四.q 退出打开的文件。 五.上传文件: rz 选择要传送的文件,确定。 六.下载文件: sz 指定文件名,enter敲,即下载到了secureCRT/download目录下。 七:删除文件: rm 删除文件,rmdir 删除空目录。 八.显示最近输入的20条命令:history 20 九.获得帮助命令–help查看命令下详细参数:如:rz –help , sz –help 。 十.cd 进入某个文件夹的命令: mkdir+文件夹名创建某个文件夹的命令 sz+文件名从服务器端向本机发送文件的命令 rz 从本机向服务器端传送文件的命令 ll 列出当前目录下的所有文件,包括每个文件的详细信息 dir 对当前文件夹 vi 打开当前文件 十一.在编辑某个文件的时候: a 切换到编辑模式 ctrl+c 退出编辑模式

dd 删除整行 :q 退出当前文件 :w 写入并保存当前文件 -f 强行xx的参数。。。 其它命令: 1.ps -ef //查看server的进程,以列表形式显示的server进程。 ps 显示当前在系统运行的进程 /usr/bin/ps [选项] -e 显示每个现在运行的进程 -f 生成一个完全的列表 实际操作: ————————————– 1 SSH客户端连接到10.5.1.55系统(参见《启动远程客户端说明SecureCRT.doc》) $ cd /home/bea2/user_projects/csdomain/bin 2 查看weblogic92服务进程 $ ps -eaf | grep weblogic bea2 327926 331940 0 13:08:45 pts/4 0:00 grep weblogic webadmin 421908 368956 0 Sep 24 - 4:13 /usr/java5_64/bin/java -Xms256m -Xmx512m -da -Dplatform.home=/home/weblogic/bea/weblogic92 -Dwls.home=/home/weblogic/bea/weblogic92/server -Dwli.home=/home/weblogic/bea/weblogic92/integration -Dweblogic.management.discover=true -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/home/weblogic/bea/patch_weblogic923/profiles/de fault/sysext_manifest_classpath https://www.360docs.net/doc/3d17801156.html,=AdminServer -Djava.security.policy=/home/weblogic/bea/weblogic92/server/lib/webl ogic.policy weblogic.Server bea2 491796 385044 17 00:12:50 pts/6 182:55 /usr/java5_64/bin/java -Xms6g -Xmx8g -javaagent:/home/bea2/user_projects/csdomain/Introscope/wily/Agent.j ar -Dcom.wily.introscope.agentProfile=/home/bea2/user_projects/csdomain /Introscope/wily/IntroscopeAgent.profile -Dcom.wily.introscope.agent.agentName=AdminServer -da -Dplatform.home=/home/weblogic/bea/weblogic92 -Dwls.home=/home/weblogic/bea/weblogic92/server -Dwli.home=/home/weblogic/bea/weblogic92/integration

Shell命令

Shell Shell 就是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。 4.1.1 Shell 的基本概念 1. 什么是S hell Shell 就是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。Shell 在L inux 系统中具有极其重要的地位,如图4-1 所示

第 4 章 Shell 与 V i 编辑器 - 71 - diff grep vi multitasking sh gcc device hardware interface kernn e l TCP/IP stack bash utilii t es 图 4-1 Linux 系统结构组成 2. Shell 的功能 Shell 最重要的功能是命令解释,从这种意义上来说,Shell 是一个命令解释器。Linux 系统中的所有可执行文件都可以作为 Shell 命令来执行。将可执行文件作一个分类,如表 4-1 所示。 表 4-1 可执行文件的分类 部的解释器将其解释为系统功能调用并转交给内核执行;若是外部命令或实用程序就试图 在硬盘中查找该命令并将其调入内存,再将其解释为系统功能调用并转交给内核执行。在 查找该命令时分为两种情况: 用户给出了命令路径,Shell 就沿着用户给出的路径查找,若找到则调入内存,若没有 则输出提示信息; 用户没有给出命令的路径,Shell 就在环境变量 PATH 所制定的路径中依次进行查找, 若找到则调入内存,若没找到则输出提示信息。 图 4-2 描述了 S hell 是如何完成命令解释的。

最常用的Shell命令

Shell命令行操作 Linux shell 简介 Linux shell指的是一种程序,有了它,用户就能通过键盘输入指令来操作计算机了。Shell会执行用户输入的命令,并且在显示器上显示执行结果。这种交互的全过程都是基于文本的,与其他各章介绍的图形化操作不同。这种面向命令行的用户界面被称为CLI(Command Line interface)。在图形化用户界面(GUI)出现之前,人们一直是通过命令行界面来操作计算机的。 现在,基于图形界面的工具越来越多,许多工作都不必使用Shell就可以完成了。然而,专业的Linux用户认为Shell是一个非常有用的工具,学习Linux时一定要学习Shell,至少要掌握一些基础知识和基本的命令 启动shell 在启动Linux桌面系统后,Shell已经在后台运行起来了,但并没有显示出来。如果想让它显示出来, 按如下的组合键就可以: + + 组合键中的F2可以替换为 F3、F 4、F 5、F6。 如果要回到图形界面,则按如下组合键: + + 另外,在图形桌面环境下运行“系统终端”也可以执行Shell命令,与用组合键切换出来的命令行界面

是等效的。“系统终端”启动后是一个命令行操作窗口,可以随时放大缩小,随时关闭,比较方便,推荐使用。启动“系统终端”的方法是: 【开始】→【应用程序】→【附件】→【系统终端】 该软件允许建立多个Shell客户端,它们相互独立,可以通过标签 在彼此之间进行切换。 Shell命令基本规则 一般格式 Shell命令的一般格式如下: 命令名【选项】【参数1】【参数2】... 【选项】是对命令的特别定义,以减号(-)开始,多个选项可以用一个减号(-)连起来,如ls -l -a与 ls -la 相同。 【参数】提供命令运行的信息,或者是命令执行过程中所使用的文件名。 使用分号(可以将两个命令隔开,这样可以实现一行中输入多个命令。命令的执行顺序和输入的顺序 相同。 命令补全 在送入命令的任何时刻,可以按键,当这样做时,系统将试图补全此时已输入的命令。如果已 经输入的字符串不足以唯一地确定它应该使用的命令,系统将发出警告声。再次按键,系统则会给出可用来补全的字符串清单。使用命令补全功能,可以提高使用长命令或操作较长名字的文件或文件夹的都是非常有意义的。

ubuntu shell 使用命令大全

ubuntu shell 使用命令大全 前言 下面的命令大都需要在控制台/ 终端/ shell 下输入。 控制台, 终端, 和shell 意味着同样一件事- 一个命令行界面,他可以用来控制系统。 打开一个控制台: 应用程序--> 附件--> 终端 任何一个使用'sudo' 作为前缀的命令都需要拥有管理员(或root) 访问权限。所以你会被提示输入你自己的密码。 安装升级 查看软件xxx安装内容 dpkg -L xxx 查找软件库中的软件 apt-cache search 正则表达式 或 aptitude search 软件包 显示系统安装包的统计信息 apt-cache stats 显示系统全部可用包的名称 apt-cache pkgnames 显示包的信息 apt-cache show k3b 查找文件属于哪个包 apt-file search filename 查看已经安装了哪些包 dpkg -l 查询软件xxx依赖哪些包 apt-cache depends xxx 查询软件xxx被哪些包依赖 apt-cache rdepends xxx 增加一个光盘源 sudo apt-cdrom add 系统升级 sudo apt-get update (这一步更新包列表) sudo apt-get dist-upgrade (这一步安装所有可用更新) 或者 sudo apt-get upgrade (这一步安装应用程序更新,不安装新内核等) 清除所有已删除包的残馀配置文件 dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P 如果报如下错误,证明你的系统中没有残留配置文件了,无须担心。 dpkg: --purge needs at least one package name argument Type dpkg --help for help about installing and deinstalling packages [*]; Use `dselect' or `aptitude' for user-friendly package management; Type dpkg -Dhelp for a list of dpkg debug flag values; Type dpkg --force-help for a list of forcing options; Type dpkg-deb --help for help about manipulating *.deb files; Type dpkg --license for copyright license and lack of warranty (GNU GPL) [*]. Options marked [*] produce a lot of output - pipe it through `less' or `more' ! 编译时缺少h文件的自动处理 sudo auto-apt run ./configure 查看安装软件时下载包的临时存放目录

习题07_Shell编程

习题07_Shell编程 一、单选 1. 下面哪个命令是用来定义shell的全局变量( D )。 A. exportfs B. alias C. exports D. export 2.在Shell脚本中,用来读取文件内各个域的内容并将其赋值Shell变量的命令是(D )。 A. fold B. join C. tr D. read 3. 当字符串用双引号(’’)括起来时,SHELL将(C )。 A. 解释引号内的特殊字符 B. 执行引号中的命令 C. 不解释引号内的特殊字符 D. 结束进程 4. 以下哪个环境变量表示当前路径( B )。 A. PATH B. PWD C. HOME D. ROOT 5. shell不仅是(用户命令的解释器),它同时也是一种功能强大的编程语言,(bash )是Linux的缺省shell。 6. 编写的Shell程序运行前必须赋予该脚本文件(执行)权限。 7. 对于Shell脚本程序,若输入参数数量多于9个,则程序遍历每个参数可通过使用(shift )命令实现。 8. 为脚本程序指定执行权的命令及参数是( chmod a+x filename )。 9. 在shell编程时,使用方括号表示测试条件的规则是:方括号两边必有(空格)。 10. 输入了Shell命令的部分字符后按( tab )键可补全其余部分。 11.改变命令提示符的环境变量是(PS1 )。 11. grep -E '[Hh]enr(y|ietta)' file的功能是:(在文件File中查找Henry、henry、Henrietta或henrietta)。 12. 如下为命令终端下的一个截图: 则,以下两句的执行结果是:(the home path is $HOME )。 path=‘the home path is $HOME’ echo $path 13. 以下为程序名为prog的程序内容。则sh prog a b c d的执行结果为( C )。 set A B C D shift shift echo $1 三、简答 1. 下面给出了一个SHELL程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。

Shell脚本编程详解-吐血共享

第12章 Shell 脚本编程 ● Shell 命令行的运行 ● 编写、修改权限和执行Shell 程序的步骤 ● 在Shell 程序中使用参数和变量 ● 表达式比较、循环结构语句和条件结构语句 ● 在Shell 程序中使用函数和调用其他Shell 程序 12-1 Shell 命令行书写规则 ◆ Shell 命令行的书写规则 对Shell 命令行基本功能的理解有助于编写更好的Shell 程序,在执行Shell 命令时多个命令可以在一个命令行上运行,但此时要使用分号(;)分隔命令,例如: [root@localhost root]# ls a* -l;free;df 长Shell 命令行可以使用反斜线字符(\)在命令行上扩充,例如: [root@localhost root]# echo “ this is \ >long command ” This is long command 注意: “>”符号是自动产生的,而不是输入的。 12-2 编写/修改权限及执行Shell 程序的步骤 ◆ 编写Shell 程序 ◆ 执行Shell 程序 Shell 程序有很多类似C 语言和其他程序设计语言的特征,但是又没有程序语言那样复杂。Shell 程序是指放在一个文件中的一系列Linux 命令和实用程序。在执行的时候,通过Linux 操作系统一个接一个地解释和执行每条命令。首先,来编写第一个Shell 程序,从中学习Shell 程序的编写、修改权限、执行过程。

12-2-1 编辑Shell程序 编辑一个内容如下的源程序,保存文件名为date,可将其存放在目录/bin下。 [root@localhost bin]#vi date #! /bin/sh echo “Mr.$USER,Today is:” echo &date “+%B%d%A” echo “Wish you a lucky day !” 注意: #! /bin/sh通知采用Bash解释。如果在echo语句中执行Shell命令date,则需要在date 命令前加符号“&”,其中%B%d%A为输入格式控制符。 12-2-2 建立可执行程序 编辑完该文件之后不能立即执行该文件,需给文件设置可执行程序权限。使用如下命令。[root@localhost bin]#chmod +x date 12-2-3 执行Shell程序 执行Shell程序有下面三种方法: 方法一: [root@localhost bin]#./ date Mr.root,Today is: 二月 06 星期二 Wish you a lucky day ! 方法二: 另一种执行date的方法就是把它作为一个参数传递给Shell命令: [root@localhost bin]# Bash date Mr.root,Today is: 二月 06 星期二 Wish you a lucky day ! 方法三: 为了在任何目录都可以编译和执行Shell所编写的程序,即把/bin的这个目录添加到整个环境变量中。 具体操作如下: [root@localhost root]#export PATH=/bin:$PATH [root@localhost bin]# date Mr.root,Today is: 二月 06 星期二 Wish you a lucky day !

Linux 操作系统shell学习笔记 (linux系统)

Linux 操作系统shell学习笔记(linux系统) linux软件开发 No.001 文件安全与权限 1. umask 决定了新建文件的权限 2. 软链接(符号链接) ln -s source_path target_path No.002 find和xargs 1. find pathname -options [-print -exec -ok] 其中exec参数的命令格式:'command-' {} \; 注意必须包含【{} \;】 -perm 按权限来查找ex. find . -perm 755 -print -mtime 按修改时间来查找ex. find / -mtime -5 -print 更改时间5天以内 find / -mtime +5 -print 更改时间5天以前 2. xargs与-exec和-ok类似,但是限制更少,也更快 3种参数的命令:find . -name "*.c" -exec wc -l {} \; find . -name "*.c" -ok wc -l {} \; 每次执行命令前有提示 find . -name "*.c" | xargs wc -l No.003 后台执行命令 1. [crontab] [at] [&] [nohup]四种

No.004 文件名置换 1. 列出隐藏文件ex. ls .* No.005 shell输入与输出 1. echo输出时加上-n 参数不换行,ex. echo -n "aaaa" 2. tee 命令可以同时输出到屏幕和文件中ex. ls | tee file.out 3. 标准输入0 标准输出1 标准错误2 4. 将标准输出和标准错误输入到一个文件ex. command >file.out 2>&1 No.006 命令执行顺序 1. 命令1 && 命令2 命令1执行成功后才会执行命令2 2. 命令1 || 命令2 命令1执行失败后才会执行命令2 No.007 正则表达式 1. 正则表达式元字符及含义 ^ 只匹配行首 $ 只匹配行尾

操作系统shell命令解析器

一.程序概述 1.完成的任务 在Linux环境下编写一个简单的命令解释器即定义一个命令使它具有Linux中某些 命令的功能,可以实现获取用户输入的指令、可解析指令、可执行命令等功能,以 此来熟悉Linux编程环境,加强对Linux命令的理解及函数的运用。 2.遇到的困难及解决的问题 在程序设计过程中,遇到的困难主要有以下几个:一、系统函数调用问题;二、对 文件的操作;三、复制文件。 通过查阅Linux c函数库后,知道了如何调用系统函数,并解决了对文件的操作;而 文件的复制,则采用了如下思想:打开一个输入文件,创建一个输出文件,建立一 个BUF大小的缓冲区;然后在判断输入文件未完的循环中,每次读入多少就向输出 文件中写入多少,直到输入文件结束。 二.概念原理 1.基本概念 为用户提供了输入命令和参数,以此向Linux内核发送请求以便运行程序的界面系 统级程序。下图为Linux、UNIX系统层次结构图: 2.原理 解释用户输入的命令行,提交到系统内核处理,并将结果返回给用户。 三.详细设计 1.总体设计 运行程序后,首先初始化,显示系统有的命令,然后通过用while(1)循环,连续的 获取用户输入的命令,一直到用户输入quit退出循环,接着程序结束。 2.主要函数及功能 2.1 int init() 显示系统命令等信息。 int init()//初始化 { cout<<"*****************欢迎使用GPLinux*********************"<

linux操作系统之Shell编程

shell1.sh 显示日期和时间。 #!/bin/bash echo “current time is `date`” //date要加反引号 shell2.sh 显示文件名,并显示位置参数(执行时带一个参数)。(①$0是一个特殊的变量,它的内容是当前这个shell程序的文件名;②$1是一个位置参数,位置参数之间用空格分隔,shell取第一个位置参数替换程序文件中的$1,第二个替换$2,依次类推。) #!/bin/bash echo “the program name is $0” //$0是一个特殊的变数 echo “the first para is $1” //$1是一个位置参数 echo “the program exit” //执行时带一个参数如./shell2.sh abcd shell3.sh 判断并显示位置参数 #!/bin/bash if [ -d “$1”];then echo “$1 is directory ,existed” else echo “$1 does not exist ,now create it” mkdir $1 echo “$1 is created” fi //执行时带一个参数 shell4.sh 问候用户 #!/bin/bash user=`whoami` case $user in teacher) echo “hello teacher”;; root) echo “hello root”;; *) echo “hello $user,welcome” esac 1、求1+2+3+...+100的和是? #!/bin/bash

Linux Shell常用命令总结

1. find find pathname -options [-print -exec -ok] 让我们来看看该命令的参数: pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print find命令将匹配的文件输出到标准输出。 -exec find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' {} \;,注意{}和\;之间的空格,同时两个{}之间没有空格, 注意一定有分号结尾。 0) -ok 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行 find . -name "datafile" -ctime -1 -exec ls -l {} \; 找到文件名为datafile*, 同时创建实际为1天之内的文件, 然后显示他们的明细. find . -name "datafile" -ctime -1 -exec rm -f {} \; 找到文件名为datafile*, 同时创建实际 为1天之内的文件, 然后删除他们. find . -name "datafile" -ctime -1 -ok ls -l {} \; 这两个例子和上面的唯一区别就是-ok会在每个文件被执行命令时提示用户, 更加安全. find . -name "datafile" -ctime -1 -ok rm -f {} \; 1) find . -name 基于文件名查找,但是文件名的大小写敏感. find . -name "datafile*" 2) find . -iname 基于文件名查找,但是文件名的大小写不敏感. find . -iname "datafile*" 3) find . -maxdepth 2 -name fred 找出文件名为fred,其中find搜索的目录深度为2(距当前目录), 其中当前目录被视为第一层. 4) find . -perm 644 -maxdepth 3 -name "datafile*" (表示权限为644的, 搜索的目录深度为3, 名字为datafile*的文件) 5) find . -path "./rw" -prune -o -name "datafile*" 列出所有不在./rw及其子目录下文件名为datafile*的文件。 find . -path "./dir*" 列出所有符合dir*的目录及其目录的文件. find . \( -path "./d1" -o -path "./d2" \) -prune -o -name "datafile*" 列出所有不在./d1和d2及其子目录下文件名为datafile*的文件。 6) find . -user ydev 找出所有属主用户为ydev的文件。 find . ! -user ydev 找出所有属主用户不为ydev的文件,注意!和-user之间的空格。 7) find . -nouser 找出所有没有属主用户的文件,换句话就是,主用户可能已经被删除。 8) find . -group ydev 找出所有属主用户组为ydev的文件。

shell程序设计

shell编程 教学要点 1.深入理解shell概念。 2.掌握linux下shell程序设计流程。 3.理解shell程序与C程序设计的区别。 4.掌握shell程序设计中用户变量和表达式的使用方法。一.Shell编程概述 问题1:请各位同学在home目录下创建5个目录,目录名称分别为student0,student1,student2,student3,student4.且修改它们的权限为所有用户都具有完全的操作权限。 问题2:请各位同学在home目录下创建100目录,目录名称为class1—class100. 解决办法:通过一个shell脚本程序来实现,程序如下,用vi编辑器建立一个firstshell文件,内容如下: #!/bin/bash //指明该程序被那个shell来执行! cd /home/shelldir //进入home/shelldir目录 mkdir newdir //在shelldir目录下新建newdir目录

i=0 //给变量i赋初值 while [ $i –lt 50 ]; do //循环,判断i是否小于50,成立继续循环 let i=i+1 //让i变量值增加1 mkdir /home/shelldir/newdir/student$i //在newdir目录下创建student1到student50 chmod 754 /home/shelldir/newdir/student$i done 保存文件,退出vi,通过执行#chmod a+x firstshell修改文件权限,赋予文件可执行权限,通过#./firstshell或者#/bin/bash firstshell来执行程序,查看程序运行结果。 程序说明: 1.程序必须以下面的行开始(必须方在文件的第一行): #!/bin/bash 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/bash来执行程序。 2.当编辑好脚本时,如果要执行该脚本,还必须使其可执行。要使脚本可执行,必须为脚本添加可执行权限。

个人整理shell脚本编程笔记

shell脚本编程学习笔记(一) 一、脚本格式 vim shell.sh #!/bin/bash//声明脚本解释器,这个‘#’号不是注释,其余是注释 #Program://程序内容说明 #History://时间和作者 二、shell变量的种类 用户自定义变量:由用户自己定义、修改和使用 与定义变量:Bash与定义的特殊变量,不能直接修改 位置变量:通过命令行给程序传递执行的参数 1、定义变量: 变量名要以英文字母或下划线开头,区分大小写。 格式:变量名=值 输出变量:echo $变量名 2、键盘输入为变量内容: 格式:read [-p "信息"] 变量名 如:read -p "pewase input your name:" name 3、不同引号对变量的作用 双引号"":可解析变量,$符号为变量前缀。 单引号'':不解析变量,$为普通字符。 反引号``:将命令执行的结果输出给变量。 三、shell条件测试 1、test命令: 用途:测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0,否则为其他数字。 格式:test 条件表达式[ 条件表达式] (注意:[]与表达式之间存在空格) 2、常见的测试类型: 测试文件状态 格式:[ 操作符文件或目录] 如:if [ -d /etc ] then echo "exists" else echo "not exists" fi 常见的测试操作符: -d:测试是否为目录 -e:测试目录或文件是否存在 -f:测试是否为文件 -r:测试当前用户是否有读权限 -w:测试当前用户是否有写权限 -x:测试当前用户是否有执行权限

PowerShell基本语法及常用命令

PowerShell基本语法及常用命令 Powershell常用命令 1.Get-Command 得到Powshell所有命令 2.Get-Process 获取所有进程 3.Set-Alias 给指定命令重命名如:Set-Alias aaa Get-Command 4.Set-ExecutionPolicy remotesigned 设置powershell可直接执行脚本文件一般脚本文件以.ps1结尾执行脚本文件直接输入文件地址即可执行脚本文件中只写命令即可 5.Get-Help get-* 查询以get开头的命令Get-Help *service* Get-Help Get-Command 获取Get-Command命令的基本用法 6.Get-Member 获取对象属性如: $var | Get-Memeber 访问$var属性直接$var.T oString() PS中的变量定义 不需要定义或声明数据类型 在变量前加"$" 定义变量的规则 -变量可以是数字$123 -变量可以是字符串$abc -变量可以是特殊字符${@1b} 内置的变量 -$pshome -$home

-$profile 变量赋值: $var=123 $var="aaaaaa" 取变量值: $var 变量赋值方法:Set-Variable var 100 取值方法: Get-Variable var 清空值: Clear-Variable var 删除变量Remove-Variable var 取多个变量如var1 var2 var3地值: Get-Variable var* 另一种赋值方法$var1="bbb" $var2="$var $var1" 结果$var2="aaaaaa bbb" $var2='$var $var1' 结果$var2="$var $var1" $date=Get-Date 获取当前时间 $date.AddDays(3) 当前时间加3天 排序用法 Get-Process | Sort-Object ws 根据WS值由小到大排序 Get-Process | Sort-Object | fl Get-Process | Sort-Object | Format-List 以列表形式显示数据 导入导出文件 Get-Process > c:\aa.txt

操作系统实验报告(包括线程,进程,文件系统管理,linux+shell简单命令)

操作系统实验报告 班级:030613 学号:03061331 姓名:裴帅帅

实验一:进程的建立 一、实验内容 创建进程及子进程,在父子进程间实现进程通信,创建进程并显示标识等进 程控制块的属性信息,显示父子进程的通信信息和相应的应答信息。 使用匿名管道实现父子进程之间的通信。 二、源程序 1、创建匿名管道 SECURITY_ATTRIBUTES sa; sa.bInheritHandle=true; sa.lpSecurityDescriptor=NULL; sa.nLength=sizeof(SECURITY_ATTRIBUTES); if(!CreatePipe(&m_hRead,&m_hWrite,&sa,0)) { MessageBox("创建匿名管道失败"); return false; } 2、创建子进程 STARTUPINFO si; ZeroMemory(&si,sizeof(STARTUPINFO)); si.cb=sizeof(STARTUPINFO); si.dwFlags=STARTF_USESTDHANDLES; si.hStdInput=m_hRead; si.hStdOutput=m_hWrite; si.hStdError=GetStdHandle(STD_ERROR_HANDLE); if(!CreateProcess(NULL,"子 进.exe",NULL,NULL,true,0,NULL,NULL,&si,&pi)) { MessageBox("创建子进程失败"); CloseHandle(m_hRead); CloseHandle(m_hWrite); m_hRead=NULL; m_hWrite=NULL; return; } 3、销毁子进程 if(m_hRead) CloseHandle(m_hRead);

实验一Shell程序设计已完成

Shell程序设计 一、实验目的 1、了解和熟悉创建并使用脚本的步骤。 2、熟悉bash的控制结构。 3、学会简单的shell编程。 二、实验内容 1、创建一个简单的列目录和日期的shell 脚本并运行之。 2、用Shell 语言编制Shell 程序,该程序在用户输入年、月之后,自动打印数出该年该月的日历。 3、编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同则显示“Match”,并显示“End of program”,如果不同则显示“End of program”。 4、编程使用case 结构创建一个简单的菜单,屏幕显示菜单: a. Current date and time b. User currently logged in c. Name of the working directory d. Contents of the working directory Enter a,b,c or d: 三、实验步骤 1、创建一个简单的列目录和日期的shell脚本并运行之。 步骤: 键入下列命令,创建一个新文件: (1)cat >new_script (2)输入下列行: echo Your files are ls echo today is date 按回车键将光标移到一个新行,按ctrl + D 键保存并退出。 (3)检查文件内容,确保它是正确的: #cat new_script (4)运行脚本,输入它的文件名: #new_script 该脚本不运行。 (5)输入下列命令,显示文件的权限: #ls -l new_script 权限表明该文件不是可执行。要通过简单调用文件名来运行脚本,必须有权限。 (6)输入下列命令,使new_script变成可执行文件。 chmod +x new_script (7)要查看新的权限,输入: ls-l 现在拥有文件的读、写和执行权限。 (8)输入新脚本的名字以执行它: new_script 所有输入到文件的命令都执行,并输出到屏幕上。

Linux 操作系统Shell常用命令总结 (linux系统)

Linux 操作系统Shell常用命令总结(linux系统) linux软件开发 1. find find pathnam e -options [-print -exec -ok] 让我们来看看该命令的参数: pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print find命令将匹配的文件输出到标准输出。 -exec find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' {} \;,注意{}和\;之间的空格,同时两个{}之间没有空格, 注意一定有分号结尾。 0) -ok 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行 find . -name "datafile" -ctime -1 -exec ls -l {} \; 找到文件名为datafile*, 同时创建实际为1天之内的文件, 然后显示他们的明细. find . -name "datafile" -ctime -1 -exec rm -f {} \; 找到文件名为datafile*, 同时创建实际为1天之内的文件, 然后删除他们. find . -name "datafile" -ctime -1 -ok ls -l {} \; 这两个例子和上面的唯一区别就是-ok会在每个文件被执行命令时提示用户, 更加安全. find . -name "datafile" -ctime -1 -ok rm -f {} \; 1) find . -name 基于文件名查找,但是文件名的大小写敏感. find . -name "datafile*" 2) find . -iname 基于文件名查找,但是文件名的大小写不敏感. find . -iname "datafile*"

LinuShell程序设计实验

Linux shell程序设计实验指南 请在vi中逐一编辑并执行以下10个shell脚本程序,然后结合所学知识和程序的输出分析各程序中各语句的含义: 1.编写一个简单的回显用户名的shell程序。 #!/bin/bash #filename:date echo "Mr.$USER,Today is:" echo 'date' echo Whish you a lucky day! 2.使用if-then语句创建简单的shell程序。 #!/bin/bash #filename:bbbb echo -n "Do you want to continue: Y or N" read ANSWER if [ $ANSWER=N -o $ANSWER=n ] then exit fi 3.使用if-then-else语句创建一个根据输入的分数判断是否及格的shell程序。 #!/bin/bash #filename:ak echo -n "please input a score:" read SCORE echo "You input Score is $SCORE" if [ $SCORE -ge 60 ]; then echo -n "Congratulation!You Pass the examination." else echo -n "Sorry!You Fail the examination!" fi echo -n "press any key to continue!" read $GOOUT 4.使用case语句创建一个菜单选择的shell程序。 #!/bin/bash #filename:za #Display a menu echo _ echo "1 Restore"

shell常用命令

目录 一、目录操作 a) ls--查看文件/目录: 常用:ls –l 查看详细文件列表 b) pwd--查看当前目录: c) cd--改变工作目录: 常用①:cd ../ 跳转到上一级目录 常用②:cd /boot/ 跳转到指定目录 d) mkdir--创建目录: 常用:mkdir 123 创建一个空文件夹 e) rm--删除文件/目录: 常用: rm -rf 123 删除目录文件夹,并且目录下的文件一并删除。 f) mv--移动文件/目录改名、移动: 移动文件: mv 1.sh ./123 → mv 目标文件移动至某目录 重名命文件:mv 1.sh 123.sh → mv 原文件欲改后文件 g) ln--建立软连接和硬连接: 软连接:ln -s 123.sh ../ → ln -s 源文件欲放置路径 硬连接:ln 123.sh ../ → ln 源文件欲放置路径 h) rmdir--删除空目录: 二、文件操作 a)cat--查看文件内容,若文件不存在,创建对应文件: 常用:cat 1.txt b)cp--拷贝文件、目录: 备份:cp 123.sh 1.sh → cp 源文件目标文件 复制至某路径:cp 123.sh ../ → cp 源文件目标路径 c)chmod--修改文件权限: 常用:chmod 777 1.sh 给1.sh最高权限 一般模式:chmod +rw 1.sh 仅当前用户下1.sh具有可读写权限 d)touch--创建文件: 常用:touch ./1.sh → touch 路径+名称 f)vim--创建并打开文件: 常用:vim ./1.sh → vim 路径+名称 g)find--在指定目录查找符合条件的文件: 以[文件名+类型]寻找:find ./ -name “*.*”→ find 路径 -nama

操作系统模拟试题及答案

单选题 1. 操作系统内核与用户程序、应用程序之间的接口是(C )。 A shell命令 B 图形界面 C 系统调用 D C语言函数 2. CPU状态分为核心态和用户态,从用户态转换到核心态的途径是(C)。 A 运行进程修改程序状态字 B 中断屏蔽 C 系统调用 D 进程调度程序 3. 在计算机系统中,操作系统是( A )。 A 处于裸机之上的第一层软件 B 处于硬件之下的低层软件 C 处于应用软件之上的系统软件 D 处于系统软件之上的用户软件 4. 有9个生产者,6个消费者,共享容量为8的缓冲区。在这个生产者-消费者问题中,互斥使用缓冲区的信号量mutex的初值应该为(A)。 A 1 B 6 C 8 D 9 5. 如果信号量S的值是0 , 此时进程A执行P(S)操作,那么,进程A会(B)。 A 继续运行 B 进入阻塞态,让出CPU C 进入就绪态,让出CPU D 继续运行,并唤醒S队列头上的等待进程 6. 下列进程状态的转换中,不正确的是(A)。 A 从就绪到阻塞 B 从运行到就绪 C 从就绪到运行 D 从阻塞到就绪 7. 在操作系统中,JCB是指( C )。 A 文件控制块 B 进程控制块 C 作业控制块 D 程序控制块

8. Linux系统中的shell是负责(A)的模块。 A 解释并执行来自终端的命令 B 解释并执行来自终端的内部命令 C 解释并执行来自终端的外部命令 D 进行系统调用 9. 为了保证系统的吞吐量,系统总是力争缩短用户作业的(D)。 A 执行时间 B 提交时间 C 输入时间 D 周转时间 10. 虚拟存储器的最大容量(B)。 A 为内外存容量之和 B 由计算机的地址结构决定 C 是任意大的 D 由作业的地址空间决定 11. 下列存储器中,速度最快的是(C)。 A 高速缓存Cache B 内存 C CPU内部寄存器 D 硬盘 12. 在请求分页存储管理中,若采用FIFO页面淘汰算法,则当分配的页面数增加时,缺页中断的次数(D)。 A 减少 B 增加 C 无影响 D 可能增加也可能减少 13. 由一串字符序列组成,文件内的信息不再划分可独立的单位,这是指( A )。 A 流式文件 B 记录式文件 C 顺序文件 D 链接文件 14. 文件名与(B)的转化是通过文件目录来实现的 A 逻辑地址 B 物理地址 C 文件内部名 D 文件记录 15. 在UNIX系统中,某文件的使用权限设置为754,则表示( A )。

相关文档
最新文档