文档章节

[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 Shell基础知识,你想知道的都在这里

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

恒生开发者社区
2017/03/10
0
0
Linux Shell学习之基础篇(不适合学习,仅为本人笔记)

在学习Linux和OpenStack过程中,感觉不管是大规模部署部署还是运维,Shell脚本都已经是标配,所以学好脚本很有必要。 以下仅为Linux Shell的一些基础笔记,这里作为笔记记下。 ============...

yishuizhao
07/02
0
0
关于学习linux的一些心得体会

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

索隆
2012/09/14
0
0
linux 之 jailkit

需求:实验室来了批实习生,领导说,让他们用数据,但不能下载数据。然后就有了这篇学习笔记 Jailkit 可以建立一些只能使用特定命令的帐户 限制用户活动范围和权限 搭建安全的SSH多用户环境 ...

thinkando
05/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mariadb二进制包安装,Apache安装

安装mariadb 下载二进制包并解压 [root@test-a src]# wget https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/mariadb-10.2.6-linux-glibc_214-x86_64.t......

野雪球
今天
3
0
ConcurrentHashMap 高并发性的实现机制

ConcurrentHashMap 的结构分析 为了更好的理解 ConcurrentHashMap 高并发的具体实现,让我们先探索它的结构模型。 ConcurrentHashMap 类中包含两个静态内部类 HashEntry 和 Segment。HashEnt...

TonyStarkSir
今天
3
0
大数据教程(7.4)HDFS的java客户端API(流处理方式)

博主上一篇博客分享了namenode和datanode的工作原理,本章节将继前面的HDFS的java客户端简单API后深度讲述HDFS流处理API。 场景:博主前面的文章介绍过HDFS上存的大文件会成不同的块存储在不...

em_aaron
昨天
4
0
聊聊storm的window trigger

序 本文主要研究一下storm的window trigger WindowTridentProcessor.prepare storm-core-1.2.2-sources.jar!/org/apache/storm/trident/windowing/WindowTridentProcessor.java public v......

go4it
昨天
7
0
CentOS 生产环境配置

初始配置 对于一般配置来说,不需要安装 epel-release 仓库,本文主要在于希望跟随 RHEL 的配置流程,紧跟红帽公司对于服务器的配置说明。 # yum update 安装 centos-release-scl # yum ins...

clin003
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部