前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 文件、目录结构及常用命令

Linux 文件、目录结构及常用命令

作者头像
HammerZe
发布2022-05-09 18:21:30
1.9K0
发布2022-05-09 18:21:30
举报
文章被收录于专栏:Hammer随笔

目录

Linux-文件操作与目录管理

在Linux中,一切皆文件,复习Linux基础知识过程中总结了常用的文件操作命令,如下👇

1.两种路径

在Linux中只有绝对路径和相对路径,最顶级的目录为根目录‘/’。

  • 绝对路径: 路径的写法,由根目录‘/’写起。
代码语言:javascript
复制
#eg:/usr/share/doc
  • 相对路径: 路径的写法,不是由‘/’写起。
代码语言:javascript
复制
#eg:/usr/share/doc 到 /usr/share/man底下时,可以这样写:
cd ../man    #这就是相对路径的写法
./ #表示当前目录
../	#表示返回上一级

2.目录结构

每一个文件和目录都是从根目录开始的👇

image
image
  • /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系统上安装的应用程序默认都安装在此目录中

3.处理目录常用的命令

命令如下:

命令

功能

ls

列出目录及文件名

cd

切换目录

pwd

显示当前所在的目录

mkdir

创建一个新的目录

rmdir

删除一个空的目录

cp

复制文件或目录

rm

删除文件或目录

mv

移动文件与目录,或者修改文件与目录

注.使用man命令来查看各个命令的使用文档。eg:man ls,'有什么问题记得的找男人!!'

ls命令(列出目录)

ls命令是Linux中最常用的命令

代码语言:javascript
复制
#ls搭配的参数:
ls -a/d/l
-a:列出全部的文件(包含隐藏文件)
-d:列出目录本身,而不是列出目录的文件数据
-l:长数据串列出,包含文件的属性与权限等数据

cd命令(切换目录)

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

代码语言:javascript
复制
#绝对路径
cd /bin/
#相对路径
cd ../

图示如下:

image
image

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

代码语言:javascript
复制
pwd -P
#-p:显示出确实的路径,而非使用连接(link)路径。

实例如下:

image
image

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

image
image

因为bin连接到usr/bin,所以加上会显示完整的路径!!

mkdir命令(创建新目录)

语法如下:

代码语言:javascript
复制
mkdir -m/p 目录名称
-m:配置文件的权限
eg:mkdir -m 711 test1  	#权限为711

-p:多层创建。
eg:mkdir -p a/b/c/d #禁止套娃,哒mei~
image
image

rmdir命令(删除空目录)

语法如下:

代码语言:javascript
复制
rmdir 目录名称
rmdir -p 目录名称
eg:rmdir -p a/b/c/d #空目录就这样删除了~

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

语法如下:

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

# 案例:

# 将/root目录下anaconda-ks.cfg复制到/tmp目录
[root@localhost ~]# cp /root/anaconda-ks.cfg /tmp

# 将/root目录下的test文件夹及其内部的文件复制到/tmp中
[root@localhost ~]# cp -r /root/test /tmp
ps:在linux中,文件夹是不可以直接复制。

# 将/etc/hosts和/etc/resolv.conf 复制到/tmp目录中
[root@localhost ~]# cp /etc/hosts /etc/resolv.conf  /tmp

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

  • 格式:stat [option] file
  • 参数:
    • -L:显示符号链接所指向文件的信息
    • -f:显示文件所在文件系统的信息
    • -t:以简洁方式输出信息
    • -c:以特定格式输出文件的某些信息
  • 文件的三个时间:
  1. Access time(atime):表示我们最后一次访问(仅仅是访问,没有改动)文件的时间。
  2. Modify time(mtime):表示我们最后一次修改文件的时间。
  3. Change time(ctime):表示我们最后一次对文件属性改变的时间,包括权限,大小,属性等
  • 补充:
代码语言:javascript
复制
当我们仅仅只是读取文件时,access time 改变,而modify,change time 不会改变;
当修改文件时,access,modify,change time 都会跟着改变;
当修改文件属性时,change time 改变,而access,modify time 不变。
  • linux中的链接相当于快捷方式。

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

删除文件有两种方式: 1、物理删除:直接删除文件。 2、逻辑删除:将文件隐藏,没有直接删除。

语法如下:

代码语言:javascript
复制
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 [移动文件的原路径] [移动文件的新路径]

语法如下:

代码语言:javascript
复制
# 将/root目录下的1.txt移动到/opt目录中
[root@localhost ~]# mv /root/1.txt /opt

# 移动文件夹
[root@localhost ~]# mv test/ /mnt/

4.Linux文件内容查看

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

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

cat命令

由第一行开始显示文件内容 语法如下:

代码语言:javascript
复制
cat -AbEnTv

选项和参数如下:

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

tac命令

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

nl命令

显示行号,语法如下:

代码语言:javascript
复制
nl -bnw 文件

选项与参数如下:

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

more命令

一页一页翻动

选项参数如下:

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

less命令

一页一页翻动

选项参数如下:

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

head命令

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

选项参数如下:

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

tail命令

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

选项参数如下:

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

👉注.Linux文件操作命令,小白必看!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-10-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Linux-文件操作与目录管理
    • 1.两种路径
      • 2.目录结构
        • 3.处理目录常用的命令
          • ls命令(列出目录)
          • cd命令(切换目录)
          • pwd命令(显示当前所在的目录)
          • mkdir命令(创建新目录)
          • rmdir命令(删除空目录)
          • cp命令(复制文件或目录)
          • stat命令(查看文件详细属性)
          • rm命令(移除文件或目录)
          • alias命令(系统别名)
          • mv命令(移动文件或目录,或修改名称)
        • 4.Linux文件内容查看
          • cat命令
          • tac命令
          • nl命令
          • more命令
          • less命令
          • head命令
          • tail命令
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档