【Linux】文件目录类解析(1)

本文详细介绍了Linux中的各种基础命令,如查看目录、切换目录、创建和删除文件/目录、复制、移动、重命名、查看文件内容、文件操作指令等,以及它们的常用选项和示例应用。
摘要由CSDN通过智能技术生成

基本语法:pwd  (功能描述:显示当前工作目录的绝对路径,绝对路径是从跟目录开始的

示例:

第一个斜杆表示根目录

ls查看文件指令


基本语法:ls   [选项]   [目录或文件]

常用选项

-a:显示当前目录所有文件和目录,包括隐藏文件

-l:以列表的方式显示信息

示例:查看目录下的所有信息

cd进入文件指令


基本语法:cd  参数(功能描述:切换到指定目录)

理解:绝对路径和相对路径

cd ~或者 cd  :表示回到字节的家目录,如用户kongchao,使用cd ~会回到/home/kongchao,而root用户cd ~会回到/root

cd …   表示回到当前目录的上一级目录 (顶层目录是根目录,所以一直cd …最多只会到根目录/)

示例:

案例1:使用绝对路径切换到root目录(cd /root)

案例二:使用相对路径到/root目录。比如现在位置在 /home/kongchao(cd …/…/root这相当于回退两个目录到根目录最后直接访问root)

案例三:表示当前目录的上一级目录(cd …)

案例四:回到家目录 (cd ~)

mkdir创建目录指令


mkdir指令用户创建目录

基本语法:mkdir  [选项]  要创建的目录

常用选项: -p 创建多级目录

示例:创建一个目录和创建多级目录

rmdir删除目录指令


rmdir指令删除空目录

基本语法:rmdir [选项]   要删除的空目录(非空目录无法删除)

rm -rf 表示递归删除(慎用)

如:删除/home/Dog(Dog下无内容)和删除Dog2,Dog2下有smallDog文件(rm -rf /home/Dog2)

touch创建空文件指令


touch指令创建空文件

基本语法 :touch  文件名称

如在/home目录下创建空文件夹hello.txt,(touch /home/hello.txt)

cp复制指令


cp指令拷贝文件到指定目录

基本语法:cp [ 选项 ] source dest

常用选项 -r:递归复制整个文件夹

示例:将text1中的hello.txt复制到text2上

递归复制整个夹就不用加上之后的/hello.txt **(cp  -r text1/  text2)**已经到了/home目录,如果没到应该写成 cp -r /home/text1  text2

使用细节

强制覆盖不提示:\cp -r /home/text1  text2

[root@kongchao02 home]# ls

kongchao kongchao1 kongchao2 text1 text2

[root@kongchao02 home]# ls text1

hello1.txt hello.txt

[root@kongchao02 home]# ls text2

[root@kongchao02 home]# cp -r text1/hello.txt text2

[root@kongchao02 home]# ls text2

hello.txt

rm删除指令


说明:rm指令移除文件或目录

基本语法:rm  [选项]   要删除的文件或目录

常用选项:

-r :递归删除整个文件夹

-f:强制删除不提示

-i:删除之前提示

示例:删除text1和text2

[root@kongchao02 home]# ls

kongchao kongchao1 kongchao2 text1 text2

[root@kongchao02 home]# ls text1

hello1.txt hello.txt

[root@kongchao02 home]# rm -rf text1/

[root@kongchao02 home]# ls

kongchao kongchao1 kongchao2 text2

[root@kongchao02 home]# rm -ri text2/

rm:是否进入目录"text2/"? y

rm:是否删除目录 “text2/hello.txt”?y

rm:是否删除目录 “text2/”?y

[root@kongchao02 home]# ls

kongchao kongchao1 kongchao2

-i提示性删除更安全,但是也更繁琐,-f强制删除不提示,不安全谨慎使用

mv移动或重命名指令


mv是移动文件与目录或重命名

基本语法:

mv  oldName  newName (重命名)

mv  /temp/movefile   /targetFolder(移动文件

示例1**:重命名和移动位置**

[root@kongchao02 home]# mkdir text1

[root@kongchao02 home]# mkdir text1/text2

[root@kongchao02 home]# ls

kongchao kongchao1 kongchao2 text1

[root@kongchao02 home]# mv text1 newNameText1

[root@kongchao02 home]# ls

kongchao kongchao1 kongchao2 newNameText1

[root@kongchao02 home]# ls newNameText1/

text2

[root@kongchao02 home]# mkdir text3

[root@kongchao02 home]# ls

kongchao kongchao1 kongchao2 newNameText1 text3

[root@kongchao02 home]# mv newNameText1 text3

[root@kongchao02 home]# ls

kongchao kongchao1 kongchao2 text3

[root@kongchao02 home]# ls text3

newNameText1

[root@kongchao02 home]# ls text3/newNameText1

text2

同一路径下为改名,不同路径为移动位置

示例2:移动并起新的名字

[root@kongchao02 home]# ls

kongchao kongchao1 kongchao2 text3

[root@kongchao02 home]# mv text3/newNameText1 /home/text4

[root@kongchao02 home]# ls

kongchao kongchao1 kongchao2 text3 text4

整个目录移动:如mv   /home/text3   /temp

cat查看文件内容指令


cat查看文件内容

基本语法:cat   [选项]  要查看的文件

常用选项:-n  :显示行号

示例:查看hello.java

[root@kongchao02 home]# vim hello.java

[root@kongchao02 home]# ls

hello.java kongchao kongchao1 kongchao2 text3 text4

[root@kongchao02 home]# cat -n hello.java

1 public class Hello{

2 public static void main (String[] args){

3 System.out.println(“hello java”);

4

5 }

6

7

8

9

10 }

使用细节:cat只能浏览文件,而不能修改文件(所以cat安全),为了浏览方便,一般会带上管道命令 | more,作用是把查询到的结果交给more处理,等全部显示完就会退出more

cat -n  /etc/profile |more(交互指令)

如按下空格显示更多

more指令


more指令是一个基于vi编辑器的文本过滤器,他以全屏幕的方式按页显示文本文件的内容,more指令中内置了若干个快捷键(交互指令)

基本语法:more 要查看的文件

操作说明如图:

less查看指令


less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载的内容,对于显示大型文件具有较高的效率。

基本语法**:less   要查看的文件**

echo输出指令


echo输出内容到控制台

基本语法:echo  [选项]   [输出内容]

示例:用echo指令输出环境变量和指定内容

[root@kongchao02 ~]# echo $HOSTNAME

kongchao02

[root@kongchao02 ~]# echo “hello kongchao”

hello kongchao

[root@kongchao02 ~]#

head显示头部指令


head指令用于显示文件开头部分内容,默认情况下head指令显示文件的前10行内容

基本语法:head  文件  (查看文件头10行内容)

head  -n  15 文件 (查看文件头15行内容,可以是任意行数)

示例:查看/etc/profile下前6行

[root@kongchao02 ~]# head -n 6 /etc/profile

/etc/profile

System wide environment and startup programs, for login setup

Functions and aliases go in /etc/bashrc

It’s NOT a good idea to change this file unless you know what you

[root@kongchao02 ~]#

tail显示尾部指令


tail用于输出文件中尾部的内容,  默认情况下tail显示文件的前10行内容。

基本语法:

tail  文件(查看文件尾部10行内容)

tail  -n  5  文件     (查看文件尾部5行内容)

tail  -f  文件   (实时追踪该文档的所有更新,该文件变化会反馈出来)

[root@kongchao02 ~]# tail /etc/profile

if [ “KaTeX parse error: Expected '}', got '#' at position 3: {-#̲*i}" != "-” ]; then

. “$i”

else

. “$i” >/dev/null

fi

fi

done

unset i

unset -f pathmunge

[root@kongchao02 ~]# tail -n 5 /etc/profile

fi

done

unset i

unset -f pathmunge

[root@kongchao02 ~]#

覆盖指令和>>追加指令


>是覆盖原先的内容,>>是追加到原来的内容之后

基本语法:

ls -l  > 文件   (列表的内容写入到文件中覆盖原先的)

ls  -al  >> 文件  (列表的内容追加到文件的末尾)

cat  文件1  >  文件2 (将文件1内容覆盖到文件2中)

echo  “内容”  >>  文件 (将内容追加到文件中)

示例1:将/home目录下的文件列表写入到/home/text.txt中,覆盖写入(ls -l  /home  > /text.txt)如果text.txt不存在则会自动创建

[root@kongchao02 home]# ls -l /home

总用量 24

-rw-r–r–. 1 root root 107 3月 4 22:22 hello.java

drwx------. 15 kongchao kongchao 4096 3月 1 20:37 kongchao

drwx------. 5 kongchao1 kongchao1 4096 2月 28 22:08 kongchao1

drwx------. 3 kongchao2 kongchao2 4096 2月 28 22:11 kongchao2

drwxr-xr-x. 2 root root 4096 3月 3 21:44 text3

drwxr-xr-x. 3 root root 4096 3月 3 21:27 text4

[root@kongchao02 home]# ls -l /home > text.txt

[root@kongchao02 home]# ls /home

hello.java kongchao kongchao1 kongchao2 text3 text4 text.txt

[root@kongchao02 home]# cat /home/text.txt

总用量 24

-rw-r–r–. 1 root root 107 3月 4 22:22 hello.java

drwx------. 15 kongchao kongchao 4096 3月 1 20:37 kongchao

drwx------. 5 kongchao1 kongchao1 4096 2月 28 22:08 kongchao1

drwx------. 3 kongchao2 kongchao2 4096 2月 28 22:11 kongchao2

drwxr-xr-x. 2 root root 4096 3月 3 21:44 text3

drwxr-xr-x. 3 root root 4096 3月 3 21:27 text4

-rw-r–r–. 1 root root 0 3月 4 22:29 text.txt

[root@kongchao02 home]#

示例2:将I am kc追加到hello.java中

[root@kongchao02 home]# cat /home/hello.java

public class Hello{

public static void main (String[] args){

System.out.println(“hello java”);

}

}

[root@kongchao02 home]# echo “I am kc” >> /home/hello.java

[root@kongchao02 home]# cat /home/hello.java

public class Hello{

public static void main (String[] args){

System.out.println(“hello java”);

}

}

I am kc

[root@kongchao02 home]#

示例3:将文件覆盖

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
oot@kongchao02 home]# echo “I am kc” >> /home/hello.java

[root@kongchao02 home]# cat /home/hello.java

public class Hello{

public static void main (String[] args){

System.out.println(“hello java”);

}

}

I am kc

[root@kongchao02 home]#

示例3:将文件覆盖

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

[外链图片转存中…(img-VNSC3fAx-1714169148990)]

给大家整理的电子书资料:

[外链图片转存中…(img-nrxVCXEA-1714169148991)]

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值