Linux Ubuntu / Win10常用文件、文件夹、权限、文件统计拷贝传送、文本编辑等命令

学习笔记 同时被 3 个专栏收录
72 篇文章 1 订阅
38 篇文章 0 订阅
198 篇文章 0 订阅

-----------------------------文件、文件夹计数、重命名、复制、删除(清空)、改权限、查看--------------------------

【统计】

# win10统计当前目录下所有子目录包含的文件数量

dir /s /b /a-d | find /v /c "&#@" 

https://yushuangqi.com/blog/2016/statics-folder-file_numbers.html

# linux ubuntu计算某个文件夹下的文件数量

$ ls -l|grep "^-"|wc -l

计算文件夹数量(包含子文件夹)

$ ls -lR | grep "^d" | wc -l

计算文件数量(包含子文件夹)

$ ls -lR | grep "^-" | wc -l

统计文件夹下文件类型和数量(有哪些文件后缀,及对应的数量) -i 表示忽略大小写,-f是find结果的切分位置,范围可以调节,直到显示出正确的结果

$ find -type f -name "*.*" | cut -f1,3 -d'.' | sort | uniq -c -i

参考

【查看】

查看前3个文件名(查看前3个文件夹名同理)

$ ls -lR | grep "^-" | head -n 3

参考

# 查看文件或文件夹大小

# 查看当前文件夹大小:
$ du -h --max-depth=0

# 查看当前目录下各文件夹的大小
$ du -h --max-depth=1

# 查看某个文件的大小
$ ls -hl file1.py

# 查看当前文件夹下所有内容的大小
$ ls -hl

# 查看文件夹下的三级子目录(树状结构显示)

# tree 可以通过 apt-get install 安装
$ tree -L 3

# 不想一次显示太多?一次只显示一个page,回车翻页
tree -L 4 /dir/ |more

---------------------------------------------查看文件、文件类型-----------------------------------------------------------------------

# 查看当前目录下python开头的文件和文件夹
# 第一种方式,用ll命令
$ ll python*
lrwxrwxrwx 1 root root       9 4月  29 13:22 python3 -> python3.6*
-rwxr-xr-x 1 root root 4522328 10月 22  2018 python3.6*

# 第二种方式,用file命令
$ file python*
python3:    symbolic link to python3.6
python3.6:  ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=9dae0eec9b3f9cb82612d20dc0c3088feab9e356, stripped

# 第三种方式,用stat命令
$ stat python*
  文件:python3 -> python3.6
  大小:9         	块:0          IO 块:4096   符号链接
设备:812h/2066d	Inode:786014      硬链接:1
权限:(0777/lrwxrwxrwx)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2019-04-30 14:26:34.428977982 +0800
最近更改:2019-04-29 13:22:47.816443200 +0800
最近改动:2019-04-29 13:22:47.816443200 +0800
创建时间:-
  文件:python3.6
  大小:4522328   	块:8840       IO 块:4096   普通文件
设备:812h/2066d	Inode:786015      硬链接:1
权限:(0755/-rwxr-xr-x)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2019-04-30 14:26:34.428977982 +0800
最近更改:2018-10-22 19:32:17.000000000 +0800
最近改动:2019-04-29 13:22:47.844444080 +0800
创建时间:-

参考:https://jingyan.baidu.com/article/86f4a73e9df77437d65269fa.html

【修改】

文件改名:sudo rm 原文件名 更改的之后文件名

文件夹重命名:mv 原始文件夹名 重命名之后的文件夹名

文件权限更改(777为所有人可读可写可删除):sudo chmod 777 文件名   

文件夹权限更改:sudo chmod -R 777 文件夹名

更改文件或文件夹的所有者(user1属于sudo用户组,$ groups 查看属于哪个用户组):

sudo chown user1:sudo /home/user1/file1.txt

sudo chown -R user1:sudo /home/user1

注:

# 777表示更改后的权限为所有人都可以读、写、执行

# 以上对文件夹的操作默认对文件夹内所有文件也执行相同操作。

# 文件或文件夹图标带有小锁的表示缺少权限,需要先更改权限再进行操作。

# 为什么是777:

输入ll查看权限信息,如-rwx-r--r--,共10个参数,对应三种类型用户

第2-4个参数属于user,5-7 group,8-10 others

r: read 可读 w: write 可写 x: execute 可执行

r=4 w=2 x=1,777代表 -rwxrwxrwx,即所有三种类型用户都可读可写可执行。

【拷贝】

文件夹复制:sudo cp -r 源文件夹 目的文件夹

文件/文件夹复制(重名跳过):sudo cp -r -n 源文件夹 目的文件夹

拷贝除某个 文件/文件夹 之外的其他 文件/文件夹: sudo cp -r /src/[^abc]* /dst/

# 拷贝文件下的前500个文件到另一个文件夹

# 拷贝当前文件夹下的前500个文件到另一个文件夹
$ ls |head -n 500 |xargs -i cp {} /home/xxx/folder1

# 同理,拷贝当前文件夹下的前100个文件夹到另一个文件夹
$ ls |head -n 100 |xargs -i cp -r {} home/xxx/folder1

# 拷贝 【文件夹A】 下 v0_开头的 前3个文件到【文件夹B】,如果是拷贝后n个则用tail替换head
$ ls A/v0_*|head -n 3 |xargs -i cp {} B/

快速文件拷贝:将folder1下的所有内容快速拷贝到folder2下

$ sudo tar cvf - folder1/ | tar xvf - -C folder2/

【删除】

文件夹删除:sudo rm -r 源文件夹 目的文件夹

将文件清空: echo "" > 目标文件


 

【文本编辑 vi】

命令状态 / 编辑状态切换:输入冒号: 之后输入命令  /  按Esc退出命令状态之后按 i

光标移动:h, j ,k, 空格

删除当前光标:x

删除当前行:dd

光标定位到首行:gg

删除光标之后所有:dG

粘贴(系统剪贴板):shift + insert

粘贴:鼠标中键

粘贴:p 。。。没成功过。。

退出 / 强制退出 / 保存修改后退出:q / q! / wq

增加一行:o(光标下方)

增加一行:O(光标上方)

把下面一行合并到本行后面:J


【文件传输】

---------linux ubuntu和windows之间用命令行互相传递文件--------------------------------------------------------------

# 服务器地址:10.xxx.xxx.xx
# 服务器用户名:user_1

# 在windows cmd中输入
# windows本地文件上传到ubuntu服务器
scp D:\projects\folder1\file1.py user_1@10.xxx.xxx.xx:/home/user_1/folder1

# ubuntu服务器文件下载到windows本地
C:\Windows\system32>scp user_1@10.xxx.xxx.xx:/home/user_1/folder1/v0_000001.jpg D:\projects\folder1\

# 如果是上传或下载整个文件夹,就使用scp -r

如果服务器端系统重装了,本地需要重新生成服务器的秘钥:

C:\Users\xxx\Downloads>ssh-keygen -R "192.168.0.115"

192.168.0.115是ubuntu服务器IP

同时传送 / 拷贝多个文件:

$ cd /home/user_2/folder2/
$ sudo scp file1 file2 file3 user_1@10.xxx.xxx.xx:/home/user_1/folder1
  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值