前言

在Linux中,一切皆文件,而每一个文件和目录都是从根目录开始的

Linux文件目录的作用

  • /bin目录:用来存放二进制可执行命令的目录,用户常用的命令都存在该目录下。
  • /sbin目录:用来存放二进制可执行文件,这里面的命令只供系统管理员,管理系统使用(root用户)。
  • /dev目录:设备文件存放的目录,因为linux中一切皆文件,所以就像鼠标、键盘、光驱,对linux来说也都是一个个的文件。例如/dev/cdrom(光驱)、/dev/sda1(硬盘)等。
  • /tmp:类似windows中的垃圾回收站
  • /home:普通用户的家目录,用来存放普通用户的文件。
  • /boot目录:存放内核文件和系统引导程序
  • /lib目录:存放二进制库文件,库文件一般以.so|lib*|ld*
  • /mnt目录:临时挂载临时存储设备的目录
  • /opt目录:下载目录,一般是给第三方厂家开发的程序的安装目录,一般用不了
  • /media目录:用于挂载可移动设备的临时目录。
  • /root目录:系统管理员的家目录。
  • /sys目录:与/proc一样,存放系统运行过程中的信息文件。
  • /etc目录:yum/rpm安装的软件配置文件所在的目录。
  • /usr目录:安装除操作系统本身外的一些应用程序或组件的目录,一般可以认为是linux系统上安装的应用程序默认都安装在此目录中

处理目录常用的命令

命令 功能
ls 列出目录及文件名
cd 切换目录
pwd 显示当前所在的目录
mkdir 创建一个新的目录
rmdir 删除一个空的目录
cp 复制文件或目录
rm 删除文件或目录
mv 移动文件与目录,或者修改文件与目录
  • ls命令(列出目录)

    ls命令是Linux中最常用的命令,当你不知道敲什么命令时候可以考虑ls拖一下时间

    ls搭配的常用参数:
    ls -a/d/l
    -a:列出全部的文件(包含隐藏文件),一般情况下隐藏文件是无法直接查看的
    -d:列出目录本身,而不是列出目录的文件数据
    -l:长数据串列出,包含文件的属性与权限等数据

    图示如下



    这是不带参数的ls,无法查看隐藏文件



    这是a参数的ls



    这是ls的al参数,加个t参数之后比较常用

    cd命令(切换目录)

    cd [ 相对路径或绝对路径]

    #绝对路径
    cd /bin/
    #相对路径
    cd ../
    #当直接敲cd命令时会将工作目录移到当前用户的家目录

    图示如下:



    这是以绝对路径进行cd切换工作目录



    这是以相对路径切换工作目录


    pwd命令(显示当前所在的目录)

    pwd -P
    #-p:显示出确实的路径,而非使用连接(link)路径。

    实例如下:



    注.没有p和有p相差的原因在这里!!

    为文件夹创建一个符号链接(比如说在home目录下创建一个htm链接指向/var/www/html)。进入新创建的目录并打印出含有以及不含符号链接的目录。在home目录下创建一个htm链接指向/var/www/html,并进入

ln -s  /var/www/html/ htm





因为htm连接到/var/www/html/,所以加上会显示完整的路径!!

mkdir命令(创建新目录)

语法如下:

mkdir -m/p 目录名称
-m:配置文件的权限
eg:mkdir -m 711 test1 #权限为711 -p:多层创建。
eg:mkdir -p a/b/c/d #禁止套娃




rmdir命令(删除空目录)

语法如下:

rmdir 目录名称
rmdir -p 目录名称
eg:rmdir -p a/b/c/d #空目录就这样删除了~

PS:一般情况下rmdir只能删除空目录,如果你尝试使用rmdir去删除非空目录,那么会出现下面的错误





提示非空目录,难道rmdir不能删除非空目录?可以,可以使用强制删除,但是一般情况下不会有人用,大家更习惯rm删除

rmdir --ignore-fail-on-non-empty 非空目录的名字

cp命令(复制文件或目录)

语法如下:

cp [要拷贝文件] [目标目录下]
#搭配的参数如下
-a:==pdr
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用)
-d:若来源档为连接档的属性,则复制连接档属性而非文件本身 #连接档可以用ls -ld查看
-r:递归持续复制
-i:覆盖文件,有提示(默认为覆盖)
-f:强制的意思,若目标文件已经存在且无法开启,则移除后再尝试一次

案例:

  • 将当前目录下1.txt复制到test目录下

  • 将当前目录下的test文件夹及其内部的文件复制到test2中

ps:在linux中,文件夹是不可以直接复制。

加个r参数进行递归复制

  • 将test、test2和test3复制到test4目录中
cp -r test test2 test3 test4

多个对象时,最后一个对象是最终的对象目录,即复制到该目录


stat命令(查看文件详细属性)

  • 格式:stat [option] file
  • 参数:
    • -L:显示符号链接所指向文件的信息
    • -f:显示文件所在文件系统的信息
    • -t:以简洁方式输出信息
    • -c:以特定格式输出文件的某些信息
  • 文件的三个时间:
  1. Access time(atime):表示我们最后一次访问(仅仅是访问,没有改动)文件的时间。
  2. Modify time(mtime):表示我们最后一次修改文件的时间。
  3. Change time(ctime):表示我们最后一次对文件属性改变的时间,包括权限,大小,属性等

  • 补充:
当我们仅仅只是读取文件时,access time 改变,而modify,change time 不会改变;
当修改文件时,access,modify,change time 都会跟着改变;
当修改文件属性时,change time 改变,而access,modify time 不变。
  • linux中的链接相当于快捷方式。

rm命令(移除文件或目录)

删除文件有两种方式:

1、物理删除:直接删除文件。

2、逻辑删除:将文件隐藏,没有直接删除。

语法如下:

rm -fir 文件/目录
#搭配的参数如下
-f:忽略不存在的文件,不会出现警告的信息
-i:互动模式,在删除前会询问是否进行
-r:递归删除 #和套娃的意思一样,非常危险,谨慎操作~ # 案例:
# 将/root目录下的1.txt删除
[root@localhost ~]# rm 1.txt # 删除/root目录下的test文件夹及其内部所有的文件
[root@localhost ~]# rm -rf /root/test/ # 禁用的命令:rm -rf /*
# 解决rm命令误操作:将rm命令改一个名称。
# 通过查看命令存放的路径,更改名称:which命令查看命令存放路径

可以搭配 ‘i’ 使用,避免删除了不该删除的文件


alias命令(系统别名)

  • alias : 查看系统别名

  • 格式:

    • alias [命令名] = [新名]
    • eg:alias rm='xxx' : 设置系统别名
  • 补充:不使用别名,就在命令之前增加

    \
    • [root@localhost ~]# \rm 1.txt

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

移动文件相当于剪切。

  • 格式

    mv [移动文件的原路径] [移动文件的新路径]

语法如下:

# 将当前目录下的1.txt移动到/opt目录中
[root@localhost ~]# mv 1.txt /opt # 移动文件夹
[root@localhost ~]# mv test/ /mnt/

当mv移动的文件在当前目录时,就可以起到文件重命名的作用



利用mv命令将其重命名为2.txt


Linux文件内容查看

Linux中经常使用以下命令来查看文件的内容:

  • cat 显示文件内容,但是不可以编辑
  • tac 从最后一行开始显示和cat相反
  • nl 显示的时候,输出行号
  • more 一页一页的显示文件内容
  • less与more类似,但是比more更好的是他可以往前翻页
  • head 只看头几行
  • tail 只看尾几行

cat命令

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

语法如下:

cat -AbEnTv

选项和参数如下:

  • -A:== -vET的整合,可以列出一些特殊字符而不是空白
  • -b:列出行号,仅针对非空白做行号显示,空白不显示行号
  • -E:将结尾的断行字节$显示出来
  • -n:列出行号,连同空白行也会有行号,与-b的选项不同
  • -T:将Tab按键以^|显示出来
  • -v:列出一些看不出来的特殊字符
#示例如下:
#查看/etc/issue这个文件的内容
cat /etc/issue

tac命令

tac与cat相反,文件内容从最后一行开始显示,可以看出tac是cat的’倒数‘!


nl命令

显示行号,语法如下:

nl -bnw 文件

选项与参数如下:

  • -b:指定行号指定的方式,主要有两种:

    • -ba:表示不论是否为空行,同样列出行号
    • -bt:如果有空行,空行不列出行号
  • -n:列出行号表示的方法,主要有三种:
    • -n ln:行号在屏幕的最左侧显示
    • -n rn:行号在自己栏位的最右方显示,且不加0
    • -n rz:行号在自己栏位的最右方显示,且加0
  • -w:行号栏的占用的位数
#用nl列出/etc/issue的内容,实例如下:
nl /etc/issue

more命令

一页一页翻动

选项参数如下:

  • 空格:代表向下翻一页
  • Enter:代表向下翻一行
  • /字串:代表在这个显示的内容中,向下搜索/字串这个关键字
  • :f :立刻显示出档名以及目前显示的行数
  • q :代表立刻离开more,不再显示该文件内容
  • b :代表往回翻页,不过这个动作只对文件有用
#实例如下:
more /etc/man_db.config

less命令

一页一页翻动

选项参数如下:

  • 空格:向下翻动一页
  • [PgDn] :向下翻动一页
  • [PgUp] :向上翻动一页
  • /字串:向下寻找字串
  • ?字串:向上寻找字串
  • n:重复前一个动作
  • N:重复前一个动作(反向)
  • q:离开less这个程序

head命令

取出文件的前几行,默认显示前十行

选项参数如下:

  • -n:后面接数字,代表显示几行的意思
#显示文件的前20行:
head -n 20 HammerZe.txt

tail命令

取出文件后几行,默认显示后十行

选项参数如下:

  • -n:后面接数字,代表显示几行的意思
  • -f:表示持续侦测后面所接的档名,要等按下Ctrl+c才会结束tail的侦测
#显示文件最后20行:
tail -n 20 HammerZe.txt

Linux 文件目录配置及命令总结的更多相关文章

  1. linux网络配置相关命令、虚拟网络接口eth0:0

    网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0.eth1...... ethX.而普通猫和ADSL的接口 ...

  2. Linux——网络配置及命令

    traceroute命令(unix)/tracert命令(windows) tracert命令的格式为:tracert [-d] [-h maximum_hops] [-j host-list] [- ...

  3. Linux网络配置 RPM命令 samba服务 Linux目录结构

    第一种方法: (1)用root身份登录,运行setup命令进入到 text mode setup utiliy对网络进行配置,这里可以进行ip,子网掩码,默认网关,dns的设置.(2)这时网卡的配置没 ...

  4. LINUX常用配置及命令

    一.   Fedora系统配置 1.      [设置网卡IP] 步骤如下: 1)     用root用户登陆,打开/etc/sysconfig/network-scripts/ifcfg-eth0文 ...

  5. Linux网络配置常用命令

    计算机需要网络连接才能和其他计算机通信,这是通过操作系统识别接口卡(如以太网卡.猫等等),并配置该接口以连接到网络上来实现的.网络配置命令可以用来配置以下类型的网络接口:以太网.ISDN(综合业务数字 ...

  6. Ubuntu/Linux网络配置常用命令

    配置ip 打开配置文件 sudo vim /etc/network/interfaces # This file describes the network interfaces available ...

  7. linux网络配置相关文件

    网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0.eth1...... ethX.而普通猫和ADSL的接口 ...

  8. Linux(二)__文件目录、常用命令

    一.linux下的文件目录 linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层 是根目录"/",然后在此目录下再创建其他的目录 深刻理解linux文件目录是非常重要 ...

  9. 你一定要知道的关于Linux文件目录操作的12个常用命令

    写在前面: 1,<你一定要知道的关于Linux文件目录操作的12个常用命令>是楼主收集的关于Linux文件目录操作最常用的命令,包括文件或目录的新建.拷贝.移动.删除.查看等,是开发人员操 ...

  10. linux网络配置命令(一)——ifconfig

    linux网络配置命令(一)——ifconfig ifconfig 查看.配置网卡信息.已过时,推荐使用ip命令 格式:  ifconfig [interface]                   ...

随机推荐

  1. gridlayout

    <?xml version="1.0" encoding="utf-8"?> <GridLayout xmlns:android=" ...

  2. LeetCode5716:好因子的最大数目(数学、快速幂)

    解题思路:因为primeFactors比较大,所以需要使用快速幂. class Solution: def quick_pow(self,base,x): ans = 1 while x>0: ...

  3. Codeforces #475 div2

    题目链接:http://codeforces.com/contest/964 A题 答案n/2+1: B题 讨论三种情况 c>b c==b c<b C题 数论,逆元+快速幂,但是我一直卡在 ...

  4. MD5 or Bcrypt?

    MD5 or Bcrypt? 摘要 首先是一个错误的认识观念问题,很多人觉得MD5是一个加密算法.不然,他实则是一种摘要算法,也可以叫哈希函数.他的作用是将目标文本转换成具有相同长度.不可逆的杂凑字符 ...

  5. 斯坦福 UE4 C++ ActionRoguelike游戏实例教程 09.第二个游戏规则:玩家重生

    斯坦福课程 UE4 C++ ActionRoguelike游戏实例教程 0.绪论 概述 本文对应课程15章,60 - Refining Player Respawns. 在本篇文章中,将会为游戏新增加 ...

  6. mac 编译php 7.2+扩展编译 的坑史(不是swoole的坑),php的一个坑,这个坑还没填满,问题根源还没有找到 !

    目前网上找到的文章全是php 7.1,但是brew己经没有7.1了,最新是7.2,这让我怀疑是不是我的版本问题,导致swoole编译时总是编译不过去.后来发现任何扩展都编不过去,提示: Configu ...

  7. 云图说丨初识华为云OrgID

    本文分享自华为云社区<[云图说]第282期 初识华为云OrgID:轻松实现统一帐号.统一授权>,作者: 码上开花_Lancer. 组织成员帐号 OrgID是面向企业提供组织管理.企业成员帐 ...

  8. Rust布道者张汉东倾授,入门Rust初学者都要攻破哪些难点?

    摘要:Rust语言学习曲线过于陡峭?初学者看懂这张思维导图,快速入门. Rust语言这两年的热度大家有目共睹,作为一个有着突破性变革意义的语言,其光鲜背后也有诸多质疑,对于想要在系统编程语言上更上一层 ...

  9. AUC/ROC:面试中80%都会问的知识点

    摘要:ROC/AUC作为机器学习的评估指标非常重要,也是面试中经常出现的问题(80%都会问到) 本文分享自华为云社区<技术干货 | 解决面试中80%问题,基于MindSpore实现AUC/ROC ...

  10. 总结vue3 的一些知识点:​Vue.js 条件语句​

    Vue.js 条件语句 条件判断 v-if 条件判断使用 v-if 指令: v-if 指令 在元素 和 template 中使用 v-if 指令: <div id="app" ...