有些人仍然会有这中愚蠢的想法,他们认为使用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是哪一种,执行下面的命令

echo $SHELL

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

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

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

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

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

基本的语法就像这样:

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。

一些常用的命令

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

man ls

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

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

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

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

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

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*

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

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

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

ps -ef | grep firefox

这条命令做了如下事情:

kill -9 1234

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

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

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

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

kill 1234

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

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

文件/目录命令

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

一个通常的用法是:

cp fred.txt ethel.txt

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

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

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

cp *.txt  /home/sjvn/docs/

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

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

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

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

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

例如:

mv fred.txt ethel.txt

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

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

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

rm fred.txt

我将删除fred.txt。

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

rm -i fred.txt

系统信息

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

对于更详细的信息,你可以使用cat命令,他可以显示你的Linux电脑中的文本信息。

cat /proc/cpuinfo

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

cat /proc/version

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

cat /etc/printcap

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

set | more: set|more

组合命令可以给你更多的呢当前的桌面环境变量的信息。单如果你只是想知道你系统环境变量中的某一个或两个,可以执行如下命令:

echo $PATH

结束或者说是另一个开始

这里给你展示的只不过是Linux命令的表皮。成百上千的书和网站可以给你更多更复杂的如何使用Linux命令的展示。本文只是让你在想了解比Linux Gui更深一层时的参考。

如果你想学习更多的关于LInux,推荐你去LinuxCommand.org或者看一看Linux in a Nutshell。如果你想变成一个Linux shell编程的大事,推荐你去学习卡梅伦纽汉姆的 Learning the bash Shell 。

linux shell两条命令,Linux最常用的18个Shell命令相关推荐

  1. linux扩展两个桌面,经验分享:九大GNOME Shell扩展助您定制桌面Linux

    原标题:经验分享:九大GNOME Shell扩展助您定制桌面Linux 每位用户在首次设置新计算机时,都会进行有针对性的自定义--包括切换桌面环境.安装终端shell.选择自己喜欢的浏览器或者更改壁纸 ...

  2. linux join两个文件,Linux使用join -a1来合并两个文件

    Linux使用join -a1来合并两个文件 要合并以下两个文件,一起合并在一起,合并到1.txt中 # 1.txt Jerry 20 Alice 30 David 40 # 2.txt Jerry ...

  3. cp linux 显示进度条_Unix/Linux/Mac os下 文件互传

    Unix/Linux/Mac os下 文件互传 说起文件互传,就不得不提命令scp. 他是Secure copy的缩写,使用ssh连接和加密方式, 如果两台机器之间配置了ssh免密登录, 那在使用sc ...

  4. linux shell两条命令,在bash shell终端中执行命令时,若要将多条命令书写在一行中,每个命令之间应用( )符号进行分隔。...

    [单选题]DE 杆的角速度的转向为: [判断题]中碳钢的含碳量在0.25%~0.6%之间 [多选题]在大众餐馆吃饭时,应该先( ),之后才能抽烟. [单选题]乳腺癌改良根治术后对患侧上肢肿胀的护理,错 ...

  5. linux安装硬盘命令,硬盘安装linux的两条命令

    Spring中Bean的命名问题(id和name区别)及ref和idref之间的区别 Spring中Bean的命名 1.每个Bean可以有一个id属性,并可以根据该id在IoC容器中查找该Bean,该 ...

  6. linux 启动两个摄像头,Linux:(多摄像头)如何运行指定的摄像头

    LZ原来一直都是用的笔记本的摄像头,结果标定的时候快趴地上了,可能是实在看不过去了,师兄给了一个摄像头,这样相当于有两个摄像头,但是怎么打开指定的摄像头呢? 第一个,安装一个软件 sudo apt-g ...

  7. linux编程两个子进程,Linux中fork同时创建多个子进程的方法

    怎么创建多个进程呢?我说那还不容易,看下边代码: //省略必要头文件 int main() { pid_t pid[2]; int i; printf("This is %d\n" ...

  8. linux新建两个工作组,linux添加工作组

    弹性云服务器 ECS 弹性云服务器(Elastic Cloud Server)是一种可随时自助获取.可弹性伸缩的云服务器,帮助用户打造可靠.安全.灵活.高效的应用环境,确保服务持久稳定运行,提升运维效 ...

  9. Linux按压缩率大小排序,Linux下常用压缩 解压命令与压缩比率对比

    常用的格式有: tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大. 1. tar 只是打包动作,相当于归档处理,不做压缩:解压也一样 ...

最新文章

  1. vs2003复制一个web窗体,没有更改指向同一个cs 文件,引发大问题
  2. webuploader在bootstrap模态对话框中选择文件按钮无效的问题
  3. SPOJ 1812 LCS2 - Longest Common Substring II (后缀自动机)【两种做法】
  4. 2.6内核的配置与编译
  5. leetcode 451. 根据字符出现频率排序
  6. 前端学习(3028):vue+element今日头条管理-使用icon图标的处理
  7. python哪本书好看_python入门看哪本书好
  8. Spring延迟依赖注入ObjectFactory/ObjectProvider
  9. 没事学学docker(二):本地Centos7和阿里云服务器安装docker及其解决安装出现的问题
  10. JS 100内与7相关的数
  11. 主要厂商在大数据领域的布局状况
  12. 计算机专业页面特效期末考试,《网页设计与制作》期末考试试题及答案.doc
  13. Charles安装证书
  14. Hadoop mapreduce课程设计-全球历史平均气温数据分析
  15. 一文搞懂JVM架构:微信抢红包实战案例
  16. strong和weak引用的讲解
  17. 配置Centos7网卡聚合链路
  18. 解决Win11安装PS2022版本卡顿闪退问题 win11安装Photoshop2022闪退卡顿问题解决方案
  19. 4K/8K的雷电(thunderbolt)解决方案
  20. c语言按学号查询学生排名极其考试成绩,C语言--学生成绩管理系统

热门文章

  1. Waveform(波形图编辑器)v10.1.5官方版
  2. AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher
  3. 洞悉物联网发展1000问之为什么移动通信技术发展如此迅速?
  4. ScreenFlow 9.0.1中文汉化
  5. 个人博客系统前台博客详情
  6. poweroff命令
  7. Cocos Creator加载网络图片
  8. CCNA、CCNP和CCIE思科认证
  9. 用户积分营销的三种方式
  10. java web编程 servlet3