Linux文件系统

根目录:/

从根目录开始,下面有一堆小目录

root:根用户的目录

bin:可执行文件命令

etc:配置文件

var:日志

lib:安装包或头文件,库文件

home:所有用户的家目录

proc:进程相关的信息,比如cpu信息

~:/home/acs,家目录,也就是用户的目录

~代表的位置:

这个是常用的工作目录

pwd输出当前路径的绝对路径

对路径的描述

  • 绝对路径:从根目录开始描述,即 /

    ls /home/ace/main.cpp
  • 相对路径:从当前路径开始,去描述目标路径

    若当前路径是 /home/acs

    ls tmp/main.cpp

如何区分相对路径与绝对路径:

绝对路径的开头一定是根目录,即 /

相对路径开头不是斜杠

. 与 ..

. 表示当前目录

.. 表示上一级目录

~/ 表示家目录,即 /home/acs/

回到家目录:

cd ~/

家目录就是用户的目录,一个Linux服务器上可以有很多个用户

~/ <==> /home/acs/

文件管理常用命令

  • ctrl c
  • ctrl u
  • tab键
  • ls
  • pwd
  • cd XXX
  • cp XXX YYY
  • mkdir XXX
  • rm XXX
  • mv XXX YYY
  • touch XXX
  • cat XXX

ctrl c

取消命令,并且换行

给当前正在运行的进程,传一个终止信号,用于取消命令,并且换行

使用top命令时,它会一直运行,所以可以用 ctrl c 关掉

若输入一个指令时,突然不想输入这一行了,按下ctrl c就会直接跳一行

ctrl u

清空本行命令

tab键

补全命令

可以补全命令和文件名,如果补全不了,快速按两下Tab键,可以显示备选选项

输入完命令,按了两下tab后,会出现下面的列表,然后又回到输入的那个命令中

若系统发现目录下只有一个文件,按tab键会直接补全

方向键:上

重新获取历史命令

ls命令

列出当前目录下所有文件,蓝色是文件夹,白色是普通文件,绿色是可执行文件

参数:-l,获取每个文件的详细信息,长信息

ls -l

第一列是权限信息

d表示 文件夹

-表示 普通文件

r表示 读

w表示 写

x表示 执行

参数:-h,人性化输出,显示大小更容易读

ls -lh

输出的信息,更容易看懂

参数:-a,查看隐藏文件

文件名若以.开头,则文件会被隐藏

-a会显示当前目录和上层目录,-A不会显示当前目录和上层目录

ll命令

等价于

ls -la

pwd命令

显示当前路径

cd命令

进入XXX目录下,cd .. 返回上层目录

cd后面可以是相对路径也可以是绝对路径

直接输入cd就会返回家目录

参数:..

cd ..

返回上一层目录

参数:-

cd -

返回上一个待过的目录,也就是跳转前的那个目录

返回进入此目录之前所在的目录

如果不断cd -就是来回切

cp命令

将XXX文件复制成YYY,XXX和YYY可以是同一个路径

cp可兼带重命名的效果

cp = 复制 + 粘贴 + 重命名

cp a/tmp.txt b

把文件夹a中的tmp文件复制到文件夹b中

复制的时候顺带重命名

若要复制目录,需要加参数 -r

cp a b -r

将目录a复制到了目录b中

若文件夹名字有空格,则输入时要输入 y\ c

删掉文件夹,若要处理文件夹,一般要加参数 -r

若想把a复制到当前文件夹,但不能重名

cp a c -r

mkdir命令

创建目录XXX

mkdir /home/acs/a

若要连续创建多个文件夹,需要参数 -p

mkdir a/b/c -p

若要查看指令的解释

mkdir --h
mkdir --hlep

查看历史输入过的所有指令

history

rm命令

删除普通文件

可以同时删除多个文件

rm tmp.txt tmp1.txt

也支持正则表达式的形式删除多个文件

rm *.txt

若要删除文件夹,则需要加参数 -r

rm a -r

若有的文件是保护文件,可以使用参数 -f

rm a -f

若只想删除目录内的内容,而不想删除掉这个目录

rm a/*

会删除a中的文件,而不会删除目录,若要删除目录,要加 -r

删除当前目录下所有文件、文件夹

rm * -r

删除当前目录下所有文件

rm *

危险指令

rm /* -rf

touch命令

创建一个文件用 touch

创建一个文件夹用 mkdir

mv命令

将XXX文件移动到YYY,和cp命令一样,XXX和YYY可以是同一个路径,重命名也是用这个命令

mv = 剪切+粘贴+重命名

等同于拖拽

mv tmp.txt b

重命名功能

mv tmp.txt tmp1.txt
mv tmp.txt tmp.cpp

cp是把A复制到B

mv是把A移动到B,A不在原来的地方了

mv指令也可以对目录进行操作

mv a b/

cat命令

展示文件XXX中的内容,无法对文件夹使用

课后练习

查看作业要求

homework 1 show

创建作业环境

homework 1 create

若把作业里面第三个题目的内容全删了,想只恢复第三个题目

homework 1 create 3

测验

homework 1 test

创建环境后,有课程目录,进入课程目录后,有题目

cd homework/lesson_1/homework_0

作业0

进入homework_0文件夹,分别创建文件夹dir_a,dir_b,dir_c

cd homework/lesson_1/homework_0
ls
mkdir dir_a dir_b dir_c
cd ..
homework 1 test

作业1

进入homework_1文件夹,将a.txt,b.txt,c.txt分别复制成:a.txt.bak,b.txt.bak,c.txt.bak

cd homework/lesson_1/homework_1
cp a.txt a.txt.bak
cp b.txt b.txt.bak
cp c.txt c.txt.bak

cp是复制,但不会删除被复制的文件

作业2

进入homework_2文件夹,将a.txt,b.txt,c.txt分别重命名为:a_new.txt,b_new.txt,c_new.txt

cd homework/lesson_1/homework_2
mv a.txt a_new.txt
mv b.txt b_new.txt
mv c.txt b_new.txt

作业3

进入homework_3文件夹,将dir_a文件夹下的a.txt,b.txt,c.txt,分别移动到文件夹dir_b下

cd homework/lesson_1/homework_3
mv dir_a/a.txt dir_b
mv dir_a/b.txt dir_b
mv dir_a/c.txt dir_b

作业4

进入homework_4文件夹,将普通文件a.txt,b.txt,c.txt删除

cd homework/lesson_1/homework_4
rm a.txt b.txt c.txt

作业5

进入homework_5文件夹,将文件夹dir_a,dir_b,dir_c删除

cd homework/lesson_1/homework_5
rm dir_a dir_b dir_c -r

作业6

进入homework_6文件夹,查看task.txt的内容,并按其指示进行操作

cd homework/lesson_1/homework_6
cat task.txt
将task.txt重命名为done.txt,创建目录dir_a,将done.txt移动到目录dir_a下
mv task.txt done.txt
mkdir dir_a
mv done.txt dir_a

作业7

进入homework_7文件夹,创建文件夹dir_0,dir 1,dir_2,

将a.txt,b.txt,c.txt复制到dir_0下,重命名为a0.txt,b0.txt,c0.txt;

将a.txt,b.txt,c.txt复制到dir_1下,重命名为a1.txt,b1.txt,c1.txt;

将a.txt,b.txt,c.txt复制到dir_2下,重命名为a2.txt,b2.txt,c2.txt;

cd homework/lesson_1/homework_7
mkdir dir_0 dir_1 dir_2
cp a.txt dir_0/a0.txt
cp b.txt dir_0/b0.txt
cp c.txt dir_0/c0.txt
cp a.txt dir_1/a1.txt
cp b.txt dir_1/b1.txt
cp c.txt dir_1/c1.txt
cp a.txt dir_2/a2.txt
cp b.txt dir_2/b2.txt
cp c.txt dir_2/c2.txt

作业8

进入homework_8文件夹,分别在dir_a,dir_b,dir_c文件夹下查看task.txt的内容,并分别按照指示进行操作

cd homework/lesson_1/homework_8
cd dir_a
cat task.txt
将a.txt删除
rm a.txt
cd ../dir_b
cat task.txt
将b.txt重命名为b_new.txt
mv b.txt b_new.txt
ls
b_new.txt task.txt
cd ../dir_c
cat task.txt
将c.txt复制成c.txt.bak
cp c.txt c.txt.bak
ls
c.txt c.txt.bak task.txt

作业9

进入homework_9文件夹,将其中所有txt类型的文件删除

cd homework/lesson_1/homework_9
rm *.txt

总结

重命名:mv XXX YYY

复制:cp XXX YYY

移动/剪切:mv XXX YYY

展示文件内容:cat XXX

创建文件:touch XXX

创建文件夹:mkdir XXX

创建多级目录:mkdir A/B/C -p

删除文件:rm XXX

删除文件夹:rm XXX -r

删除保护文件:rm XXX -f

当前路径:pwd

补全命令/文件名:tab键

列出当前目录所有文件:ls

输出信息人性化:ls -h

输出更多的信息:ls -l

切换目录:cd XXX

取消命令:ctrl c

消除本行输入:ctrl u

在当前目录下查找子目录与文件:find

Linux 常见文件管理命令的更多相关文章

  1. Linux常见文件管理命令

    1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示.(1)目录管理命令——ls:列出指定目录下的内容格式:ls [OPTION]... [FILE]... -a:显示所有文件包 ...

  2. linux简单文件管理命令的使用

    在linux系统中,命令的使用要方便于图形界面的使用,上一个博客介绍了如何使用PuTTy远程登录linux,当然,我使用的是本地登录(手动滑稽) 经过一星期课余时间的了解,大致了解了一些简单的文件管理 ...

  3. Linux常见压缩命令 - gzip,zcat,bzip2,bzcat

    几个常见的压缩文件扩展名 *.Z compress 程序压缩的文件: *.gz gzip 程序压缩的文件: *.bz2 bzip2 程序压缩的文件: *.tar tar 程序打包的数据,并没有压缩过: ...

  4. Linux常用文件管理命令

    Command Description cat filename 查看文件内容. cd dirname 改变所在目录. cp file1 file2 复制文件或目录. file filename 查看 ...

  5. linux常见编辑命令

    保存命令 按ESC键 跳到命令模式,然后: :w 保存文件但不退出vi :w file 将修改另外保存到file中,不退出vi :w! 强制保存,不推出vi :wq 保存文件并退出vi :wq! 强制 ...

  6. Linux 常用文件管理命令

    Command Description cat filename 查看文件内容.举例:cat pushticketfast.sh   --最好用tail -n 500  cd dirname 改变所在 ...

  7. Linux常用文件管理命令详解

    cat cat命令用于连接文件并打印到标准输出设备上. 命令语法:cat [参数] [文件名] 参数说明: 参数 说明 -n 由1开始对所有输出的行数进行编号. -b 由1开始对所有输出的行数进行编号 ...

  8. 03 Linux的目录结构与常见文件管理

    Linux目录结构 根文件系统rootfs用来实现整个文件的管理: 而Linux下的所有文件都需要通过根文件系统才能访问: FHS:Filesystem Hierarchy Standard文件层次化 ...

  9. 一个linux常见命令的列表

    这是一个linux常见命令的列表. 那些有• 标记的条目,你可以直接拷贝到终端上而不需要任何修改,因此你最好开一个终端边读边剪切&拷贝. 所有的命令已在Fedora和Ubuntu下做了测试 命 ...

随机推荐

  1. 【LeetCode】154. Find Minimum in Rotated Sorted Array II 解题报告(Python)

    [LeetCode]154. Find Minimum in Rotated Sorted Array II 解题报告(Python) 标签: LeetCode 题目地址:https://leetco ...

  2. visual studio code的python编程中遇到的SyntaxError:invalid syntax问题的原因和解决办法

    一.问题重现描述 1.最开始,正常执行语句 2.当我在"终端窗口"输入python进入交互模式后,再选择默认的"在终端中运行python文件"运行代码报错 3. ...

  3. 【C++】leetcode竞赛笔记

    *注--代码非博主本人所写,仅供学习参考,侵删 20200516双周赛: 1 to_string(int a) 将a转换成字符串形式 2 gcd(int a,int  b) 返回a,b的最大公约数,若 ...

  4. 【嵌入式】arduino常用函数

    IO函数 设置引脚 pinMode(0-13,INPUT/OUTPUT/INPUT_PULLUP) 设置输出 digitalWrite(0-13,HIGH/LOW) 读取引脚 digitalRead( ...

  5. css--深入理解z-index引发的层叠上下文、层叠等级和层叠顺序

    前言 在编写css样式代码的时候,我们经常会遇到z-index属性的使用,我们可能只了解z-index能够提高元素的层级,并不知道具体是怎么实现的.本文就来总结一个由z-index 引发的层叠上下文和 ...

  6. 想看Vue文档,cn放错位置,误入xx网站...

    昨晚,DD在微信群(点击加入)里看到有小伙伴说,想去Vue官网看中文文档,不当心把cn写错了位置,结果进入了xx网站... 老司机们应该都知道,Vue官网的中文文档地址是:https://cn.vue ...

  7. uniapp解决测评有组件导出风险,解决APP反编译,回编译后app无法打开的问题

    1.APP反编译 使用hbx云打包,打包出apk 拿到apk后,先下载反编译工具 https://pan.baidu.com/s/1A5D8x_pdSELlHYl-Wl6Xnw 提取码 6vzd 使用 ...

  8. ret2dl_resolve

    ret2dl_resolve是一种比较复杂的高级ROP技巧,利用它之前需要先了解动态链接的基本过程以及ELF文件中动态链接相关的结构. 我根据raycp师傅的文章,动手调试了一下: https://r ...

  9. vue为什么要设计成异步队列渲染

    异步队列渲染 上一篇文章是在vue2.0 中通过Object.defineProperty去拦截并监听数据变化的响应式原理,这篇文章将会沿着图谱继续深入探索,在依赖被通知变化了之后,会触发vue当中的 ...

  10. Android开发 SeekBar(拖动条)的使用

    SeekBar是Progress的子类,Progress主要用来显示进度,但是不能和用户互动,而SeekBar则可以供用户进行拖动改变进度值 实现拖动进度条并显示在文本中: <?xml vers ...