常用Linux命令详细总结

news2024/11/24 10:44:04

一、文档编辑、过滤、查看命令

1、cp  复制文件和目录 

-a 复制文件并保持文件属性

-d 若源文件为链接文件,则复制链接文件属性而非文件本身

-i 覆盖文件前提示,如果不要提示,在命令前加上\

-r 递归复制,通常用于目录的复制

-f 强制复制,

-p 连同文件的属性一起复制过去,而非使用默认属性

-u 若目标文件存在,则目标文件比源文件旧时才复制

例子:cp oldboy.txt /tmp/   命令 参数  源文件   目标路径

cp –r /date /tmp

2、echo显示一行文本

-e :对反斜杠转义的解释

echo显示颜色:

语法:echo  -e “\033[字背景颜色;文字颜色m字符串\033[0m”

Note:文字颜色后边有一个m

文字颜色:30---37

30:黑色。31:红色。32:绿色。33:黄色。34:蓝色。35:紫色

36:天蓝色。37:白色

背景颜色:40---47

40:黑色。41:红色。42:绿色。43:换色。44:蓝色。

45:紫色。46:天蓝色。47:白色

最后边控制选项说明:

0m:关闭所有属性。1m:设置高亮度

2m:下划线。5m:闪烁。7m:反显

8m:消隐。

3、mv  移动文件、重命名文件  不加参数也可以移动文件或者目录

移动文件:  mv 源文件名 目标移动路径

-i 如果目的文件已存在,询问是否覆盖

-f 强制执行,不会询问

-u 若目的文件存在,则比源文件新,才会移动

重命名:mv 原文件名 修改后的名字 例如:mv file{4,6}.txt

多文件移动:mv 文件名 ……移动到的目录,最后一个参数必须是目录/

移动时源文件后边不要多斜线

例如:mv /date /root/

4、ls :显示目录、文件清单

  选项:

      -a:显示所有,包括隐藏文件目录

      -l:以长格式显示,就是把详细信息列出来 简写方式:ll

      -h:以人类已读的方式显示,人性化

      -d:只显示目录

      -F:为目录添加/

      -r:反向排序

     -t: 按照修改时间排序

      -i :显示查找inode结点

    生产案例:查找最近更新的文件 ls -lrt

5、rm 删除文件或者目录  此命令较危险,不能乱用,一般不用

删除普通文件不加-r (递归删除)  删除目录则需要加-r

-f force 强制删除

-r –R recursive 递归删除,

正确删除文件的方法:

1、使用mv命令移动到/tmp (回收站)代替删除

2、cd 目的目录 ;find . –type f(d) –name ‘’|xargs rm 要到文件目录下去删,不能从根开始,

6、pwd print working directory 打印当前动作目录,就是查看当前在那个目录下

7、find 查找文件(支持通配符)

图片

xargs 从标准输入(管道或者stdin 输入重定向)获取数据,并将数据转换成命令行的参数

输入重定向:多行输入变成单行输出

-i 后面是{ }

-I 后面是[ ]

-n 指定每个命令行最多的参数

支持使用文件权限Mode,文件属主属组,进行查找

8、touch 创建新文件或者更新时间戳,例如创建文件 touch /data/shiyouyuan.txt

创建文件也可以用cd进入目录,在touch 创建

创建多个文件方法:例如touch stu{1……1000}.txt,就会创建1.txt-1000.txt

touch 文件名 如果文件存在就更新时间戳,如果文件不存在就创建时间戳

vi 相当于windows的记事本,vim 高级编辑器

vi 要编辑的文件名  进入后按i进入insert状态,就可以输入内容了

输入完成后按esc,退回命令模式,然后输入:wq保持并退出

echo 命令,重定向

输入文本内容还可以这样做:echo 'my name is syy'>shiyouyuan.txt

如果文件不存在会创建文件,如果存在会清空、覆盖之前的内容,在插入新的内容,

在内容后面加>>(两个>)就会在原来内容的末尾添加内容,不会清空之前的内容。

还有一个较复杂不常用的类似命令printf

9、cat 查看文件内容 例如:cat shiyouyuan.txt 也可以输入内容,命令:cat >文件名  输入内容,按ctrl+c 或者ctrl+d两边结束输入

cat 的多行追加能力   内容中间用EOF 圈起来,可以用其他的,但是要完全是一对。

cat >>/data/shiyouyuan.txt 0<< EOF

I am studying linux

I am studying linux

I am studying linux

EOF

特殊符号:

>或1> 输出重定向:把前面的输出的东西输入到后边的文件中,会清除文件原有内容

>>或1>>  追加重定向:把前面输出的东西追加到后边的文件尾部,不会清除文件原有内容

0<或< 输入重定向:输入重定向用于改变命令的输入,后面指定输入内容,前面跟文件名

例如:echo 1 2 3 4 >shi.txt

cat shi.txt

1 2 3 4

xargs –n 2 <shi.txt

显示的结果就是

1 2

3 4

相当于把shi.txt交给xargs –n这个命令处理

0<<或<< 追加输入重定向:后跟字符串,用来表示“输入结束”,也可用ctrl +d 来结束输入

例如:cat >>/data/shiyouyuan.txt 0<< EOF

I am studying linux

I am studying linux

I am studying linux

EOF

2> 错误重定向:把错误信息输入到后边的文件中,会删除文件的原有内容

2>>错误追加重定向:把错误信息追加到后边的文件中,不会删除元件的原有内容

2>&1标准正常输出和标准错误输出一样,就相当于跟屁虫一样,1放到哪儿,2就放到哪儿

例如:echo ‘shi’ >a.txt 2>&1

说明:

1、箭头的指向就是数据的流向

2、数字说明:

1、标准输入stdin :代码为0 使用<或<<,数据流向从右往左

2、标准正常输出stdout :代码为1 ,使用>或>>,数据流向从左往右

3、标准错误输出stderr :代码为2 使用2>或2>>

关于find的企业面试题:http://oldboy.blog.51cto.com/2561410/1650380

|管道命令,键盘上按shift + \

相当于把前面命令的执行结果传送给后边的命令继续执行

.(一个点)当前目录,..(两个点)上级目录

10、grep文本过滤工具,相当于筛子一样,是一个管道命令,一般配合正则表达式和通配符使用

用法:grep 选项 文件

选项:

-v :排除选项,

-i :不区分大小写

-n :对匹配到的内容显示行号

-color=auto 对匹配到的内容高亮显示

-B :除了显示匹配到一行之外,并显示改行之前的n行

-A :除了显示匹配到的一行之外,并显示该行之后的n行

-C :除了显示匹配到的一行之外,并显示该行的前后各n行

11、head 读取文件的前n行,默认为前10行,

用法:head -n number file

例:head -n 6 123.txt 意思就是读取123.txt这个文件的前6行

12、tail读取文件的后n 行,与head是相对的,用法也是一样的

13、tree :目录树

如果linux上没有这个命令的话,可以使用yum -y install tree 进行安装

选项:

-a :显示所有文件,包括隐藏文件,隐藏文件以 “.”开头

-d :只显示目录

        -L :层级,显示指定的层级:tree -L 1   tree -dL 2 显示两级目录

        -f :为每个文件显示完整的路径,

        -i:不显示压痕线,就是路径前面的横线

        -F:区分文件和目录,目录后面有一根斜线

14、mkdir 创建目录 (make directory)

用法:mkdir 选项 需要创建的目录名称

选项:

    -m :设置创建目录的权限(一般在后面用chmod设置)

    -p :递归创建目录,例如可以mkdir -p test/a/b

    -v :显示创建目录的过程,mkdir -pv test/a/b

 例子:可以采用连续创建目录,如:mkdir test/dir{1……10}

        创建出来的目录就是dir1 dir2…dir10

        创建目录及多级子目录  mkdir test/{1..3}/{4..5}利用乘法分配律创建,

二、linux文件、目录属性及权限

 389379     drwxr-xr-x.      22      root    root 4096    Apr  5 02:52   var

inode节点号    文件的类型、权限  硬链接次数  属主    属组   文件大小   创建时间      文件名

1、indode节点和block

inode,中文意思是索引节点(index node),在每个linux存储设备或存储设备的分区被格式化文件系统后,一般生成两部分:inode和block,

block是实际存储数据的,inode是存储文件属性等信息,包含指向文件实体的指针,但是,inode唯独不包含文件名。查看inode的总量和使用量:inode -i。如果某个磁盘无法放文件,但实际还有空间,这个时候就可能是inode节点满了。

inoded的大小在分区被格式化创建文件系统后就无法更改了,在创建文件系统前可以更改,但实际用不到

inode 号相同的文件互为硬链接文件

一个文件创建后,至少要占用一个inode和block

block大小一般有1k、2k、4k几种,

例如:一个1000k的文件,block的大小为4k,那么就会占用250各block,如果block为1k,就要占用1000各block,消耗I/O分别为250次和1000次(读取一个block就会消耗一次磁盘I/O),但是如果block为4k,但是文件为1k,其余的3k就浪费了,所以block的大小应该根据需求设计。

2、其中drwxr-xr-x为文件的的类型和权限

第一位为文件的类型;后九尾为文件的权限

                      文件的类型一共有七类:

                                    1、d :代表文件类型为目录

                                    2、f或者-:代表文件类型为普通文件

                                    3、s :代表文件类型是套接字

                                    4、b :代表文件类型是块设备

                                    5、l :代表文件类型是链接文件

                                    6、p :代表文件类型是管道文件

                                    7、c :代表文件类型是字符设备文件

文件权限最后一位后面有一个点(.)适合selinux相关的,实际中没有什么用

1、stat 查看文件或者文件系统的状态

选项:

-L:显示文件链接

-f:显示文件系统状态而不是文件状态

-c:使用指定的格式文件

2、diff比较两个文件的差异

 选项:

 -q:只在比较的两个文件不同时报告

 -s:两个文件相同时报告

 -C,-c:复制上下文输出的N行,默认三行

 -U,-u:统一上下文的输出NUM(默认3)行,将两个文件的的前N行变为相同

三、Linux三剑客:sed流编辑器 stream editor

是一个行编辑器,一次只能处理一行文本。

用法:

Sed 选项………scropt inputfile

选项:

-n :不输出模式中的内容至屏幕

-e :多点编辑

-f :脚本文件路径,从指定文件读取脚本命令

-r :使用扩展的正则表达式

-i :原处编辑(一定要测试正确才用,慎用)

地址定界

(1)

不给地址,对全文进行 处理

(2)单地址

a:指定的行

/pattren/:被次模式所能匹配到的每一行

(3)地址范围:

#,#

#,+#

/pat1/ ,/pat2/

#,/pat1/

编辑命令

-d :删除命令

eg;sed ‘/^$/d’/etc/fstab 删除空白行

sed ‘/^#/d’/etc/fstab 删除以#号开头的行

sed ‘/1,4d/’/etc/fstabse

p :显示模式空间中的内容,会显示两行,跟-n 可以只显示一行

eg ; sed ‘/^UUID/p’/etc/fstab

a \‘text’:在行后面追加文本,支持多行\n追加

sed '/^#/a \# hello world' /tmp/httpd.conf

i \在行后面插入文本,支持多行\n多行插入

c \text 替换行为单行或多行文本

w /path/to/somefile :保存模式空间中匹配到的内容至指定文件中

sed '/^#/w /tmp/1.txt' /tmp/httpd.conf

r :/path/from/somefile:读取指定文件的文本流至指定文件中

=:为模式空间中行打印行号

!:取反,对没有匹配到的行之外的所有行进行操作

s/// :查找替换,支持其他分隔符如:s@@@,s###

替换标记:

g:全局替换

i :忽略字符大小写

P :显示替换成功的行

w :/path/to/somefile,将替换成功的结果保存至指定文件中

sed 's/^#/789/g' /tmp/httpd.conf

sed 's/^#/&syy/g' /tmp/httpd.conf 后项引用

高级编辑命令

h:用模式空间的内容覆盖至保持空间中,源源保持空间中内容将被清除

H:把模式空间内容追加至保持空间中

g:从保持空间中取出看数据覆盖至模式空间

G;从保持空间取出内容追加至模式空间

x;把模式空间的内容与保持空间中的内容进行互换

n :读取匹配到的行下一行至模式空间

N :追加匹配到的行的下一行至模式空间

D :删除多行模式空间中行

d :删除模式空间中的行

eg:sed –n ‘n;p’ file 显示偶数行

sed ‘n;d’ file  显示奇数行

   sed ‘1!G;h ;$!d’ file  逆向显示文件内容

sed ‘$!N;$!D’ FIEL  取出文件后两行

sed ‘$!d’  fle    取出文件最后一行

步进:~

显示所有奇数行 sed ‘1~2p’  /tmp/httpd.conf

显示所有偶数行 sed ‘2~2p’ /tmp/httpd.conf

sed ‘1~2p’ 表示从1 开始,步进为2,显示奇数行,偶数行同理。

四、杂类(网络、系统、文件上传下载)

1、dmesg 打印或控制内核环缓冲区,默认显示所有消息

选项:

-K:显示内核消息、信息

2、rs sz上传下载文件,依赖于lrzsz这个软件包

3、traceroute 追踪路由

选项:

-4:使用IPv4

-6:使用IPv6

-T:使用TCP协议,默认80端口

-I:使用ICMP协议

-p:端口

-i:指定网卡出口

4、uptime显示系统运行时间及负载。

5、nmap 网络探测工具和安全/端口扫描器

6、mpstat 报告处理器相关统计

7、nc 一款强大的网络工具

选项:

-4:使用IPV4

-6使用IPV6

-u:使用UDP协议

-U:使用Unix套接字

-h:目标地址

-p:目标端口

8、tcpdump 命令行抓包工具

选项:

-A:用ASCII格式打印每个包(减去它的链接级别头)。方便捕捉网页。

-c:接受多个包后退出  

9、Auditd工具:是Linux中一个审计守护进程,其负责将审计记录写入磁盘,其中包含如下工具:

auditctl : 即时控制审计守护进程的行为的工具,比如如添加规则等等。

/etc/audit/audit.rules : 记录审计规则的文件。

aureport : 查看和生成审计报告的工具。

ausearch : 查找审计事件的工具

auditspd : 转发事件通知给其他应用程序,而不是写入到审计日志文件中。

autrace : 一个用于跟踪进程的命令。

/etc/audit/auditd.conf : auditd工具的配置文件。

使用auditd可以用来监控文件或者目录是否被修改过。可以追踪进程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1666770.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[muduo网络库]——muduo库Buffer类(剖析muduo网络库核心部分、设计思想)

接着之前我们[muduo网络库]——muduo库Socket类&#xff08;剖析muduo网络库核心部分、设计思想&#xff09;&#xff0c;我们接下来继续看muduo库中的Buffer类。其实Buffer在我的另一篇博客里面已经介绍过了深究muduo网络库的Buffer类&#xff01;&#xff01;&#xff01;&am…

QTreeView学习 branch 虚线设置

1、方法一&#xff1a; #include <QStyleFactory> ui.treeView->setStyle(QStyleFactory::create("windows")); 2、方法二&#xff1a; QString strtyle2 R"( QTreeView::branch:has-siblings:!adjoins-item { border-image: url(:/TreeViewDe…

docker+nginx+Jenkins自动构建

文章目录 前言一、实操记录问下AI&#xff1a;jenkins 配置新增一个mobilegit配置Build TriggersBuild EnvironmentBuild StepsPost-build Actions 上面一顿配置下来&#xff0c;构建 -- FAILURE 总结 前言 在已有docker-Jenkins-nginx 部署方案上&#xff0c;在另外一台测试…

KAN神经网络简短介绍

KANs简介 Kolmogorov-Arnold Networks (KANs) 是一种创新的神经网络模型&#xff0c;它挑战了传统多层感知器(MLPs)的设计&#xff0c;通过将激活函数从节点转移到边上来提升模型的性能和可解释性。KAN的核心在于&#xff0c;其所有权重参数均被单变量的样条函数代替&#xff…

C++(week3):C语言文件操作

文章目录 (十二) 文件1.流(1)流模型(2)程序员视角的文件(3)缓冲区类型(4)标准流(5)二进制文件 与 文本文件(6)文件流的接口(API) 2.打开/关闭文件(1)fopen(2)fclose(3)示例代码 3.读/写文件(1)fgetc / fputc&#xff1a;一个字符一个字符地读写(2)fgets / fputs&#xff1a;一行…

pytest + yaml 框架 - 录制接口转 yaml 用例实现

pytest yaml 框架基本不用写 python 代码&#xff0c;只需写yaml 文件用例就能实现接口自动化。 现在引入接口录制功能&#xff0c;连 yaml 文件也不用写了&#xff0c;点点点就能生成 yaml 用例文件了。 录制功能在v1.3.4版本上实现 pip instal pytest-yaml-yoyo 环境准备 …

string类的介绍与使用【C++】

string类 前言一、为什么学习string类C语言中的字符串示例 二、标准库中的string类string类string类的常用接口说明string类对象的常见构造string类对象的容量操作string的接口测试及使用string类对象的访问及遍历操作下标和方括号遍历范围for遍历迭代器遍历相同的代码&#xf…

Seaborn : 超好用的Python可视化工具

1. 引言 说到数据可视化&#xff0c;Seaborn就像一颗隐藏的宝石&#xff01;在进行探索性数据分析时&#xff0c;我们通常从Matplotlib 开始&#xff0c;而对 Seaborn 的探索相对较少&#xff01;但是&#xff0c;只要你了解 Seaborn 的全部潜力&#xff0c;你就会惊奇地发现&…

半小时搞懂STM32面经知识点——IIC

1.IIC 1.1什么是IIC&#xff1f; 同步半双工通信协议&#xff0c;适用于小数据和短距离传输。 1.2 IIC需要几条线&#xff1f; IIC总共有2条通信总线&#xff08;SDA,SCL&#xff09;&#xff0c;SCL为时钟同步线&#xff0c;用于主机和从机间数据同步操作&#xff1b;SDA为…

Qt开发常见报错大全与解决办法

下面的报错是我日常开发经常遇到的,对着下面的解决方法一招搞定就行了。 我们没必要都去记住,只需要见方抓药即可。 目前版本有27个常见报错,持续更新中。 常见报错 翻译不起作用 你可能改了类名字,但是.ts文件里没有跟着改。 Cannot send events to objects owned by a…

多线程-线程安全

目录 线程安全问题 加锁(synchronized) synchronized 使用方法 synchronized的其他使用方法 synchronized 重要特性(可重入的) 死锁的问题 对 2> 提出问题 对 3> 提出问题 解决死锁 对 2> 进行解答 对4> 进行解答 volatile 关键字 wait 和 notify (重要…

线下研讨会 技术沙龙|乐鑫芯片与 ESP RainMaker® 为科技初创企业赋能

众多科技初创企业在智能硬件市场迅猛发展的背景下&#xff0c;对不断变化的需求展现出了高度的敏锐性&#xff0c;期望能够快速将其转化为切实的产品方案。然而&#xff0c;面对复杂繁重的软硬件集成任务&#xff0c;这些企业往往容易陷入研发瓶颈、资金短缺以及效率低下等多重…

Mybatis技术内幕-基础支撑层

整体架构 MyBatis 的整体架构分为三层&#xff0c; 分别是基础支持层、核心处理层和接口层。 基础支持层 基础支持层包含整个MyBatis 的基础模块&#xff0c;这些模块为核心处理层的功能提供了良好的支撑。 解析器模块 XPathParser MyBatis提供的XPathParser 类封装了XPat…

HackMyVM-Minimal

目录 信息收集 arp nmap nikto whatweb WEB web信息收集 gobuster 文件包含漏洞 提权 web信息收集 main方法 question_1 question_2 question_3 prize.txt 软连接 信息收集 arp ┌──(root?0x00)-[~/HackMyVM] └─# arp-scan -l Interface: eth0, type: E…

centos7.9系统安全加固

1、限制用户登陆 vim /etc/hosts.deny&#xff0c;若禁止192.168.0.158对服务器进行ssh的登陆&#xff0c;添加如下内容 sshd : 192.168.0.158 添加完毕后就生效了&#xff0c;直接用192.168.0.158访问主机&#xff0c;就无法连接了&#xff0c;显示 Connection closing...Soc…

pycharm报错Process finished with exit code -1073740791 (0xC0000409)

pycharm报错Process finished with exit code -1073740791 (0xC0000409) 各种垃圾文章&#xff08;包括chatgpt产生的垃圾文章&#xff09;&#xff0c;没有给出具体的解决办法。 解决办法就是把具体报错信息显示出来&#xff0c;然后再去查。 勾选 然后再运行就能把错误显示…

图像分割各种算子算法-可直接使用(Canny、Roberts、Sobel)

Canny算子&#xff1a; import numpy as np import cv2 as cv from matplotlib import pyplot as pltimg cv.imread("../test_1_1.png") edges cv.Canny(img, 100, 200)plt.subplot(121),plt.imshow(img,cmap gray) plt.title(Original Image), plt.xticks([]), …

vue2+swiper——实现多图轮播+层叠轮播——技能提升

今天看到同事在写轮播图&#xff0c;由于是jq的写法&#xff0c;我没有过多参与&#xff0c;我只写vue的部分。。。虽然语言不一样&#xff0c;但是用法还是要会的。下面介绍通过swiper组件来实现轮播效果。 解决步骤1&#xff1a;安装swiper npm install swiper5.4.5 我这边…

数据分享—全国分省河流水系

河流水系数据是日常研究中必备的数据之一&#xff0c;本期推文主要分享全国分省份的水系和河流数据&#xff0c;梧桐君会不定期的更新数据&#xff0c;欢迎长期订阅。 数据预览 山东省河流水系 吉林省河流水系 四川省河流水系 数据获取方式 链接&#xff1a;https://pan.baidu.…

基于阿里云向量检索 Milvus 版与 PAI 搭建高效的检索增强生成(RAG)系统

阿里云向量检索 Milvus 版现已无缝集成于阿里云 PAI 平台&#xff0c;一站式赋能用户构建高性能的检索增强生成&#xff08;RAG&#xff09;系统。您可以利用 Milvus 作为向量数据的实时存储与检索核心&#xff0c;高效结合 PAI 和 LangChain 技术栈&#xff0c;实现从理论到实…