16个圆桌面Linux用户必须要知道的Shell命令

16个圆桌面Linux用户必须要知道的Shell命令

日期:2014-05-16  浏览次数:20305 次

16个桌面Linux用户必须要知道的Shell命令

http://my.oschina.net/jack230230/blog/56318?from=20120506

有些人仍然会有这中愚蠢的想法,他们认为使用Linux就必须使用Linux shell命令。胡说!你可以不懂得任何Linux命令,比如说ps,grep,ls等,但是你仍然可以使用很多现代的Linux桌面发行版。

Linux的系统管理员与桌面用户不一样,他们不像桌面用户一样使用Cinnamon, GNOME, Unity, 或者 KDE,他们所有的时间都是用Linux命令。

对于桌面用户来讲,若是了解一部分Linux命令,你可以更好的使用Linux,体验它的魅力,下面列举出了一些:

Shell 基础:

你可以通过打开Linux的terminal(终端)来执行Shell命令。Shell的种类有很多种,例如CSH,Bourne Shell,Korn Shell。在现在的大多数Linux发行版中,默认的Shell一般都是Bourne again shell(bash).

想看看你的Shell是哪一种,执行下面的命令

1echo $SHELL

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

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

Echo.png

一个重要的地方是,你要注意文本的大小写。例如,ls,是DOS的dir命令的Linux版本。这个命令列出当前工作目录下的文件列表。如果你输入的是LS,你得到的只能是“找不到命令”的错误信息。

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

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

基本的语法就像这样:

1command -option file

例如:

1ls -la

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

现在就是“pipe”出场的时候了。

1ls -la | more

你会在屏幕上看到如下信息:

ls-la.png

你也可以在大多数Linux命令中使用通配符。通配符就是可以代表文件名中任何未知的字符或字符串。例如,*就代表任意字符串,?代表单个字符。例如:

1ls -l a*

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

1ls a?cd

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

一些常用的命令

man:如果你想了解每一个命令代表什么含义以及他的用法,你就可以使用man(意义为manual)命令,例如:

1man ls

man输出的内容是为系统管理员和开发者编写的,如果你想了解更多命令的用法,你可以去找网络上的Linux命令文档,有一个非常方便的就是丹尼尔·巴雷特的Linux的袖珍指南。

在以前如果你真的想学习Linux和Unix你必须阅读man手册。而在2012年的今天,面对如此好用的图形界面,这句话显得不是那么的重要,但是如果你想了解Linux更深,阅读man手册仍然是一个好的开始。

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

一个相对安全的多的办法是使用sudo命令,这个命令可以上你以root权限运行一个命令。

这两个命令都需要系统密码。在大多数Linux的桌面发行版中这两个是相同的,就是你系统的第一个用户设置的密码。

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

1grep foo /etc/passwd

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

1grep -i "foo" /etc/passwd

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

grep还支持递归搜索:

1grep -r "foo" /home/sjvn

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

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

1ls -la | grep foo*

列出当前目录下任何以foo开头的文件或目录。例如如下文件将被匹配:foo,foobar,foolish.txt等等。

ps:报告进程的状态。此命令将显示哪些程序正在运行。我使用PS和grep比其他任何命令使用的都要多。

现在假如你有一个程序运行出了错误,你不能再桌面上把他关掉,(我看准你了,火狐),我运行如下命令就能查看他的进程id:

1ps -ef | grep firefox

这条命令做了如下事情:

1kill -9 1234

·第一,他找出所有当前在我的电脑上运行的程序

·然后grep命令找出这些文件中叫“firefox”的,显示到屏幕上。

·每一行都有一个进程id数字。有了,现在我就可以是用...

kill:这条命令就想他的名字一样,他可以干掉指定的进程。干掉运行错误的firefox或者其他我想干掉的进程。

1kill 1234

这将会干掉所有进程id为1234的程序。为了确保这个程序已经被干掉(强行终止),我使用下面的命令

clear:  如果你觉得你的屏幕上有太多的东西,看起来很讨厌,可以使用clear命令清空。

文件/目录命令

cp:cp代表copy,就是复制,他可以复制一个或多个文件到指定的一个或多个目录下。

一个通常的用法是:

1cp fred.txt ethel.txt

把fred.txt中的内容复制到当前文件夹中名为ethel.txt中

1cp fred.txt /home/sjvn/docs/fred.txt

把fred.txt复制到指定文件中。

1cp *.txt  /home/sjvn/docs/

复制当前目录下所有以.txt结尾的文件到指定的目录下。

1cp -r /home/sjvn/docs/* /home/sjvn/backup

递归的复制在/home/sjvn/docs/目录下的所有文件到指定的文件夹。

hostname: 显示你当前登录进去的计算机的名称。

mv:mv(意义为move)顾名思义就是移动,可以移动指定文件到指定位置。当然这个命令有的时候还可以用来实现重命名。

例如:

1mv fred.txt ethel.txt

这条命令的作用你可以简单的认为是重命名fred.txt为ethel.txt。

当然此命令还有其他用法,此处不再一一罗列,用法与cp类似,只是这条命令不再保留原文件。

rm:rm代表remove,是删除的意思,所以我运行:

1rm fred.txt

我将删除fred.txt。

我强烈推荐你在执行rm命令的时候使用-i选项。这儿选项将在你执行命令的时候询问你是否要真的删除文件。就像这样:

1rm -i fred.txt

系统信息

uname: uname -a命令用一行简短的给你总结的电脑的基本信息。这通常包括你的电脑名称,Linux内核版本,你的发行版名称等。

uname-a.png

对于更详细的信息,你可以使用ca

免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

linux 终端 画圆,16个圆桌面Linux用户必须要知道的Shell命令相关推荐

  1. linux 查看桌面目录下,16个桌面Linux用户必须要知道的Shell命令

    有些人仍然会有这中愚蠢的想法,他们认为使用Linux就必须使用Linux shell命令.胡说!你可以不懂得任何Linux命令,比如说ps,grep,ls等,但是你仍然可以使用很多现代的Linux桌面 ...

  2. linux shell 桌面,16个桌面Linux用户必须要知道的Shell命令

    有些人仍然会有这中愚蠢的想法,他们认为使用就必须使用Linux命令.胡说!你可以不懂得任何Linux命令,比如说ps,grep,ls等,但是你仍然可以使用很多现代的Linux桌面发行版. 5D9p:B ...

  3. linux 终端 画圆,Linux Bash Shell快速入门

    BASH的基本语法 ·最简单的例子-- Hello World! ·关于输入.输出和错误输出 ·BASH中对变量的规定(与C语言的异同) ·BASH中的基本流程控制语法 ·函数的使用 2.1最简单的例 ...

  4. linux终端贪吃蛇,分享|nSnake: 在Linux的终端上玩经典的贪食蛇游戏

    你知道20世纪末的那些古老的诺基亚手机上最棒的东西是什么吗? 贪食蛇! 我以前在这个看似无聊但却让人上瘾的游戏上花费了大把的时间.在古老的诺基亚手机被智能手机取代的同时,贪食蛇也被另外的无聊但却令人上 ...

  5. 关闭linux终端,查看、关闭登录到linux的终端

    基本概念: tty(终端设备的统称): tty一词源于Teletypes,原来指的是电传打字机,是通过串行线用打印机键盘阅读和发送信息的东西,后来这东西被键盘和显示器取代,所以现在叫终端比较合适. 终 ...

  6. linux终端中超级用户用( )符号,Linux系统及应用-中国大学mooc-题库零氪

    第一周 系统状态查看工具:文本文件处理 <第一周单元测验>(一) 1.下面哪些部件不是一台物理上的字符终端必须具备的? A.以太网网卡 B.磁盘存储器 C.串行通信口 D.显示器 E.键盘 ...

  7. Linux终端打开一只小马,Linux 终端上的漂亮小马

    将小马宝莉的魔力带到终端 -- Jason Baker 欢迎再次来到 Linux 命令行玩具日历.如果这是你第一次访问该系列,你甚至可能会问自己什么是命令行玩具.我们正在思考中,但一般来说,它可能是一 ...

  8. linux终端和执行进程的关系,Linux系统编程第04期:打通进程与终端的任督二脉

    本课程是<嵌入式工程师自我修养>自学教程六步走中的第3步:Linux系统编程第04期. 进程,是Linux系统中任务调度运行的基本单元:一个程序的运行,都要被操作系统包装成"进程 ...

  9. linux 终端80列_如何从Linux终端列出计算机的设备

    linux 终端80列 Fatmawati Achmad Zaenuri/Shutterstock.comFatmawati Achmad Zaenuri / Shutterstock.com Fin ...

最新文章

  1. Hadoop学习笔记-关于Hadoop你不得不知道的12个事实
  2. Spring和MyBatis环境整合
  3. RocketMQ 4.5.1 双主双从异步复制环境搭建
  4. 网站推广中哪些优化方法是不利于搜索引擎网站推广的呢?
  5. 常考数据结构与算法:单调栈结构
  6. hadoop官方文档_hadoop体系简介
  7. Python爬取某旅游网站中的中国城市信息
  8. 清华毕业生做保姆,那又如何呢
  9. 嵌入式linux面试题库,嵌入式linux面试题解析(二)——C语言部分三
  10. win7清理系统后,音频设备被禁用,没有声音
  11. 【设计模式】适配器模式
  12. 别再说不知道元空间和永久代的区别了
  13. (附源码)springboot企业合同管理系统 毕业设计 161456
  14. 深入浅出Oracle Spatial
  15. 7. 重磅硬核 | 一文聊透对象在JVM中的内存布局,以及内存对齐和压缩指针的原理及应用
  16. 人工智能 知识表示方法:谓词逻辑和语义网络 题目练习
  17. 前端学习 Vue笔记 完整版
  18. ANDROID 11 文件系统挂载
  19. Elastalert的报警功能拓展:分组报警
  20. Github报错: Support for password authentication was removed on August 13, 2021 问题解决

热门文章

  1. 解决复制虚拟机时候网络不从eth0开始问题
  2. Android UI法宝的设计资源的开发
  3. 使用python来访问Hadoop HDFS存储实现文件的操作
  4. 剖析Linux系统启动过程(二)
  5. etc/ld.so.conf的使用说明
  6. 深度解析JAVA动态代理设计模式
  7. Cubieboard ARM 集群
  8. golang常用命令
  9. golang中的new和make的区别
  10. c++string类默认函数实现