文章目录
1. 思维导图
2. 基本知识
Linux 提示符组成
linux的提示符组成:[用户@计算机名 当前目录]#
# 超级用户
$ 普通用户
当前目录是以简略格式显示
3. 目录路径相关命令
命令行 | 解释 |
---|---|
pwd | 显示当前路径 |
cd 文件 | 切换路径 |
cd - | 返回之前所在路径 |
cd . . | 快速返回上一级路径 |
cd | 返回家路径 |
cd ~ | 返回家路径 |
mkdir | 创建目录 |
mkdir -p | 创建多级目录 |
4. 系统相关命令
系统运行命令
系统关机命令
命令行 | 解释 |
---|---|
shutdown -h | 默认一分钟后关闭虚拟机 |
shutdown -h 0 | 立刻关闭虚拟机 |
shutdown -h 30 | 30分钟后关闭虚拟机 |
shutdown -h now | 立刻关闭虚拟机 |
shutdown -c | 取消关机 |
init 0 | 立刻关闭虚拟机 |
halt | 立刻关闭虚拟机 |
poweroff | 立刻关闭虚拟机 |
系统重启命令
命令行 | 解释 |
---|---|
shutdown -r | 默认一分钟后重启虚拟机 |
shutdown -r 0 | 立即重启虚拟机 |
shutdown -r 30 | 30分钟后重启虚拟机 |
shutdown -r now | 立即重启虚拟机 |
reboot | 立即重启虚拟机 |
init 6 | 立即重启虚拟机 |
系统帮助命令
查看后使用q
命令退出
命令行 | 解释 |
---|---|
man | 提供外部命令的帮助。 |
info | 提供外部命令的帮助。 |
help | 提供内部命令的帮助 |
Man实际上就是查看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令。man是manual(手册)的缩写字,它的说明非常的详细,但是因为它都是英文,建议大家需要的时候再去看man,记得一些基本用法就可以了
常用快捷键
快捷键 | 解释 |
---|---|
利⽤⽅向键 上 下 | 显示历史输⼊命令信息 |
ctrl + l | 清除所有屏幕信息输出 |
clear | (命令) 清除所有屏幕信息输出 |
ctrl + c | 中断取消命令执⾏过程 |
cancel | (命令) 中断取消命令执⾏过程 |
ctrl + a | 快速移动光标到⾏⾸ |
ctrl + e | 快速移动光标到⾏尾 |
ctrl + u | 将光标所在位置到⾏⾸的信息进⾏删除(剪切) |
ctrl + k | 将光标所在位置到⾏尾的信息进⾏删除(剪切) |
ctrl + y | 将剪切内容进⾏粘贴回来 |
ctrl + s | 锁定系统窗⼝信息状态 |
ctrl + q | 解锁系统窗⼝信息状态 |
tab | 系统命令补全快捷⽅式 |
ctrl + ⽅向键 左 右 | 命令⾏中快速移动光标 |
5. 文件命令操作
touch 命令
命令用于修改文件或者目录的时间属性,包括访问时间和修改时间,若文件不存在,系统会建立一个 新的文件。我们平时用得最多的是通过touch创建一个空文件,实际上通过touch命令可以修改文件的atime、mtime,所以文件的真实访问时间和修改时间是可以被修改,我们在排查系统异常的时候还需要结合日志、历史命令等等因素综合决策。
命令行 | 解释 |
---|---|
touch file | 一次创建/二次修改文件file |
stat file | 查看文件file1详细信息 |
touch -a | 修改访问时间(access) |
touch -m | 修改更改时间(modify) |
touch -d | 修改更改时间与访问时间 |
ls 命令
ls(list files)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。
语法
ls [-alrtAFR] [name...]
参数 | 解释 |
---|---|
-a | 显示所有文件及目录 (以 . 开头的隐藏文件也会列出) |
-l | 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出。ls -l 简写 ll |
-r | 将文件以相反次序显示(原定依英文字母次序) |
-t | 将文件依建立时间之先后次序列出 |
-A | 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录) |
-F | 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/” |
-R | 若目录下有文件,则以下之文件亦皆依序列出 |
-lt | 按照⽇期查找⽂件 |
-ltr | 按照⽇期查找⽂件, 逆排序 |
除此之外ls会显示不同颜色,下面是这些颜色的含义:
蓝色—目录
绿色—可执行文件
红色—压缩文件
浅蓝色—链接文件
粉红色—图片文件
黄色—设备文件
灰色—其他文件
cat 命令
查看文本内容
参数 | 说明 |
---|---|
-n 或 --number | 由 1 开始对所有输出的行数编号。 |
-b 或 --number-nonblank | 和 -n 相似,只不过对于空白行不编号。 |
-s 或 --squeeze-blank | 当遇到有连续两行以上的空白行,就代换为一行的空白行。 |
-v 或 --show-nonprinting | 使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。 |
-E 或 --show-ends | 在每行结束处显示 $。 |
-T 或 --show-tabs | 将 TAB 字符显示为 ^I。 |
1、cat linux.txt
查看linux.txt内容。
2、cat -n linux.txt
查看linux.txt文件的内容,并且由1开始对所有输出行进行编号。(包括空白行)
3、cat -b linux.txt
用法和 -n 差不多,但是不对空白行编号。
4、cat -s linux.txt
当遇到有连续两行或两行以上的空白行,就代换为一行的空白行。
5、cat -e linux.txt
在输出内容的每一行后面加一个$符号。(包括空白行)
6、cat linux1.txt linux2.txt
同时显示多个文件内容,注意文件名之间以空格分隔,而不是逗号。
7、cat -n linux1.txt > linux2.txt
对linux1.txt文件中每一行加上行号后写入linux2.txt中,会覆盖原来的内容,文件不存在则创建它。
8、cat -n linux1.txt >> linux2.txt
同上,但是不会覆盖原来的内容,文件不存在则创建它。
echo 命令
可以输出或写入数据
语法
echo [选项] [输出内容]
echo # 将信息进⾏输出
echo hello world # 等价于print('hello world')
echo hello world > /mydir/a.txt # 覆盖模式写⼊⽂件
echo hello world >> /mydir/a.txt # 追加模式写入文件
cp 命令
对⽂件或⽬录数据信息进⾏拷⻉
cp 参数信息 要复制的信息 复制到什么位置
命令选项参数
-r或-R:递归处理,将指定目录下的子文件和子目录一并处理(复制目录的时候使用)
-f:强行复制文件或目录,不论目标文件或目录是否已存在
-p:保留文件属性(所有者、所属组、文件权限、文件时间·····)
-a:相当于-prd
-i:覆盖既有文件时先询问用户。(默认-i)
-l:对源文件建立硬连接,非复制文件。
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀。
-b:覆盖已存在的文件目标前将目标文件备份。
-v:详细显示命令执行的操作。
-d:–no-dereference –preserv=links 复制符号连接加的选项
cp命令 | 解释 |
---|---|
cp -r | 递归拷贝目录(复制包括所有子文件,必须使用) |
cp -v | 显示拷贝过程信息 |
cp -p | 文件属性信息一起拷贝 |
cp -a | 递归拷贝文件,包括目录及文件属性信息 = -dpr (-d建立软链接) |
在Linux系统使用cp复制目录时,常出现错误“cp:omitting directory "dir" (dir是需要复制的目录
名称),是因为dir目录下存在其他目录或文件存在,不可只使用cp命令实现复制操作;
mv 命令
移动文件用法(不同路径下);
mv /需要移动的文件 /移动到新的路径下
重命名文件用法(相同路径下);
mv /原来文件的名字 /新文件的名字
示例:
把在自己家目录中的a.txt文件移动到/opt目录中,并把文件名修改成b.txt
mv ~/a.txt /opt/b.txt
rm 命令
语法
rm [options] name...
参数:
-i 删除前询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。(删除目录时使用)
文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。
less 命令
该命令可以在比较大的文件中逐行查看信息或者一页一页进行查看
more 命令
该命令和 less 命令相似,逐行或逐页查看信息。
以上两个查看文件信息命令区别说明:
1. 是否可以使⽤快捷⽅式之间区别
less 可以使⽤
more 禁⽌使⽤
2. 是否可以实现查看完毕⾃动退出
less 不可以使⽤
more 可以实现
6. 三剑客(grep、awk、sed)
grep
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global RegularExpression Print,表示全局正则表达式版本,它的使用权限是所有用户。
简略:文本过滤工具,用于查找文件里符合条件的字符串
语法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
参数
-a 或 --text : 不要忽略二进制的数据。
-A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
-b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。
-B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
-c 或 --count : 计算符合样式的列数。
-C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。
-d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式。
-E 或 --extended-regexp : 将样式为延伸的正则表达式来使用。
-f<规则文件> 或 --file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
-F 或 --fixed-regexp : 将样式视为固定字符串的列表。
-G 或 --basic-regexp : 将样式视为普通的表示法来使用。
-h 或 --no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称。
-H 或 --with-filename : 在显示符合样式的那一行之前,表示该行所属的文件名称。
-i 或 --ignore-case : 忽略字符大小写的差别。
-l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。
-L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称。
-n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
-o 或 --only-matching : 只显示匹配PATTERN 部分。
-q 或 --quiet或--silent : 不显示任何信息。
-r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。
-s 或 --no-messages : 不显示错误信息。
-v 或 --invert-match : 显示不包含匹配文本的所有行。
-V 或 --version : 显示版本信息。
-w 或 --word-regexp : 只显示全字符合的列。
-x --line-regexp : 只显示全列符合的列。
-y : 此参数的效果和指定"-i"参数相同。
示例
grep ssr a.txt 在 a.txt 中查找含有 ssr 的数据
grep ssr -B 2 a.txt 查找的数据前⼏⾏也显示
grep ssr -A 2 a.txt 查找的数据后⼏⾏也显示
grep ssr -C 1 a.txt 查找的数据前后⼏⾏都显示
grep -n ssr a.txt 附带⾏号
grep -v ssr a.txt 查找不含有 ssr 的数据
grep ^ssr a.txt 查找以 ssr 开头的数据
grep ssr$ a.txt 查找以 ssr 结尾的数据
sed
简介:利用脚本来处理文本文件
语法:sed [-hnV][-e<script>][-f<script文件>][文本文件]
参数:
-n 使用安静模式,在一般情况所有的STDIN都会输出到屏幕上,加入-n后只打印被sed特殊处理的行-e多重编辑,且命令顺序会影响结果
-f 指定一个sed 脚本文件到命令行执行.-r Sed 使用扩展正则
-i 直接修改文档读取的内容,不在屏幕上输出
x,y 指定从x到y的行号范围
r 从另一个文件中读文件
w 将文本写入到一个文件
y 变换字符
q 第一个模式匹配完成后退出
p 打印匹配行
= 打印文件行号。
a 在定位行号之后追加文本信息i:在定位行号之前插入文本信息。d:删除定位行
c 用新文本替换定位文本s:使用替换模式替换相应模式
n 读取下一个输入行,用下一个命令处理新的行N:将当前读入行的下一行读取到当前的模式空间。h:将模式缓冲区的文本复制到保持缓冲区
H 将模式缓冲区的文本追加到保持缓冲区
x 互换模式缓冲区和保持缓冲区的内容
g 将保持缓冲区的内容复制到模式缓冲区
G 将保持缓冲区的内容追加到模式缓冲区。
示例
sed -n 2p a.txt 打印 a.txt 文件中的第二行
sed -n 2,5p a.txt 打印 a.txt 文件中的第二行到第五行
sed -n $= a.txt 打印 a.txt 文件的总行数
sed -i '2 i\ lll' a.txt 在文件的第二行添加内容
sed -i 's/a/H/g' a.txt 将文件中的所有 a 替换成 H
awk
简介:强大的文本分析工具
语法:awk [选项参数] 'script' var=value file(s) 或 awk [选项参数] -f scriptfile var=value file(s)
可选参数:
-F fs or --field-separator fs
指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。
-v var=value or --asign var=value
赋值一个用户定义变量。
-f scripfile or --file scriptfile
从脚本文件中读取awk命令。
-mf nnn and -mr nnn
对nnn值设置内在限制,-mf选项限制分配给nnn的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。
-W compact or --compat, -W traditional or --traditional
在兼容模式下运行awk。所以gawk的行为和标准的awk完全一样,所有的awk扩展都被忽略。
-W copyleft or --copyleft, -W copyright or --copyright
打印简短的版权信息。
-W help or --help, -W usage or --usage
打印全部awk选项和每个选项的简短说明。
-W lint or --lint
打印不能向传统unix平台移植的结构的警告。
-W lint-old or --lint-old
打印关于不能向传统unix平台移植的结构的警告。
-W posix
打开兼容模式。但有以下限制,不识别:/x、函数关键字、func、换码序列以及当fs是一个空格时,将新行作为一个域分隔符;操作符**和**=不能代替^和^=;fflush无效。
-W re-interval or --re-inerval
允许间隔正则表达式的使用,参考(grep中的Posix字符类),如括号表达式[[:alpha:]]。
-W source program-text or --source program-text
使用program-text作为源代码,可与-f命令混用。
-W version or --version
打印bug报告信息的版本。
7. 文件编辑操作
vi 命令
一、 vi的基本概念
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode) 和 底行模式(last line mode),各模式的功能区分如下:
- 命令行模式command mode)
控制屏幕的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到last line mode。 - 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到模式。 - 底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode
二、vi的基本操作
- 进入vi
在系统提示符号输入vi及文件名称后,进入vi,此时处于「命令行模式(command mode)」,您要切换到「插入模式(Insertmode)」才能够输入文字。 - 切换至插入模式(Insert mode)编辑文件
在「命令行模式(command mode)」下按一下 a、i、o 等字母就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。 - 切换至目命令行模式
目前处于「插入模式(Insert mode)」,就只能一直输入文字,如果发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。 - 退出vi及保存文件
在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」
输入命令例如:
:w filename (将文章以指定的文件名filename保存)
:wq (保存并退出)
:q! (输入q!,不保存退出)
三、命令模式操作
命令 | 作用 |
---|---|
i | 进入编辑模式 |
G | 光标移动到最后⼀⾏ |
gg | 光标移动到第⼀⾏ |
10gg | 移动光标到第10⾏ |
$ | 移动光标到一行的行尾 |
0 | 移动光标到一行的行首 |
o | 移动光标到下一行并进⼊编辑状态 |
A | 移动光标到行尾并进行编辑 |
C | 删除光标到行尾的内容并进入编辑状态 |
cc | 清空当前行的内容并进入编辑状态 |
x | 删除光标处的一个文本 |
yy | 复制当前光标所在行的文本 |
4yy | 复制4行文本 |
p | 粘贴文本 |
4p | 粘贴4行文本 |
dd | 剪切当前光标所在行的文本 |
4dd | 剪切4行文本 |
dG | 将光标所在⾏到最后⼀⾏都删除 |
u | 撤销编辑信息 |
ctrl + r | 取消撤销操作 |
ctrl + v | 进入到批量编辑模式,靠方向键选择区域,然后按d或x可以把选中的删除 |
四、末行模式操作
命令 | 作用 |
---|---|
:wq | 保存退出 |
:q | 不保存并退出 |
:q! | 不保存并强制退出 |
:set nu | 显示行数 |
:set nonu | 取消显示行数 |
/abcd | 搜索文本中的’abcd’,输入n查找下一个。输入shift + n查找上一个 |
vim 命令
要使用该命令需要先下载,使用命令:yum install vim tree bash-completion -y
下载完成后即可使用,使用的方式和 vi 命令相似。
编辑文件异常情况
如果在一个会话中编辑文件的时候没有保存或者还在编辑中,另外一个会话中又对该文件进行编辑的话会出现以下提示信息
解决的方式:删除隐藏文件,例如上图的 /mydir/a.txt.swp
恢复编辑数据命令:vi -r 文件
8. 系统用户操作
查看系统情况
cat /etc/redhat-release
查看系统名称
uname
-a或--all 显示全部的信息。
-m或--machine 显示电脑类型。
-n或--nodename 显示在网络上的主机名称。
-r或--release 显示操作系统的发行编号。
-s或--sysname 显示操作系统名称。
-v 显示操作系统的版本。
--help 显示帮助。
--version 显示版本信息。
创建用户
useradd
创建完的用户可以在 home 目录下看到,此时是没有密码的
passwd
添加密码
切换用户
su - 指定的用户
管理员切换成普通用户不需要输入密码。切换成 root 需要输入密码
还可以使用快捷键 ctrl + d 来切换上一个用户,切换到最后会退出去。
查看当前用户
whoami
9. 环境变量
Linux环境变量也称之为Shell环境量变,以下划线和字母打头,由下划线、字母(区分大小写)和数字组成,习惯上使用大写字母,例如PATH、HOSTNAME、LANG等。
查看环境变量
env 查看所有环境变量
env|grep PATH 查看包含PATH的环境变量
echo $变量名 查看指定环境变量,$符号不能少
修改环境变量
以 PS1 (命令提示符信息)环境变量为例。
echo $PS1
修改方式
临时修改
# PS1="[\u@\h \w]\$" 错误修改环境变量⽅式
export PS1="[\u@\h \w]\$" 正确修改环境变量⽅式
永久修改
vim /etc/profile
export PS1="[\u@\h \w]\$ " # 添加内容
source /etc/profile # 重新加载⽂件内容
10. 下载优化
修改yum源
需要修改yum源⽂件可以使用下面的命令(指定使⽤哪个yum软件仓库) # 类似于pip换源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
修改yum扩展源(epel源)
epel是一种yum仓库,里面提供了更多、更丰富的linux软件,但是,它不是默认的yum仓库,我们需要手工添加这个yum源
- 首先下载
wget
yum -y install wget
- 使用命令添加源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
- 测试,下载拓展源中的 bash-completion-extras,命令补全工具
yum install -y bash-completion-extras
- 所有源⽂件更新进行最终确认
yum repolist
趣味软件
yum install sl cowsay -y sl
输入命令 sl 会有一个火车跑过去
cowsay
animalsay 此命令可以生成随机的图案
\ ^ /^
\ / \ // \
\ |\___/| / \// .\
\ /O O \__ / // | \ \ *----*
/ / \/_/ // | \ \ \ |
@___@` \/_ // | \ \ \/\ \
0/0/| \/_ // | \ \ \ \
0/0/0/0/| \/// | \ \ | |
0/0/0/0/0/_|_ / ( // | \ _\ | /
0/0/0/0/0/0/`/,_ _ _/ ) ; -. | _ _\.-~ / /
,-} _ *-.|.-~-. .~ ~
\ \__/ `/\ / ~-. _ .-~ /
\____(oo) *. } { /
( (--) .----~-.\ \-` .~
//__\\ \__ Ack! ///.----..< \ _ -~
// \\ ///-._ _ _ _ _ _ _{^ - - - - ~
11. 安全优化
selinux
可以限制root⾏为,但是实际应⽤不会使⽤它来限制root较为麻烦
关闭selinux服务程序
永久关闭
输入命令 vim /etc/selinux/config ,将 enforcing 修改为 disabled
修改完并不会马上改变需要重启系统后生效,可以利用 getenforce 命令查看
临时关闭
setenforce 通过 1 或 0 改变
关闭防火墙
查看防火墙状态
centos6版本: iptables /etc/init.d/iptables status
centos7版本: systemctl status firewalld.service
临时关闭防火墙
centos6版本: iptables /etc/init.d/iptables stop
centos7版本: systemctl stop firewalld.service
永久关闭防火墙
centos6版本: iptables chkconfig iptables off
centos7版本: systemctl disable firewalld.service
字符编码优化
echo $LANG 查看当前系统字符编码
export LANG=en_US.GBK 临时修改
echo "export LANG=en_US.GBK" >>/etc/profile 永久修改
source /etc/profile ⽴即⽣效
12. 传输数据
yum install -y lrzsz 安装和传输数据相关的软件
下载好可以使用 rpm -qa 查看
Linux --> Widows
sz -y 数据信息 将linux上⾯数据传输给widows主机,会让你选择放置位置
Widows --> Widows Linux
rz -y 传输给 linux主机
PS:空⽂件是⽆法传递的,xshell⽀持拖拽上传
13. 别名
alias 查看别名
which 查看⼀个命令到底在哪个绝对路径中
设置别名信息
设置别名条件
1. 别名后⾯单引号中⼀定是完整命令信息
2. 别名后⾯单引号⼀定是英⽂的
临时设置别名
alias rm='echo rm command not use'
alias ls='rm -rf'
永久设置别名
将内容写入 profile 中
echo alias rm='echo rm command not use' >> /etc/profile
source /etc/profile
还需要将 ~/.bashrc 中的内容进⾏注释
14. 文件属性信息
ls -lhi /etc/ 查看数据属性信息,如下图
第⼀列: inode信息 index node 索引节点
第⼆列: ⽂件类型 ⽂件权限
第三列: 硬链接数
第四列: 数据(⽂件 ⽬录)的所属⽤户信息
第五列: 数据(⽂件 ⽬录)的所属⽤户组信息
第六列: ⽂件⼤⼩信息
第七列: ⽂件修改时间信息
第⼋列: ⽂件名称(不属于⽂件属性信息)
详细说明
⽂件类型:
windows系统中: 根据⽂件扩展名称信息决定⽂件类型
linux系统中: 系统的⽂件类型和⽂件扩展名关系
linux系统⽂件类型分类:
d directory ⽬录类型的⽂件
- file 普通类型的⽂件
l softlink 连接类型的⽂件
c character 字符类型的⽂件(会源源不断的产⽣字符信息)
b block 块设备类型的⽂件 设备⽂件
s socket 和⽹络接⼝通讯相关(开发 ⽹络编程)
p pip 管道⽂件
15. 文件相关命令
1.显示⽂件信息类型命令 file
file a.txt
2.显示命令绝对路径信息 which
which cp
3.显示命令路径以及⽂件 whereis
whereis cp
4. 快速定位⽂件路径信息 locate
touch a.txt
updatedb # 更新数据库信息, 便于locate命令可以进⾏查找
locate a.txt
5.快速查找数据信息命令 find # 重点掌握
语法说明: find 区域 查找⼈的类型 具体的条件
(1) 寻找⼀个a.txt
find /temp -type f -name "a.txt"
(2) 寻找⼀个以.txt扩展名结尾的⽂件
find /temp -type f -name "*.txt"
(3) 按照⽂件数据⼤⼩进⾏查找⽂件,查找⼤于10k的⽂件,但⼩于10M
find /etc/ -type f -size +10k -size -10M # 默认递归
(4) 限制查找层级
find /etc/ -maxdepth 1 -type f -size +10k -size -10M
压缩命令 tar
tar命令用来打包一个目录,它支持三种格式:“.tar”、“.bz2"和”.gz"
参数 | 说明 |
---|---|
-c | 创建打包文件 |
-v | 显示打包或者解包的详细信息 |
-f | 指定文件名称, 必须放到所有选项后面 |
-z | 压缩或解压缩(.gz) |
-j | 压缩或解压缩(.bz2) |
-x | 解包 |
-C | 解压缩到指定目录 |
压缩
tar -cvf [文件名].tar [文件目录] //打包成.tar文件
tar -jcvf [文件名].tar.bz2 [文件目录] //打包成.bz2文件
tar -zcvf [文件名].tar.gz [文件目录] //打包成.gz文件
解压
tar -xvf [文件名].tar //解压到当前文件
tar -xvf [文件名].tar -C [文件目录] //将.tar文件解压到指定目录
tar -jxvf [文件名].tar.bz2 -C [文件目录] //解压.bz2文件到指定目录
tar -zxvf [文件名].tar.gz -C [文件目录] //解压.gz文件到指定目录