今天就跟大家聊聊有关Linux中有哪些常用的Shell命令,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
Shell基础:
你可以通过打开Linux的terminal(终端)来执行Shell命令。Shell的种类有很多种,例如CSH,Bourne Shell,Korn Shell。在现在的大多数Linux发行版中,默认的Shell一般都是Bourne again shell(bash)。
想看看你的Shell是哪一种,执行下面的命令
echo $SHELL
在Linux中,$符号代表一个shell变量。所有的shell都用这种方式使用变量。有一些shell变量在你的系统启动的时候就有了默认值。例如,$SHELL;$LOGNAME是你的登录名,而$PATH变量指明了你的shell命令的搜索范围。
echo命令的作用就是打印出你的输入。如果你的输入具有shell的特殊意义,例如shell变量,他就输出变量的值。
一个重要的地方是,你要注意文本的大小写。例如,ls,是DOS的dir命令的Linux版本。这个命令列出当前工作目录下的文件列表。如果你输入的是LS,你得到的只能是“找不到命令”的错误信息。
另外在Linux shell命令中一个重要的地方是,你可以将命令串起来。这是Unix/Linux从第一天开始就有的巧妙的特点。最简单的将命令连起来的办法就是使用“|”,我们称之为“pipe”。第一个命令的输出就是下一个命令的输入。
基本的语法就像这样:
command -option file
例如:
ls -la
这行命令的意义是输出当前目录的所有文件的文件名,l代表“long”,a代表“all”,有了l选项,你会发现,输出的内容比较丰富,不只包括文件 名,还有文件的访问权限,所有者,所属组等。你会发现这个命令会在屏幕上输出大量的信息,如果当前目录的文件比较多的话。
现在就是“pipe”出场的时候了。
ls -la | more
你会在屏幕上看到如下信息:
你也可以在大多数Linux命令中使用通配符。通配符就是可以代表文件名中任何未知的字符或字符串。例如,*就代表任意字符串,?代表单个字符。例如:
ls -l a*
这个命令会列出在当前工作目录下所有的以小写a开头的文件,比如说abc.txt,alpha.jpg等等。
ls a?cd
这条命令会列出所有以小写a开头隔一个未知字符以小写cd结尾的所有文件。例如adcd,axcd,但是不会列出adfdcd,也不会列出axcd.txt。
一些常用的命令
男:如果你想了解每一个命令代表什么含义以及他的用法,你就可以使用的人(意义为手动)命令,例如:
男人ls
男人输出的内容是为系统管理员和开发者编写的,如果你想了解更多命令的用法,你可以去找网络上的Linux命令文档,有一个非常方便的就是丹尼尔和压力巴雷特的Linux的袖珍指南。
在以前如果你真的想学习Linux和Unix你必须阅读男人手册。而在2012年的今天,面对如此好用的图形界面,这句话显得不是那么的重要,但是如果你想了解Linux更深,阅读男人手册仍然是一个好的开始。
苏和sudo:苏命令的作用是切换用户,这也被称为超级用户,因为在有些系统中苏命令可以使你以系统的所有权限用户根登录。除非你是系统管理员,否则我绝不推荐你使用苏切换到根,因为这可能给你带来很多麻烦。
一个相对安全的多的办法是使用sudo命令,这个命令可以上你以根权限运行一个命令。
这两个命令都需要系统密码。在大多数Linux的桌面发行版中这两个是相同的,就是你系统的第一个用户设置的密码。
grep: grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来,例如:
grep foo/etc/passwd
返回在密码文件中所有的含有foo的行
/etc/passwd grep - i“foo”
我选项是忽略大小写,这就意味着若某一行含有foo或foo也会被搜索到。
grep还支持递归搜索:
grep - r“foo”/home/sjvn
这条命令将会搜索/home/sjvn目录及其子目录下所有的包含“foo”的行
grep也通常与其他命令串连起来使用,例如:
ls la | grep foo *