- 浏览: 2543098 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (676)
- linux运维 (157)
- php (65)
- mysql (78)
- nginx (27)
- apche (18)
- framework (6)
- windows (9)
- IDE工具 (23)
- struts2 (7)
- java (13)
- 移动互联网 (14)
- memcache redis (23)
- shell基础/命令/语法 (37)
- shell (50)
- puppet (4)
- C (11)
- python (9)
- 产品经理 (27)
- Sphinx (4)
- svn (12)
- 设计构建 (12)
- 项目管理 (44)
- SEO (1)
- 网站架构 (26)
- 审时度势 (42)
- 网络 (14)
- 激发事业[书&视频] (81)
- 其它 (12)
- 摄影 (8)
- android (21)
最新评论
-
zhongmin2012:
原文的书在哪里
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
renzhengzhi:
你好,请问个问题,从master同步数据到slave的时候,s ...
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
ibc789:
你好,看了你的文章,我想请教个问题, 我在用 redis的时候 ...
redis 的两种持久化方式及原理 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
===================== read
接收标准输入(键盘)的输入,或其他文件描述符的输入
-d[输入结束字符,默认结束符是换行]
-p("提示语句")
-n[字符个数]
-t(等待时间)
-s(不回显)
-a [数组名]
#!/bin/bash
echo -n "Enter your name:" //参数-n的作用是不换行,echo默认是换行
read name //从键盘输入
echo "hello $name,welcome to my program" //显示信息
exit 0 //退出shell程序。
由于read命令提供了-p参数,允许在read命令行中直接指定一个提示。
所以上面的脚本可以简写成下面的脚本::
#!/bin/bash
read -p "Enter your name:" name
echo "hello $name, welcome to my program"
exit 0
-t选项指定read命令等待输入的秒数。当计时满时,read命令返回一个非零退出状态;
#!/bin/bash
if read -t 5 -p "please enter your name:" name
then
echo "hello $name ,welcome to my script"
else
echo "sorry,too slow"
fi
可以设置read命令计数输入的字符。当输入的字符数目达到预定数目时,自动退出,并将输入的数据赋值给变量。
#!/bin/bash
read -n1 -p "Do you want to continue [Y/N]?" answer
case $answer in
Y | y)
echo "fine ,continue";;
N | n)
echo "ok,good bye";;
*)
echo "error choice";;
esac
使用了-n选项,后接数值1,指示read命令只要接受到一个字符就退出。只要按下一个字符进行回答,read命令立即
接受输入并将其传给变量。无需按回车键。
默读(输入不显示在监视器上)
有时会需要脚本用户输入,但不希望输入的数据显示在监视器上。典型的例子就是输入密码,当然还有很多其他需要隐藏的数据。
-s选项能够使read命令中输入的数据不显示在监视器上(实际上,数据是显示的,只是 read命令将文本颜色设置成与背景相同的颜色)。
#!/bin/bash
read -s -p "Enter your password:" pass
echo "your password is $pass"
exit 0
-----------------读文件
最后,还可以使用read命令读取Linux系统上的文件。
每次调用read命令都会读取文件中的"一行"文本。当文件没有可读的行时,read命令将以非零状态退出。
读取文件的关键是如何将文本中的数据传送给read命令。
最常用的方法是对文件使用cat命令并通过管道将结果直接传送给包含read命令的 while命令
例子::
#!/bin/bash
count=1 //赋值语句,不加空格
cat test | while read line //cat 命令的输出作为read命令的输入,read读到的值放在line中
do
echo "Line $count:$line"
count=$[ $count + 1 ] //注意中括号中的空格。
done
echo "finish"
exit 0
===================== cat
使用方式:cat [-AbeEnstTuv] [--help] [--version] fileN
说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
范例:
cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
范例:
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3
cat /dev/null > /etc/test.txt 此为清空/etc/test.txt档案内容
cat 也可以用来制作 image file。例如要制作软碟的 image file,将软碟放好后打
cat /dev/fd0 > OUTFILE
相反的,如果想把 image file 写到软碟,请打
cat IMG_FILE > /dev/fd0
注:
1. OUTFILE 指输出的 image 档名。
2. IMG_FILE 指 image file。
3. 若从 image file 写回 device 时,device 容量需与相当。
4. 通常用在制作开机磁片。
cat主要有三大功能:
1.一次显示整个文件。$ cat filename
2.从键盘创建一个文件。$ cat > filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件。 $cat file1 file2 > file
将输出文件的内容与标准输入拼接在一起
#echo "text through stdin" | cat - file.txt
- 被作为来自stdin文本的文件名
移除多个换行符:
cat -s text.txt
或者
cat text.txt | tr -s '\n'
=====================touch 创建文件
如果文件存在,则可以修改文件的时间
a 改变档案的读取时间记录。
m 改变档案的修改时间记录。
c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
f 不使用,是为了与其他 unix 系统的相容性而保留。
r 使用参考档的时间记录,与 --file 的效果一样。
d 设定时间与日期,可以使用各种不同的格式。
t 设定档案的时间记录,格式与 date 指令相同。
--no-create 不会建立新档案。
--help 列出指令格式。
--version 列出版本讯息。
范例:
最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。
touch file
touch file1 file2
将 file 的时间记录改为 5 月 6 日 18 点 3 分,公元两千年。时间的格式可以参考 date 指令,至少需输入 MMDDHHmm ,就是月日时与分。 安全技术
touch -c -t 05061803 file
touch -c -t 050618032000 file
=============== head
head命令查看具体文件最初的几行内容,该命令默认是前10行内容,如果你想查看前面更多内容,你可以通过一个数字选项来设置,例如
head -20 install.log
=============== tail
tail命令是用来查看具体文件后面几行的内容,默认情况下,是查看该文件尾10行的内容,
tail -20 install.log
你还可以使用 tail 来观察日志文件被更新的过程。使用 -f 选项,tail 会自动实时
地把打开文件中的新消息显示到屏幕上。例如,要即时观察 /var/log/messages的变化,以根用户身份在 shell 提示
下键入以下命令:
tail -f /var/log/messages
发表评论
-
Linux运维常用命令 (转载)
2013-01-31 10:23 25301 删除0字节文件find-type f - ... -
[汇总]shell笔试
2013-01-24 17:32 3372http://president.blog.51cto.co ... -
【汇总】shell show收藏
2012-11-29 14:03 1288================== shell从文本取对应的 ... -
Shell中脚本变量和函数变量的作用域
2012-11-28 16:21 1379在shell中定义函 ... -
你可能不知道的Shell
2012-11-26 13:41 1012!$ !$是一个特殊的环境变量,它代表了上一个命令的 ... -
read case
2012-11-01 16:55 975read -p "请输入安装程序编号:" ... -
很精彩的linux命令
2012-07-13 10:55 13721.按内存从大到小排列进程: ps -eo " ... -
[转]实用基础_shell脚本详解命令
2012-07-11 11:44 1473shell脚本编写技巧 " 1.test测试命令 tes ... -
UNIX高手的20个习惯
2012-06-29 12:02 14261. 在单个命令中创建目 ... -
【书】linux shell 脚本攻略
2012-06-27 17:39 1925转载:http://jackyrong.iteye.com/b ... -
字段分隔符IFS和循环
2012-06-27 16:10 1760Shell的内部域分隔符可以是空格、制表符和换行符。它可以作为 ... -
【汇总】sh语法汇总2
2012-06-27 16:08 3415============= " ... -
df,du,fdisk
2012-06-27 12:39 1287------------------- ... -
split,csplit切割文件
2012-06-26 18:06 1602linux split 命令 功能说明:切割文件。 ... -
head,tail
2012-06-26 13:44 3head,tail -
xargs格式化输出
2012-06-26 13:41 1984从标准输出建立并运行命令行 把从stdin接收到 ... -
sed简化命令:tr
2012-06-26 13:12 1301连续多个’\n‘字符压缩成单个'\n' cat t.txt ... -
cut用法
2012-06-13 17:12 1157linux之cut用法 cut是一个选取命令,就是将一段数据 ... -
用diff比较目录文件差异和patch备份源代码
2012-06-12 17:11 8882=============??????? 新增加的文件无 ... -
shell之数组
2012-05-11 18:05 1402====================== 循环 c ...
相关推荐
- `head`:显示文件的前几行,如`head -n 10 file`显示前10行。 - `tail`:显示文件的后几行,如`tail -n 10 file`显示后10行。 - `nl`:显示带行号的文件内容,如`cat -n file`。 8. Linux文件权限: 文件权限...
`cat`、`less`、`tail`和`head`用于处理文件内容。`cat`常用于查看文件内容,`less`则提供分页浏览,`tail`显示文件末尾的内容,`head`则显示文件开头的部分。 环境变量在Linux中扮演着重要角色,例如`USER`存储...
- `tail`:显示文件的末尾几行,例如`tail -n 3`显示最后3行。 - `ln -s`:创建软链接,类似于Windows的快捷方式。 5. **权限管理**: - `chmod`:改变文件或目录的权限。例如,`chmod u+x file`为文件增加所有...
r:read w:write x:execute执行 -:表示无此权限 所有者:u user 所属组:g group 其他人:o other 2:表示硬链接数。 第一个root:是所有者。 第二个root:是所属组。 4096:目录大小,不是目录中所有文件的...
- `head`/`tail`: 查看文件头或尾部分。 3. **流程控制指令** - `if`: 条件判断,如`if [ condition ]; then commands; fi`。 - `for`: 循环,如`for i in {1..10}; do echo $i; done`。 - `while`: 当条件满足...
常用的Shell命令包括ls、cd、pwd、cp、mv、rm、touch、mkdir、rmdir、cat、more、less、head、tail、grep、awk、sed、find、xargs等。这些命令是进行文件管理、文本处理和任务自动化的核心工具。通过组合使用这些...
`head` 和 `tail` 分别显示文件开头和结尾的部分内容。`grep` 命令则用于在文件中搜索特定字符串。 在系统管理上,`ps` 命令列出当前系统运行的进程,`kill` 和 `killall` 用于结束指定进程。`top` 或 `htop` 提供...
2. **文件查看和编辑**:`cat`、`more`和`less`用于查看文件内容,`vi`或`vim`是强大的文本编辑器,`head`和`tail`分别显示文件的开头和结尾部分。 3. **系统信息和状态**:`uname`显示系统信息,`ps`列出进程状态...
- 示例:`scp readName.sh study@192.168.0.224:/home/study/chenqian` 24. **head**:用于显示文件的前几行。 - 语法:`head [选项] 文件名` - 示例:`head -n 20 file.txt` 25. **lsattr**:用于查看文件的...
- 文件查看,如`cat`用于显示文件内容,`more`和`less`用于分页查看文件内容,`head`和`tail`分别用于查看文件的开头和结尾部分。 - 文件权限管理,如`chmod`用于改变文件权限,`chgrp`用于改变文件的组,`chown`...
- 其他命令:`pwd`显示当前工作目录,`cd`改变目录,`ar`归档工具,`file`检测文件类型,`grep`、`tar`、`more`、`less`、`head`、`tail`、`cat`则用于文本处理和文件查看。 2. **Linux工具**: - 编辑器:`vi`和...
19. **head/tail**:查看文件头或尾部内容,如`head myfile.txt`查看前10行。 20. **sort**:排序文件内容,如`sort -n myfile.txt`按数字排序。 21. **uniq**:去除重复行,常与`sort`配合使用。 22. **wc**:...
- `head`/`tail`:查看文件开头或结尾的内容。 - `du`:查看文件或目录占用的磁盘空间。 - `df`:查看磁盘空间的总体使用情况。 3. **流程控制**: - `if...else`:条件判断语句。 - `for`/`while`循环:实现...
- `rwx` 分别代表读(read)、写(write)、执行(execute)权限。 - 第一组 `rwx` 是所有者的权限。 - 第二组 `rwx` 是所属组的权限。 - 第三组 `rwx` 是其他用户的权限。 - **特殊文件类型**: - `d` 表示目录...
3. **文本处理命令**:`cat`查看文件内容,`more`和`less`分页查看,`head`和`tail`查看文件开头和结尾。 4. **流程控制命令**:`echo`打印字符串,`read`读取用户输入,`|`管道符用于连接命令。 三、Shell脚本 1....
- cat <fileName>:显示文件内容。 - less 或 more:用于浏览文件,less 命令提供了向前和向后翻页的功能,而 more 通常只能向前翻页。 - head:查看文件开头指定行数的内容。 - tail:查看文件结尾指定行数的内容。...
gunzip, gzip, halt, hd, hdparm, head, hexdump, hostname, httpd, hush, hwclock, id, ifconfig, ifdown, ifup, inetd, init, inotifyd, insmod, install, ionice, iostat, ip, ipaddr, ipcalc, ipcrm, ipcs, ...
- **head**/ **tail**:查看文件的前几行或后几行。 5. **文本处理工具**: - **sed**:流编辑器,用于文本转换。 - **awk**:强大的文本处理工具,支持复杂的模式匹配和数据处理。 - **cut**/ **paste**:分割...
- `touch`:创建一个新的空文件或者更新现有文件的时间戳。 - `cp`:复制文件或目录。 - `mv`:移动文件或目录,也可以用来重命名文件。 - `wc`:统计文件的行数、字数和字符数。 - `vi`:文本编辑器,类似于...