初学Linux,了解基本命令

本文介绍了Linux系统的shell,它是用户与内核交互的接口,详细讲解了命令行格式、基本命令如cd、ls、rm、mkdir、touch、cp、mv等的操作,以及通配符、文件大小显示、环境变量、命令帮助和文件查找等实用技巧。
摘要由CSDN通过智能技术生成

什么是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行下面

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值