文件管理命令 3个月前

编程语言
728
文件管理命令

1.cd

对于切换为根目录的三种方法

cd
cd ~
cd /home/用户名

对于在两个较深且复杂的目录下一直切换

cd /目录1
cd /目录2
cd -  #可以一直在两个目录之间进行切换

2.ls

ls [args]        #查看当前目录
ls [args] 目录名  #查看指定目录
ls [args] 文件名  #查看文件信息

ls -l :(list)显示文件详细信息

image

查询文件详细信息有简单写法 : ll

有的版本ll等价于 ls -l 有的则是 ls -laF


ls -a : (all) 显示所有文件,包括隐藏文件 默认情况下,隐藏的文件不会被显现出来 文件名前有一个 . 就说明文件有隐藏属性

image


ls -h :(human) 人性化的将ls -l中显示文件大小的数据显示出来 原本的默认大小单位是字节(byte) image


ls -F : 将文件类型的前面加上/ image


3.文件详细信息

image image 如果文件名所表示的是一个目录,那么其大小只是表示目录的大小,而并非其子目录/文件的和

文件类型又分为7种 |-| 普通的文件, 在Linux终端中没有执行权限的为白色, 压缩包为红色, 可执行程序为绿色字体 | |--|--| | d | 目录(directory), 在Linux终端中为蓝色字体, 如果目录的所有权限都是开放的, 有绿色的背景色 | | l| 软链接文件(link), 相当于windows中的快捷方式, 在Linux终端中为淡蓝色(青色)字体 | | c | 字符设备(char)(键盘..), 在Linux终端中为黄色字体| | b|块设备(block)(u盘,磁盘...), 在Linux终端中为黄色字体 | | p| 管道文件(pipe), 在Linux终端中为棕黄色字体 | | s| 本地套接字文件(socket), 在Linux终端中为粉色字体 |

image

4.目录的创建和删除

mkdir 目录名     #单层目录的创建
mkdir -p 目录名  #多层目录的创建
rmdir 目录名     #只能删除空目录(如果目录种有子文件/目录就无法删除)
rm 文件          #删除文件
rm -r 目录名     #(递归)删除目录
rm -i           #删除时给提示
rm -f           #强制删除文件,没有提示且不能恢复

5.cp

cp 要拷贝的文件 得到的文件
cp 文件A 文件B 
如果文件B不存在就创建文件B
如果文件B存在就被文件A覆盖
cp -r 目录A 目录B
1:目录B不存在就创建且拷贝
2:目录B存在,A目录就会将自己全部拷贝到B的子目录中

6.mv

#文件/目录的移动
mv 目录/文件 目录
mv A B        #A既可以是文件也可以是目录,B必须是目录且必须存在
#文件/目录改名
mv 文件名/目录名 文件名/目录名
mv A B        #A可以是文件也可以是目录,B是必须不存在的
#文件覆盖
mv 存在的文件 存在的文件
mv A B        #AB必须都是文件且存在,A的内容覆盖B,A被删除

7.查看文件内容

终端是有缓存的,因此显示的字节也会受限,需要用合适的命令

cat 文件名         #直接显示所有

more 文件名        #可用翻屏查看
#more快捷键 回车:下一行 空格:向下一屏 b:向上一屏 q:退出
less 文件名        #同more类似,多出来可以用上下箭头滚动

head 文件名        #默认显示文件前十行
head -行数 文件名 #显示文件前n行
tail 文件名        #默认显示文件尾十行
tail -行数 文件名 #显示文件后n行

8.链接的创建

#软链接的创建
ln -s 源文件的路径 软链接的路径(名字)
#注意:源文件的路径最好是绝对路径,否则可能会:软链接的移动使得软链接无法使用


#硬链接的创建
ln 源文件 硬链接的路径(名字)
#硬链接和软链接不同, 它是通话文件名直接找对应的硬盘地址, 而不是基于路径
#因此 源文件使用相对路径即可,无需为其制定绝对路径
#目录是不允许创建硬链接的

9.更改文件权限

#文字设定法
chmod who [+|-|=] mod 文件名
    - who:
        u: user  -> 文件所有者
        g: group -> 文件所属组用户
        o: other -> 其他
        a: all, 以上是三类人 u+g+o
    - 对权限的操作:
        +: 添加权限
        -: 去除权限
        =: 权限的覆盖
    - mod: 权限
        r: read, 读
        w: write, 写
        x: execute, 执行
        -: 没有权限


#数字设定法
chmod [+|-|=] mod 文件名
    权限操作中=可以不写
    - mod:
        4: read, r
        2: write, w
        1: execute , x
        0: 没有权限

10.修改文件所有者/组

#修改文件所有者
sudo chown 新的所有者 文件名            #只修改文件所有者
sudo chown 新的所有者:新的组名 文件名  #修改文件所有者和所属组

#修改文件所属组
sudo chgrp 新的组 文件名

对于普通用户无法使用sudo的解决方式

image image


11.其他命令

tree [目录名] -L n  #树状显示(目录)n层

touch 文件名 #如果文件已经存在则只会更新文件的修改日期

which 命令 #查看要执行命令的实际路径
#该命令只能查看非内建的shell指令所在的实际路径, 有些命令是直接写到内核中的, 无法查看

>  #将文件内容写入到指定文件中, 如果文件中已有数据, 则会使用新数据覆盖原数据
>> #将输出的内容追加到指定的文件尾部

id 用户名 #显示其id,组id
image
EchoEcho官方
无论前方如何,请不要后悔与我相遇。
1377
发布数
439
关注者
2223333
累计阅读

热门教程文档

Redis
14小节
爬虫
6小节
Lua
21小节
Swift
54小节
PHP
52小节