Linux常用命令精讲
一、Linux命令基础
1. Shell脚本
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
2. Linux命令
3. Linux命令行格式
4.Linux命令行的输入提示含义及辅助操作
输入提示含义:
root:当前登录系统用户
@ :分隔符
ocalhost:主机名
~ :当前所在目录位置
#:管理员
$:普通用户
5.Linux命令帮助
二、基本命令
1:查看其切换目录
文件或者目录的路径指定其唯一的文件系统位置,跟随文件路径会遍历一个或多个指定的子目录,用正斜杠(/)分割,直到到达目标位置,目录也称为文件夹,包含其他文件和子目录,他们的引用方式可以与文件相同。
绝对路径: 绝对路径是一个完全限定的名称,用于指定文件在文件系统层次结构中的确切位置,它从根(/)目录开始,并指定为到达特定文件所必须遍历的每个子目录,文件系统中的每个文件都有一个唯一绝对路径,可通过一个简单的规则识别:第一个字符是正斜杠(/) 的路径是绝对路径,例如。系统消息日志文件的决定路径是 /var/log/message。 绝对路径以 / 开头的
相对路径: 相对当前所在路径的位置,例如当前所在的位置为/usr,也就是在根目录的usr子目录下,则chsh文件相对当前位置的路径为:bin/chsh 相对路径不是以 / 开头的
1.1:ls
功能描述:列表(List)显示目录内容
语法:ls [选项] [文件/目录…]
选项:
- -l 已长格式显示文件和目录列表 ll=ls -l
- -a 显示全部包括隐藏文件
- -d 仅列出目录本身,而不是列出目录内的文件数据
- -R 递归显示该目录及该目录的子目录下的所有内容
- -h 友好显示文件大小(human,人性化)
- -A 显示全部文件或隐藏文件,但不包括 . 和…
- –color 显示颜色
- -S 以文件容量大小排序
- -i indoe号
1.2:cd
cd 目标位置 change directory
文件夹 位置 决定了你能访问的文件
1.3:pwd
功能描述:显示当前所在的工作目录
语法:pwd [选项]
选项:
-P 显示链接的真实路径. (软连接)
1.4:du
功能描述:统计目录及文件的空间占用情况
语法:du [选项] [文件或目录]
选项:
-a:统计时包括所有的文件,而不仅仅只统计目录
-h:以更易读的字节单位(K、M等)显示信息
-s:只统计每个参数所占用空间总的大小
2:创建目录和文件
文件命名规则:
(1)不能使用/来当文件名,/是用来做根的,也是用来做路径分隔符的
(2)文件名不能超过255个字符
(3)区分大小写file File FILE fIle
(4)目录也是文件,在同一路径下,两个文件不能同名
2.1:touch
功能描述:新建空文件,或更新文件时间标记
语法: touch [文件名]
范例
2.2:mkdir
功能描述:创建新的目录(Make Directory)
语法: mkdir [选项] [/路径/]目录名
选项:
-p 递归创建多级目录
范例
2.3:ln
Linux中的链接文件不同于windows的快捷方式,linux的链接文件份为软链接和硬链接。软链接是可以跨分区,但源文件不可删除,硬链接不可以跨分区,但可以将源文件删除
软链接:
格式:ln -s 原文件 链接文件(目标文件)。一定要写绝对路径
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接 (报错红色的)
4.软链接可以对目录进行链接
硬链接:
格式: ln 原文件 链接文件(目标文件)
硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建
可以以不同的文件名中存在同一个目录中,或者以相同的文件名存在于不同的目录下
5.建立硬链接时,在另外的目录或本目录中增加目标文件的一个目录项,这样,一个文件就登记在多个目录中。
3:复制、删除、移动目录和文件
3.1:cp
功能描述:复制(Copy)文件或目录
语法:cp [选项]… 源文件或目录… 目标文件或目录
选项:
-r:递归复制整个目录树
-a 或-p:保持源文件的属性不变
-f:强制覆盖目标同名文件或目录
-i:需要覆盖文件或目录时进行提醒
3.2:mv
功能描述:移动(Move)文件或目录 —— 若如果目标位置与源位置相同,则相当于改名
语法: mv [选项]… 源文件或目录… 目标文件或目录
3.3:rm
功能描述:删除(Remove)文件或目录
语法: rm [选项] [文件或目录]
选项:
-r 删除目录以及目录下的所有内容(递归删除)
-i 删除前,提示是否删除
-f 不提示,强制删除
4:查找目录和文件
4.1:which
功能描述:查找Linux命令文件并显示所在的位置 —— 搜索范围由 PATH 环境变量指定
语法:which 命令或程序名
4.2:find
命令的特点:
- 精确查找
- 实时查找 遍历(慢)
- 支持查找条件较多
- find [OPTION]… [查找路径] [查找条件] [处理动作]
查找路径:指定具体目标路径;默认为当前目录
查找条件:可以对文件名、大小、类型、权限等标准进行查找;默认为找出指定路径下的所有文件
处理动作:对符合条件的文件做操作,默认输出至屏幕(print
常用查找条件
-name 按文件名称查找
-size 按文件大小查找
-user 按文件属主查找. --用的不多
-type 按文件类型查找
f: 文件
d: 目录
l: 符号链接,软连接
高级查找条件
-perm 按权限进行查找
-ctime(-cmin) 按文件创建时间(天为单位)查找
-atime(-amin) 按访问时间查找
-mtime(-mmin) 修改时间查找
-maxdepth 限制find的递归层级
5:查看文件内容
5.1:cat
功能描述:显示文件内容(文件内容全部显示出来)
语法:cat [选项] [文件]
选项:
-b 显示行号,空白行不显示行号。
-n 显示行号,包括空白行
5.2:more
功能描述:全屏方式分页显示文件内容
语法:more [选项] 文件名…
(空格)或f 显示下一页
(Enter) 显示下一行
q或Q 退出
5.3:head
功能描述:查看文件的前几行,默认显示前10行内容。
语法:head [选项] [文件名]
选项:
-c nK 显示文件前nKB的内容 M G
-n 显示文件的前n行的内容
5.4:tail
功能描述:查看文件的尾部内容,默认显示末尾10行
语法:tail [选项] [文件]
选项:
-n 显示文件的后n行
-f 动态显示文件内容
-c nK 显示文件末尾nKB的内容
5.5:less
功能描述:查看分页文件内容,空格(下一页)、方向键(上下回翻)、q键(退出查看)
6:统计文件内容
6.1:wc
功能描述:统计文件中的单词数量(Word Count)等信息
语法:wc [选项]… 目标文件…
选项:
-l 统计行数
-w 统计有内容的行数
-c 统计字节数
7:检索和过滤文件内容
7.1:grep
功能描述:在文件中查找并显示包含指定字符串的行
语法:grep [选项]… 查找条件 目标文件
常用命令选项:
-i 查找时忽略大小写
-v 反转查找,输出与查找条件不相符的行
-l 列出文件内容符合指定的样式的文件名称。
-A n 搜索时显示匹配到的那一行以及下n行
-B n 搜索时显示匹配到的那一行以及上n行
-C n 搜索时显示匹配到的那一行以及上下n行
查找条件设置
要查找的字符串以双引号括起来
“^……”表示以……开头
“……$”表示以……结尾
“^$”表示空行
8:归档和压缩命令
8.1:gzip命令、bzip2命令
*.gz gzip程序压缩的文件
*.bz2 bzip2程序压缩的文件
*.tar tar程序打包的数据,并没有经过压缩
*.tar.gz tar程序打包的文件,其中经过gzip的压缩
*.tar.bz2 tar程序打包的文件,其中经过bzip2的压缩
用途:制作压缩文件、解开压缩文件
命令格式:
gzip [-9] 文件名…
bzip2 [-9] 文件名…
gzip -d .gz格式的压缩文件
bzip2 -d *.bz2格式的压缩文件
常用命令选项
-9 表示高压缩比,多在创建压缩包时用
-d 用于解开已经压缩过的文件
8.2:tar命令
tar的常用选项:
-c:创建.tar 格式的包文件。
-x:解开.tar 格式的包文件。
-C:解压时指定释放的目标文件夹。绝对路劲
-f:表示使用归档文件。
-v:输出详细信息(Verbose)。
-j:调用 bzip2 程序进行压缩或解压。
-z:调用 gzip 程序进行压缩或解压。
tar -zcvf dntest.tar.gz 123.txt 打包
tar -zxvf dntest.tar.gz -C /opt/dntest 解包到指定位置
tar -jcvf usershow.tar.bz2 passwd shadow 压缩,打包
tar jxvf usershow.tar.bz2 -C /opt/ 解压缩到指定位置
三:Vim文档编辑
文本编辑器的作用
创建或修改文本文件
维护Linux系统中的各种配置文件
Linux中最常用的文本编辑器
vi:类Unix系统中默认的文本编辑器
vim:vi编辑器的增强版本,习惯上也称为vi(高亮显示)
yum -y install vim
1、vim工作模式
vim具有多种工作模式,常用的工作模式有:普通模式、插入模式、命令模式。
普通模式可以实现基本的光标移动于大量的快捷键操作
插入模式可以实现文本的基本编辑功能
命令模式通过输入特定的指令实现特定的功能,如保存与退出等
直接输入vim命令,即可开启该文本编辑器,默认将创建一个新的文档(保存时需要指定文件名)另外,如果vim命令后跟了文件名参数,则需要看该文件是否存在,如果存在,vim将打开该文件,如果不存在,vim将创建该文件。
vim编辑器默认会进入普通模式,插入模式可以通过以下按键进入:
按键 功能描述
a 进入插入模式,后续输入的内容将插入至当前光标的后面
A 进入插入模式,后续输入的内容将插入至当前光标的断尾
i 进入插入模式,后续输入的内容将插入至当前光标的前面
I 进入插入模式,后续输入的内容将插入至当前光标的段首
o 进入插入模式并在当前行的后面创建新的空白行
O 进入插入模式并在当前行的前面创建新的空白行
当需要退回到普通模式或不知道自己当前处于什么模式时,可以通过Esc键返回到普通模式。
最后,在普通模式下输入“:”,即可进入命令模式; 在“:”后输入指令,即可实现特定的功能
插入模式:
ctrl+w 按照单词删除
2、vim编辑文档
在vim编辑器中编辑文档内容主要有两种常用的方式:进入编辑模式操作和快捷键操作。进入编辑模式后,即可以通过移动光标进行增加、删除、修改的基本操作,这种方法也是最简单的方式,另外,快捷键操作方式是在普通模式下输入相应的快捷键实现对应的功能,快捷键如下:
操作快捷键 功能描述
dd 删除一行
ndd 删除n行(n为数字)
d$ 删除光标至行尾的内容
J 删除换行符,可以将两行合并为一行
u 撤销上一步操作,可以多次使用uu表示撤销两步操作
rx 将光标当前字符替换为x (x为任何键盘单个输入)
yy 复制当前行
nyy 复制n行内容
p 粘贴至当前行之后
P 粘贴至当前行之前
4、vim查找与替换
当文档很长时,我们可以通过查找快速定位要找的内容,在vim中通过
“/” 关键词实现自上往下的查找功能
如 /host 在当前文档的光标处向下查找host并显示,如果一个文档中有多个host,可以通过快捷键 n 跳转至下一个匹配的关键词处, 快捷键 N 将跳转至上一个匹配的关键词处。
“?” 关键词实现了自下往上的查找功能
如 ?host 从房前文档的光标处向上查找host并显示,此时快捷键n表示查看上一匹配,N 表示查找 下一个匹配。
vim提供了非常好用的替换功能,可以快速完成大量的替换工作
例如:
[root@localhost ~]# cp /etc/passwd /root
[root@localhost ~]# vim /root/passwd
通过上面两条命令复制一份临时测试文档并编辑,我们可以对该文件实现多种替换功能
指令 功能描述
:\s/root/admin/ 将光标当前行中第一个出现的root替换为admin,没有则不替换
:\s/root/admin/g 将光标当前行中所有的root替换为admin
:3,5 s/sbin/bin/g 将第三行至第五行之间的所有sbin替换为bin
:% s/nologin/fault/g 将所有行的nologin都替换为fault
vim保存并退出
一般情况下,我们会通过命令模式输入特定的质量实现保存与退出功能,如下:
指令 功能描述
:q! 不保存并退出(强制退出)
:wq 保存并退出
:x 保存并退出
:w 保存(不退出)
:w b.txt 另存为 b.txt