Linux 下的read命令
Linux的五个查找命令
$ locate ~/m 搜索用户主目录下,所有以m开头 的文件。
$ locate -i ~/m 搜索用户主目录下,所有以m开头 的文件,并且忽略大小写。
3. whereis whereis命令只能用于程序名的搜索,而 且只搜索二进制文件(参数-b)、man说 明文件(参数-m)和源代码文件(参数s)。如果省略参数,则返回所有信息。 whereis命令的使用实例:
$ find . -name "my*" -ls 搜索当前目录中,所有文件名以my开头的文 件,并显示它们的详细信息。
$ find . -type f -mmin -10 搜索当前目录中,所有过去10分钟中更新过 的普通文件。如果不加-type f参数,则搜索普 通文件+特殊文件+目录。
2. locate locate命令是“find -name”的另一种写法, 但是要比后者快得多,原因在于它不搜索 具体目录,而是搜索一个数据库 (/var/lib/locatedb),这个数据库中含有 本地所有文件信息。
Linux系统自动创建这个数据库,并且每天 自动更新一次,所以使用locate命令查locate之前,先使用updatedb命 令,手动更新数据库。
locate命令的使用实例:
$ locate /etc/sh 搜索etc目录下所有以sh开头的文件。
linux文件与目录的基本操作、linux命令(cp、tar、归档、ls、cd、tr、su、more、less
-m 横向显示目录下的文件,文件名之间以逗号分隔。
Ls –l 以长格式显示
自己的权限可读可写
作者权限
所属组权限
其他人权限
文件所有者 所属的组 文件类型 d表示目录 -表示文件 l表示连接
R w x
指定权限:
[root@localhost home]# mkdir dir2 -m 755
-p
创建多级目录,同时可创建它的子目录
[root@localhost dir2]# mkdir -p d1 d2 d3
cd 文件目录
4)、 mkdir touch(创建文件)
语法: mkdir [参数] 目录名[目录名]
目录加上绿色必须有x权限 能用cd命令
文件创建之后,没有x权限
参数:-m
4 2 1
-l:以长格式显示
- rwx rw- r--
文件类型 作者权限 所属组权限 其他人权限
111 110 100
用rm删除目录时不能删除子目录,必须加上 -r 这个参数才可以 递归删除 ctrl+c 停止删除 强制删除目录 rm –f
对于连接文件,只是删除了连接,原有文件均保持不变。
6)、建立连接文件: ln命令
1)、cd 更改的路径名
cd / 根目录
cd .. 上级目录
2)、ls 显示文件(目录)信息
帮助信息:man ls ls --help (有中文)
参数:
-a 显示所有文件,包括以.开头的隐藏文件
/opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的Linux 系统中,习惯放置在/usr/local 目录下
Linux常用路由命令
Linux常⽤路由命令linux永久添加静态路由有两种⽅法添加路由的命令:1.route addroute add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 #添加⼀条静态路由route add default gw 192.168.0.1 #添加默认路由route del -net 192.168.1.0 /24 gw 192.168.0.1 #删除⼀条路由route -n #查看路由表2.ip ro addip ro add 192.56.76.0 /24 dev 192.168.0.1 #添加⼀条静态路由ip ro add default via 192.168.0.1 dev eth0 #添加默认路由ip ro del 192.168.1.0/24 #删除⼀条路由 ip route show #查看路由表常见参数:add 增加路由del 删除路由via ⽹关出⼝IP地址dev ⽹关出⼝物理设备名让路由重启服务器后依然⽣效:1.在/etc/rc.local⾥⾯添加:添加路由命令为:直接将在命令⾏操作的命令复制到该⽂件中,保存退出即可。
2.在/etc/sysconfig/static-routes⽂件⾥⾯写⼊:如果该⽂件不存在,则⼿动创建,添加内容格式为:参照/etc/init.d/network⽂件⾥⾯的shell语句:# Add non interface-specific static-routes.if [ -f /etc/sysconfig/static-routes]; then grep "^any" /etc/sysconfig/static-routes | while read ignore args;do /sbin/route add -$argsdonefi则,如果要添加⼀条静态路由,命令为:route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0那么,在/etc/sysconfig/static-routes⽂件中添加格式为:any -net 192.56.76.0 netmask 255.255.255.0 dev eth0两种⽅式添加静态路由对⽐:1.rc.local:重启服务器⽣效;重启⽹络服务,则静态路由失效;rc.local是系统启动后最后运⾏的⼀个脚本,因此如果有如NFS需要⽹络才能挂载的服务需求,则该⽅式不适合;2.static-routes:重启服务器⽣效;重启⽹络服务⽣效:适合需要⽹络需求的服务;脚本添加静态路由的⽅法和rc.local就差不多了:这种⽅法其实也是⾃⼰写脚本,放在/etc/rc3.d/ 开头设置为S。
Linux文件描述符详解
Linux⽂件描述符详解Overview了解Linux怎样处理输⼊和输出是⾮常重要的。
⼀旦我们了解其原理以后,我们就可以正确熟练地使⽤脚本把内容输出到正确的位置。
同样我们也可以更好地理解输⼊重定向和输出重定向。
Linux标准⽂件描述符⽂件描述符缩写描述0STDIN标准输⼊1STDOUT标准输出2STDERR标准错误输出Linux系统将所有设备都当作⽂件来处理,⽽Linux⽤⽂件描述符来标识每个⽂件对象。
其实我们可以想象我们电脑的显⽰器和键盘在Linux系统中都被看作是⽂件,⽽它们都有相应的⽂件描述符与之对应。
其实我们与计算机之间的交互是我可以输⼊⼀些指令之后它给我⼀些输出。
那么我们可以把上⾯表格中的⽂件描述符0理解为我和计算机交互时的输⼊,⽽这个输⼊默认是指向键盘的; ⽂件描述符1理解为我和计算机交互时的输出,⽽这个输出默认是指向显⽰器的;⽂件描述符2理解为我和计算机交互时,计算机出现错误时的输出,⽽这个输出默认是和⽂件描述符1指向⼀个位置;就像我上⾯说的那样,既然它们是默认的,我就可以更改它们。
下⾯的命令就是把标准输出的位置改到xlinsist⽂件中:exec 1> xlinsist1这回如果我输⼊ls -al 或者ps命令,我们的终端将不会显⽰任何东西。
现在,我们可以新开⼀个终端查看xlinsist这个⽂件中是否有上⾯两个命令所显⽰的内容。
注意:你必须新开⼀个终端。
同样的道理,我们也可以改变标准输⼊的位置。
⾸先,我们先看看没改变的样⼦:vincent@geek:~/test$ read userxlinsistvincent@geek:~/test$ echo $userxlinsistvincent@geek:~/test$12345也就是我们从键盘输⼊把xlinsist读⼊到user变量。
这个read需要我输⼊。
现在,我要改变标准输⼊的默认位置:#我只是把当前的标准输出重定向到test⽂件中vincent@geek:~/test$ echo 'xlinsist' 1> testvincent@geek:~/test$ cat testxlinsist#我只是把当前的标准输⼊重定向到test⽂件中vincent@geek:~/test$ read user 0< testvincent@geek:~/test$ echo $userxlinsistvincent@geek:~/test$ 123456789从上⾯的read命令中可以看作,我并没有被要求输⼊什么。
linux中read的用法
linux中read的用法一、read命令的介绍Linux系统中的read命令是一个用于从标准输入设备中读取行的命令,它通常用于Shell脚本中获取用户输入的信息,例如读取用户的用户名和密码等。
它还可以用于将命令行参数读入变量。
read命令语法如下:```bashread [-options] [var]```参数说明:- `-a var`:将输入的数据按照空格分割后存入数组变量var中;- `-d delim`:指定输入结束符,如果输入的字符是delim中的字符,则read命令停止读取,否则继续读取,默认值为回车符;- `-e`:允许使用readline库中的快捷键进行输入;- `-n nchars`:最多只读取nchars个字符,然后结束读取;- `-p prompt`:在读取数据之前显示提示信息prompt;- `-r`:禁止反斜杠(\)的转义作用,即内容中的反斜杠将作为普通字符;- `-s`:静默输入,即不把读取到的数据显示在屏幕上;- `-t timeout`:设置输入的超时时间,单位为秒;- `-u fd`:从指定的文件描述符fd中读取数据,默认为0,即从标准输入设备中读取数据;- `var`:变量名,用于保存读取到的数据。
二、read命令的常见用法1. 读取用户输入我们通常在Shell脚本中使用read命令读取用户的输入,例如获取用户的用户名和密码,其语法如下:```bash#!/bin/bashread -p "请输入用户名:" user_nameread -s -p "请输入密码:" passwdecho -e "\n用户名:$user_name,密码:$passwd"```这段代码中,我们使用read -p选项指定提示信息,使用read -s选项静默输入密码,最后通过echo命令输出获取到的用户名和密码信息。
2. 读取命令行参数在Shell脚本中,我们可以使用$1、$2等变量来获取命令行参数,但是当命令行参数比较多时,这种方式就会显得比较麻烦。
Linux常用命令
Linux文件与目录介绍 3.1 Linux文件与目录介绍
3.1.5 文件操作权限
SUID和SGID用字母s表示,分别与文件主和同组用 户的“x”位组合,表示文件是否具有SUID或SGID位。组 合时,若该位无“x”权限有“s”权限,则用大写字母“S” 表示;若该位既有“x”权限又有“s”权限,则用小写字母 “s”表示。粘附位用字母t表示,与其他用户权限的“x” 位组合,若该位无“x”权限有“t”权限,则用大写字母 “T”表示;若该位既有“x”权限又有“t”权限,则用小 写字母“t”表示。举例如下: rwsr-Sr-T ///文件主具有读、写和执行权限,同时具 有SUID位;同组用户仅具有读权限,同时具有SGID位; 其他用户仅有读权限,同时具有粘附位。
Linux文件与目录介绍 3.1 Linux文件与目录介绍
3.1.1 Linux中的文件类型
5.命名管道文件 系统中进程之间以命名管道形式通信时所使用的一种文 件。在图形界面下,用水龙头形状的图标表示;在终端命令 ls中,用“p”表示。 6.socket文件 主机之间以socket形式通信时所使用的一种文件。在图 形界面下,用电源插头形状的图标表示;在终端命令ls中, 用“s”表示。
Linux文件与目录介绍 3.1 Linux文件与目录介绍
3.1.5 文件操作权限
三个扩展权限自成一组与基本权限一起构成每组3位共4 组二进制数字来表示文件的授权属性。用数字表示时,扩展 权限组在其他组前面,组内的顺序依次为SUID、SGID和 粘附位。举例如下: 5754 //第一组二进制数为101,表示有SUID位,无 SGID位,有粘附位,第二组二进制数为111,表示文件主 对文件具有rwx权限,第三组二进制数为101,表示同组用 户对文件有r权,无w权,有x权,第三组二进制数为100, 表示其它用户对文件具有r权,无w权,无x权。
linux命令行下打开浏览器
linux命令行下打开浏览器linux命令行下使用linux打开浏览器命令:linux命令行:Lynx浏览中文网页的方法:首先:按o键盘进入设定画面Display character set : [chinese] 如图B-4所示。
Assumed document character set(!): [euc-cn]图B-4 设置lynx内码然后使用"Accept Changes"选项保存。
下面下载安装运行zhcon软件包。
#wegt /sourceforge/zhcon/zhcon-0.2.3-1.i386.rpm #rpm -ivh zhcon-0.2.3-1.i386.rpm#zhcon最后就可以使用linux命令行:lynx浏览中文网页了。
应用实例如下。
linux命令行浏览本地网页:#lynx bookark.html界面如图B-5所示。
图B-5 浏览中文网页当在硬盘驱动器中找不到答案时,还可以使用互联网寻求帮助。
使用搜索引擎可以避免绕很多弯路或浪费大量的时间。
在这一节中将讨论一些信息来源,用户可以使用它们有效地搜索信息。
通过浏览器获取帮助信息,对于Linux用户非常重要。
linux命令行的浏览器是Lynx 和w3m。
其中笔者使用的是Lynx。
1.Lynx简介Lynx是一个字符界面下的全功能的WWW浏览器。
Lynx可以运行在很多种操作系统下,如VMS, UNIX, Windows 95, Windows NT等,当然也包括Linux。
由于没有漂亮的图形界面,所以Lynx占用资源极少,而且速度很快。
Lynx的主页地址是:,2.运行linux命令行:Lynx可以以lynx filename和lynx PROTOCOL://HOST/PA TH/FILENAME的形式运行Lynx,其中前一种用于浏览本地文件,后一种用于浏览Internet。
协议(PROTOCOL),可以是http, gopher, ftp和wais。
一、Linux基础命令及使用帮助
⼀、Linux基础命令及使⽤帮助linux的哲学思想: ⼀切皆⽂件: 把⼏乎所有资源,包括硬件设备都组织为⽂件系统 由众多单⼀⽬的⼩程序组成:⼀个程序只实现⼀个功能,⽽且要做好 组合⼩程序完成复杂任务 尽量避免跟⽤户交互 ⽬的:实现脚本编程,以⾃动完成某些功能 使⽤纯⽂本⽂件保存配置信息 ⽬标:⼀款使⽤的⽂本编程器即能完成系统配置⼯作如何获取centos的发⾏版:终端:tty ⽤户与主机交互, 物理终端:直接接⼊本机的显⽰器和键盘设备:/dev/console 虚拟终端:附加在物理终端之上的以软件⽅式虚拟实现的终端,CentOS 6 默认启动6个虚拟终端 ctrl+alt+Fn(1~6) 图形终端:附加在物理终端之上的以软件⽅式虚拟实现的终端,但额外会提供桌⾯环境 设备⽂件路径:/dev/tty# [1~6] 模拟终端: 图形界⾯下打开的命令⾏接⼝,基于ssh协议或telnet协议等远程打开的界⾯ 设备⽂件:/dev/pts/# [0,∞)交互式接⼝:启动终端后,在终端设备附加⼀个交互式应⽤程序 GUI: Desktop: GNOME (C,gtk)---C语⾔开发 KDE (C++,qt) XFCE (轻量级桌⾯) CLI: 命令:输⼊命令,回车 提请shell程序找到键⼊命令所对应的可执⾏程序或代码,并由其分析后提交给内核分配资源将其运⾏起来: 表现为⼀个或多个进程 在shell中可执⾏的命令有两类: 内建命令:由shell⾃带的,⽽且通过某些命令形式提供 外部命令:在当前系统的某⽂件系统路径下有对应的可执⾏程序⽂件 which ,whereis 区分内部或外部命令: #type COMMAND⽂件有两类数据: 元数据:metadata 数据:data 1、⽂件名严格区分字符⼤⼩写:file1,File1,FILE1是不同的⽂件; 2、⽂件名可使⽤出/以外的任意字符,不建议使⽤特殊字符; /:根⽬录,路径分隔符: 3、⽂件名长度最长不能超过255个字符 4、所有.开头的⽂件,均为隐藏⽂件路径: 绝对路径:从根⽬录起始的路径; 相对路径:对当前位置起始的路径 当前位置的表⽰⽅式: (1)./: ./sysconfig/network-scripts (2)省略上述符号: sysconfig/network-scripts 当前⽬录:current directory pwd : printing working directory⼀、内部命令内置命令(builtin):由shell程序⾃带的命令 help COMMAND:查看内部命令enable -n command 禁⽤某内部命令enable -n 查看全部被禁⽤的命令enable command 启⽤内部命令⼆、外部命令--都有⼀个可执⾏程序,位于⽂件系统某⽬录下1.查询命令种类及命令路径type command 查看命令是内部还是外部命令which command 查看该命令⽂件路径which --skip-alias command 查看的命令⽂件路径但不包含别名命令whereis查看命令⽂件路径whatis 使⽤mkwhatis命令可将当前系统上所有的帮助⼿册及与之对应的关键字创建为⼀个数据库2.hash缓存表系统初始hash表为空,当外部命令执⾏时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使⽤该命令时,shell解释器⾸先会查看hash表,存在将执⾏之,如果不存在,将会去PATH路径下寻找。
Linux文件查找命令详解
Linux⽂件查找命令详解find命令 Linux find命令⽤来在指定⽬录下查找⽂件。
任何位于参数之前的字符串都将被视为欲查找的⽬录名。
如果使⽤该命令时,不设置任何参数,则find命令将在当前⽬录下查找⼦⽬录与⽂件。
并且将查找到的⼦⽬录和⽂件全部进⾏显⽰。
语法参数说明 :find 根据下列规则判断 path 和 expression,在命令列上第⼀个 - ( ) , ! 之前的部份为 path,之后的是 expression。
如果 path 是空字串则使⽤⽬前路径,如果 expression 是空字串则使⽤ -print 为预设 expression。
expression 中可使⽤的选项有⼆三⼗个之多,在此只介绍最常⽤的部份。
选项说明-mount, -xdev只检查和指定⽬录在同⼀个⽂件系统下的⽂件,避免列出其它⽂件系统中的⽂件-amin n在过去 n 分钟内被读取过-anewer file⽐⽂件 file 更晚被读取过的⽂件-atime n在过去 n 天过读取过的⽂件-cmin n在过去 n 分钟内被修改过-cnewer file⽐⽂件 file 更新的⽂件-ctime n在过去 n 天过修改过的⽂件-empty空的⽂件-gid<群组识别码>:查找符合指定之群组识别码的⽂件或⽬录;-group<群组名称>:查找符合指定之群组名称的⽂件或⽬录;-ipath p, -path p路径名称符合 p 的⽂件,ipath 会忽略⼤⼩写-name name, -iname name⽂件名称符合 name 的⽂件。
iname 会忽略⼤⼩写-size n⽂件⼤⼩是 n 单位,b 代表 512 位元组的区块,c 表⽰字元数,k 表⽰ kilo bytes,w 是⼆个位元组。
-type<⽂件类型>只寻找符合指定的⽂件类型的⽂件;-type c : ⽂件类型是 c 的⽂件。
d: ⽬录c: 字型装置⽂件b: 区块装置⽂件p: 具名贮列f: ⼀般⽂件l: 符号连结s: socket实例将⽬前⽬录及其⼦⽬录下所有延伸档名是 c的⽂件列出来。
Linux设备驱动开发入门-Read
Linux设备驱动开发入门本文以快捷而简单的方式讲解如何像一个内核开发者那样开发linux设备驱动源作者: Xavier Calbet版权:GNU Free Documentation License 翻译: 顾宏军()中文版权:创作共用.署名-非商业用途-保持一致知识准备要开发Linux 设备驱动,需要掌握以下知识:•C 编程 需要掌握深入一些的C 语言知识,比如,指针的使用,位处理函数,等。
•微处理器编程 需要理解微机的内部工作原理:存贮器地址,中断,等。
这些内容对一个汇编程序员应该比较熟悉。
Linux 下有好几种不同的设备。
为简单起见,本文只涉及以模块形式加载的字符设备。
使用2.6.x 的内核。
(特别是Debian Sarge 使用的2.6.8内核。
)用户空间和内核空间当你开发设备驱动时,需要理解“用户空间”和内核空间之间的区别。
1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:•内核空间 :Linux 操作系统,特别是它的内核,用一种简单而有效的方法管理机器的硬件,给用户提供一个简捷而统一的编程接口。
同样的,内核,特别是它的设备驱动程序,是连接最终用户/程序员和硬件的一坐桥或者说是接口。
任何子程序或者函数只要是内核的一部分(例如:模块,和设备驱动),那它也就是内核空间的一部分。
•用户空间. 最终用户的应用程序,像UNIX 的shell 或者其它的GUI 的程序(例如,gedit),都是用户空间的一部分。
很显然,这些应用程序需要和系统的硬件进行交互。
但是,他们不是直接进行,而是通过内核支持的函数进行。
它们的关系可以通过下图表示:图1: 应用程序驻留在用户空间, 模块和设备驱动驻留在内核空间26:27:28:29:30:31:32:33:34:35:36:37:38:39:40:用户空间和内核空间之间的接口函数内核在用户空间提供了很多子程序或者函数,它们允许用户应用程序员和硬件进行交互。
linux系统中read的用法
linux系统中read的用法
在Linux系统中,`read`是一个用于从标准输入或文件中读取数据的命令。
它可以用于交互式脚本、命令行输入和读取文件等场景。
以下是`read`命令的常见用法:1. 从标准输入读取输入:read variable_name echo "You entered: variable_name" 2. 从标准输入读取输入时显示提示文本:
read -p "Enter your name: " variable_name 3. 从文件中读取数据:read variable_name < filename 4. 限定读取的字符数:read -n 5 variable_name # 读取5个字符 5. 设置读取超时时间:read -t 10 variable_name # 10秒超时 6. 读取密码等敏感输入:read -s variable_name # 隐藏输入内容7. 指定输入分隔符:read -d ":" variable_name # 以冒号为分隔符请注意,`read`命令是用于交互式脚本和命令行输入的。
如果你需要在脚本中读取文件的内容,请使用其他适合的命令,如`cat`、`grep`等。
Linux系统网络配置管理Shell脚本
Linux系统网络配置管理Shell脚本随着互联网的普及和应用的广泛,Linux操作系统成为了服务器领域的主力。
在Linux服务器的管理中,对网络配置的管理显得尤为重要。
本文将介绍Linux系统网络配置管理的Shell脚本,帮助系统管理员提高工作效率和操作的准确性。
一、脚本功能介绍网络配置管理是Linux服务器管理的核心之一,脚本的设计应具备以下功能:1. 自动获取IP地址和子网掩码;2. 自动设置网关和DNS服务器;3. 支持静态IP和动态IP切换;4. 支持网络接口的启用和禁用。
二、脚本编写#!/bin/sh#获取当前网络配置信息IP=$(ifconfig eth0 | awk '/inet addr/{split($2,x,":");print x[2]}')SubnetMask=$(ifconfig eth0 | awk '/inet addr/{split($4,x,":");print x[2]}') Gateway=$(route -n | awk '/UG/{print $2}')DNS=$(cat /etc/resolv.conf | awk '/nameserver/{print $2}')#显示当前网络配置信息echo "当前IP地址为:$IP"echo "当前子网掩码为:$SubnetMask" echo "当前网关为:$Gateway"echo "当前DNS服务器为:$DNS"#选择网络配置模式echo "请选择网络配置模式:"echo "1. 动态IP"echo "2. 静态IP"read mode#根据选择的网络配置模式执行对应操作case $mode in1)#动态IP配置dhclient eth0echo "动态IP配置成功!";;2)#静态IP配置echo "请输入静态IP地址:"read staticIPecho "请输入子网掩码:"read staticSubnetMaskecho "请输入网关地址:"read staticGatewayecho "请输入DNS服务器地址:"read staticDNS#配置静态IP地址ifconfig eth0 $staticIP netmask $staticSubnetMask route add default gw $staticGatewayecho "nameserver $staticDNS" > /etc/resolv.conf echo "静态IP配置成功!";;*)echo "输入有误,请重新运行脚本!";;esac#显示配置结果echo "网络配置已更新!"echo "当前IP地址为:$(ifconfig eth0 | awk '/inetaddr/{split($2,x,":");print x[2]}')"echo "当前子网掩码为:$(ifconfig eth0 | awk '/inetaddr/{split($4,x,":");print x[2]}')"echo "当前网关为:$(route -n | awk '/UG/{print $2}')"echo "当前DNS服务器为:$(cat /etc/resolv.conf | awk'/nameserver/{print $2}')"三、脚本解析1. 首先通过ifconfig命令获取当前网络配置信息,其中eth0是网卡名称。
linuxread用法
linuxread⽤法1、基本读取read命令接收标准输⼊(键盘)的输⼊,或其他⽂件描述符的输⼊(后⾯在说)。
得到输⼊后,read命令将数据放⼊⼀个标准变量中。
下⾯是 read命令的最简单形式::#!/bin/bashecho -n "Enter your name:" //参数-n的作⽤是不换⾏,echo默认是换⾏read name //从键盘输⼊echo "hello $name,welcome to my program" //显⽰信息exit 0 //退出shell程序。
//********************************由于read命令提供了-p参数,允许在read命令⾏中直接指定⼀个提⽰。
所以上⾯的脚本可以简写成下⾯的脚本::#!/bin/bashread -p "Enter your name:" nameecho "hello $name, welcome to my program"exit 0在上⾯read后⾯的变量只有name⼀个,也可以有多个,这时如果输⼊多个数据,则第⼀个数据给第⼀个变量,第⼆个数据给第⼆个变量,如果输⼊数据个数过多,则最后所有的值都给第⼀个变量。
如果太少输⼊不会结束。
//*****************************************在read命令⾏中也可以不指定变量.如果不指定变量,那么read命令会将接收到的数据放置在环境变量REPLY中。
例如::read -p "Enter a number"环境变量REPLY中包含输⼊的所有数据,可以像使⽤其他变量⼀样在shell脚本中使⽤环境变量REPLY.2、计时输⼊.使⽤read命令存在着潜在危险。
脚本很可能会停下来⼀直等待⽤户的输⼊。
如果⽆论是否输⼊数据脚本都必须继续执⾏,那么可以使⽤-t选项指定⼀个计时器。
linux英文命令全称
su:Swith user 切换用户,切换到root用户cat: Concatenate 串联uname: Unix name 系统名称df: Disk free 空余硬盘du: Disk usage 硬盘使用率chown: Change owner 改变所有者chgrp: Change group 改变用户组ps:Process Status 进程状态tar:Tape archive 解压文件chmod: Change mode 改变模式umount: Unmount 卸载ldd:List dynamic dependencies 列出动态相依insmod:Install module 安装模块rmmod:Remove module 删除模块lsmod:List module 列表模块alias :Create your own name for a commandbash :GNU Bourne-Again Shell linux内核 grep:global regular expression printhttpd :Start Apacheipcalc :Calculate IP information for a hostping :Send ICMP ECHO_Request to network hostsreboot: Restart your computersudo:Superuser do /bin = BINaries /dev = DEVices /etc = ETCetera /lib = LIBrary /proc = PROCesses /sbin = SuperuserBINaries /tmp = TeMPorary /usr = Unix Shared Resources /var = VARiableFIFO = First In, First Out GRUB = GRand Unified BootloaderIFS = Internal Field Seperators LILO = LInuxLOader MySQL = My最初作者的名字SQL = Structured Query LanguagePHP = Personal Home Page Tools = PHP Hypertext Preprocessor PS = Prompt String Perl = "Pratical Extraction and Report Language" = "Pathologically Eclectic Rubbish Lister" Python Monty Python's Flying Circus Tcl = Tool Command Language Tk = ToolKit VT = Video TerminalYaST = Yet Another Setup Tool apache = "a patchy" server apt = Advanced Packaging Tool ar = archiver as = assembler bash = Bourne Again SHellbc = Basic (Better) Calculator bg = BackGround cal = CALendar cat = CATenate cd = Change Directory chgrp = CHangeGRouPchmod = CHangeMODe chown = CHangeOWNer chsh = CHangeSHell cmp = compare cobra = Common Object Request Broker Architecturecomm = common cp = CoPy cpio = CoPy In and Out cpp = C Pre Processor cups = Common Unix Printing System cvs = Current Version Systemdaemon = Disk And Execution MONitor dc = Desk Calculator dd = Disk Dump df = Disk Free diff = DIFFerence dmesg = diagnostic messagedu = Disk Usage ed = editor egrep = Extended GREP elf = Extensible Linking Format elm = ELectronic Mail emacs = Editor MACroSeval = EVALuate ex = EXtended exec = EXECute fd = file descriptors fg = ForeGround fgrep = Fixed GREP fmt = formatfsck = File System ChecK fstab = FileSystemTABle fvwm = F*** Virtual Window Manager gawk = GNU AWK gpg = GNU Privacy Guardgroff = GNU troff hal = Hardware Abstraction Layer joe = Joe's Own Editor ksh = KornSHell lame = Lame Ain't an MP3 Encoderlex = LEXicalanalyser lisp = LISt Processing = Lots of Irritating Superfluous Parentheses ln = LiNk pr = Line PRint ls = listlsof = LiSt Open Files m4 = Macro processor Version 4 man = MANual pages mawk = Mike Brennan's AWK mc = Midnight Commandermkfs = MaKeFileSystem mknod = MaKeNODe motd = Message of The Day mozilla = MOsaicGodZILLa mtab = Mount TABlemv = MoVe nano = Nano's ANOther editor nawk = New AWK nl = Number of Lines nm = names nohup = No HangUP nroff = New ROFFod = Octal Dump passwd = PASSWorD pg = pager pico = PIne's message COmposition editor ping = Packet InterNet Grouperpine = "Program for Internet News & Email" = "Pine is not Elm" pirntcap = PRINTerCAPability popd = POP Directory pr = pre printf = PRINT Formattedps = Processes Status pty = pseudo tty pushd = PUSH Directory pwd = Print Working Directory rc = runcom = run command, shell rev = REVerserm = ReMove rn = Read News roff = RunOFF rpm = RPM Package Manager = RedHat Package Manager rsh, rlogin, = Remote rxvt = ouR XVTsed = Stream EDitor seq = SEQuence shar = SHellARchive slrn = S-Lang rn ssh = Secure SHell ssl = Secure Sockets Layer stty = Set TTYsu = Substitute User svn = SubVersioN tar = Tape ARchive tcsh = TENEX C shell telnet = TEminaL over Network termcap = terminal capabilityterminfo = terminal information tr = traslate troff = Typesetter new ROFF tsort = Topological SORT tty = TeleTypewritertwm = Tom's Window Manager tz = TimeZone udev = Userspace DEV ulimit = User's LIMIT umask = User's MASK uniq = UNIQuevi = VIsual = Very Inconvenient vim = Vi IMproved wall = write all wc = Word Count wine = WINE Is Not an Emulator xargs = eXtendedARGumentsxdm = X Display Manager xlfd = X Logical Font Description xmms = X Multimedia System xrdb = X Resources DataBasexwd = X Window Dump yacc = yet another compiler compiler。
linux题库选择及答案。
linux题库选择及答案。
1.在创建Linux分区时,必须创建SWAP分区和根分区。
2.在Red Hat Linux中,root用户拥有整个系统的完全控制权。
3.登录Linux时,会调用一个具有唯一进程ID号的shell,该ID为PID。
4.export命令用于定义shell的全局变量。
5.用户密码信息存放在/etc目录下。
6.默认情况下,管理员创建一个用户后,会在/home目录下创建一个用户主目录。
7.进行设备或文件系统挂载时,需要使用的设备名称位于/dev目录下。
8.要列出一个目录下的所有文件,需要使用ls -a命令。
9.su命令可以将普通用户转换为超级用户。
10.cp命令假定要拷贝的文件在当前目录下,除非特别指定。
11.在vi编辑器中,命令"dd"用于删除当前行。
12.运行在多用户模式下时,使用Ctrl+ALT+F*可以切换到6个虚拟用户终端。
13.Linux启动的第一个进程init启动的第一个脚本程序是XXX。
14.按下Ctrl-C键可以终止当前运行的命令。
15.startx命令用于启动X Window。
1.要将文件a.txt的名称改为txt.a,可以使用命令:mva.txt txt.a。
2.Linux文件权限一共10位长度,分成四段,第三段表示的内容是文件所有者所在组的权限。
3.使用mkdir命令创建新的目录时,如果其父目录不存在,可以使用选项-p来先创建父目录。
C.文件描述符D.文件控制块4.正确的是i节点描述了文件大小和指向数据块的指针,而不是i节点和文件是一一对应的。
改写:i节点描述了文件的大小和数据块指针的指向,每个文件对应一个i节点。
5.在vi编辑器的命令模式下,可以使用“.”命令重复上一次对编辑的文本进行的操作。
改写:在vi编辑器的命令模式下,使用“.”命令可以重复上一次对编辑文本的操作。
6.根据权限的描述,该文件的权限为764.改写:该文件的权限为764,组外成员只有读取权限,所有者拥有全部权限,组内成员有读取和写入权限。
linux下read命令详解
linux下read命令详解要与Linux交互,脚本获取键盘输⼊的结果是必不可少的,read可以读取键盘输⼊的字符。
read [-rs] [-a ARRAY] [-d delim] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [var_name1 var_name2 ...]read命令⽤于从标准输⼊中读取输⼊单⾏,并将读取的单⾏根据IFS变量分裂成多个字段,并将分割后的字段分别赋值给指定的变量列表var_name。
第⼀个字段分配给第⼀个变量var_name1,第⼆个字段分配给第⼆个变量var_name2,依次到结束。
如果指定的变量名少于字段数量,则多出的字段数量也同样分配给最后⼀个var_name,如果指定的变量命令多于字段数量,则多出的变量赋值为空。
如果没有指定任何var_name,则分割后的所有字段都存储在特定变量REPLY中。
选项说明:-a:将分裂后的字段依次存储到指定的数组中,存储的起始位置从数组的index=0开始。
-d:指定读取⾏的结束符号。
默认结束符号为换⾏符。
-n:限制读取N个字符就⾃动结束读取,如果没有读满N个字符就按下回车或遇到换⾏符,则也会结束读取。
-N:严格要求读满N个字符才⾃动结束读取,即使中途按下了回车或遇到了换⾏符也不结束。
其中换⾏符或回车算⼀个字符。
-p:给出提⽰符。
默认不⽀持"\n"换⾏,要换⾏需要特殊处理,见下⽂⽰例。
例如,"-p 请输⼊密码:"-r:禁⽌反斜线的转义功能。
这意味着"\"会变成⽂本的⼀部分。
-s:静默模式。
输⼊的内容不会回显在屏幕上。
-t:给出超时时间,在达到超时时间时,read退出并返回错误。
也就是说不会读取任何内容,即使已经输⼊了⼀部分。
使⽤⽰例:(1).将读取的内容分配给数组变量,从索引号0开始分配。
[root@xuexi ~]# read -a array_testwhat is you name?[root@xuexi ~]# echo ${array_test[@]}what is you name?[root@xuexi ~]# echo ${array_test[0]}what(2).指定读取⾏的结束符号,⽽不再使⽤换⾏符。
Linux命令大全(四)——文件权限
Linux命令⼤全(四)——⽂件权限四四、⽂件权限1、⽂件类型Linux ⼴泛的被很多⽤户所接受,它强⼤的功能受到很多⼈喜欢,Linux ⽂件⼀般是⽤⼀些相关的应⽤程序创建,⽐如图像⼯具、⽂档⼯具、归档⼯具... .... 或 cp ⼯具等。
Linux ⽂件的删除⽅式是⽤ rm 命令。
Linux ⽂件类型和 Linux ⽂件的⽂件名所代表的意义是两个不同的概念。
我们通过⼀般应⽤程序⽽创建的⽐如 file.txt、file.tar.gz ,这些⽂件虽然要⽤不同的程序来打开,但放在 Linux ⽂件类型中衡量的话,⼤多是常规⽂件(也被称为普通⽂件)。
Linux ⽂件类型常见的有:普通⽂件、⽬录、字符设备⽂件、块设备⽂件、符号链接⽂件等;现在我们进⾏⼀个简要的说明;1 普通⽂件1. [root@localhost ~]# ls -lh install.log2. -rw-r--r-- 1 root root 53K 03-16 08:54 install.log我们⽤ ls -lh 来查看某个⽂件的属性,可以看到有类似 -rw-r--r-- ,值得注意的是第⼀个符号是 - ,这样的⽂件在 Linux 中就是普通⽂件。
这些⽂件⼀般是⽤⼀些相关的应⽤程序创建,⽐如图像⼯具、⽂档⼯具、归档⼯具... .... 或 cp ⼯具等。
这类⽂件的删除⽅式是⽤ rm 命令;2 ⽬录1. [root@localhost ~]# ls -lh2. 总计 14M3. -rw-r--r-- 1 root root 2 03-27 02:00 fonts.scale4. -rw-r--r-- 1 root root 53K 03-16 08:54 install.log5. -rw-r--r-- 1 root root 14M 03-16 07:53 kernel-6.15-1.2025_FC5.i686.rpm6. drwxr-xr-x 2 1000 users 4.0K 04-04 23:30 mkuml-2004.07.177. drwxr-xr-x 2 root root 4.0K 04-19 10:53 mydir8. drwxr-xr-x 2 root root 4.0K 03-17 04:25 Public当我们在某个⽬录下执⾏,看到有类似 drwxr-xr-x ,这样的⽂件就是⽬录,⽬录在 Linux 是⼀个⽐较特殊的⽂件。
linux监控指标和命令
linux 监控指标和命令常⽤命令[]cp Copymv 移动、重命名yum yum nstall xxx rm rm –rf xx mkdir 建⽬录rpm rpm –ivh xxx.rpm tailtail –f rr.logfindfind /usr/local -name xxxtar①tar xzvf xxxx.ta.gz rz 上传⽂件sz 下载②cd xxx ./configure./configure –prefix=/user/local[指定⽬录]加参数wc ⾏、字、字节数chmod chmod 777 –R xxxhead head -3sqlq.logps ps –ef|morekill ps -ef | grep xxkill -9 [xxPID]③make && make install grep查找vi /etc/profile 最下⾯配置环境变量2.影响性能的因素因素1:cpu因素factor指标metrics描述备注监测monitorCPU /proc/cpuinfoLoad average等待执⾏的队列中进程数+等待uninterruptable task 完成的进程数cpu 负荷的趋势.topProcsRun queueRunnable,ready to run (running / waiting for runtime )的进程数【可执⾏未执⾏的】vmstat (r )Blocked uninterruptible wait(通常因IO)进程数vmstat (b )System Context Switch线程的切换减少程序⽆关的请求vmstat (cs )Interrupts正在处理的中断数:(hi )Hard interrupts 、(si )soft interruptstop (cpu--hi 、si)vmstat (in )cpu 利⽤率User time 处理⾮内核操作的时间User%+sys%好(<70%)⼀般(85%)糟糕(>=90)topvmstat iostat(avg-cpu) System time处理内核操作的时间Waiting 等待io 完成的时间Idle time空闲时间<5%-à充分利⽤Nice time 处理re-nicing 进程的时间 iostat (nice%)CPU 影响⼤是最误区,因为服务器的cpu ⼀般是overconfigured 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux 下的read命令
对于写bash脚本的朋友,read命令是不可或缺的,需要实践一下就可以了解rea d命令的大致用途:
编写一个脚本:
#!/bin/bash
# hao32 test read
echo -e "Please enter your test :"
read TESTREAD
echo $TESTREAD
试着运行下这个脚本,你就可以大致了解read命令的用法,下面是转载一篇read 命令详细的用法,大家参考参考啊,呵呵
作用
从标准输入中读取一行。
语法
read [ -p ][ -r ][ -s ][ -u[ n ] ] [ VariableName?Prompt ]
[ VariableName ... ]
描述
read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给shell 变量,用IFS(内部字段分隔符)变量中的字符作为分隔符。
VariableName 参数指定s hell 变量的名称,shell 变量获取输入行一个字段的值。
由VariableName 参数指定的第一个shell 变量指定给每一个字段的值,由VariableName 参数指定的第二个she ll 变量指定给第二个字段的值,以此类推,直到最后一个字段。
如果标准输入行的字段比相应的由VariableName 参数指定的shell 变量的个数多,把全部余下的字段的值赋给指定的最后的shell 变量。
如果比shell 变量的个数少,则剩余的shell 变量被设置为空字符串。
注意:如果省略了VariableName 参数,变量REPLY 用作缺省变量名。
由read 命令设置的shell 变量影响当前shell 执行环境。
标志
-p 用|& (管道,&的记号名称)读取由Korn shell 运行的进程的输出作为输入。
注:-p 标志的文件结束符引起该进程的清除,因此产生另外一个进程。
-r 指定读取命令把一个\ (反斜杠) 处理为输入行的一部分,而不把它作为一个控制字符。
-s 把输入作为一个命令保存在Korn shell 的历史记录文件中。
-u [ n ] 读取一位数的文件描述符号码n 作为输入。
文件描述符可以用ksh exe c 内置命令打开。
n 的缺省值是0,表示的是键盘。
值2 表示标准错误。
参数
VariableName?Prompt 指定一个变量的名称和一个要使用的提示符。
当Korn sh ell 是交互式时,它将把提示符写到标准错误,并执行输入。
Prompt 包含多于一个的字,必须用单引号或双引号括起来。
VariableName... 指定一个或多个由空格分隔的变量名。
退出状态
这个命令返回下列出口值:
0 成功完成。
>0 检测到文件结束符或一个错误发生。
示例
下列脚本打印一个文件,这个文件中每行的第一个字段被移动到本行的末尾。
while read -r xx yy
do
print printf "%s %s/n" $yy $xx
done < InputFile读取一行,把它分成字段,并使用"Please enter: " 作为提示符,请输入:
read word1?"Please enter: " word2系统显示:
Please enter:
You enter:
hello world变量word1 的值应该是"hello",变量word2 应该是"world."
为创建一个共同进程,用print -p 写到共同进程,并用read -p 从共同进程中读取输入,请输入:
(read; print "hello $REPLY")
print -p "world"
read-p line变量line 的值应该是"hello world."
为把输入行的副本保存为历史文件中的一个命令,请输入:
read -s line < input_file如果输入文件包含"echo hello world," ,那么在历史记录文件中将会把"echo hello world"保存为一个命令。