首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >一文厘清 Linux 文件管理指令!从创建、查看,到移动、删除,如 touch、cat、mv、rm 等指令的深度剖析。

一文厘清 Linux 文件管理指令!从创建、查看,到移动、删除,如 touch、cat、mv、rm 等指令的深度剖析。

作者头像
逆向-落叶
发布2025-01-20 18:51:15
发布2025-01-20 18:51:15
3880
举报
文章被收录于专栏:C++C++

Linux 是一种广泛使用的操作系统内核

创建普通用户账号

本人使用的镜像:CentOS

要创建普通账号,先得有root权限,只有root权限才能创建普通账号。

adduser创建账号,user1这个是账号名,账号名可以自己取一个。 passwd是给user1账号输入密码。

输入密码的时候,不会显示,其实已经输入上了,只是不显示而已。

userdel -r 用户名,可以删除用户


pwd指令【显示用户当前所在的路径

显示用户当前所在的路径。


whoami指令【显示当前使用的linux账号名称】

使用普通账号的话,就会显示普通账号的名称。

root账号就会显示root


cd指令【进入一个目录】

Linux系统中,磁盘上的⽂件和⽬录被组成⼀棵⽬录树,每个节点都是⽬录或⽂件

• 其中普通⽂件⼀定是⽬录树的叶⼦节点 • ⽬录可能是叶⼦(空⽬录),也可能是路上节点 • 理解路径存在的意义:树状组织⽅式,都是为了保证快速定位查找到指定的⽂件,⽽定位⽂件就 需要具有唯⼀性的⽅案来进⾏定位⽂件。其中任何⼀个节点,都只有⼀个⽗节点,所以,从根⽬ 录开始,定位指定⽂件,路径具有唯⼀性 • 绝对路径:⼀般从/开始,不依赖其他⽬录的定位⽂件的⽅式 • 相对路径:相对于当前⽤⼾所处⽬录,定位⽂件的路径⽅式 • 绝对路径⼀般不会随着⽤⼾的路径变化⽽丧失唯⼀性,⼀般在特定服务的配置⽂件中经常被使⽤ • 相对路径因为它的便捷性,⼀般在命令⾏中使⽤较多

语法:cd ⽬录名

功能:改变⼯作⽬录。将当前⼯作⽬录改变到指定的⽬录下


举例:

cd 进入jji文件夹

cd .. 返回上级目录

cd ~返回特定用户的家目录

cd - 切换回最近的一次路径

cd /进入根目录

cd ../temp/ 返回上级目录,然后进入temp目录

代码语言:javascript
复制
# 相对路径定位⽬录或者⽂件 
[whb@bite-alicloud test]$ pwd
/home/whb/test
[whb@bite-alicloud test]$ cd ../temp/
[whb@bite-alicloud temp]$ pwd
/home/whb/temp

home目录下是每一个用户的目录

代码语言:javascript
复制
# 每⼀次新建⼀个⽤⼾都会在/home⽬录下为新⽤⼾创建新的⼯作⽬录,⽬录以新⽤⼾名称命名 
# root⽤⼾在安装操作系统的时候,就已经内置了⼯作⽬录: /root 
[whb@bite-alicloud temp]$ ls /home
bss gaobo luojie whb wudu

ls指令【显示当前目录下的文件】

ls:显示当前目录下的普通文件和子目录。、

语法: ls [选项] [⽬录或⽂件]

功能:对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件,将列出⽂件名以及其他信 息。

常⽤选项:

• -a 列出⽬录下的所有⽂件,包括以 . 开头的隐含⽂件。 • -d 将⽬录像⽂件⼀样显⽰,⽽不是显⽰其下的⽂件。 如:ls ‒d 指定⽬录 • -i 输出⽂件的 i 节点的索引信息。如 ls ‒ai 指定⽂件 • -k 以 k 字节的形式表⽰⽂件的⼤⼩。ls ‒alk 指定⽂件 • -l 列出⽂件的详细信息 • -n ⽤数字的 UID,GID 代替名称。(介绍 UID, GID) • -F在每个⽂件名后附上⼀个字符以说明该⽂件的类型,“*”表⽰可执⾏的普通⽂件;“/”表⽰ ⽬录;“@”表⽰符号链接;“|”表⽰FIFOs;“=”表⽰套接字(sockets)。(⽬录类型识别) • -r 对⽬录反向排序 • -t 以时间排序 • -s 在l⽂件名后输出该⽂件的⼤⼩。(⼤⼩排序,如何找到⽬录下最⼤的⽂件) • -R 列出所有⼦⽬录下的⽂件。(递归) • -1 ⼀⾏只输出⼀个⽂件。

代码语言:javascript
复制
[whb@bite-alicloud test]$ ls
dir file.txt 

[whb@bite-alicloud test]$ ls -a
. .. dir file.txt

[whb@bite-alicloud test]$ ls -a -l
total 12
drwxrwxr-x 3 whb whb 4096 Jan 11 15:01 .
drwx------ 22 whb whb 4096 Jan 11 14:21 ..
drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir
-rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt

[whb@bite-alicloud test]$ ls -a -l -F
total 12
drwxrwxr-x 3 whb whb 4096 Jan 11 15:01 ./
drwx------ 22 whb whb 4096 Jan 11 14:21 ../
drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir/
-rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt

[whb@bite-alicloud test]$ ls -alFn
total 12
drwxrwxr-x 3 1003 1003 4096 Jan 11 15:01 ./
drwx------ 22 1003 1003 4096 Jan 11 14:21 ../
drwxrwxr-x 2 1003 1003 4096 Jan 11 14:22 dir/
-rw-rw-r-- 1 1003 1003 0 Jan 11 14:22 file.txt

.是当前路径

..是上级路径

touch 指令 【创建一个普通文件】

Linux理论知识:⽂件类型的认识

语法: touch [选项]... ⽂件...

功能:touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者新建⼀个不存在 的⽂件。

常⽤选项:

• -a : change only the access time • -c : change only the modification time 、


stat【显示文件详细信息】

语法: stat [选项] 文件或目录


tree【以树形结构,展示文件和目录结构】

没有命令,安装yum install -y tree

# tree命令是⼀个递归以树状结构显⽰指定⽬录的命令,如果没有安装 # 如果当前⽤⼾是root: yum install -y tree (因为现在开始⽤的都是root,所以推荐这个⽤法) # 如果当前⽤⼾是普通⽤⼾: sudo yum install -y tree


mkdir【创建目录】

语法: mkdir [选项] dirname...

功能:在当前⽬录下创建⼀个名为“dirname”的⽬录

常⽤选项: • -p/--parents: 可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将⾃ 动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多个⽬录


在当前目录下,创建print空目录


递归建⽴多个⽬录,创建指定路径


rm【命令可以同时删除⽂件或⽬录 】

语法: rm [-f-i-r-v] [dirName/dir]

适⽤对象:所有使⽤者 功能:删除⽂件或⽬录

常⽤选项:

• -f 即使⽂件属性为只读(即写保护),亦直接删除

• -i 删除前逐⼀询问确认

• -r 递归删除⽬录及其下所有⽂件


删除普通⽂件


删除⽬录⽂件,空目录直接删除,多级目录递归删除


man【查看手册】

Linux的命令有很多参数,我们不可能全记住,可以通过查看联机⼿册获取帮助

语法: man [选项] 命令

常⽤选项

• -k 根据关键字搜索联机帮助 • num 只在第num章节查找 • -a 将所有章节的都显⽰出来,⽐如 man printf 它缺省从第⼀章开始搜索,知道就停⽌,⽤a选 项,当按下q退出,他会继续往后⾯搜索,直到所有章节都搜索完毕

解释⼀下:man⼿册分为9章(不同系统可能会有差别)

常用的是1~3

• 1 是普通的命令 • 2 是系统调⽤,如open,write之类的(通过这个,⾄少可以很⽅便的查到调⽤这个函数,需要加什么 头⽂件) • 3 是库函数,如printf,fread4是特殊⽂件,也就是/dev下的各种设备⽂件 • 4 略 • 5 是指⽂件的格式,⽐如passwd, 就会说明这个⽂件中各个字段的含义 • 6 是给游戏留的,由各个游戏⾃⼰定义 • 7 是附件还有⼀些变量,⽐如像environ这种全局变量在这⾥就有说明 • 8 是系统管理⽤的命令,这些命令只能由root使⽤,如ifconfig • 9 略

按Q键退出

代码语言:javascript
复制
[whb@bite-alicloud test]$ man printf # 查看printf指令(没错,printf也是⼀个指令) [whb@bite-alicloud test]$ man fork # 查看系统调⽤,默认没有这个指令,man就⾃动
去2号⼿册查找 
[whb@bite-alicloud test]$ man 2 frok # 查看系统调⽤ 
[whb@bite-alicloud test]$ man 3 printf # 查看C库函数 
[whb@bite-alicloud test]$ man 7 signal # 查看变量 
[whb@bite-alicloud test]$ man 7 environ
[whb@bite-alicloud test]$ man man # 查看man⼿册⾃⼰ 

echo和cat【写入,输出】

语法: cat [选项] [⽂件]

功能:查看⽬标⽂件的内容

常⽤选项:

• -b 对⾮空输出⾏编号 • -n 对输出的所有⾏编号 • -s 不输出多⾏空⾏

知识点:

在linux下,一切皆文件。 打印到显示器->显示器也是文件->写入到显示器文件 从键盘读取数据->键盘也是文件喽 ->从键盘文件读取数据

将hello world输出到屏幕上


将66666写入log.txt,会先清空文件内容,然后再写入,如果文件不存在就自动新建

然后cat 查看⽬标⽂件的内容


>> 追加重定向写入,不会清空内容


< 输出重定向和 cat log.txt一样

tac可以逆向显示


cp【复制⽂件或⽬录】

语法: cp [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录

功能: 复制⽂件或⽬录

说明:

• cp指令⽤于复制⽂件或⽬录 • 如同时指定两个以上的⽂件或⽬录,且最后的⽬的地是⼀个已经存在的⽬录,则它会把前⾯指定 的所有⽂件或⽬录复制到此⽬录中

常⽤选项

• -f 或 --force 强⾏复制⽂件或⽬录,不论⽬的⽂件或⽬录是否已经存在 • -i 或 --interactive 覆盖⽂件之前先询问⽤⼾ • -r 递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符 号链接,则⼀律视为普通⽂件处理

cp复制文件,并且命名为kk.txt


*表⽰通配符,匹配所有.txt结尾的⽂件名 ,然后复制到 print目录下


递归强制拷⻉整个⽬录

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建普通用户账号
  • pwd指令【显示用户当前所在的路径】
  • whoami指令【显示当前使用的linux账号名称】
  • cd指令【进入一个目录】
  • ls指令【显示当前目录下的文件】
  • touch 指令 【创建一个普通文件】
  • stat【显示文件详细信息】
  • tree【以树形结构,展示文件和目录结构】
  • mkdir【创建目录】
  • rm【命令可以同时删除⽂件或⽬录 】
  • man【查看手册】
  • echo和cat【写入,输出】
  • cp【复制⽂件或⽬录】
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档