一份12000字的Linux指南:掌握常用基本命令并提升你的工作效率

C语言与CPP编程 2024-12-17 09:01

大家好,我是飞宇。

今天分享一份一份12000字的Linux指南,此外文末还会分享一份MySQL学习笔记,有意自取!

 链接: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 :删除失败

$ 为什么要有 -- 如果有一个文件和目录同名,想删目录可以用rmdirrm -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键用于停止当前前台进程的活动,如打印刷屏...

分享一个福利

分享一个羊毛,最近极客时间出了一个《MySQL底层原理精讲》的专栏,目前还在内测阶段,主要是看市场反馈来定价,所以现在还是免费阶段,等上线了估计就可能收费了

除此外,附赠前人的MySQL学习笔记,有意扫码自取

MySQL学习笔记

一次吃透 MySQL 底层原理👉 架构篇、事务篇、索引与锁篇全覆盖,扫描下方二维码自取!


我组建了一些社群一起交流,群里有大牛也有小白,如果你有意可以一起进群交流。

欢迎你添加我的微信,我拉你进技术交流群。此外,我也会经常在微信上分享一些计算机学习经验以及工作体验,还有一些内推机会

加个微信,打开另一扇窗

感谢你的分享,点赞,在看三  

C语言与CPP编程 C语言/C++开发,C语言/C++基础知识,C语言/C++学习路线,C语言/C++进阶,数据结构;算法;python;计算机基础等
评论
  • 1. 磁性材料的磁化曲线磁性材料是由铁磁性物质或亚铁磁性物质组成的,在外加磁场H 作用下,必有相应的磁化强度M 或磁感应强度B,它们随磁场强度H 的变化曲线称为磁化曲线(M~H或B~H曲线)。磁化曲线一般来说是非线性的,具有2个特点:磁饱和现象及磁滞现象。即当磁场强度H足够大时,磁化强度M达到一个确定的饱和值Ms,继续增大H,Ms保持不变;以及当材料的M值达到饱和后,外磁场H降低为零时,M并不恢复为零,而是沿MsMr曲线变化。材料的工作状态相当于M~H曲线
    锦正茂科技 2024-12-17 10:40 49浏览
  • 概述 Cyclone 10 GX器件的ALM结构与Cyclone V类似,所以在Cyclone 10 GX器件上实现TDC功能理论上是可以完全参考甚至移植自Cyclone V系列的成功案例。但是,现实却是更多的问题出现当在Cyclone 10 GX使用和Cyclone V同样策略实现TDC的时候。 本文主要记录在Cyclone 10 GX器件上实现TDC时的探索,并为后续TDC设计、测试等展开前期研究。Cyclone 10 GX ALM结构 如图1所示,Cyclone 10 GX器件的ALM结构
    coyoo 2024-12-14 17:15 81浏览
  • 霍尔传感器的原理        霍尔传感器是一种固体的传感器,其输出电压与磁场强度成比例。顾名思 义,这种器件是依赖于霍尔效应原理工作的。霍尔效应原理是在导体通电 和加有磁场的情况下,在导体的横向 上会产生电压。电子(在实践中多数载流子最常被使 用)在外部电场的驱动下会产生“漂移”,当暴露于磁场中时,这些运动 的带电粒子会受到一个垂直于电场和 磁场的力的作用。这个力会让导体的边缘充电,一边为正,一边为负。边
    锦正茂科技 2024-12-14 11:41 67浏览
  • 在现代软件开发领域,效率和可靠性是企业在竞争中取胜的关键。本文将深入探讨 ANA Systems 如何通过引入业界领先的 CI/CD 平台——CircleCI,克服传统开发流程的瓶颈,实现开发运营效率的全面提升。同时,本文还将详细解析 CircleCI 的核心优势,包括其强大的自动化功能、广泛的工具整合能力,以及为企业量身定制的支持服务,揭示其如何助力 ANA Systems 在「新一代国内旅客项目」中脱颖而出。这一案例将为企业优化开发流程、提升竞争力提供重要的实践参考。ANA Systems
    艾体宝IT 2024-12-16 16:44 94浏览
  • 擎天柱,这个名字听起来就像是从科幻电影里走出来的英雄。但今天,我们要聊的不是那个变形金刚,而是一款同样令人兴奋的实验板——Ai8051U-LQFP48 转 89C52-DIP40 核心功能实验板。这款实验板就像是电子世界的“擎天柱”,它拥有强大的力量和无限的潜力,等待着我们去发掘和探索。 想象一下,你手中握着的不是一块普通的电路板,而是一张通往未来科技世界的门票。Ai8051U芯片,这颗强大的心脏,内置了硬件浮点运算单元(TFPU@120MHz),让你的计算速度飞起来,就像给机器人装上了翅膀。
    丙丁先生 2024-12-16 13:02 97浏览
  • 串口调试助手软件:XCOM 也是一款专为嵌入式开发和硬件调试设计的强大工具,如正点原子串口调试助手 XCOM V2.6。这款软件支持多种串口参数配置,满足不同开发需求,广泛应用于嵌入式系统开发、硬件调试以及电子爱好者的项目开发中。XCOM在嵌入式开发和硬件调试中的作用主要体现在以下几个方面: 1. 串口通信测试:XCOM作为一款强大的串口调试工具,允许用户通过计算机的串口进行数据的发送与接收,从而实现对串口通信的测试。这对于验证硬件设备的通信协议、确保数据传输的正确性至关重要。 2. 数据发
    丙丁先生 2024-12-15 11:56 79浏览
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-14 20:56 70浏览
  • 全球领先的光学解决方案供应商艾迈斯欧司朗(瑞士证券交易所股票代码:AMS)于10月23日在深圳益田威斯汀酒店举办了艾迈斯欧司朗中国发展中心(以下简称,CDC)圆桌论坛。本次论坛以“智能化时代,以多元应用场景和技术 助力中国市场加速发展”为核心议题,探讨在人工智能驱动的市场趋势下,CDC如何助力中国伙伴把握时代机遇,推动大中华地区业务稳健增长,展示了艾迈斯欧司朗对中国市场的信心。立足中国 贴近本土客户需求在全球经济增速放缓和国际形势复杂多变的背景下,中国市场依然保持了稳定的增长势态,并释放出强大的
    艾迈斯欧司朗 2024-12-16 18:00 111浏览
  • 在现代生活中,我们经常会遇到需要检测电线是否带电的情况。这时,一款好用的数显测电笔就显得尤为重要了。今天,我想跟大家分享一下DELIXI数显测电笔的使用方法,通过一个故事来讲述它如何帮助我们解决生活中的小麻烦。 在一个阳光明媚的周末,小明决定对他家的电路进行一次全面的检查。他知道,虽然自己不是专业的电工,但有了DELIXI数显测电笔的帮助,他也能轻松应对。 小明拿出了DELIXI数显测电笔,这款测电笔设计得非常人性化,操作起来也很简单。他首先注意到了测电笔上的两个按键:DIRECT(A键)和
    丙丁先生 2024-12-16 12:58 70浏览
  • 一、引言在数字化时代,芯片作为现代科技的核心,其制造过程却常被视作神秘的黑箱。菊地正典的《大话芯片制造》为我们揭开了这层神秘的面纱,以通俗易懂的方式,全面系统地介绍了芯片制造的各个环节。作为一名电子信息技术专业的教育工作者,我深感这本书不仅为学生提供了宝贵的知识资源,也让我对芯片制造及其在现代社会中的作用有了更深刻的理解。二、生活中的芯片印记芯片的影响渗透到我们日常生活的每一个角落。从智能手机的闹钟唤醒,到交通卡的便捷支付,再到智能家居的智能化功能,芯片以其强大的运算和处理能力,为我们的现代生活
    月光 2024-12-16 11:52 74浏览
  • 近年来,云终端凭借便捷、高效、高性价比的优势正逐步在各行各业渗透。研究机构IDC的数据显示,2024上半年,中国云终端市场总体出货量达到166.3万台,同比增长22.4%,销售额29亿元人民币,同比增长24.9%,均超预期。紫光展锐积极携手各大合作伙伴,共同打造云端生态,大力推动云终端在政企、金融类等领域应用落地。 云终端增长势头良好 两大应用场景被看好云电脑将传统个人电脑的硬件资源和软件应用虚拟化,并通过网络提供给用户。这种模式的核心在于:用户不需要高性能的本地硬件,仅通过互联网连接
    紫光展锐 2024-12-16 18:11 50浏览
  • 【富芮坤FR3068x-C】+开发环境疑问非常荣欣参加了这次《富芮坤FR3068x-C》评测活动,在搭建开发环境时,本人就遇到很大问题,主要有3个。第1个问题:本人按照《FR306x开发环境说明书》中的1章安装软件,keil5.36版本以上,并且打开sdk中uart工程,按照要求设置了Device配置如下: ARM Compiler选项链接文件配置但是编译结果如下:有23个warning,都是连接脚本中找不到,请问这样工程是否有问题?第2个问题:按照《FR306x开发环境说明书》中要求,需要电脑
    shenwen2007_656583087 2024-12-17 00:59 49浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦