码迷,mamicode.com
首页 > 系统相关 > 详细

Linux shell command学习笔记(一)

时间:2016-01-28 20:50:27      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:

Key points: Shell种类,echo,$,基本语法,ls,man,su,sudo,grep,ps,clear,cp,rm,cat,more

参考:http://www.jb51.net/LINUXjishu/45329.html

Shell的种类有很多种,例如CSH,Bourne Shell,Korn Shell。在现在的大多数Linux发行版中,默认的Shell一般都是Bourne again shell(bash)。

<echo>

echo $SHELL

在Linux中,$符号代表一个shell变量。所有的shell都用这种方式使用变量。有一些shell变量在你的系统启动的时候就有了默认值。例如,$SHELL;$LOGNAME是你的登录名,而$PATH变量指明了你的shell命令的搜索范围。

echo命令的作用就是打印出你的输入。如果你的输入具有shell的特殊意义,例如shell变量,他就输出变量的值。

[d4csqa@sqaauto3 setup]$ echo 123

123

[d4csqa@sqaauto3 setup]$ echo $LOGNAME

d4csqa

[d4csqa@sqaauto3 setup]$ echo $SHELL

/bin/bash

Linux shell命令中一个重要的地方是,你可以将命令串起来。这是Unix/Linux从第一天开始就有的巧妙的特点。最简单的将命令连起来的办法就是使用“|”,我们称之为“pipe”。第一个命令的输出就是下一个命令的输入。

Linux命令有自己的语法规则:

基本的语法就像这样:

command -option file 

 

ls -la

这行命令的意义是输出当前目录的所有文件的文件名,l代表“long”,a代表“all”,有了l选项,你会发现,输出的内容比较丰富,不只包括文件名,还有文件的访问权限,所有者,所属组等。

ls -l a* (相当于 ls –l | grep a*,但后者只能grep当以a开头文件仅有一个的情形)

这个命令会列出在当前工作目录下所有的以小写a开头的文件,比如说abc.txt,alpha.jpg等等。

ls a?cd

这条命令会列出所有以小写a开头隔一个未知字符以小写cd结尾的所有文件。例如adcd,axcd,但是不会列出adfdcd,也不会列出axcd.txt。

ls –l session* *info*

这条命令会列出所有含有info字符串和以session字符串开头的文件,但仅仅是简单的加总,即对于两个条件同时满足的情况,不会识别出来只列举一次,而是列举两次。其过程是依次遍历ls列出的文件,对于每个文件先判别是否满足*info*,是则输出;然后判别是否满足session*,是则输出。等所有条件判别问,则跳到下一个文件,依此类推。

 技术分享

ls –l | grep session | grep info却实现了条件的交集,即输出为同时满足含有session字符串的条件和含有info字符串的条件。

小结:

对单一filter,ls –l *str*等价于ls –l | grep str。

对多个filter,ls –l *str1* *str2*为简单叠加(比并集更简单),ls –l |grep str1 | grep str2为交集。

<man>

man:如果你想了解每一个命令代表什么含义以及他的用法,你就可以使用man(意义为manual)命令,例如:man ls。man输出的内容是为系统管理员和开发者编写的,如果你想了解更多命令的用法,你可以去找网络上的Linux命令文档,有一个非常方便的就是丹尼尔·巴雷特的Linux的袖珍指南。

<su><sudo>

su和sudo:su命令的作用是切换用户,这也被称为超级用户,因为在有些系统中su命令可以使你以系统的所有权限用户root登录。除非你是系统管理员,否则我绝不推荐你使用su切换到root,因为这可能给你带来很多麻烦。一个相对安全的多的办法是使用sudo命令,这个命令可以上你以root权限运行一个命令。

<grep>

grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。例如:

grep foo /etc/passwd

返回在password文件中所有的含有foo的行

grep -i “foo” /etc/passwd

-i选项是忽略大小写,这就意味着若某一行含有FOO或FOo也会被搜索到。

grep还支持递归搜索:

grep -r “foo” /home/sjvn

这条命令将会搜索/home/sjvn目录及其子目录下所有的包含“foo”的行。

grep也通常与其他命令串连起来使用,例如:

ls -la | grep foo

<ps>

报告进程的状态。此命令将显示哪些程序正在运行。

<clear>

清屏。

<cp>

cp file1 file2

把file1中的内容复制到当前文件夹中file2。如果file2不存在,新建。如果file2存在,覆写。

<rm>

rm –i fileName

会有确认提示信息。

 技术分享

<cat>

可以显示你的Linux电脑中的文本信息。与vi或vim的区别是前者只读,后者可编辑。

 技术分享

cat /proc/cpuinfo

展示你的CPU的重要的统计。

cat /proc/version

展示你的当前运行的Linux发行版的详细信息。

cat /etc/printcap

展示你当前安装的打印机。

<more>

内容多时,分页显示,space键切换页面。

-num 指示单页行数。Space键一次滚动num行。

 

Linux shell command学习笔记(一)

标签:

原文地址:http://www.cnblogs.com/chen0958/p/5167254.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!