文档章节

[Linux学习笔记] Linux常用命令 - 番外篇(Shell使用技巧)

LSantorini
 LSantorini
发布于 2015/11/01 18:00
字数 962
阅读 85
收藏 10

系统关机命令: shutdown

命令名称: shutdown
所在路径: /usr/sbin/shutdown
执行权限: root
语法: shutdown
功能描述: 关机
示例: shutdown -h now 立即关机

系统重启命令: reboot

命令名称: reboot
所在路径: /usr/sbin/reboot
执行权限: root
语法: reboot
功能描述: 重启系统

首先明确Shell概念: 

    命令行和Shell这两个概念常常混淆。在很多不正式的场合,两个名词代表相同的含义,即命令解释器。然后命令行指的是供用户输入命令的界面,其本身只是接受输入,然后把命令传递给命令解释器。后者就是Shell。从本质上讲,Shell是一个程序,它在用户和操作系统之间提供了一个面向行的可交互接口。BASH是默认安装和使用的Shell。

查看当前发行版本可使用的Shell:

[santorini@localhost ~]$ cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh

以下将从通配符、命令别名、输入/输出重定向、管道、命令连接符、命令替换符等6部分Shell应用技巧:

通配符:

"*" 用于匹配文件名中任意长度的字符串;

"?" 只匹配一个字符;

"[]" 用于匹配所有出现在方括号内的字符;

"-" 使用短线指定一个字符集范围,所有包含在上下界之间的字符都会被匹配

示例:

[santorini@localhost test]$ ls
BaiBai.txt  error.msg  newdir   newdir.zip  original_copy2.txt      original_copy.txt  original_soft.txt  services  temp.txt   testfile
currentDir  ls.msg     newDir2  oc.txt      original_copy2.txt.zip  original_hard.txt  original.txt       temp.msg  TestDirCP  what.txt
[santorini@localhost test]$ ls *copy*
original_copy2.txt  original_copy2.txt.zip  original_copy.txt
[santorini@localhost test]$ ls *copy?.txt
original_copy2.txt
[santorini@localhost test]$ ls *copy[2]*
original_copy2.txt  original_copy2.txt.zip
[santorini@localhost test]$ ls original_[a-s]???.txt
original_copy.txt  original_hard.txt  original_soft.txt
[santorini@localhost test]$

命令别名定义:

查看别名信息: alias
删除别名: unalias copy
示例: alias copy=cp (单个命令)
      alias xrm="rm -r" (命令组合需用"")

输入/输出重定向:

同标准I/O一样,Shell对于每一个进程预先定义3个文件描述字(0, 1, 2). 分别对应于: 

    0(STDIN)标准输入; 

    1(STDOUT)标准输出; 

    2(STDERR)标准错误输出

标准输入: 键盘; 标准输出: 屏幕

输出重定向: 将标准输出转换为输出到文件或其他终端里. 

示例:

[santorini@localhost test]$ ls -l > temp.msg (清空原来temp.msg内容,然后重新写入)
[santorini@localhost test]$ date >> temp.msg (内容会追加到temp.msg文件最后)

管道: 将一个命令的输出传送给另一个命令,作为另一个命令的输入

使用方法: 命令1|命令2|命令3......|命令n

示例:

[santorini@localhost test]$ ls -l /etc/|more
[santorini@localhost test]$ ls -l|wall

命令连接符:

; 用;间隔个命令按顺序依次执行
&& 前后命令的执行存在逻辑与关系,只有&&前面的命令执行成功后,它后面的命令才被执行
|| 前后命令的执行存在逻辑或关系,只有命令执行失败后,它后面的命令才被执行

命令替换符:

命令替换: 将一个命令的输出作为另一个命令的参数

格式: 命令1 `命令2`

与管道含义类似,但参数位置不同


bash应用技巧:

  1. 命令补齐: 命令补齐允许用户输入文件名起始的若干字母后,按<Tab>键补齐文件名.

  2. 命令历史: 命令历史允许用户浏览先前输入的命令并重新调用它们,用history命令可以显示命令列表,"![命令序号]"可执行对应序号的命令. 按方向键 ↑ 和 ↓ 可查找以前执行过的命令.

© 著作权归作者所有

共有 人打赏支持
LSantorini
粉丝 12
博文 34
码字总数 38213
作品 0
呼和浩特
程序员
扣丁学堂Linux培训之Linux命令大全分享

  本篇文章扣丁学堂Linux培训小编给大家分享一下Linux开发技能的命令,掌握好了Linux开发方面的命令就能更好的操作Linux开发,对Linux开发感兴趣或者是想要学习Linux开发技能的小伙伴下面就...

扣丁学堂
08/29
0
0
关于学习linux的一些心得体会

昨天一个学弟问我怎么学好linux,就思考了一下,做下总结,欢迎大家补充!!!(他还让我给他补linux课,表示很蛋疼。。。。) 学习linux之前必须要做好心理准备: 第一,要明白学好linux不是...

索隆
2012/09/14
0
0
Linux Shell基础知识,你想知道的都在这里

  小编提示:此篇文章阅读时间为15分钟左右,可先收藏后阅读。   01/Linux 的江湖地位   Linux 作为一个全球用户超过14亿的操作系统,它的强大与神奇就不必多说了,混在IT界 Linux是可...

恒生开发者社区
2017/03/10
0
0
Linux究竟要学习哪些东西?

很多人想学习Linux,寻找linux基础学习线路,但是不知道从哪里着手。这里我为大家准备了Linux基础需要学习的一些东西,供大家借鉴使用,详细请参考下面给出的9点建议。Linux程序工程师非常吃...

小杰java
2017/10/23
0
0
嵌入式Linux学习基础规划篇

嵌入式的学习是需要日积月累的,是通过一点一滴的积累才能成为大神。下面来介绍一下嵌入式linux学习基础规划,目标是达到适应嵌入式应用软件开发、嵌入式系统开发或嵌入式驱动开发的基本素质...

创客学院
04/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【挑战剑指offer】系列03:逆序打印单链表

本系列的算法原题来自于“牛客网-剑指offer”,写这个板块,不仅仅是解决算法问题本身,更是手动提高难度、自行变式,思考更多的解决方案,以带给自己一些启发。 1. 【逆序打印单链表】原始题...

LinkedBear
3分钟前
0
0
Linux内存布局

今天这篇文章主要是我之前看Linux内核相关知识和博客Gustavo Duarte中。我主要是看了这篇博客,并且结合之前的知识,对内存管理的的理解又上升了一个档次。所以想通过这篇文章总结下。 我们先...

linuxprobe16
22分钟前
0
0
day94-20180921-英语流利阅读-待学习

记录死亡还是消费死者?自杀报道的媒体偏见 雪梨 2018-09-21 1.今日导读 自杀事件报道一直是新闻报道的重要部分,具有骇人听闻、吸引眼球的特点。可是在报道这些事件的时候,除了客观陈述事实...

飞鱼说编程
28分钟前
2
0
如何通过 J2Cache 实现分布式 session 存储

做 Java Web 开发的人多数都会需要使用到 session (会话),我们使用 session 来保存一些需要在两个不同的请求之间共享数据。一般 Java 的 Web 容器像 Tomcat、Resin、Jetty 等等,它们会在...

红薯
今天
3
0
C++ std::thread

C++11提供了std::thread类来表示一个多线程对象。 1,首先介绍一下std::this_thread命名空间: (1)std::this_thread::get_id():返回当前线程id (2)std::this_thread::yield():用户接口...

yepanl
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部