当前位置: 首页 > news >正文

前端基础知识操作系统系列 - 03(linux系统下 文件操作常用的命令有哪些)

一、是什么

Linux 是一个开源的操作系统(OS),是一系列Linux内核基础上开发的操作系统的总称(常见的有Ubuntu、centos)

系统通常会包含以下4个主要部分

  • 内核
  • shell
  • 文件系统
  • 应用程序

文件系统是一个目录树的结构,文件系统结构从一个根目录开始,根目录下可以有任意多个文件和子目录,子目录中又可以有任意多个文件和子目录

二、文件操作

常见处理目录的命令如下:

  • ls(英文全拼:list files): 列出目录及文件名
  • cd(英文全拼:change directory):切换目录
  • pwd(英文全拼:print work directory):显示目前的目录
  • mkdir(英文全拼:make directory):创建一个新的目录
  • rmdir(英文全拼:remove directory):删除一个空的目录
  • cp(英文全拼:copy file): 复制文件或目录
  • rm(英文全拼:remove): 删除文件或目录
  • mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称

ls

列出目录文件,选项与参数:

  • -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
  • -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
  • -l :长数据串列出,包含文件的属性与权限等等数据;(常用)

例如将家目录下的所有文件列出来(含属性与隐藏档)

[root@www ~]# ls -al ~

cd

切换工作目录

语法:

 cd [相对路径或绝对路径]
# 表示回到自己的家目录,亦即是 /root 这个目录
[root@www runoob]# cd ~# 表示去到目前的上一级目录,亦即是 /root 的上一级目录的意思;
[root@www ~]# cd ..

pwd

pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。

[root@www ~]# pwd [-P]

选项与参数:

  • -P :显示出确实的路径,而非使用连结 (link) 路径

mkdir

创建新目录

语法:

mkdir [-mp] 目录名称

选项与参数:

  • -m :配置文件的权限
  • -p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来

rmdir (删除空的目录)

语法:

 rmdir [-p] 目录名称

选项与参数:

  • -p :连同上一级『空的』目录也一起删除

cp

即拷贝文件和目录

语法:

cp 目标文件 拷贝文件

用法如下:

cp file file_copy --> file 是目标文件,file_copy 是拷贝出来的文件
cp file one --> 把 file 文件拷贝到 one 目录下,并且文件名依然为 file
cp file one/file_copy --> 把 file 文件拷贝到 one 目录下,文件名为file_copy
cp *.txt folder --> 把当前目录下所有 txt 文件拷贝到 folder 目录下
复制代码

常用参数如下:

  • -r 递归的拷贝,常用来拷贝一整个目录

rm (移除文件或目录)

语法:

 rm [-fir] 文件或目录

选项与参数:

  • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
  • -i :互动模式,在删除前会询问使用者是否动作
  • -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!

mv (移动文件与目录,或修改名称)

语法:

[root@www ~]# mv [-fiu] source destination
[root@www ~]# mv [options] source1 source2 source3 .... directory

选项与参数:

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
  • -u :若目标文件已经存在,且 source 比较新,才会升级 (update)

ln

Linux 文件的存储方式分为3个部分,文件名、文件内容以及权限,其中文件名的列表是存储在硬盘的其它地方和文件内容是分开存放的,每个文件名通过 inode 标识绑定到文件内容

Linux 下有两种链接类型:硬链接和软链接

硬链接

使链接的两个文件共享同样文件内容,就是同样的 inode ,一旦文件1和文件2之间有了硬链接,那么修改任何一个文件,修改的都是同一块内容

语法:

# 创建 file2 为 file1 的硬链接
ln file1 file2

删除文件1不会影响删除文件2,对于硬链接来说,删除任意一方的文件,共同指向的文件内容并不会从硬盘上删除

只有同时删除了两个文件后后,它们共同指向的文件内容才会消失。

软链接

类似window系统的快捷方式

使用方式:

ln -s file1 file2

其实 file2 只是 file1 的一个快捷方式,它指向的是 file1 ,所以显示的是 file1 的内容,但其实 file2 的 inode 与 file1 并不相同

如果

删除了 file2 的话, file1 是不会受影响的,但如果删除 file1 的话, file2 就会变成死链接,因为指向的文件不见了

三、文件查看

常见的文件内容查看有如下:

  • cat 由第一行开始显示文件内容
  • less 一页一页的显示文件内容
  • head 只看头几行
  • tail 只看尾巴几行

cat

由第一行开始显示文件内容

语法:

cat [-AbEnTv]

常见的选项与参数如下:

  • -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
  • -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同

less

一页一页翻动,以下实例输出/etc/man.config文件的内容:

[root@www ~]# less /etc/man.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.6d
....(中间省略)....
:   <== 这里可以等待你输入命令!

less运行时可以输入的命令有:

  • 空白键 :向下翻动一页;
  • [pagedown]:向下翻动一页;
  • [pageup] :向上翻动一页;
  • /字串 :向下搜寻『字串』的功能;
  • ?字串 :向上搜寻『字串』的功能;
  • n :重复前一个搜寻 (与 / 或 ? 有关!)
  • N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
  • q :离开 less 这个程序

取出文件前面几行

语法:

head [-n number] 文件 

选项与参数:

  • -n :后面接数字,代表显示几行的意思
[root@www ~]# head /etc/man.config

tail

取出文件后面几行

语法:

tail [-n number] 文件 

选项与参数:

  • -n :后面接数字,代表显示几行的意思
  • -f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测
http://www.dtcms.com/a/341163.html

相关文章:

  • C++ string(reserve , resize , insert , erase)
  • Clonezilla live 再生龙还原系统各个版本的不同
  • Sklearn 机器学习 房价预估 拆分训练集和测试集
  • Pydantic介绍(基于Python类型注解的数据验证和解析库)(BaseModel、校验邮箱校验EmailStr、BaseSettings)
  • SeaweedFS深度解析(五):裸金属集群部署(上)
  • Java 集合超详细教程
  • 循环神经网络(RNN)、LSTM 与 GRU (一)
  • 基于深度学习的订单簿异常交易检测与短期价格影响分析
  • 【深度学习】PyTorch中间层特征提取与可视化完整教程:从零开始掌握Hook机制与特征热力图
  • lua入门以及在Redis中的应用
  • 【ElasticSearch实用篇-03】QueryDsl高阶用法以及缓存机制
  • Java程序启动慢,DNS解析超时
  • 基于STM32的APP遥控视频水泵小车设计
  • K8S-Pod资源对象——标签
  • 【AI学习100天】Day08 使用Kimi每天问100个问题
  • 【指纹浏览器系列-绕过cdp检测】
  • 数据预处理:机器学习的 “数据整容术”
  • nginx-下载功能-状态统计-访问控制
  • 【数据结构】线性表——顺序表
  • 循环神经网络(RNN, Recurrent Neural Network)
  • Effective C++ 条款52:写了placement new也要写placement delete
  • 使用acme.sh自动申请AC证书,并配置自动续期,而且解决华为云支持问题,永久免费自动续期!
  • Spring Boot 定时任务与 xxl-job 灵活切换方案
  • 层在init中只为创建线性层,forward的对线性层中间加非线性运算。且分层定义是为了把原本一长个代码的初始化和运算放到一个组合中。
  • B站 韩顺平 笔记 (Day 24)
  • C++ std::optional 深度解析与实践指南
  • 当 AI 开始 “理解” 情绪:情感计算如何重塑人机交互的边界
  • linux报permission denied问题
  • Advanced Math Math Analysis |01 Limits, Continuous
  • uniapp打包成h5,本地服务器运行,路径报错问题