Linux-基础命令及相关知识2

补充:

1、A命令(echo)既有可能是内部命令也有可能是外部命令,例如命令A既有可能在bash上也有可能在csh上,为了防止A在某些shell程序里不起作用,可以将A命令设置为外部命令(环境变量路径上),起到双重保险的作用。

2、每个磁盘里的Innode号是有限的,所以可能会出现硬盘空间还有剩余,但是不能存储文件的情况,因为innode号用完了。

3、ls - i命令补充,表示显示文件及文件夹的innode号。

[root@localhost ~]# ls -i
134578157 1                    77911 k                134578197 pp68051240 a                202635130 l                202635111 text68051206 aa               134311844 original-ks.cfg  134578311 text2
134311845 anaconda-ks.cfg      77902 p                    77912 tt

4.通过\可以将别名(alias cp="cp -i")cp重新使用。

1.0Linux基础命令

cp:   复制文件命令

cp -i:复制文件时,如果遇到同名文件会有覆盖提示

[root@localhost ~]# cp -i /home/pipi/aa ./
cp: overwrite ‘./aa’? y

cp -f:   复制文件时遇到覆盖提示直接覆盖

cp -r:   复制目录时必须使用此选项,表示递归复制目录下的所有文件及子目录

cp -p:  复制时保留原有文件的属主、权限、时间标记等属性不变

cp -a:  递归复制并保留原有属性

cp -ur:增量备份,从a文件夹中复制b文件夹没有的部分到b文件夹

[root@localhost ~]# cp -ur a/* b/   a.b文件夹在同一文件夹下

复制到同一文件夹时,cp源文件到当前目录需要改名

复制到不同文件夹时,cp源文件到目标目录可以改名也可以不改名

将多个文件复制的时候,目标一定是其他目录

[root@localhost ~]# cp -a aa ./a2  
同个目录下文件夹的复制要记得-r或-pr或-a,复制文件的时候可以不带选项
[root@localhost ~]# ls
1  a  a2  aa  anaconda-ks.cfg  k  l  original-ks.cfg  p  pp  text  text2  tt
[root@localhost ~]# cp -af aa ./
cp: ‘aa’ and ‘./aa’ are the same file
文件夹的复制必须改名,无法覆盖

df -h: 查看系统内磁盘空间使用情况

[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        3.8G     0  3.8G   0% /dev
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           3.9G   13M  3.8G   1% /run
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda3        92G  4.2G   88G   5% /
/dev/sda1       297M  163M  134M  55% /boot
tmpfs           781M   36K  781M   1% /run/user/1000
tmpfs           781M     0  781M   0% /run/user/0

rm:       删除文件或者目录

rm -r:   递归删除,用于删除目录

rm -f:   强制删除,没有提示信息

rm-i:    交互,有提示信息

rm -rf常配合使用,表示强制递归删除,没有提示信息

mv:    移动

mv -f:  如果文件已经存在,强制覆盖

mv -i:  如果文件已经存在,询问是否覆盖

mv -n: 如果文件已经存在,则不会覆盖,也不会询问用户

mv -v:显示移动信息

三种使用方式:

  • mv 文件名 不改变路径是改名

  • mv 文件名 改变路径是移动

  • mv 文件名 改变路径+改名

[root@localhost ~]# cd /home/pipi
[root@localhost pipi]# ls
abc  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  test  test1  Videos
[root@localhost pipi]# mv abc cba
将同目录下的abc文件夹改成cba文件夹[root@localhost pipi]# ls
cba  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  test  test1  Videos
[root@localhost pipi]# mv cba /root
[root@localhost pipi]# ls /root
1  a  a2  aa  abc  anaconda-ks.cfg  cba  k  l  original-ks.cfg  p  pp  text  text2  tt
将pipi目录下的cba文件夹移动至/root下[root@localhost pipi]# mv /root/cba /home/pipi/abc
[root@localhost pipi]# ls 
abc  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  test  test1  Videos
将/root下的cba移动到pipi目录下并改名为abc

rename:重命名

[root@localhost abc]# touch {1..10}.txt
[root@localhost abc]# ls
10.txt  1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt  passwd
[root@localhost abc]# rename txt bak *
[root@localhost abc]# ls
10.bak  1.bak  2.bak  3.bak  4.bak  5.bak  6.bak  7.bak  8.bak  9.bak  passwd

which:     查命令所在位置(type -a也有相同效果)

where is: 查命令所在位置

以上两种命令都是去固定的(文件夹)路径找命令

[root@localhost abc]# which ls
alias ls='ls --color=auto'/usr/bin/ls
[root@localhost abc]# type -a ls
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls
[root@localhost abc]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

locate: 查找文件 (不是实时查找,有滞后性,去系统数据库中查找)

如果在某个目录中touch了一个文件,无法用locate实时找到它,因为去数据库中找文件有滞后性。

locate 查询系统上预建的文件索引数据库(相当于硬盘的目录),/var/lib/mlocate/mlocate.db,索引的构建是在系统较为空闲的时候自动进行(周期性任务),执行updatedb可以更新数据库,索引的构建需要遍历整个根文件系统,很消耗资源,locate和updatedb命令均来自mlocate包,因此locate适合去查一些历史文件,会比较快速。

dd if=/dev/zero of=100M count=1 bs=100M

删除100M文件后,df -h查看磁盘空间发现所占空间未发生变化,可能是因为文件在启动,和Windows操作系统不同的是,Linux在程序或者文件运行时可以删除文件。

dd if=/dev/zero of=100M count=1 bs=100M
dd是用于文件与I/O设备操作的实用命令
if=/dev/zero 输入文件(if)是特殊的设备文件,它提供无限的0字节,意味这从这个文件读取时,会得到无限的零。
of=100M  输出文件of是100M 这将创造一个名为100M的新文件,并将数据写入其中,如果不指定路径,该文件将被创建在当前目录下
count=1 读取次数=1
bs=100M 一次读取的大小为100M

find:查找文件(实时查找,去硬盘里找,选项多,精确查找)

find的通式:find 范围 选项 表达式 处理结果

- mtime(-atime -ctime)按天数查找
- mmin(-amin -cmin)按分钟查找
- links按链接数查找
- inum按innode号找人
-user/group/uid/gid/nouser/mogroup按所属用户/所属组/用户ID号/组ID号/无所属用户/无所属组查找
-iname根据文件名查找,不区分大小写
- maxdepth 2 -mindepth 2将你的文件以分级的形式表示(只查找第二级)
find -name "p*" -type f -mtime +30 -size 5k/5M/5G -user root -delete
在当前目录下查找p开头,30天以上,(4k,5k]大小,所属root用户的普通文件用于删除选项 表达式 与 选项 表达式之间可以用连接符 “-a(and,可省略)” “-o(or)”"!(取反,表示除了)"连接!可以搭配 -empty 例如:find -type d ! -empty(查找目录文件且该文件非空文件)

或与且的优先级,且的优先级高于或,所以多输入-ls的时候其实是省略了一个-a,所以与运算优先进行,只统计了软链接的数量,若想将软链接与目录数量一起统计,需要加上括号,\(    \)

处理动作作用
-print打印(默认)
-delete删除
-ls显示找到文件的属性
-ok连接符号
-exex连接符号

例题:找到/var/log文件夹下,30天以上,大于10G,log结尾的普通文件删除或移动到/mnt/文件夹下

[root@localhost ~]# find /var/log -mtime +30 -size +1G -name "*log" -type f -exec mv {} /mnt/ \;
find /var/log -mtime +30 -size +1G -name "*log" -type f -delete

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JAVA毕设】基于JAVA的酒店管理系统

一、项目介绍 本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router实现动态路由,Ajax实现前后端通信,Element-plus组件库使页面快速成型。后端部分:采用SpringBoot作为开发框架,同时集成MyBatis、Redis、…

Chrome DevTools:Console Performance 汇总篇

Chrome DevTools Chrome 开发者工具是一套 Web 开发者工具,直接内置于 Google Chrome 浏览器中。 开发者工具可以帮助您即时修改页面和快速诊断问题,最终帮助您更快地构建更好的网站。 一、开启 DevTools 右上角菜单 > 更多工具 > 开发者工具 页面…

如何用mmclassification训练多标签多分类数据

这里使用的源码版本是 mmclassification-0.25.0 训练数据标签文件格式如下,每行的空格前面是路径(图像文件所在的绝对路径),后面是标签名,因为特殊要求这里我的每张图像都记录了三个标签每个标签用“,”分开&#xff0…

力扣71~75题

题71(中等): python代码: class Solution:def simplifyPath(self, path: str) -> str:#首先根据/分割字符串,再使用栈来遍历存储p_listpath.split(/)p_stack[]for i in p_list:#如果为空则肯定是//或者///if i:con…

mac m1 安装openresty以及redis限流使用

一切源于一篇微信文章 早上我上着班,听着歌1.打算使用腾讯云服务器centos-7实验:安装ngx_devel_kitmac m1 os 12.7.6 安装openresty测试lua限流: 终于回到初心了! 早上我上着班,听着歌 突然微信推送了一篇文章《Nginx 实现动态封…

记录一次从nacos配置信息泄露到redis写计划任务接管主机

经典c段打点开局。使用dddd做快速的打点发现某系统存在nacos权限绕过 有点怀疑是蜜罐,毕竟nacos这实在是有点经典 nacos利用 老规矩见面先上nacos利用工具打一波看看什么情况 弱口令nacos以及未授权访问,看这记录估计被光顾挺多次了啊 手动利用Nacos-…

MySQL - Navicat自动备份MySQL数据

对于从事IT开发的工程师,数据备份我想大家并不陌生,这件工程太重要了!对于比较重要的数据,我们希望能定期备份,每天备份1次或多次,或者是每周备份1次或多次。 如果大家在平时使用Navicat操作数据库&#x…

深入解析Python数据容器

Python数据容器 1,数据容器介绍2,数据容器的分类3,数据容器:list(列表)3.1,列表的定义3.2,列表的下标索引3.3,列表的常用操作3.3.1,查找指定元素下标3.3.2&am…

【OpenAI】第三节(上下文)什么是上下文?全面解读GPT中的上下文概念与实际案例

文章目录 一、GPT上下文的定义1.1 上下文的组成 二、GPT上下文的重要性2.1 提高生成文本的相关性2.2 增强对话的连贯性2.3 支持多轮对话 三、使用上下文改善编程对话3.1 使用上下文的概念3.2 使用上下文改善对话的作用3.3 使用上下文改善对话的方法3.4 案例分析 四、利用历史记…

安装Openeuler出现的问题

1.正常安装中,不显示已有的网络,ens33 尝试:手敲ens33配置,包括使用uuidgen ens33 配置还是不行 可能解决办法1:更换安装的版本。譬如说安装cenos 7 64位 启动虚拟机,更换版本之后的安装界面,…

Excel常用操作培训

以下是Excel的基本操作,内部培训专用。喜欢就点赞收藏哦! 目录 1 Excel基本操作 1.1 常用快捷键 1.1.1快捷键操作工作簿、工作表 1.1.2快捷键操作 1.1.3单元格操作 1.1.4输入操作 2.1 常见功能描述 2.1.1 窗口功能栏 2.1.2 剪切板 2.1.3 字体…

计算机网络——传输层服务

传输层会给段加上目标ip和目标端口号 应用层去识别报文的开始和结束

海南聚广众达电子商务咨询有限公司靠谱吗怎么样?

在当今这个数字化浪潮席卷全球的时代,抖音电商以其独特的魅力成为了众多商家争相入驻的新蓝海。而在这片浩瀚的电商海洋中,如何找到一家既专业又可靠的合作伙伴,成为了众多商家心中的一大难题。今天,我们就来深入剖析一下海南聚广…

组件可控个性化生成新方法MagicTailor:生成过程中可以自由地定制ID

今天的文章来自公众号粉丝投稿,文章提出了一种组件可控的个性化生成方法MagicTailor,旨在个性化生成过程中可以自由地定制ID的特定组件。 相关链接 论文阅读:https://arxiv.org/pdf/2410.13370 项目主页:https://correr-zhou.gi…

拼多多详情API接口的获取与应用

一、拼多多详情API接口概述 1. API接口定义与功能 拼多多开放平台为开发者提供了丰富的API接口,其中商品详情API接口尤为重要。该接口允许开发者通过编程方式获取商品的详细信息,包括商品标题、价格、描述、图片、规格参数、库存等。这些信息对于电商数…

无人机之自主飞行关键技术篇

无人机自主飞行指的是无人机利用先进的算法和传感器,实现自我导航、路径规划、环境感知和自动避障等能力。这种飞行模式大大提升了无人机的智能化水平和操作的自动化程度。 一、传感器技术 传感器是无人机实现自主飞行和数据采集的关键组件,主要包括&a…

Unity3D学习FPS游戏(1)获取素材、快速了解三维模型素材(骨骼、网格、动画、Avatar、材质贴图)

前言:最近重拾Unity,准备做个3D的FPS小游戏,这里以官方FPS案例素材作为切入。 导入素材和素材理解 安装Unity新建项目新建文件夹和Scene如何去理解三维模型素材找到模型素材素材预制体结构骨骼和网格材质(Material)、…

No.18 笔记 | XXE(XML 外部实体注入)漏洞原理、分类、利用及防御整理

一、XXE 漏洞概述 (一)定义 XXE(XML 外部实体注入)漏洞源于 XML 解析器对外部实体的不当处理,攻击者借此注入恶意 XML 实体,可实现敏感文件读取、远程命令执行和内网渗透等危险操作。 (二&am…

一、Python基础语法(有C语言基础速成版)

在python中,变量是没有类型的,变量存储的数据是有类型的 可以把变量当做一个存放物品的盒子 一、字面量 字面量:在代码中,被写下来的 固定的值 python中常见的值的类型 二、注释 # 我是单行注释,一般要加个空格&a…

java设计模式——装饰者模式

定义: 装饰者模式是一种结构型设计模式,它允许动态地给对象添加新的功能,而不会改变其原有的结构。与继承不同,装饰者模式通过组合而不是继承来扩展对象的功能,这样可以有效地避免类爆炸问题(多个子类的冗余…