Linux系统入门-Bash初识

Bash Shell介绍

Bash Shell是一种命令解释器,它在操作系统最外层,负责用户程序与内核进行交互操作的一种接口,将用户输入的命令翻译给操作系统,并将处理后的结果输出至屏幕。

Bash Shell的作用

  • 文件管理
  • 用户管理
  • 权限管理
  • 磁盘管理
  • 网络管理
  • 软件管理
  • 应用管理

Bash的两种使用方式

  • 命令 效率低,适合少量工作
  • 脚本 效率高,适合大量工作

命令提示符

'$'=普通用户
'#'=root用户(超级管理员)
#查看当前用户
[root@john ~]# whoami
root
#查看当前命令提示符
[root@john ~]# echo $PS1
[\u@\h \W]\$
root:当前系统的用户
db04:当前系统的主机名
~:当前所在的位置
#:超级管理员身份(root用户)
$:普通用户

PS1的常用参数以及含义

\d :代表日期,格式为weekday month date,例如:"Mon Aug 1"

\H :完整的主机名称

\h :仅取主机名中的第一个名字

\t :显示时间为24小时格式,如:HH:MM:SS

\T :显示时间为12小时格式

\A :显示时间为24小时格式:HH:MM

\u :当前用户的账号名称

\v :BASH的版本信息

\w :完整的工作目录名称

\W :利用basename取得工作目录名称,只显示最后一个目录名

\# :下达的第几个命令

\$ :提示字符,如果是root用户,提示符为 # ,普通用户则为 $
  
  
#颜色
30 40 黑色
31 41 红色
32 42 绿色
33 43 黄色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 白色

shell的基础语法

command  [-options]  [arguments]

命令              选项             参数
其中:中括号可有可无
'-'引导段格式选项(单个字符),如:"-a"
'--'引导长格式选项(多个字符),如:"--all"
多个短格式选项可以写在一起,只用一个"-"引导,如"-ls"
echo:所见即所得,输出你参数后面的内容 如:echo 'zlw'
-e:识别换位符等特殊符号 如:echo -e 'zls\n123'
\:转义符
$:调用变量

shell的基本特性

命令补全

  • 命令补全 :tab

  • 参数补全 :yum install -y bash-completion

  • 选项补全 :主要补全路径

    C:\Users\Administrator\Documents\Virtual Machines\CentOS 64 位

linux快捷键

ctrl + a:将光标跳转至行首
ctrl + e:将光标跳转至行末
crrl + w:一空格为单位,将光标位置之前的内容剪切
ctrl + u:将当前光标位置之前的内容全部剪贴
ctrl + l:清屏
ctrl + c:终止当前命令
ctrl + d:退出,断开当前链接(exit,logout)
ctrl + z:挂起,放后台执行
ctrl + r:搜索历史命令
ctrl + s:锁屏
ctrl + q:解锁
ctrl + 左右: 按照单词跳转光标
esc + .:瞬间显示上一条命令,最后的内容,以空格分隔
ctrl + y:粘贴,配合u k w,必须是已存在的
ctrl + k 剪切光标之后

历史命令

日志审计

history
-w:保存历史命令到文件中
-d:删除历史命令中的某一条 -d后面加数字
-c:清空历史记录
!+加命令前面的字符:调用之前的历史命令,只能调最近执行的命令
ctrl+r:可调用前面的命令
!!:执行上一条执行过的命令
!+历史命令中的编号:调用历史命令

命令的别名 alias

#设置别名
[root@oldboyedu ~]# alias ls='ls --color=auto' //临时生效
#取消别名
[root@oldboyedu ~]# unalias tong
#查看别名
[root@oldboyedu ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias tong='ping baidu.com'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

获取命令帮助

[root@oldboyedu ~]# ls --help
Usage: ls [选项] [文件]
ls
ls -l
ls -l /tmp

[root@db04 ~]# ls --help

用法:ls [选项]... [文件]...

[root@db04 ~]# man ls

注释,不执行#

ls常见选项

-a  //查看目录下的所有文件,包括隐藏文件
-l //以长格式的方式显示文件的详细内容
-h //以人性化的方式显示内容,配合-l使用
-d //只列出目录名,不列出目录以下的内容
-t //按修改时间进行排序
-i //显示文件的inode(该文件在该分区的一个编号)
-r //倒叙

Linux系统入门-Bash初识的更多相关文章

  1. Linux系统入门---开机启动流程

    目录 Linux系统入门---开机启动流程 一.centos6 二.systemd管理进程 1.查看级别 三.centos7实践案例: 1.案例1:centos7系统,单用户修改root密码 案例2: ...

  2. IT技术学习指导之Linux系统入门的4个阶段(纯干货带图)

    IT技术学习指导之Linux系统入门的4个阶段(纯干货带图) 全世界60%的人都在使用Linux.几乎没有人没有受到Linux系统的"恩惠",我们享受的大量服务(包括网页服务.聊天 ...

  3. linux系统入门—文件管理

    目录 linux系统入门-文件管理 系统目录结构 目录管理 linux系统入门-文件管理 系统目录结构 几乎所有的计算机操作系统都是使用目录结构组织文件.具体来说就是在一个目录中存放子目录和文件,而在 ...

  4. Linux系统入门简介<1>

    linux系统入门简介 我们为什么要学习Linux? 在介绍Linux的历史前,我想先针对大家如何对Linux的发音说一下.我发现我身边的朋友对Linux的发音大致有这么几种: "里那克斯& ...

  5. 唠一唠Linux系统入门的方法和经验

    相信大伙都听说过linux系统,然而对于这个系统,总使让新手感觉茫然,偌大的系统.下面是一段百度中的介绍: Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用 ...

  6. Linux系统入门教程:如何在 Linux 中修改默认的 Java 版本

    提问:当我尝试在Linux中运行一个Java程序时,我遇到了一个错误.看上去像程序编译所使用的Java版本与我本地的不同.我该如何在Linux上切换默认的Java版本? 当Java程序编译时,编译环境 ...

  7. linux系统入门一些常用命令解析

    接触IT行业的时候,就使用了ubuntu系统做开发,那个时候是一头雾水,从习惯了window下的界面操作,到终端下的命令行操作,着实一开始让人很不习惯.但是没办法,那个时候公司每个人都用Ubuntu系 ...

  8. 第一章 Linux系统入门

    设定目标,寻求方法,勤奋努力,坚持不懈. ------你们知道了,而我们做到了.------ 世界上第一台计算机:ENIAC(埃尼亚克).1946-2 宾夕法尼亚大学. 约翰·冯·诺依曼体系 电脑的组 ...

  9. Linux系统入门命令100条 转

    https://www.howtoforge.com/linux-commands/ 2017-04-27 RiboseYim 睿哥杂货铺 Author : Himanshu Arora 原文:htt ...

随机推荐

  1. [Java]HashMap实现与哈希冲突,与HashTable的区别

    对于 Map ,最直观就是理解就是键值对,映射,key-value 形式.一个映射不能包含重复的键,一个键只能有一个值.平常我们使用的时候,最常用的无非就是 HashMap. HashMap 实现了 ...

  2. Net Core2.0下使用Dapper

    Net Core2.0下使用Dapper 今天成功把.Net Framework下使用Dapper进行封装的ORM成功迁移到.Net Core 2.0上,在迁移的过程中也遇到一些很有意思的问题,值得和 ...

  3. D. Statistics of Recompressing Videos

    D. Statistics of Recompressing Videos time limit per test 3 seconds memory limit per test 256 megaby ...

  4. C#中的XML文档注释-推荐的文档注释标记

    文档注释是为了方便自己和他人更好地理解代码所实现的功能.下面记录了一些常用的文档注释标记: <C> 用法: <c>text</c> 将说明中的文本标记为代码.例如: ...

  5. Java Lambda表达式教程与示例

    Lambda表达式是Java 8中引入的一个新特性.一个lambda表达式是一个匿名函数,而且这个函数没有名称且不属于任何类.lambda表达式的概念最初是在LISP编程语言中引入的. Java La ...

  6. Java中的日志框架

    日志框架的介绍和使用 常见的日志框架:JUL(Java.util.logging),JCL(jakarta commons logging),SLF4J,jboss-logging,Log4j,Log ...

  7. js浮点数计算(加,减)

    最近工作中经常遇到需要处理浮点型计算的问题,开始一直都在用把浮点数先乘以10的对应小数的位数的次方化成整数再去开始计算. 例如100.01+100.02,可以化成(100.01*100+100.02* ...

  8. PHP变量、数据类型、字符串、运算符、条件语句、循环语句、数组、函数

    PHP 简介: php :是一门动态交互的计算机语言  静态交互 html  css  js 但凡是动态交互的 都需要服务器. php都是以.php结尾的文件 Html文件里不能写php代码,但是ph ...

  9. angularJS在移动端的点击事件延迟问题

    在运用angular开发移动端的应用时,发现它并没有将ng-click做兼容,在移动端使用ng-click事件仍然会有300ms延迟.后来发现angular有一个专门针对移动端的模块:angular- ...

  10. LeetCode:103Binary Tree Zigzag Level Order Traversal

    真是不容易啊,做这道题的时候脑子一团乱,感觉还是得劳逸结合啊.这道题的思想不难,就是宽搜BFS.通过设置一个flag来判断是否需要逆序输出. 我的做法虽然AC,但是觉得代码还是不好,空间占用较多. / ...