linux基本的目录及文件操作
linux目录及文件操作
1.显示文件内容
语法:ls+(选项)+(文件或目录)
只输入ls仅列出该目录下的普通文件。
选项 | 作用 |
---|---|
-a | 列出目录下(包括子目录)全部的文件,包括隐藏文件。 |
-A | 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)隐藏文件。 |
-l | 列出详细的文件属性 |
-r | -将文件以相反次序显示(原定依英文字母次序) |
-R | 以递归的方式显示指定目录及其子目录中的所有内容。 |
-t | 将文件依建立时间之先后次序列出 |
-F | 在列出的文件名称后加一符号;例如可执行文件则加 "*", 目录则加 "/" |
执行完ls -l会出现如下:
第一行的total为总容量
接下来的文件都有分为7个字段
其中第一段:
ls展示的文件中
- 深蓝色表示目录
- 白色表示一般文件
- 绿色表示可执行的文件
- 黄色表示设备文件
- 红色表示压缩文件
2.显示当前目录
pwd命令
在终端输入pwd可以获取当前所在的目录的绝对路径
3.切换文件目录
在linux中,我们可以使用cd命令来切换目录
格式 | 作用 |
---|---|
cd . | 表示当前目录 |
cd .. | 进入上一级目录 |
cd - | 切换到上一次所在的目录 |
cd ~ | 代表当前登录用户的主目录 |
cd ~用户名 | 表示切换至指定用户的主目录 |
4.创建文件或目录
(1)文件
文件可以使用touch命令来创建例如:
$ touch text
就在当前所在目录下创建了一个名为text的文件
touch命令还可以修改已存在文件的时间戳
通过添加-t选项如下:
$ touch -t 202211241450 text
可以通过上面说的ls-l来观察变化。
(2)目录
目录的创建使用mkdir命令。
$ mkdir text
同理在当前目录下创建了一个名为text的新目录
目录支持递归创建利用-p参数进行递归创建目录如下:
$ mkdir -p text1/text2/text3
就在该目录下创建一个text1目录,并且这个目录包含一个子目录text2,同时这个子目录text2又包含text3目录。
5.删除文件或目录
(1)rm命令
语法:rm+(选项)+文件或目录
选项 | 作用 |
---|---|
-f | 强制删除,不发出警告 |
-i | 删除前会请求确认 |
-r | 递归删除多层目录 |
(2)删除空目录
语法:rmdir+(选项)+目录名
选项 | 作用 |
---|---|
-p | 连同上一级的空目录也一起删除 |
注意:只能删除空目录
6.移动及重命名
语法:mv+(选项)+文件或目录+文件或目录
该语法有两个功能一个是移动文件或目录,另一个是给文件或目录改名。
命令格式 | 结果 |
---|---|
mv + 文件1 + 文件2 | 将文件名1改名为文件名2 |
mv + 文件 + 目录 | 将该文件转移到该目录中 |
mv + 目录1 +目录2 | 若目录2存在则将目录1移动到目录2中,否则将目录1改名为目录2 |
如将一个目录下的所有文件转移至当前目录下:
$ mv /usr/runoob/* .
选项 | 作用 |
---|---|
-f | 若目标文件已经存在,不会询问而直接覆盖 |
-i | 若目标文件已存在,覆盖时会先询问 |
-u | 当源文件比目标文件新或者目标文件不存在时,才执行移动操作 |
7.复制
语法:cp +(选项)+文件或目录
选项 | 作用 |
---|---|
-i | 覆盖同名文件或目录前询问 |
-f | 强制覆盖同名文件或目录不询问 |
-r | 递归复制目录下的所有文件或目录 |
-p | 复制时文件属性不变 |
8.查找文件
(1)find
语法:find +查找范围(查找路径) + 选项 + 条件
选项 | 作用 |
---|---|
-name | 按名称查找 |
-amin | 按访问时间查找以分钟为单位 |
-atime | 同上以天为单位 |
-mmin/-mtime | 按修改时间查找 |
-user | 按所属用户查找 |
-size | 按文件大小查找 |
-type | 按文件类型查找普通文件f、目录d、块设备文件b、字符设备文件c等 |
例子:
find / -name text 在根目录下查找文件text,表示在整个硬盘查找.
find /etc -name 'text*' 使用通配符(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘text’的文件
find / -amin -5 查找在系统中最后5分钟访问的文件find / -atime -1 查找在系统中最后24小时访问的文件find / -mmin -5 查找在系统中最后5分钟里修改过的文件find / -mtime -1 查找在系统中最后24小时里修改过的文件find / -empty 查找在系统中为空的文件或者文件夹
find / -user shit 查找在系统中属于shit这个用户的文件find / -size -1000k 查找出小于1000KB的文件
(2)各种方法混合查找运算符
运算符 | 意义 |
---|---|
-a | 表示而且 |
-o | 表示或 |
-not | 表示非 |
(3)which
which只从环境变量指定的路径中去搜索文件,所以我们常常使用which来判断是否安装了某个软件。
如:
which python3
即可给出python3的安装路径。
9.文件的编辑
可以使用多种编辑器进行编辑
如vim:
$ vim filename
即可进入vim进行编辑该文件。
10.文件权限操作
语法:chmod [-R] 权限值 文件名
其中-R表示对所以的子文件都进行此命令。
权限值的表示有两种方法
(1)方法一
who opt per
who :u(表示user),g(表示所有者所在的组群),o(代表其他人)
a(代表全部人)
opt:+ - =
per:r表示可读,x表示可执行,w表示可写
如:
$chomd u+x text
$chomd go-rw text
分别表示给user加上可执行权限,删除group和other的读和写权限。
(2)方法二
用二进制来表示
r表示4,w表示2,x表示1,-表示0。
一个有三组表示who,每组都有三个权限。
-rwx-------:表示只有user可读可写可执行,用数字表示为:700
-rw--------:600
-r-x---rwx-:507
如下:
$chomd 777 text
表示所有人都可写可读可执行。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App