IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux | 文件目录管理 -> 正文阅读

[系统运维]Linux | 文件目录管理

Linux文件目录管理

1.Linux文件系统架构

  • Linux是将文件系统挂载到每个目录下。
  • Linux文件系统中没有区的概念。
  • 在建立系统时候,Linux首先需要建立一个根目录 / ,并在这个文件系统中建立一系列空目录,然后将其他硬盘分区挂载到这个目录中。
  • Linux系统主要目录及其内容
    在这里插入图片描述
    /bin:构建起最小系统所需要的命令
    /etc:系统软件的启动和配置文件
    /home: 用户的主目录
    /lib:C编译器的库
    /usr:非系统的程序和命令
    /dev:各种设备文件

2.文件和目录处理

mkdir 建立目录:

mkdir catkin_ws
mkdir ~/home/catkin_ws
mkdir -p catkin_ws/src #递归式地建立目录

touch 建立空文件:

touch hello 

touch pre_doc.php #更新原来已有的文件的时间

mv 移动和重命名

mv hello download/
mv -i hello download/ # -i用于发现是否把已有文件覆盖了
mv -b hello download/ #如果有同名文件,会在同名文件后加一个~,避免被覆盖
mv hello hello2 #重命名,hello文件被重命名为hello2

cp 复制文件

cp hello.cpp download/
cp -i hello download/
cp -b hello download/
cp -r test/ download/ #复制目录及其下的文件

删除目录和文件

rm test/*.cpp #删除test目录下所有的php文件
rm -i test/hello.cpp 
rm -f hello_bak #不加询问地强制删除 force
rm -r test/ #递归式地删除目录下所有的文件和子目录

3.权限

  • Linux有三个权限主:文件所有者、文件属组用户、其他人
  • 三种权限:r w x
  • 可执行文件有两种:shell 脚本程序、可直接由CPU执行的二进制代码

ls -l 查看文件和目录的权限

ls -l /test/hello.cpp

$ ls -l CMakeLists.txt 
lrwxrwxrwx 1 rosfun rosfun 50 Apr 24 09:08 CMakeLists.txt -> /opt/ros/kinetic/share/catkin/cmake/toplevel.cmake
  • 第一个字符:文件类型
    在这里插入图片描述

chmod 改变文件权限

chmod a+x hello.cpp 所有权限主加x权限
chmod a-x hello.cpp 所有权限主删除x权限
chmod  777 hello.cpp 所有权限主赋予最高权限 r w x 

ln 建立链接
软链接 ln -s

ln -s TARGET LINK_NAME 建立一个名为LINK_NAME的符号链接,指向TARGET,从此访问LINK_NAME就相当于访问TARGET

硬链接 ln
硬链接:将两个独立的文件联系在一起。是直接引用。而软链接是通过名称引用。
硬链接后的两个文件完全被联系在了一起,两个文件拥有相同的内容 ,对其中一个文件的改动会反映在另一个文件中。

ln hello.cpp hell0.cpp

4.重定向和管道

重定向和管道允许用户人为地改变程序获取输入和产生输出的位置。

- 输出重定向
输出默认指向显示器
输出重定向默认把程序的输出转到另一个地方去

$ ls 
MPC.cpp  MPC_Node.cpp  Pure_Pursuit.cpp
ls > ~/ls_out 

这样ls的输出就不会显示在显示器上,而是出现在ls_out文件中。
如果该文件不存在,>重定向符号会试图建立这个文件。如果该文件已经存在,则>会覆盖原内容。
如果不想覆盖原内容:

$ date > data_out  ## 将date命令的输出重定向到date_out文件
$ cat date_out     ## 查看date_out文件内容
xxxxx
$ nume -r >> date_out ##将uname命令产产生的版本信息追加到date_out文件的末尾
$ cat dateout  ##再次查看date_out文件的内容

- 输入重定向
程序默认接收输入的地方是键盘。
如果不使用带任何参数的cat命令,cat会停在那里,等待标准输入获取数据。输入的每一样都会立即显示在屏幕上

~$ cat
hello world
hello world

** | 管道**
| 将一条命令的输出连接到另一条命令的输入。

$ ls | grep MPC
MPC.cpp
MPC_Node.cpp

ls首先列出当前目录下的所有文件名,管道“ | ” 在这对文件列表中查找包括字符串MPC的文件名,并在标准输出中显示。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-27 16:38:53  更:2021-07-27 16:41:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 11:08:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计