Shell基础命令(一)
Shell 教程
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。
Shell 脚本
Shell 脚本(shell script),是一种为 shell 编写的脚本程序。
业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念。
由于习惯的原因,简洁起见,本文出现的 "shell编程" 都是指 shell 脚本编程,不是指开发 shell 自身。
Shell 环境
Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。
Linux 的 Shell 种类众多,常见的有:
- Bourne Shell(/usr/bin/sh或/bin/sh)
- Bourne Again Shell(/bin/bash)
- C Shell(/usr/bin/csh)
- K Shell(/usr/bin/ksh)
- Shell for Root(/sbin/sh)
- ……
Shell 基本命令
快捷键
1.tab键 用于自动补全命令/文件名/目录名
2.ctrl + l 清理终端显示
3.clear/cls 清理终端显示
4.ctrl + c 终止当前操作
echo命令
普通用户跟root切换 su:
# 切换到普通用户:su 用户名
# 切换到root用户:su
[root@localhost test]# su lrj
[lrj@localhost /]$ su
Password:
[root@localhost /]#
创建目录:
[root@localhost /]# mkdir qiyue
[root@localhost /]# ls
bin boot dev etc home lib lib64 media mnt oldboy opt proc qiyue root run sbin srv sys tmp usr var
# 在qiyue目录下递归创建目录 a/b c/d /子目录
[root@localhost /]# cd qiyue/
[root@localhost qiyue]# mkdir a/b c/d
[root@localhost qiyue]# mkdir -p a/b c/d
[root@localhost qiyue]# ls
a c
[root@localhost qiyue]# cd a # 改变当前的目录/位置
[root@localhost a]# ls
b
[root@localhost a]# cd ../c
[root@localhost c]# ls
d
#递归创建test/a,b,c,d四个目录 {}同级
[root@localhost qiyue]# mkdir -p test/{a,b,c,d}
[root@localhost qiyue]# ls # 查看当前目录下的所有文件
a c test
[root@localhost qiyue]# ls test #显示/test下的内容(查看指定目录下的所有内容)
a b c d
[root@localhost qiyue]# pwd # 打印当前工作目录
/qiyue
文本编辑:
vi # 记事本打开
vim # notepad++ 打开
使用vi打开oldboy.py,默认是命令模式,需要输入a/i进入编辑模式,然后输入文本"Life is short,i use python"
按下esc键,回到命令模式
输入 :wq! 强制保存退出
w write 写入
q quit 退出
! 强制
或者 :x 保存退出
------
:q 不保存退出
:q! 不保存强制退出
查看纯文本内容: cat
[root@localhost qiyue]# cat liu.txt
今天学习linux中的Shell命令.
[root@localhost qiyue]#
more命令
1.more命令用于查看内容较多的文本,例如要看一个很长的配置文件,cat查看内容屏幕会快速翻滚到结尾。
2.more命令查看文本会以百分比形式告知已经看到了多少,使用回车键向下读取内容
more /etc/passwd
按下空格space是翻页
按下b键是上一页
回车键向下读取内容
移动, 改名:mv
将liu.txt 移动到test目录下, 将test目录下的a改成aa
[root@localhost qiyue]# ls
a c liu.txt test
[root@localhost qiyue]# mv liu.txt test
[root@localhost qiyue]# ls
a c test
[root@localhost qiyue]# ls test
a b c d liu.txt
[root@localhost qiyue]# cd test/
[root@localhost test]# mv a aa
[root@localhost test]# ls
aa b c d liu.txt
[root@localhost test]#
删除命令rm:
[root@localhost test]# rm liu.txt # #默认有提示删除,需要输入y, 加上参数-f 不提醒
rm: remove regular file ‘liu.txt’? y
[root@localhost test]# ls
aa b c d
[root@localhost test]# rm -rf b #rm默认无法删除目录,需要跟上参数-r
[root@localhost test]# ls
aa c d rm -rf /* # 跑路跑路跑路跑路跑路跑路跑路跑路跑路跑路
echo命令
echo命令用于在终端输出字符串或变量提取后的值,格式是“echo 【字符串|$变量】”
#默认吧内容显示到终端上
echo "七月"
#把“七月”写入到文件里!
echo "七月" > /tmp/qiyue.txt
echo $PATH #取出打印PATH的值
查找
#Linux里如何找到需要的文件 例如 oldboy.py
find 在哪里(目录) 什么类型(文件类型) 叫什么名字(文件名)
参数 -name 按照文件名查找文件
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
s - socket文件 find /tmp/ -type f -name "oldboy.py" #找出/tmp所有以 .txt 结尾的文件
find /tmp/ -type f -name "*.txt" #找到/etc下所有名字以host开头的文件
find /etc -name 'host*' #找到/opt上一个名为settings.py
find /opt -name 'settings.py'
管道命令: |
Linux提供的管道符“|”讲两条命令隔开,管道符左边命令的输出会作为管道符右边命令的输入。
常见用法:
#检查python程序是否启动
ps -ef|grep "python" #找到/tmp目录下所有txt文件
ls /tmp|grep '.txt' #检查nginx的端口是否存活
netstat -tunlp |grep nginx
grep
语法:
grep [参数] [--color=auto] [字符串] filename
参数详解:
-i : 忽略大小写
-n : 输出行号
-v : 反向选择
--color = auto : 给关键词部分添加颜色 grep "我要找什么" /tmp/oldboy.txt
#排除 -v,排除我要找的东西
grep -v "我要找什么 /tmp/oldboy.txt
head、tail命令
head显示文件前几行,默认前10行
tail显示文件后几行,默认后10行
#查看前两行
head -2 /tmp/oldboy.txt
#查看后两行
tail -2 /tmp/oldboy.txt
#持续刷新显示
tail -f xx.log #显示文件10-30行
head -30 /tmp/oldboy.txt |tail -21
Shell基础命令(一)的更多相关文章
- 【CDN+】 Hbase入门 以及Hbase shell基础命令
前言 大数据的基础离不开Hbase, 本文就hbase的基础概念,特点,以及框架进行简介, 实际操作种需要注意hbase shell的使用. Hbase 基础 官网:https://hbase.ap ...
- 运维 04 Shell基础命令(二)
Shell基础命令(二) 查看Linux的发行版 cat /etc/redhat-release cat /etc/os-release 查看系统用户的id信息 id 用户名 id root id ...
- 运维02 Shell基础命令(一)
Shell基础命令(一) Shell 教程 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应 ...
- 第二篇:shell基础命令(部分)
目录 一.shell命令规则 二.基础命令详解(部分) ls :列出目录内容 mkdir : 创建目录 rmdir :删除目录 touch:新建文件 mv:修改文件(目录)名.移动路径 cp:复制文件 ...
- Linux从入门到进阶全集——【第十四集:Shell基础命令】
1,Shell就是命令行执行器 2,作用:将外层引用程序的例如ls ll等命令进行解释成01表示的二进制代码给内核,从而让硬件执行:硬件的执行结果返回给shell,shell解释成我们能看得懂的代码返 ...
- shell基础命令
什么是脚本? 脚本简单地说就是一条条的文字命令(一些指令的堆积),这些文字命令是可以看到的(如可以用记事本打开查看.编辑). 常见的脚本: JavaScript(JS,前端),VBScript, AS ...
- linux shell基础命令
du -h #查询磁盘文件大小和列表 df -h # 查询服务器磁盘使用情况 top/free # 查询服务器内存,cpu等资源使用情况 iptables # 防火墙相关的命令 vi ...
- Shell基础命令(二)
查看Linux的发行版 cat /etc/redhat-release cat /etc/os-release 查看系统用户的id信息 id 用户名 id root id 创建系统用户的命令 user ...
- Linux安全基础:shell及一些基础命令
1.什么是shell?Shell是用户和Linux操作系统之间的接口.Linux中有多种shell,其中缺省使用的是Bash. 2.shell的分类(1)bash bash shell 是 Bourn ...
随机推荐
- 数据调试~~TCP转串口、串口转TCP调试
Android socket开发了一个socket客户端,当输入服务器ip以及端口,建立连接之后,Android可以发送数据到电脑接收服务器端. 如果电脑端没有socket服务器怎么办?方法如下: 1 ...
- FCC(ES6写法) Validate US Telephone Numbers
如果传入字符串是一个有效的美国电话号码,则返回 true. 思路:用正则,参考网上资料和js高级程序设计(5.4RegExp类型). let telephoneCheck = str => /^ ...
- [Swift]LeetCode566. 重塑矩阵 | Reshape the Matrix
In MATLAB, there is a very useful function called 'reshape', which can reshape a matrix into a new o ...
- [Swift]LeetCode868. 二进制间距 | Binary Gap
Given a positive integer N, find and return the longest distance between two consecutive 1's in the ...
- Java Jvm运行机制原理
一:简介 在学习Java虚拟机之前,也就是Jvm之前,我想大家能够带着问题去学习,这样的话,大家学习起来也会比较有所获! 1.Java虚拟机(Jvm)是什么? 2.Java虚拟机是用来干什么的? 3. ...
- BBS论坛(九)
9.1.权限和角色模型定义 (1)cms/models class CMSPermission(object): ALL_PERMISSION = 0b11111111 # 1.访问者的权限 VISI ...
- .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了
作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/9985451.html 本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新 ...
- Javascript的原型继承,说清楚
一直以来对Javascript的原型.原型链.继承等东西都只是会用和了解,但没有深入去理解这门语言关于继承这方面的本质和特点.闲暇之余做的理解和总结,欢迎各位朋友一起讨论. 本文本主要从两段代码的区别 ...
- Redis学习——Windows环境下Redis的安装(二)
一.说明 之前介绍了Linux环境下Redis的安装,这次介绍一下Windows环境下Redis的安装,首先要讲的是,Redis官方只支持Linux,还好 Microsoft Open Tech gr ...
- redis 系列26 Cluster高可用 (1)
一.概述 Redis集群提供了分布式数据库方案,集群通过分片来进行数据共享,并提供复制和故障转移功能.在大数据量方面的高可用方案,cluster集群比Sentinel有优势.但Redis集群并不支持处 ...