Skip to content

[Linux系列] - 3.文件管理

2024-08-02

文件与目录管理

1.查看

bash
ls
-l                                  # 显示详细信息
-a                                  # 显示隐藏文件
-t                                  # 按时间排序
-r                                  # 逆序显示
-R                                  # 递归显示

ll                                  # 相当于ls -l(错了)
ll -i                               # 显示inode,inode相同则为同一文件
du -sh filename                     # 文件夹大小

2.路径操作

bash
cd                                  # 家目录
cd -  
cd ..                               # 上一层
cd .                                # 当前目录     
pwd                                 # 当前目录地址

3.通配符

bash
*                                   # 匹配任意字符
?                                   # 匹配单个字符
[xyz]                               # 匹配xyz任意字符
[a-z]                               # 匹配字符范围
[!xyz] or [^xyz]                    # 任意不在xyz中的字符

4.创建

bash
mkdir -p china/shanghai china/beijing       #-p递归创建(mkdirs)
mkdir -p 目录名
touch

5.删除

bash
rmdir                               # remove empty dir
rm -rf                              # 删了就删了-f 强制      
rm -r                               # 删除目录 -r递归    
rm -rf /                            # 自杀

6.复制

shell
cp ori dest                         # 复制文件
cp -r ori dest                      # 复制文件夹
cp -rf src dest			            # -f force
cp -af src dest

# 安装rsync
sudo apt-get install rsync 	        # ubuntu debian
sudo yum install rsync			    # centos redhat
sudo pacman -S rsync		        # arch linux
rsync -r src dest                   # 替代cp
rsync -a src dest				    # 替代 -r,可以复制云信息

# 同一个局域网上两台电脑文件互传,打开系统偏好的sharing,开启remote login才可
scp file apple@172.18.20.41:/Users/apple/Desktop
cp选项功能
---r复制目录、递归
---p连带文件属性复制
---d若原文件是链接文件,则复制链接属性
---a尽可能保留原始文件的属性,相当于-pdr

7.剪切/重命名

bash
mv ori dest                         # 如果碰到文件夹名中包含空格,可使用单引号包裹
mv file1 dir1/                      # move
mv file1 file2                      # rename

8.查找

bash
find / -name nginx                  # 查找一个文件或文件夹
tail -fn 10 [文件地址]               # 及时输出文件的最后十行

9.文本查看

bash
head                                # 显示文件前几行
tail                                # 显示文件后几行
cat                                 # 查看
wc                                  # 统计文件行数

10.文件权限

-rw-r--r--.

默认十位
第一位:文件类型(7种)     
-文件     d目录     |软链接     其他四种是系统用的

后三组(3个一组):
u所有者     g所属组     o其他人
r读         w写         x执行

最后.代表ACL权限

11.硬连接和软链接

bash
ln -s source link       软链接
ln source link          硬连接
删除硬连接和软链接都不会删除原文件

硬链接:
1.只有存在一个链接,源文件就会存在
2.不能链接目录

软链接
1. 相当与快捷方式

压缩命令

常见的压缩包格式有5种:
zip     tar.gz      tar.bz2     tar.xz      tar.Z

其中tar是种打包格式,不是压缩命令,是归档命令,将多个文件归档成一个文件,没有进行压缩。
gz和bz2等后缀才是指代压缩方式:gzip和bzip2
结尾格式解压
.zipzipunzip
.gzgzipgzip -r gunzip
.bz2bzip2bzip2 -k;bzip2 -d;bunzip2

1.压缩tar:

bash
tar czvf filename.tar filename
    
find . -type f -name "cover*" |xargs tar zcvpf bear.tar.gz

2.解压tar

bash
tar zxvf FileName.tar

3.解压filename.zip

bash
unzip filename.zip

4.解压filename.tar.gz

bash
tar -zxvf filename.tar.gz
选项含义作用
z:gzip压缩格式
x:extract解压
v:verbose详细信息
f:file(file=archieve)文件

5.解压filename.tar.bz2

bash
tar -jxvf filename.tar.bz2
选项含义作用
j:bzip2压缩格式
x:extract解压
v:verbose详细信息
f:file(file=archieve)文件

6.注意

bash
# 事实上, 从1.15版本开始tar就可以自动识别压缩的格式,故不需人为区分压缩格式就能正确解压

-x 解压
tar -xvf filename.tar.gz
tar -xvf filename.tar.bz2
tar -xvf filename.tar.xz
tar -xvf filename.tar.Z

-c 压缩
tar -cvf filename.tar.gz *
tar -cvf filename.tar.bz2 *

花海相伴