什么是shell

shell的定义

shell是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。(是将二进制语言识别成用户能读懂的语言)

Linux的基本分类

Linux命令行格式

命令字

1)是整条命令中最关键的一部分

2)唯一确定一条命令

选项

1)短格式选项:使用-符号引导 通常引导一个字母

2)长格式选项:使用- -符号引导 通常引导一个完整的单词

参数

1)命令字的处理对象

2)可以是文件名、目录(路径)名或用户名等内容

3)个数可以是零到多个

编辑Linux命令行

Tab:自动补齐

\:强制换行

ctrl+u:清空至行首

ctrl+k:清空至行尾

ctrl+l:清屏(clear)

ctrl+c:取消本次命令编辑

ctrl+a:切换到行首

ctrl+e:切换到行尾

绝对路径和相对路径

区别:绝对路径以“/”开头,“/结尾”。相对路径不以“/”开头。

Linux中基本命令

# 管理员用户(一般是root)

$ 普通用户

~ 家目录(当前用户的家目录)

/ 根目录

  1. 显示当前文件的路径

[root@localhost ~]# pwd
/root //root用户表示,localhost主机名

2.切换到root下的根目录

[root@localhost ~]# cd / //切换到根目录
[root@localhost /]# ls //列出文件

3.切换到opt目录中(上级-下级 相对路径)

[root@localhost /]# cd opt

4.平行切换和往上级目录切换(相对路径)

[root@localhost opt]# ls
1 2 3 qq qzz yht zz
[root@localhost opt]# cd qzz //切换到opt下面的qzz中
[root@localhost qzz]# cd /opt/qq/ //在qzz中平级切换到opt下面的qq中
[root@localhost qq]# cd /opt/ //切换到qq上面的opt中
[root@localhost opt]# cd .. //切换到上级目录
[root@localhost /]# cd - //返回到上次操作的目录中
/opt
[root@localhost opt]# cd ~ //切换到家目录

5.列出

[root@localhost opt]# ls //列出文件
1 2 3 qq qzz yht zz
[root@localhost opt]# ll //列出文件的详细信息
总用量 8
-rw-r--r--. 1 root root 44 2月 16 00:08 1
-rw-r--r--. 1 root root 0 2月 15 18:47 2
-rw-r--r--. 1 root root 0 2月 15 18:47 3
drwxr-xr-x. 2 root root 6 2月 15 18:46 qq
drwxr-xr-x. 2 root root 4096 2月 15 19:00 qzz
drwxr-xr-x. 2 root root 6 2月 15 18:47 yht
drwxr-xr-x. 2 root root 16 2月 15 18:54 zz
//-普通文件 d文件夹 r 可读 w可写 x可执行
[root@localhost opt]# ls -a //显示隐藏文件(所有文件)
. .. 1 2 3 qq qzz yht zz
[root@localhost opt]# ls -A //只显示隐藏文件
1 2 3 qq qzz yht zz
[root@localhost opt]# ls -d //只显示本目录

[root@localhost opt]# ls -i //查看indoe号
101851281 1 101380474 2 101380475 3 1426915 qq 67147591 qzz 101380472 yht 33555141 zz
[root@localhost opt]# ll -h //以更人性化的方式展现
总用量 8.0K
-rw-r--r--. 1 root root 44 2月 16 00:08 1
-rw-r--r--. 1 root root 0 2月 15 18:47 2
-rw-r--r--. 1 root root 0 2月 15 18:47 3
drwxr-xr-x. 2 root root 6 2月 15 18:46 qq
drwxr-xr-x. 2 root root 4.0K 2月 15 19:00 qzz
drwxr-xr-x. 2 root root 6 2月 15 18:47 yht
drwxr-xr-x. 2 root root 16 2月 15 18:54 zz

6.删除

[root@localhost opt]# rm -rf 1 //删除一个文件
[root@localhost opt]# ls
2 3 qq qzz yht zz
[root@localhost opt]# rm -rf * //删除所有文件。这个命令慎用慎用!!!!!不能去踩缝纫机!!!!

7.创建目录

[root@localhost opt]# mkdir qzz //创建一个目录
[root@localhost opt]# mkdir yht dxl //平行创建一个目录
[root@localhost opt]# ls
dxl qzz yht
[root@localhost opt]# mkdir -p a/b/c //递归创建(a在opt下,b在a下,c在b下)
[root@localhost opt]# ls
a dxl qzz yht
[root@localhost opt]# cd a
[root@localhost a]# ls
b
[root@localhost a]# cd b
[root@localhost b]# ls
c

8.创建文件

[root@localhost opt]# touch 1
[root@localhost opt]# touch 2 3 //创建一个文件
[root@localhost opt]# ls
1 2 3 a dxl qzz yht
[root@localhost opt]# touch {4..9} //递归创建
[root@localhost opt]# ls
1 2 3 4 5 6 7 8 9 a dxl qzz yht

9.通配符

[root@localhost opt]# ls ky27[qiaozhouzhi] //有一个匹配一个
ky27a:
ky27h:
ky27i:
ky27o:
ky27q:
ky27u:
ky27z:
[root@localhost opt]# ls ky27[q-z] //列出q-z之间出Z之外的所有大小写
ky27q: ky27Q: ky27r: ky27R: ky27s: ky27S: ky27t: ky27T: ky27u: ky27U: ky27v: ky27V:
ky27w: ky27W: ky27x: ky27X: ky27y: ky27Y: ky27z:
[root@localhost opt]# ls ky27{q..z} //列出q-z之间的所有小写
ky27q: ky27r: ky27s: ky27t: ky27u: ky27v: ky27w: ky27x: ky27y: ky27z:
[root@localhost opt]# ls ky27[[:lower:]]* //列出所有小写
[root@localhost opt]# ls ky27[[:upper:]] //列出所有大写
[root@localhost opt]# ls ky27[^qiaozhouzhi] //取反,除了qiaozhouzhi之外的所有大小写都要显示出来
[root@localhost opt]# ls [[:digit:]]* //匹配所有数字

10.显示文件大小

[root@localhost opt]# du -a //显示具体每个文件的大小
[root@localhost opt]# du -h //统计文件大小
[root@localhost opt]# du -sh //统计所有文件大小

11.移动和重命名

[root@localhost opt]# mv 1 qzz //将1重命名为1qzz
[root@localhost qzz]# mv dxl /opt/yht/ //将dxl从qzz目录下移动到opt目录下的yht中

12.复制

[root@localhost qzz]# cp yht /opt/yht/ // 将yht从qzz目录下复制到opt目录下的yht中
[root@localhost opt]# cp -r a /opt/dxl/ //回到opt目录下,将a复制到dxl中
[root@localhost opt]# cp -rp 2 /opt/qzz/ //保留权限将文件2复制到qzz中

13.硬链接

[root@localhost opt]# ln a qzz //给a创建硬链接qzz。当a删除时,qzz还在
[root@localhost opt]# ls
1 2 3 4 a b c d qzz
[root@localhost opt]# rm -rf a
[root@localhost opt]# ls
1 2 3 4 b c d qzz
[root@localhost opt]# ln -s b qq //给b创建软链接qq。当b删除时,qq查不到
[root@localhost opt]# ls
1 2 3 4 b c d qq qzz
[root@localhost opt]# rm -rf b
[root@localhost opt]# ls
1 2 3 4 c d qq qzz

14.环境变量

[root@localhost opt]# echo $PATH //查看所有环境变量
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

15.help的用法

[root@localhost opt]# cat --help // 查看某条命令如何使用
用法:cat [选项]... [文件]...

16.man的用法

localhost opt]# man cat //查看某条命令的详细信息

17.which is的用法

[root@localhost opt]# which is find(命令文件) //查看命令文件在哪里

18.find的用法

精确查找,实时遍历,支持多条件查找

[root@localhost opt]# find -name qzz //根据指定名称查找
./qzz
[root@localhost /]# find /opt/ -name *1 //查找以某个字符为结尾的文件
[root@localhost /]# find /opt/ -name 1* //查找以某个字符为开头的文件
[root@localhost opt]# find /opt/ -size -10k //查找指定大小的文件

19.cat [选项] 文件名

@localhost opt]# cat -n 111 //显示行号

[root@localhost opt]# cat -b 111 //空格行 不在编行号

[root@localhost opt]# cat -s 111 //把连续的空格行压缩成一个

20.rev的用法

[root@localhost opt]# rev 111 //每行以倒叙的方式展示

原样

倒叙后

21.less和more

more:从上往下看,自动退出

less:从下网上看(-q自动退出)

22.head

head 默认显示前十行(从头开始)

head-n 指定显示行数

23.tail的用法

[root@localhost opt]# tail -f 111 //动态的,从下往上显示最后一行 实时跟踪

24.wc的用法

eg:

[root@localhost opt]# wc 111
14 8 52 111 //显示各种信息:例如14:行数 8:有八行有数据 52:有52个字符 111:文件名

[root@localhost opt]# wc -l 111 //显示所有行数
14 111
[root@localhost opt]# wc -c 111 //显示所有字符的数量
52 111
ot@localhost opt]# wc -w 111 //显示有数据的行数的数量
8 111

25.grep的用法(过滤)

eg:grep 内容 文件名

[root@localhost opt]# grep a 111 //显示包含a的具体信息

[root@localhost opt]# grep -v aaaa 111 //取反,除了aaaa之外,别的都显示出来

[root@localhost opt]# grep -o a 111 // 显示包含a的具体数量

[root@localhost opt]# grep -r a 111 //递归查询,跟grep的查询方式不一样,数据差不多

[root@localhost opt]# grep -i a 111 //忽略大小写,展示包含A和a的所有

[root@localhost opt]# grep -n a 111 //找到含a的内容展现出来,并显示在哪一行

[root@localhost opt]# grep -w aaaa 111 //精确查找,必须要查找里面有的内容,查找一整个字符串

ocalhost opt]# grep "^a" 111 //查看以......开头的(grep"^字符")

[root@localhost opt]# grep "a$" 111 //查看以......结尾的(grep"字符$")

[root@localhost opt]# grep "^$" //查看空行

26.查看cpu

[root@localhost opt]# lscpu

27.查看内存

[root@localhost opt]# free
[root@localhost opt]# free -h //更直观的查看内存

28.查看整个机器架构

[root@localhost opt]# arch
x86_64

29.查看内核版本

[root@localhost opt]# uname -r
3.10.0-693.el7.x86_64

30.压缩和解压缩

[root@localhost opt]# gzip -q 文件名 //压缩,提高压缩比例,会把源文件覆盖

[root@localhost opt]# gzip -d 文件名 //解压缩

[root@localhost opt]# bzip2 -q 文件名 //压缩

[root@localhost opt]# bzip2 -d //解压缩

31.修改命令的名字

[root@localhost /]# alias aaa=ls //ls是查找的命令,将ls的功能赋予给aaa,现在aaa也是查找的命令

[root@localhost /]# unalias aaa //将aaa的临时功能删除

32.tar的用法

-c:创建(Create).tar 格式的包文件。

-C:解压时指定释放的目标文件夹。

-f:表示使用归档文件。

-p:打包时保留文件及目录的权限。

-P:打包时保留文件及目录的绝对路径。

-t:列表查看包内的文件。

-v:输出详细信息(Verbose)。

-x:解开.tar 格式的包文件。

-z:调用 gzip 程序进行压缩或解压。

-j:调用 bzip2 程序进行压缩或解压。

[root@localhost opt]# ls
123.txt aa bb cc dxl ky26 ky27 qzz yht
[root@localhost opt]# tar -zcvf cfs.tar.gz qzz yht 123.txt //创建一个以.gz结尾的压缩文件
qzz/
yht/
123.txt
[root@localhost opt]# ls
123.txt aa bb cc cfs.tar.gz dxl ky26 ky27 qzz yht
[root@localhost opt]# tar -zxvf cfs.tar.gz //解压缩一个以.gz结尾的压缩文件
qzz/
yht/
123.txt
[root@localhost opt]# ls
123.txt aa bb cc cfs.tar.gz dxl ky26 ky27 qzz yht
[root@localhost opt]# tar -tf cfs.tar.gz //查看压缩文件的内容
qzz/
yht/
123.txt
[root@localhost opt]# tar -jcvf cjm.tar.bz2 aa bb cc //创建一个以.bz2结尾的压缩文件
aa/
bb/
cc/
[root@localhost opt]# ls
123.txt aa bb cc cfs.tar.gz cjm.tar.bz2 dxl ky26 ky27 qzz yht
[root@localhost opt]# tar -tf cjm.tar.bz2 //查看压缩文件的内容
aa/
bb/
cc/
[root@localhost opt]# tar -jxvf cjm.tar.bz2 // //解压缩一个以.bz2结尾的压缩文件

33.vim

编辑模式:

a:在当前光标位置之后插入内容

i:在当前光标位置之前插入内容

o:在光标所在行之下插入一个新行内容

O:在光标所在行之上插入一个新行内容

A:在所在行的行尾插入内容

I:在所在行的行首插入内容

命令模式:

翻页移动 Page Down键或 Ctrl+F 向下翻动一整页内容

Page Up键或 Ctrl+B 向上翻动一整页内容

行内快速跳转 Home键或^键、数字 0键 跳转到本行的行首

End 键或$键 跳转到本行的行尾

行间快速跳转 1G 或 gg 转到文件内容的第 1 行

G 跳转到文件的最后一行

#G 跳转到文件中的第#行(其中“#”号用具体数字替换)

M 跳转至当前页的中间位置

底行模式:

显示行号 :set nu 在编辑器中显示行号

:set nonu 取消行号显示

删除 x或Delete键 删除光标处的单个字符

dd 删除当前光标所在行(有剪切功能)

#dd 删除从光标处开始的#行内容 -----#表示几行

d^ 删除当前光标之前到行首的所有字符

d$ 删除当前光标处到行尾的所有字符

dw 删除光标处的整个单词

替换字符 R 或 Shift+r 替换当前光标处字符

复制 yy 复制当前行整行的内容到剪贴板

#yy 复制从光标处开始的#行内容 ----#表示几行

粘贴 p 粘贴到光标所在行之下

P 粘贴到光标所在行之上

查找 /word 从当前光标处开始向后进行查找字符串“word”

?word 从当前光标处开始向前进行查找

n 定位下一个匹配的被查找字符串

N 定位上一个匹配的被查找字符串

撤销 u 按一次取消最近的一次操作;重复u键,恢复多步操作

U 用于取消对当前行所做的所有编辑

保存退出

:w 保存修改的内容

:w 新文件名 另存为其它文件

:q 直接退出,不保存,且新创的文件并不好保存

:q! 放弃对文件内容的修改并退出

ZZ或:wq、:x 保存当前的文件内容并退出vi编辑器

打开新文件 :e 其它文件名 打开新的文件进行编辑

读入文件内容 :r 其它文件名 在当前文件中读入其他文件内容

文件内容替换

:s /old/new 将当前行中查找到的第一个字符串“old” 串替换为“new”

:s /old/new/g 将当前行中查找到的所有字符串“old” 替换为“new”

:#,# s/old/new/g 在行号“#,#”范围内替换所有的字符串“old”为“new”

:% s/old/new/g 在整个文件范围内替换所有的字符串“old”为“new”

:s /old/new/c 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认

eg:

:1,5 m 10 将1-5行的内容剪切粘贴到第10行下面

:1,5 co 10 将1-5行的内容复制粘贴到第10行下面

初学Linux,了解基本命令相关推荐

  1. linux 标准输出流管道,初学Linux之标准 I/O 和管道

    初学Linux之标准 I/O 和管道 通常对于程序来讲,输入输出数据的可以是键盘.鼠标.显示器等设备.但是我们输入的是命令,本身并没有输入"显示"这类命令和要求,但是系统就自动的在 ...

  2. Linux简单基本命令

    一.Linux权限的概念  Linux下有两种用户:普通用户和超级用户().  普通用户:在linux下做有限的事情:  超级用户:可以在linux系统下做任何事情,不受限制.  普通用户的提示符是& ...

  3. 初学Linux很土鳖?带你认识Linux,如何安装Linux?

    前言 日期:2020/05/06 心情:??? Description:怀着对Linux的好奇,今天终于开始学习Linux了.一直以来都是用微软的Windows进行操作,Windows也是当今最流行最 ...

  4. Linux常用基本命令详解(二)-------磁盘分区和磁盘管理类命令

    Linux常用基本命令详解(一) Linux常用基本命令详解(二)-------磁盘分区和磁盘管理类命令 Linux常用基本命令详解(三) 1.磁盘分区 磁盘分区(系统分区)是使用分区编辑器(part ...

  5. 红帽Linux操作系统基本命令(学习笔记)

    Redhat版本的Linux操作系统基本命令 前言 一.安装linux系统 二 .根文件系统目录详解 三.文件属性与权限 四.用户和用户组管理 五.重定向 六.vim 程序开发器 一般模式常用命令和参 ...

  6. 【Linux】linux常用基本命令

    首页 博客 学院 CSDN学院 下载 论坛 APP CSDN 问答 商城 活动 VIP会员 招聘 ITeye GitChat GitChat 图文课 写博客 消息 评论关注点赞回答系统通知 登录注册 ...

  7. Linux的基本命令和目录解释

    title : Linux的基本命令和目录解释 基本命令 查看文件 ll 管理员才能用的指令 ls 各个用户都能用, 参数: -a所有文件,包含隐藏文件 -l 详细信息 创建文件夹 mkdir 参数 ...

  8. Linux常用基本命令详解(一)

    Linux常用基本命令详解(一) Linux常用基本命令详解(二)-------磁盘分区和磁盘管理类命令 Linux常用基本命令详解(三) 1.帮助命令 1.1.man命令 man[命令或配置文件] ...

  9. linux系统基本命令自我整理

    linux系统基本命令整理 这是我自己在学习过程中整理的一些基础命令,希望可以帮助到你们 ls相关命令 ls 查看当前目录下的列表 ls -l 详细信息,后面如果加上文件名就是查询目录下文件 的详细信 ...

最新文章

  1. 乔布斯 1973 年求职申请表曝光,拍出 222400 美元高价!
  2. 3.1.4 如何使深度学习模型达到人类水平以及超高人类水平
  3. sqlite 日期格式与排序问题
  4. django 数据库中中文转化为汉语拼音
  5. UC/OS-II的学习
  6. JavaScript中的内置对象-8--4.date对象中-获取,设置日期时间的方法; 获取,设置年月日时分秒及星期的方法;...
  7. MinIO Server config.json (v18) 指南
  8. “新闻”频道“最新更新”有问题吗?
  9. docker镜像图[更新中]
  10. 禁止屏幕保护使用密码
  11. STM32用串口(USB串口)下载程序的方法
  12. 三年不重装:令电脑百毒不侵的13个妙招
  13. 谷歌多账号 桌面快捷方式
  14. android按返回键和Home键都进入后台
  15. java Lambda与stream
  16. CDR X7 限时3折618年中大促,是时候出手了!
  17. Android 11源码 Framework修改默认usb连接模式为MTP模式
  18. 万万没想到!电化学工作站操作如此简单
  19. NS2仿真中nam节点颜色设置(转)
  20. 企业信息化自主建设的三重保障

热门文章

  1. 在Docker中运行EOS(MAC版)
  2. sns.boxplot()简单用法
  3. 客户最佳实践 | All in企业微信,苏州吴中维多利亚美容医院让每位员工成为“美丽管家”!
  4. vue如何加搜狗联盟广告
  5. Python等级考试中的一道简单的血压数据处理题
  6. DEV03-GBase 8a MPP Cluster OLAP 函数
  7. RabbitMQ学习总结(六)之消息应答
  8. 程序设计【Week8】作业
  9. linux boot菜单列表,/boot/grub/menu.lst详解
  10. 上海:PUE大于1.7小老散旧数据中心关停并转