热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linuxshell基础(一)

linux一直学的很拖拖拉拉的,以前学了,不常用,不写笔记,基本忘了,又的重新来一次。Shell是什么She

linux一直学的很拖拖拉拉的,以前学了,不常用,不写笔记,基本忘了,又的重新来一次。


Shell是什么

Shell是一个命令解释器,它为用户提供了一向Linux内核发送请求以便运行程序的界面系统程序,用户可以用shell来启动、挂起、停止甚至是编写一些程序。

 

Bash的基本功能

1历史命令


当在服务器出问题,需要查看上一次操作,以判断问题。可以通过历史命令查看。

#history  [选项][l历史命令保存文件]

选项:

    -c: 清空历史命令

    -w:把缓存中的历史命令写入历史命令保存文件

 

历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改。

/home/bash_history

上下键切换以前的历史命令

"!n"重复执行第n条历史命令

"!!"重复执行上一条命令

"!字串"重复执行最后一条以该字串开头的命令

 

2 命令与文件补全

使用tab键补全

 

3别名和快捷键

命令别名

设定命令别名

#alias 别名 = '原命令'

例如将vi设置为vim的别名,使用命令vi的时候就表示使用vim。(这个是根据每个人的习惯来设置的)

#alias vi=’vim‘

查询命令别名

#alias

命令执行时书顺序:

1第一顺位执行用绝对路径或相对路径执行的命令

2第二顺位执行别名

3第三顺位执行Bash的内部命令

4第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令

让别名永久生效,需要修改配置文件

#vi  /root/.bashrc

删除别名

#unalias 别名

 

常用快捷键

ctrl+c:强制终止当前的命令

ctrl+l:清屏,相当于clear

ctrl+u:删除或剪切光标之前的命令,输入一个很长命令后,不用使用退格键一个一个字符的删除,使用这个快捷键更加方便

ctrl+y:粘贴ctrl+u剪切下来的内容

ctrl+r:在历史命令中搜索,按下ctrl+r之后,就会出现搜索界面,只要输入搜索内容,就会从历史命令中搜索。

ctrl+d:退出当前终端

常用命令还是需要试试才能熟悉

 

4输入输出重定向

1标准输入输出

就是计算机的输入设备和计算机的输出设备

输入输出重定向就是不执行标准输入输出,用文件的方式来输入输出

2输出重定向

输出重定向:不让它输出到屏幕中让它输出到文件当中

linux做定时任务时,把命令结果保存在文件里,给管理员查看,以便检查。


知道错误命令干嘛还输出啊,所以常用的是下面的方式。

把正确的和错误的都输入同一个文件。


 前4种都是一样的,都是把错误和正确输出到一个文件里面。

&>/dev/null将错误直接丢入垃圾箱

最后一种把正确的和错误的分开来写。

3输入重定向


就是不以键盘的方式来输入,而已文件的方式来输入


输入重定向没有输出重定向常用,给源码打补丁用


用wc进行演示


wc统计键盘数 


ctrl+d显示计算结果


#wc [选项][文件名]


选项:


-c  统计字节数


-w 统计单词数


-l 统计行数


输入重定向格式
命令<文件  把文件作为命令的输入


用命令<<文件的方式&#xff1a;
wc<

5多命令顺序执行

简化执行操作&#xff0c;多个命令一起执行。


“&#xff1a;”的作用&#xff1a;

连接多个没有关系的命令&#xff0c;在执行dd命令的时候有帮助

dd命令在linux中执行磁盘或者 数据复制&#xff0c;但是它不是cp&#xff1b;cp只复制文件&#xff0c;dd命令能复制特殊文件和特殊命令&#xff0c;还能复制分区和硬盘&#xff0c;还复制硬盘或者分区的文件系统&#xff0c;可以当作磁盘对口命令来对待&#xff0c;dd主要用于磁盘的复制。


例子&#xff1a;

测试创建一个10M的文件需要多久

#dd  if&#61;输入文件 of&#61;输出文件 bs&#61;字节数 count&#61;个数

选项&#xff1a;

     if &#61; 输入文件  指定源文件或者源设备

     of&#61;输出文件   指定目标文件或者设备

     bs&#61;字节数      指定一次输入\输出多少字节&#xff0c;即把这些字节看做一个数据块

     count&#61;个数    指定输入\输出多少个数据块


创建一个10M的文件只需要0.034s

&&与||的例子&#xff1a;


6.管道符

格式:

#命令1 | 命令2

作用&#xff1a;

命令1的正确输出作为命令2的操作对象

例子&#xff1a;

#ll -a /etc/ | more

more本来是用于文件的&#xff0c;现在可以用于命令的操作&#xff0c;/etc/显示内容非常多&#xff0c;用more可以很好的分页


#grep [选项] "搜索内容”  文件名

作用&#xff1a;

搜索关键字用颜色显示

选项&#xff1a;

-i &#xff1a;  忽略大小写

-n&#xff1a;  输出行号

-v&#xff1a; 反向查找

--color &#61; auto 搜索出的关键字用颜色显示




推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • 进入配置文件目录:[rootlinuxidcresin-4.0.]#cdusrlocalresinconf查看都有哪些配置文件:[rootlinuxid ... [详细]
  • 找到JDK下载URL当然去官网找了。目前最新的1.8的下载URL(RPM)如下:http:download.oracle.comotn-pubjavajdk8u161-b122f3 ... [详细]
  • Linux批量复制并重命名和批量复制文件到多个文件夹的方法
    本文介绍了在Linux系统下批量复制并重命名文件以及批量复制文件到多个文件夹的方法。通过使用模式匹配功能,可以方便地实现文件的批量操作。同时,还提供了有关shell语法中的()和{}的参考资料。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
author-avatar
流寇仏翔_609
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有