今天分享一份一份12000字的Linux指南
链接:https://www.cnblogs.com/DSCL-ing/p/18341263
目录
- Linux基本命令
- 简单认识shell
- 认识命令的基本格式:
- 内建命令与外部命令
- 查看命令的类型-type
- 查看命令的使用方法-help
- mkdir
- pwd
- touch
- echo
- 认识路径
- ls
- cd
- 认识热键/linux热键
- tree
- nano
- cat
- gcc
- stat
- rm
- rmdir
- 基本认识–创建目录权限
- linux有多少条指令
- man
- sudo
- cp
- mv
- wc
- > 和 >>
- <
- more
- less
- head
- tail
- 管道 |
- date
- cal
- 搜索三件套之find
- 搜索三件套之which
- 搜索三件套之whereis
- alias
- grep
- top
- zip
- unzip
- tar
- bc
- uname
- exit
- history
- 历史命令搜索
- reboot
- shutdown
- poweroff
- 快捷键
Linux基本命令
linux平台开发者常用命令,掌握这些基本命令后基本可以熟练使用linux了.
简单认识shell
Shell的最简单定义:命令行解释器(command Interpreter)主要包含:
- 将使用者的命令翻译给核心(kernel)处理。同时,将核心的处理结果翻译给使用者
- 保护操作系统 — 防止用户执行非法指令
- 执行命令会创建子进程进行执行
我们平常的命令主要是通过shell来和linux内核交互,shell帮我们解释命令给kernel — shell命令
shell是一个程序/命令 :/usr/bin/bash ,即bash.
我们链接上服务器时会自动关联上shell程序 — bash也是一个可执行程序,使用C语言写的
其他定义
- shell是linux的外壳程序,是软件层,命令行
- shell是适配程序,将内核适配后提供给用户合适的接口
- shell是所有外壳程序的统称,linux的内核程序是bash ,统称shell
命令输入的地方叫做: 命令行 /
CLI/命令行界面 Command Line Interface
GUI/图形化用户界面 Graphical User Interface
什么是CLI(命令行界面)、GUI(图形用户界面)、Terminal(终端)、Console(控制台)、Shell、TTY-CSDN博客
认识命令的基本格式:
# 命令 -[命令选项] … |
内建命令与外部命令
linux命令分为两种.分别是内建命令和外部命令
内建命令:shel内建命令是指bash(或其它版本)工具中集成的命令.
外部命令:外部命令是安装外部软件所带的命令
其中内建命令要比外部命令有比较高的执行效率。外部命令执行时往往需要fork出(产生出)一个子进程,而内建命令一般不用。外部命令是在bash之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin…等等。可通过“echo $PATH”命令查看外部命令的存储路径,比如:ls、vi等。
查看命令的类型-type
# type: type [-afptP] 命令 |
常见类型:
builtin | 内部指令 |
---|---|
file | 文件 |
function | 函数 |
keyword | 关键字 |
alias | 别名 |
unfound | 没有找到 |
查看命令的使用方法-help
对于内建命令 一般语法为:
# help 内建命令 |
一般是 Linux 命令自带的帮助信息,并不是所有命令都自带这个选项。
而对于外部命令ls,我们想查看命令 ls 的用法:ls –help
# ls –help |
mkdir
# mkdir 目录名 //创建目录(linux)/文件夹(win) | |
# mkdir -p d1/d2/d3/… //创建一串路径/目录; 递归创建多个目录 |
pwd
# pwd //显式当前目录的绝对路径 |
touch
创建空文件与修改时间戳
# touch 文件名.后缀 //创建普通文件 | |
# touch 已存在文件 //更新Atime、Ctime |
echo
输出字符串或提取后的变量值
# echo “字符串” > 文件 //清空文件再写入,’w’ |
认识路径
$ 以.开头的文件/目录是隐藏文件/目录 | |
$ / 为linux下的根,linux下为目录为蓝色(centos7-shell) | |
# . //当前路径 | |
# .. //上级路径 | |
# C:\Users\26390\Desktop // windows下的路径, (反斜杠) \ : 路径分割符 | |
# /root/test // linux下的路径, (斜杠) / : 路径分隔符 | |
$ windows下文件夹内可以有新的文件夹,linux下目录内可以有新的目录 — 所以linux的根 / 和路径分隔符 / 不冲突 | |
$ linux整体是一个多叉树的样子/结构 | |
$ windows通过路径来定位文件/文件夹,linux也是如此. | |
为什么呢? > 任何一个目录都可以有多个子目录,但一个子目录只有一个父目录 –>因此一条路径能唯一标识一目录/文件 | |
$ 路径分为1.绝对路径 2.相对路径(相对是相对于当前路径,如果当前路径改变了,则相对路径也会发生改变 ->失效) | |
$ 绝对路径使用场景:准确但麻烦,一般是在某些配置环境中,进行对某种文件进行配置时采用! | |
$ 相对路径使用场景:用起来简单,是后序指令操作时,常用的路径定位方案! |
ls
显示目录中文件及其属性信息
# ls -l(l:list) //以list的形式显式更多的属性 | |
# ls -t //按时间先后排序 | |
# ls -rt //按时间先后逆序排序 | |
# ls -ul //以uid形式显式属性 | |
# ls -ld / //只显示路径,不显示内容 | |
# ll -h // h: human_readable//人类可读的 — 即显示大小,kb,Mb,… |
cd
cd = change directory
# cd ~ //进入/home目录 | |
$ 超级用户/管理员root的~独立位于/root | |
$ 普通用户的~都位于/home底下 — ~称为普通用户的家目录 | |
$ window也有家目录,位于C:\Users , | |
# cd – //回到上一次访问的目录 |
认识热键/linux热键
热键:高频被使用的按键
linux中一个热键就是tab键
# 快速双击tab键 –>命令的自动补齐:1.显式出匹配的所有命名 2.显示出匹配目录下的所有文件 | |
# 不想进入目录又想查看其他目录有哪些文件 –> 无脑 tab../../../../ |
tree
tree是一个把指定目录以树的形式组织并输出到终端的命令,这个命令一般的linux中都需要用户主动安装
# tree [空] / [.] / [..] / [其他目录] //以树的形式把指定目录打印出来,不加命令选项默认是当前目录 | |
$ -bash: tree: command not found //说明没有tree命令 | |
解决方法:root下# yum install -y tree //如果是Ubuntu,则是# apt-get install -y tree |
nano
文本编辑器nano
# nano 文件 //使用nano编辑器打开文件 | |
$ nano :nano是Unix/Linux下的一个文本编辑器 | |
nano编辑器的快捷键使用 | |
Ctrl+G 帮助 | |
Ctrl+X 退出 | |
Ctrl+O 保存 | |
Ctrl+R 复制指定文件内容 | |
Ctrl+W 查找 | |
Ctrl+\ 替换 | |
Ctrl+K 剪切 | |
Ctrl+U 粘贴 | |
Ctrl+J 调整段落 | |
Ctrl+T 检查拼写 | |
Ctrl+C 光标位置信息 | |
Ctrl+Shift+_ 跳转到指定行 | |
Alt+U 撤销 | |
Alt+E 反撤销 | |
Alt+A 从光标位置开始标记/选择 | |
Alt+6 复制 | |
Ctrl+3 & Shift+3 显示行号 | |
//nano不能用数字小键盘,只能用数字横键盘 | |
//cancel :取消 |
cat
在终端设备上显示文件内容
# cat 文件 // 打印/显式文件内容 | |
$ 将[文件]或标准输入组合输出到标准输出。 |
高级用法
cat用法:cat [选项] [文件]… | |
将[文件]或标准输入组合输出到标准输出。 | |
-A, –show-all 等价于 -vET | |
-b, –number-nonblank 对非空输出行编号 | |
-e 等价于 -vE | |
-E, –show-ends 在每行结束处显示 $ | |
-n, –number 对输出的所有行编号 //学 | |
-s, –squeeze-blank 不输出多行空行 //把连续的空行合并成一行 | |
-t 与 -vT 等价 | |
-T, –show-tabs 将跳格字符显示为 ^I | |
-u (被忽略) | |
-v, –show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外 | |
–help 显示此帮助信息并退出 | |
–version 输出版本信息并退出 | |
如果[文件]缺省,或者[文件]为 – ,则读取标准输入。 |
gcc
gcc是c语言编译器,可以用于编译c代码
# gcc .c文件 //编译.c文件,默认得到a.out可执行文件 //可执行文件是绿色 | |
# ./a.out //执行可执行文件,执行a.out文件 — 可执行文件在linux下必须带./ |
stat
获取文件的属性信息
# stat 文件 //获取文件的属性信息 | |
$ 任何文件都有三种时间:A.C.M.时间:1.Access(访问) 2.Modify(内容) 3.Change(属性) | |
$ ll显式的时间是M时间 |
rm
# rm 空目录/文件 //删除文件或空目录 | |
# rm -f 空目录/文件 //删除文件或空目录 — 不提示/不通知 | |
# rm -r 目录/文件 //递归删除目录内的所有文件/目录 | |
# rm -rf 目录/文件 //强制递归删除目录内的所有文件/目录 — 不提示/不通知/不需要确认/什么都能删,只要权限够 直接删完 |
# rm * -rf //把当前目录的所有文件删掉 — 不带路径默认为当前目录 — ‘*’ ,linux通配符,代表所有文件 | |
# rm *.后缀 -rf //把带有相同后缀的文件全部删除 | |
$ 通配符:可以匹配上任意个数的任意字符 |
rmdir
# rmdir 目录 //删除目录,只能删除非空目录 — 也没有支持递归删除的命令选项,所以目前没什么用 | |
//rmdir:failed to remove :删除失败 | |
$ 为什么要有 — 如果有一个文件和目录同名,想删目录可以用rmdir 或 rm -r 目录, 想删文件用rm(默认删的就是文件) –这样就区分开来 |
基本认识–创建目录权限
普通用户只能在 /home/自己/… 内创建文件 ,root在哪里都可以创建
linux有多少条指令
输入框为空时按一下table可以显式当前linux系统有多少条指令 — 阿里云轻量应用级有1265条左右
man
man命令:打开C/C++/系统调用等 语法手册
安装man手册 | |
# yum install -y man-pages //安装man手册 | |
基本使用 | |
# man [号] xx //搜索[几号]man手册并进入,没有号码则默认搜索全部 | |
# man man //打开man手册首页 | |
如果man2,3查不到,尝试安装 | |
# yum install -y man-pages.noarch | |
//man 2 一般是系统调用 | |
//man 3 一般是C库 | |
man命令选项:
# -k 或 –apropos:用于搜索手册页面的简要描述。例如,man -k keyword会搜索包含关键字的手册页面的简要描述。 | |
//可以搜索包含关键字的句子 所在的手册页 | |
# -f 或 –whatis:用于查找手册页面的简要描述,类似于-k选项。 | |
//只搜索目录,和直接man搜索一样,显示所在的手册页 | |
# -p 或 –pager:指定用于查看手册页面的分页器(pager),默认情况下使用less。 | |
//man -p less ls | |
//就是选择什么文档查看器来看文档 | |
# -S 或 –sections:指定要查看的手册部分。默认情况下,man会搜索所有部分,但你可以使用此选项来指定特定部分。 | |
//就是man 3 printf 的简写 |
sudo
授权普通用户执行管理员命令
# sudo 命令 //命令提权 |
cp
拷贝 copy
# cp 普通文件 目录 // 拷贝普通文件到目录中 | |
# cp -r 目录 目录 // 拷贝目录到目录中,必须带-r,递归拷贝 |
命令选项可以放中间也可以放在最后 // 最好保持放中间,有些系统不支持,如mac
mv
- move:移动
# mv 目录/文件 目录 //移动目录/文件,不需要带递归-r命令选项 ,后面一项一定是目录 | |
# mv 目录/文件 .. //移动文件/目录到上级目录 | |
# mv 目录/文件 . //移动文件/目录到当前目录 |
- 文件重命名
# mv 旧文件名 新文件名 //重命名 — 后面一项一定时文件名 |
- 文件移动+重命名
# mv 旧文件名 路径/new_filename(带目录的新文件名) //如果第二项是是目录且带着一个没有重复的文件名,则是移动+重命名 |
- 目录重命名
# mv 目录 新目录名(不能和所在路径有重复) //当前目录下重命名 |
- 目录剪切+重命名
# mv 目录 带路径的新目录名(不能和所在路径有重复) // |
linux下一切皆文件,键盘,显示器…可以读,可以写都是文件
wc
word cound
# wc 文件 //wc命令的功能为统计指定文件中的字节数、单词数、行数, 并将统计结果显示输出 | |
-c, –bytes打印字节数 | |
-m, –chars 打印字符数 | |
-l, –lines 打印行数 //学 | |
-L, –max-line-length 打印最长行的长度 | |
-w, –words 打印单词数 | |
//作用,可以统计总代码行数. | |
# wc -l * 统计当前项目下的所有代码行数 | |
//示例 | |
# who | wc -l //按行统计 |
> 和 >>
> 为输出重定向
>>为追加重定向
# echo 文本内容 > 文件 // 输出 文本内容 重定向 到文件 , ‘>’为输出重定向符号 — 如果文件不存在,输出重定向>会创建一个新文件并写入 | |
$ ‘>’输出重定向是一种覆盖式写入 ,清空文件再写入 | |
$ ‘>>’ 追加重定向:追加重定向是追加式写入,在原文件内容的末尾追加写入,给原文件新增内容 | |
// 重定向 redirect |
<
< 输入重定向
$ cat默认是重键盘读取数据 — 只输入cat就会进入键盘读取状态,打一个回显一个,直到ctrl+C | |
# cat < 文件 //读入重定向到文件,默认是键盘 — 和# 【cat 文件】 不一样 , 【cat 文件】是命令获取文件 |
more
分页显示文本文件内容
# more 文件 //按屏幕大小显式文件内容 — 按回车翻页,并且只能向下翻页,按q推出 |
less
分页显示文件内容
# less 文件 //按屏幕大小显式文件内容 — 按上下键翻页,可以自由翻页,按q推出 | |
//搜索 输入/搜索内容+回车 , 转到下一个搜索结果按n(next) | |
less 与more命令类似,但可以通过翻页键查看上下页的内容 | |
-b<缓冲区大小> 设置缓冲区的大小 | |
-e 当文件显示结束后,自动离开 | |
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件 | |
-g 只标志最后搜索的关键词 | |
-i 忽略搜索时的大小写 | |
-m 显示类似more命令的百分比 | |
-N 显示每行的行号 | |
-o<文件名> 将less 输出的内容在指定文件中保存起来 | |
-Q 不使用警告音 | |
-s 显示连续空行为一行 | |
-S 行过长时间将超出部分舍弃 | |
-x<数字> 将“tab”键显示为规定的数字空格 | |
命令内部操作按键功能如下: | |
b 向前翻一页 | |
d 向后翻半页 | |
h 显示帮助界面 | |
Q 退出less 命令 | |
u 向前滚动半页 | |
y 向前滚动一行 | |
空格键 滚动一页 | |
回车键 滚动一行 | |
1) 向前搜索 | |
/ : 使用一个模式进行搜索,并定位到下一个匹配的文本 | |
n : 向前查找下一个匹配的文本 | |
N : 向后查找前一个匹配的文本 | |
2) 向后搜索 | |
? : 使用模式进行搜索,并定位到前一个匹配的文本 | |
n : 向后查找下一个匹配的文本 | |
N : 向前查找前一个匹配的文本 | |
2 全屏导航 | |
ctrl + F :向前移动一屏 | |
ctrl + B :向后移动一屏 | |
ctrl + D :向前移动半屏 | |
ctrl + U :向后移动半屏 | |
3 单行导航 | |
j : 向前移动一行 | |
k : 向后移动一行 | |
4 其它导航 | |
G : 移动到最后一行 | |
g : 移动到第一行 | |
q / ZZ : 退出 less 命令 | |
5 编辑文件 | |
v : 进入编辑模式,使用配置的编辑器编辑当前文件 | |
6 标记导航 | |
当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置。 | |
ma : 使用 a 标记文本的当前位置 | |
‘a : 导航到标记 a 处 | |
7 浏览多个文件 | |
方式一,传递多个参数给 less,就能浏览多个文件。 | |
less file1 file2 | |
方式二,正在浏览一个文件时,使用 :e 打开另一个文件。 | |
less file1 | |
:e file2 | |
当打开多个文件时,使用如下命令在多个文件之间切换 | |
:n – 浏览下一个文件 | |
:p – 浏览前一个文件 | |
head
显示文件/文本开头的内容
# head 文件 //默认会把文件的前10行打印出来,不够10行有多少打多少 | |
# head -n5 文件 //设置成只打印前5行 | |
# head -5 文件 //一样,省略,设置成只打印前5行 |
tail
显示文件/文本尾部的内容
# tail 文件 // | |
# tail -3 文件 | |
# tail -n3 文件 |
管道 |
‘|’ :管道 ,管道最核心的意义在于:可以级联多条命令,让命令和命令组合,来完成批量化文本处理任务,做数据的不断加工
# wc -l 文件 //统计文件有多少行 | |
# cat 文件 | wc -l //cat的数据流入管道,wc统计管道数据的行数 | |
//从左到右一次执行,结果由最后一条命令输出 |
date
显示或设置系统日期与时间
# date //linux时间 | |
# date +%Y-%m-%d_%H:%M:%S //格式化输出时间 | |
# date +%s //输出时间戳 — 格林尼治时间 –因时区问题,显式为8:00 | |
# date +%Y-%m-%d_%H:%M:%S -d @时间戳 //将时间戳转为格式化输出 |
cal
日历 calendar [ˈkælɪndər]
# cal //显式当前月份日历 | |
# cal 2023(年份) //显式该年的所有月份 | |
# cal -3 // 显式本月和前后月 //*只有命令选项只有-3 |
sort
对文件内容进行排序
# sort 文件 //按行的ascii比较,默认是升序 — 排序后打印 | |
# sort -r 文件 //降序 r为reverse | |
# sort 文件 | uniq //排序后去重 — 单纯去重没有用 | |
//sort – uniq都不会修改源文件 |
搜索三件套之find
根据路径和条件搜索指定文件
# find 路径 -name 文件 //在路径底下搜索文件 — 第一次搜索很慢,第二次会快,因为linux会把常用搜索缓存起来 | |
要获取特定文件的路径 | |
find ~ -name example.txt //范围尽可能小,使用~比较好 |
搜索三件套之which
查找命令文件,能够快速搜索二进制程序所对应的位置。
# which 指令 //搜索指令所在目录 //搜索可执行程序 |
常用命令
-a | 显示PATH变量中所有匹配的可执行文件 | –help | 显示帮助信息 |
---|---|---|---|
-n | 设置文件名长度(不含路径) | –read-functions | 从标准输入中读取shell函数定义 |
-p | 设置文件名长度(含路径) | –show-tilde | 使用波浪线代替路径中的家目录 |
-V | 显示版本信息 | –skip-dot | 跳过PATH变量中以点号开头的目录 |
-w | 设置输出时栏位的宽度 |
搜索三件套之whereis
whereis命令的功能是显示命令及相关文件的路径位置信息,可用于找到命令(二进制程序)、命令源代码、man帮助手册等相关文件的路径位置信息.
# whereis 文档/程序/压缩包… //搜索各种 | |
//linux基本所有指令都在 /usr/bin下 | |
//linux指令是可执行程序(绿色),就是平时写的C/C++语言代码编译好的可执行程序 –指令,程序,工具没本质区别 |
alias
设置命令别名
# alias 别名=’命令+命令选项组合’ //给命令+选项起别名 | |
$ 为什么我们ls时有些文件会带颜色: 因为ls是’ls –color=auto的’别名 |
grep
文本/行过滤工具
grep = global search regular expression and print out the line
意思是用于全面搜索的正则表达式,并将结果输出
# grep ‘关键字’ 文件 //过滤出文件中具有关键字的行 — grep为文本行过滤工具 | |
# grep -v ‘关键字’ 文件 //过滤掉文件中具有关键字的行 — 不显示有关键字的行 | |
// grep -ivn ‘关键字’ 文件 //组合命令 | |
//cat 文件|grep ‘关键字’ 文件 //管道级联组合 | |
注意:grep尽量带”或””,特别是有空格或其他符号 | |
# grep -E ‘proc1|command’ //启用正则表达式查询 proc1或其他关键词. | |
// egrep == grep -E //是别名 | |
# -c选项 //仅显示行号 | |
# -n选项 //描述+行号 | |
# -i选项 //ignore,忽略大小写 |
常用参数
-b | 显示匹配行距文件头部的偏移量 | -o | 显示匹配词距文件头部的偏移量 |
---|---|---|---|
-c | 只显示匹配的行数 | -q | 静默执行模式 |
-E | 支持扩展正则表达式 | -r | 递归搜索模式 |
-F | 匹配固定字符串的内容 | -s | 不显示没有匹配文本的错误信息 |
-h | 搜索多文件时不显示文件名 | -v | 显示不包含匹配文本的所有行 |
-i | 忽略关键词大小写 | -w | 精准匹配整词 |
-l | 只显示符合匹配条件的文件名 | -x | 精准匹配整行 |
-n | 显示所有匹配行及其行号 |
命令grep命令使用实例解析!! – Linux命令大全(手册) (linuxcool.com)
top
linux任务管理器
top命令的功能是实时显示系统运行状态,包含处理器、内存、服务、进程等重要资产信息。运维工程师们常常会把top命令比作“加强版的Windows任务管理器”,因为除了能看到常规的服务进程信息之外,还能够对处理器和内存的负载情况一目了然,实时感知系统全局的运行状态。top命令非常适合作为接手服务器后执行的第一条命令。
常用参数
-a | 按内存使用情况排序 | -n | 设置显示的总次数,完成后自动退出 |
---|---|---|---|
-b | 使用批处理模式,不进行交互式显示 | -p | 仅显示指定进程ID |
-c | 使用显示模式 | -s | 使用安全模式,不允许交互式指令 |
-d | 设置显示的更新速度 | -u | 仅显示与指定用户ID |
-h | 显示帮助信息 | -v | 使用线程模式 |
-i | 不显示任何闲置或僵死的行程 | -w | 设置显示的宽度 |
-M | 显示内存单位 |
zip
打包 并压缩
语法格式:zip 参数 目标文件名.zip 源文件或目录名
# zip 打包的包名.zip 要打包的文件/目录 // 把文件打包 — 只打包当前(1个/最外层)目录或文件 | |
# zip -r 打包的包名.zip 要打包的文件/目录 // 递归打包文件/目录 |
参数
-A | 自动解压缩文件 | -n | 不压缩具有特定字符串的文件 |
---|---|---|---|
-b | 设置暂存文件的目录 | -q | 静默执行模式 |
-c | 添加注释信息到压缩文件 | -r | 递归处理所有子文件 |
-d | 更新压缩包内文件 | -S | 包含系统和隐藏文件 |
-F | 尝试修复损坏的压缩文件 | -t | 设置压缩时间为指定日期 |
-h | 显示帮助信息 | -T | 检查压缩文件是否正确无误 |
-i | 仅压缩符合条件的文件 | -v | 显示执行过程详细信息 |
-k | 使用MS-DOS兼容格式 | -V | 保留VMS操作系统的文件属性 |
-l | 将“LF”替换成“LF+CR”字符 | -w | 在文件名称中加入版本编号 |
-L | 显示版本信息 | -X | 不保留过多的文件属性信息 |
-m | 压缩后删除源文件 | -y | 直接保存符号链接,而不是对应文件 |
unzip
zip解包
unzip命令用于解压缩zip格式的文件,虽然Linux系统中更多地使用tar命令对压缩包进行管理操作,但有时也会接收到Windows系统常用的zip和rar格式的压缩包文件,unzip命令便派上了用场。直接使用unzip命令解压缩文件后,压缩包内原有的文件会被提取并输出保存到当前工作目录下。
语法格式:unzip 参数 压缩包名
# unzip 要解包的文件(xxx.zip) | |
# unzip 压缩文件 -d 路径/目录 //解压缩到指定目录 d:dir | |
# zip 文件.rar 文件 // 没问题 后缀名可以为7z,rar,zip,解压也可以,用unzip — 猜测是压缩算法是zip,后缀格式兼容或无所谓 | |
//zip安装 | |
# yum install -y unzip zip //安装 zip和unzip,可以把zip和unzip分开写 — 安装多个包时用空格分开 | |
zip文件查看压缩包 | |
{ | |
zip -sf rumenz.zip | |
unzip -l rumenz.zip | |
zipinfo rumenz.zip | |
less rumenz.zip | |
vim rumenz.zip | |
} |
参数
-a | 对文本进行必要的字符转换 | -L | 将压缩包内文件名改为小写 |
---|---|---|---|
-b | 不要对文本进行任何字符转换 | -n | 解压缩时不覆盖已有文件 |
-c | 适当转换字符后输出解压缩结果 | -P | 使用密码加密 |
-C | 严格区分大小写 | -q | 静默执行模式 |
-d | 解压缩文件到指定目录中 | -t | 检查压缩包完整性 |
-f | 强制覆盖已有文件 | -v | 显示执行过程详细信息 |
-j | 不处理压缩文件中原有的目录路径 | -x | 跳过压缩包内的指定文件 |
-l | 显示压缩包内文件列表 | -z | 显示压缩包内的备注文字 |
tar
tar命令的功能是压缩和解压缩文件,能够制作出Linux系统中常见的tar、tar.gz、tar.bz2等格式的压缩包文件。对于RHEL 7、CentOS 7版本及以后的系统,解压缩时不添加格式参数(如z或j),系统也能自动进行分析并解压。把要传输的文件先压缩再传输,能够很好地提高工作效率,方便分享。
语法格式:tar 参数 压缩包名 文件或目录名
# tar -czf 档名(名.tgz) 文件 //c为create:创建一个新的归档文件,即打包; z为使用gzip压缩,即压缩; f:使用档名,即紧接档名(新名),不能再接命令选项 //一般建议把f放最后,档名一般为tgz后缀 | |
# tar -xzf 压缩文件 //x(extract提取):解压指令(只需把czf的c换成x),准备解包; z:曾经压缩过,现在需要解压;f:文件名 | |
$ tgz: t:tar gz:gzip//压缩:gzip压缩算法 //.tar.gz 的缩写 .tgz | |
# tar -ztvf 压缩文件 //查看压缩包内但不解压 //z为解压(解压一些头部信息)或者检查是否gzip , t–list为查看指令 v–verbose为列出更详细信息 f为归档文件名 | |
# tar tvf 压缩文件 //目前和ztvf一样 | |
//有的平台上命令选项可以不带’-‘ | |
# tar -xzf 压缩文件 -C 目录/路径 //解压到指令路径/目录 //-C和zip的-d含义一样 — 默认都是解压到当前路径 |
参数
-A | 添加文件到已存在的压缩包 | -p | 保留原来的文件权限与属性 |
---|---|---|---|
-B | 设置区块大小 | -P | 使用绝对路径 |
-c | 创建新的压缩 | -t | 显示压缩包的内容 |
-C | 解压缩到指定目录 | -u | 更新压缩包内的文件 |
-d | 记录文件的差别 | -v | 显示执行过程详细信息 |
-f | 指定压缩包文件 | -w | 确认压缩包的完整性 |
-j | 使用bzip2压缩格式 | -x | 从压缩包内提取文件 |
-l | 设置文件系统边界 | -z | 使用gzip压缩格式 |
-m | 保护文件不被覆盖 | –exclude | 排除指定的文件不压缩 |
-N | 只将较新日期的文件保存到压缩包中 | –remove-files | 操作完成后删除源文件 |
linux支持多行输入 ,只要在结尾输入反斜杠\回车即到下一行 — 不需要空格等,空格也算命令中
bc
数字计算器
bc命令来自英文词组binary calculator的缩写,中文译为“二进制计算器”,其功能是进行数字计算。bash解释器仅能进行整数计算,而不支持浮点数计算,因此有时要用到bc命令进行高精度的数字计算工作。
语法格式:bc 参数
# bc //linux中的计算器 | |
# echo “1+2*3/2” | bc //管道组合运算 — 结果为4 |
参数
-i | 使用交互模式 | -s | 精准处理POSIX bc语言 |
---|---|---|---|
-l | 设置标准数学库 | –help | 显示帮助信息 |
-q | 显示正常的GNU bc环境信息 | –version | 显示版本信息 |
uname
显示系统内核信息
uname命令来自英文词组UNIX name的缩写,其功能是查看系统主机名、内核及硬件架构等信息。如果不加任何参数,默认仅显示系统内核名称(相当于-s参数)的作用。
语法格式:uname 参数
# uname -a //查看所有信息 // Linux iZ7xv3f3wlfxwevnefn5drZ 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux | |
//linux版本 3.10.0; 发行版:el:centos 7; 架构:x64; | |
# uname -r //查看软硬件体系结构 //软件体系结构3.10.0-957.21.3. 硬件体系结构: el7.x86_64 | |
# cat /etc/redhat-release //查看linux的商业化发行版 — centos是redhat公司的一款免费系统 |
参数
-a | 显示系统所有相关信息 | -r | 显示内核发行版本号 |
---|---|---|---|
-i | 显示硬件平台 | -s | 显示内核名称 |
-m | 显示计算机硬件架构 | -v | 显示内核版本 |
-n | 显示主机名称 | –help | 显示帮助信息 |
-o | 显示操作系统名称 | –version | 显示版本信息 |
-p | 显示主机处理器类型 |
exit
退出终端
# exit //退出终端 | |
$ ctrl+d //退出//通常代表着:『键盘输入结束(End Of File, EOF 或 End OfInput)』的意思;另外,他也可以用来取代exit |
history
history命令的功能是显示与管理历史命令记录。系统默认会记录用户执行过的有命令,可以使用history命令查阅它们,也可以对其记录进行修改和删除操作。
语法格式:history 参数
# history //显式最近1000条命令 | |
# history > 文件 //把命令保存到文件中 | |
//配合!使用 | |
# !history编号 //执行该编号的命令 | |
# !! //执行上一次的命令 |
参数
-a | 保存命令记录 | -r | 读取命令记录到缓冲区 |
---|---|---|---|
-c | 清空命令记录 | -s | 添加命令记录到缓冲区 |
-d | 删除指定序号的命令记录 | -w | 将缓冲区信息写入历史文件 |
-n | 读取命令记录 |
历史命令搜索
- 在输入框按上或按下可以翻动历史命令
- ctrl+r //反向搜索历史命令,再次按继续反向搜索(只能反向)
— enter执行,左右键修改
reboot
reboot命令的功能是用于重新启动计算机。与halt和shutdown命令相似,reboot命令的作用就是用于重启系统,简单快捷。
语法格式:reboot [参数]
# reboot //重启linux |
常用参数:
-d | 不将重启系统的过程写入日志中 |
---|---|
-f | 强制重启系统而不询问 |
-i | 关闭所有的网络服务然后再重启系统 |
-n | 直接重启系统,不保存当前资料 |
-w | 仅模拟重启过程,将过程写入日志中 |
–verbose | 显示执行过程详细信息 |
shutdown
关闭服务器的系统
# shutdown [命令选项] //关机 — 云服务器一般不关机,若关机了需要去官网后台重启 |
语法格式:sshutdown 参数 对象
常用参数:
-c | 取消关机任务 | -n | 不调用init程序进行关机 | |
---|---|---|---|---|
-f | 关机时不检查文件系统 | -P | 系统关机后切断电源 | |
-F | 关机时先检查文件系统 | -r | 将系统立即重启 | |
-h | 将系统立即关机 | -s | 关闭此计算机,非立即操作 | |
-k | 发送信息给所有用户 | -t | 设置距离关闭计算机还剩余的秒数 |
poweroff
poweroff、halt、shutdown、init 0 都是关机,没什么区别
快捷键
常用快捷键收录
- ctrl+s:暂停终端回显; ctrl+q:恢复
- 按键:ctrl+c终端下ctrl+c键用于停止当前前台进程的活动,如打印刷屏…
想了解更多干货,可通过下方扫码关注
详情咨询
可扫码添加上智启元官方客服微信👇