linux常用命令大全

1 查看命令的类型-type

 type [-afptP] 命令 

常见类型:

builtin内部指令
file文件
function函数
keyword关键字
alias别名
unfound没有找到

2 查看命令的使用方法-help

一般是 Linux 命令自带的帮助信息,并不是所有命令都自带这个选项。

而对于外部命令ls,我们想查看命令 ls 的用法:ls --help

3 mkdir

mkdir 目录名 //创建目录(linux)/文件夹(win)

mkdir -p d1/d2/d3/... //创建一串路径/目录; 递归创建多个目录

4 pwd

pwd //显式当前目录的绝对路径`

5 touch 创建空文件与修改时间戳

touch 文件名.后缀 //创建普通文件

touch 已存在文件 //更新Atime、Ctime

6 echo

输出字符串或提取后的变量值

echo "字符串" > 文件 //清空文件再写入,‘w’

7 认识路径

  • 以.开头的文件/目录是隐藏文件/目录
  • / 为linux下的根,linux下为目录为蓝色(centos7-shell)
  • . 当前路径
  • … 上级路径
  • C:\Users\26390\Desktop // windows下的路径, (反斜杠) \ : 路径分割符
  • /root/test // linux下的路径, (斜杠) / : 路径分隔符
  • windows下文件夹内可以有新的文件夹,linux下目录内可以有新的目录 – 所以linux的根 / 和路径分隔符 / 不冲突
  • linux整体是一个多叉树的样子/结构
  • windows通过路径来定位文件/文件夹,linux也是如此,为什么呢? > 任何一个目录都可以有多个子目录,但一个子目录只有一个父目录 -->因此一条路径能唯一标识一目录/文件
  • 路径分为1.绝对路径 2.相对路径(相对是相对于当前路径,如果当前路径改变了,则相对路径也会发生改变 ->失效)
  • 绝对路径使用场景:准确但麻烦,一般是在某些配置环境中,进行对某种文件进行配置时采用!
  • 相对路径使用场景:用起来简单,是后序指令操作时,常用的路径定位方案!

8 ls

显示目录中文件及其属性信息
ls -l(l:list)//以list的形式显式更多的属性

ls -t //按时间先后排序
ls -rt //按时间先后逆序排序

ls -ul //以uid形式显式属性

ls -ld //只显示路径,不显示内容

ll -h // h: 人类可读的 – 即显示大小,kb,Mb,…

9 cd

cd = change directory

cd ~ //进入/home目录
超级用户/管理员root的~独立位于/root
普通用户的~都位于/home底下 -- ~称为普通用户的家目录
window也有家目录,位于C:\Users

cd - //回到上一次访问的目录

10 tree

tree是一个把指定目录以树的形式组织并输出到终端的命令,这个命令一般的linux中都需要用户主动安装

tree [空] / [.] / [..] / [其他目录] //以树的形式把指定目录打印出来,不加命令选项默认是当前目录

-bash: tree: command not found //说明没有tree命令
解决方法:root下# yum install -y tree //如果是Ubuntu,则是# apt-get install -y tree

11 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输出版本信息并退出

如果[文件]缺省,或者[文件]为 - ,则读取标准输入。

12 gcc

gcc是c语言编译器,可以用于编译c代码

gcc .c文件 //编译.c文件,默认得到a.out可执行文件 //可执行文件是绿色 ./a.out //执行可执行文件,执行a.out文件 – 可执行文件在linux下必须带./

13 stat

获取文件的属性信息

stat 文件 //获取文件的属性信息
任何文件都有三种时间:A.C.M.时间:1.Access(访问) 2.Modify(内容) 3.Change(属性);
ll显式的时间是M时间

14 rm

rm 空目录/文件 //删除文件或空目录
rm -f 空目录/文件 //删除文件或空目录 — 不提示/不通知
rm -r 目录/文件 //递归删除目录内的所有文件/目录
rm -rf 目录/文件 //强制递归删除目录内的所有文件/目录 – 不提示/不通知/不需要确认/什么都能删,只要权限够 直接删完

rm * -rf //把当前目录的所有文件删掉 – 不带路径默认为当前目录 – ‘*’ ,linux通配符,代表所有文件
rm *.后缀 -rf //把带有相同后缀的文件全部删除
通配符:可以匹配上任意个数的任意字符

15 rmdir

rmdir 目录 //删除目录,只能删除非空目录 – 也没有支持递归删除的命令选项,所以目前没什么用
//rmdir:failed to remove :删除失败
为什么要有 – 如果有一个文件和目录同名,想删目录可以用rmdir 或 rm -r 目录, 想删文件用rm(默认删的就是文件) --这样就区分开来

16 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 的简写

17 sudo

授权普通用户执行管理员命令

sudo 命令 //命令提权

18 cp

拷贝 copy

cp 普通文件 目录 // 拷贝普通文件到目录中
cp -r 目录 目录 // 拷贝目录到目录中,必须带-r,递归拷贝

#19 mv
move:移动

mv 目录/文件 目录 //移动目录/文件,不需要带递归-r命令选项 ,后面一项一定是目录
mv 目录/文件 .. //移动文件/目录到上级目录
mv 目录/文件 . //移动文件/目录到当前目录

mv 旧文件名 新文件名 //重命名 – 后面一项一定时文件名

mv 旧文件名 路径/new_filename(带目录的新文件名) //如果第二项是是目录且带着一个没有重复的文件名,则是移动+重命名

mv 目录 新目录名(不能和所在路径有重复) //当前目录下重命名

mv 目录 带路径的新目录名(不能和所在路径有重复) //目录剪切+重命名

19 wc

word cound

wc 文件//wc命令的功能为统计指定文件中的字节数、单词数、行数, 并将统计结果显示输出

-c–bytes打印字节数
-m–chars打印字符数
-l–lines打印行数
-L–max-line-length打印最长行的长度
-w–words打印单词数

wc -l * 统计当前项目下的所有代码行数
who | wc -l //按行统计

20 > 和 >>

> 为输出重定向
>>为追加重定向

echo 文本内容 > 文件 // 输出 文本内容 重定向 到文件 , '>'为输出重定向符号 – 如果文件不存在,输出重定向>会创建一个新文件并写入

  • '>'输出重定向是一种覆盖式写入 ,清空文件再写入
  • ‘>>’ 追加重定向:追加重定向是追加式写入,在原文件内容的末尾追加写入,给原文件新增内容
    // 重定向 redirect

21 <

< 输入重定向

cat默认是重键盘读取数据 – 只输入cat就会进入键盘读取状态,打一个回显一个,直到ctrl+C
cat < 文件 //读入重定向到文件,默认是键盘 – 和# 【cat 文件】 不一样 , 【cat 文件】是命令获取文件

22 more

分页显示文本文件内容

more 文件 //按屏幕大小显式文件内容 – 按回车翻页,并且只能向下翻页,按q退出

23 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 - 浏览前一个文件

24 head

显示文件/文本开头的内容

head 文件 //默认会把文件的前10行打印出来,不够10行有多少打多少
head -n5 文件//设置成只打印前5行
head -5 文件 //一样,省略,设置成只打印前5行

25 tail

显示文件/文本尾部的内容

tail 文件
tail -3 文件
tail -n3 文件

26 管道 |

‘|’ :管道 ,管道最核心的意义在于:可以级联多条命令,让命令和命令组合,来完成批量化文本处理任务,做数据的不断加工

wc -l 文件 //统计文件有多少行
cat 文件 | wc -l //cat的数据流入管道,wc统计管道数据的行数,//从左到右一次执行,结果由最后一条命令输出

27 date

显示或设置系统日期与时间

date //linux时间
date +%Y-%m-%d_%H:%M:%S //格式化输出时间
date +%s //输出时间戳 – 格林尼治时间 --因时区问题,显式为8:00
date +%Y-%m-%d_%H:%M:%S -d @时间戳 //将时间戳转为格式化输出

28 cal

日历 calendar [ˈkælɪndər]

cal //显式当前月份日历
cal 2023(年份) //显式该年的所有月份
cal -3 // 显式本月和前后月 //*只有命令选项只有-3

29 sort

对文件内容进行排序

sort 文件 //按行的ascii比较,默认是升序 – 排序后打印
sort -r 文件 //降序 r为reverse
sort 文件 | uniq//排序后去重 – 单纯去重没有用
sort - uniq都不会修改源文件

30 搜索三件套之find

根据路径和条件搜索指定文件

find 路径 -name 文件 //在路径底下搜索文件 – 第一次搜索很慢,第二次会快,因为linux会把常用搜索缓存起来
要获取特定文件的路径
find ~ -name example.txt //范围尽可能小,使用~比较好

31 搜索三件套之which

查找命令文件,能够快速搜索二进制程序所对应的位置。

which 指令 //搜索指令所在目录 //搜索可执行程序

常用参数

-a显示PATH变量中所有匹配的可执行文件–help显示帮助信息
-n设置文件名长度(不含路径)–read-functions从标准输入中读取shell函数定义
-p设置文件名长度(含路径)–show-tilde使用波浪线代替路径中的家目录
-V显示版本信息–skip-dot跳过PATH变量中以点号开头的目录
-w设置输出时栏位的宽度

32 搜索三件套之whereis

whereis命令的功能是显示命令及相关文件的路径位置信息,可用于找到命令(二进制程序)、命令源代码、man帮助手册等相关文件的路径位置信息.

whereis 文档/程序/压缩包... //搜索各种

//linux基本所有指令都在 /usr/bin下
//linux指令是可执行程序(绿色),就是平时写的C/C++语言代码编译好的可执行程序 --指令,程序,工具没本质区别

33 alias

设置命令别名

alias 别名='命令+命令选项组合' //给命令+选项起别名
$ 为什么我们ls时有些文件会带颜色: 因为ls是’ls --color=auto的’别名

34 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选项 //仅显示行号

常用参数

-b显示匹配行距文件头部的偏移量-o显示匹配词距文件头部的偏移量
-c只显示匹配的行数-q静默执行模式
-E支持扩展正则表达式-r递归搜索模式
-F匹配固定字符串的内容-s不显示没有匹配文本的错误信息
-h搜索多文件时不显示文件名-v显示不包含匹配文本的所有行
-i忽略关键词大小写-w精准匹配整词
-l只显示符合匹配条件的文件名-x精准匹配整行
-n显示所有匹配行及其行号

35 top

linux任务管理器

top命令的功能是实时显示系统运行状态,包含处理器、内存、服务、进程等重要资产信息。运维工程师们常常会把top命令比作“加强版的Windows任务管理器”,因为除了能看到常规的服务进程信息之外,还能够对处理器和内存的负载情况一目了然,实时感知系统全局的运行状态。top命令非常适合作为接手服务器后执行的第一条命令。

常用参数

-a按内存使用情况排序-n设置显示的总次数,完成后自动退出
-b使用批处理模式,不进行交互式显示-p仅显示指定进程ID
-c使用显示模式-s使用安全模式,不允许交互式指令
-d设置显示的更新速度-u仅显示与指定用户ID
-h显示帮助信息-v使用线程模式
-i不显示任何闲置或僵死的行程-w设置显示的宽度
-M显示内存单位

36 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直接保存符号链接,而不是对应文件

37 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,后缀格式兼容或无所谓

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显示压缩包内的备注文字

38 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操作完成后删除源文件

39 bc

数字计算器
bc命令来自英文词组binary calculator的缩写,中文译为“二进制计算器”,其功能是进行数字计算。bash解释器仅能进行整数计算,而不支持浮点数计算,因此有时要用到bc命令进行高精度的数字计算工作。

语法格式:
bc//linux中的计算器
echo "1+2*3/2" | bc //管道组合运算 – 结果为4

参数

-i使用交互模式-s精准处理POSIX bc语言
-l设置标准数学库–help显示帮助信息
-q显示正常的GNU bc环境信息–version显示版本信息

40 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显示主机处理器类型

41 exit

退出终端

exit//退出终端

ctrl+d//退出//通常代表着:『键盘输入结束(End Of File, EOF 或 End OfInput)』的意思;另外,他也可以用来取代exit

42 history

history命令的功能是显示与管理历史命令记录。系统默认会记录用户执行过的有命令,可以使用history命令查阅它们,也可以对其记录进行修改和删除操作。

语法格式:history 参数

history //显式最近1000条命令
history > 文件 //把命令保存到文件中
//配合!使用
!history编号 //执行该编号的命令
!! //执行上一次的命令

参数

-a保存命令记录-r读取命令记录到缓冲区
-c清空命令记录-s添加命令记录到缓冲区
-d删除指定序号的命令记录-w将缓冲区信息写入历史文件
-n读取命令记录
历史命令搜索
在输入框按上或按下可以翻动历史命令

ctrl+r //反向搜索历史命令,再次按继续反向搜索(只能反向)

– enter执行,左右键修改

43 reboot

reboot命令的功能是用于重新启动计算机。与halt和shutdown命令相似,reboot命令的作用就是用于重启系统,简单快捷。

语法格式:reboot [参数]

reboot//重启linux

常用参数:

-d不将重启系统的过程写入日志中
-f强制重启系统而不询问
-i关闭所有的网络服务然后再重启系统
-n直接重启系统,不保存当前资料
-w仅模拟重启过程,将过程写入日志中
–verbose显示执行过程详细信息

44 shutdown

关闭服务器的系统

shutdown [命令选项] //关机 – 云服务器一般不关机,若关机了需要去官网后台重启

语法格式:shutdown 参数 对象

常用参数:

-c取消关机任务-n不调用init程序进行关机
-f关机时不检查文件系统-P系统关机后切断电源
-F关机时先检查文件系统-r将系统立即重启
-h将系统立即关机-s关闭此计算机,非立即操作
-k发送信息给所有用户-t设置距离关闭计算机还剩余的秒数

45 poweroff

poweroffhaltshutdowninit 0 都是关机,没什么区别

常用快捷键快捷键

ctrl+s:暂停终端回显;
ctrl+q:恢复;

ctrl+c 终端下ctrl+c键用于停止当前前台进程的活动,如打印刷屏;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值