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
表示所有人都可写可读可执行。
浙公网安备 33010602011771号