CopyRight©2021 139GAME.COM.CN All Right Reserved
Linux引进新技术,Btrfs性能提升惊人!
2 月 21 日消息,SUSE 的 David Sterba 近日提交了适用于 Linux 6.3 的 Btrfs 驱动程序更新。和以往 Linux 内核开发周期一样,本次的 Btrfs Pull 进一步优化了性能,并引入了一些新的功能。
本次驱动更新为 Linux 6.3 中的 Btrfs 引入了块组分配类(block group allocation class)算法,通过按照大小来打包文件,避免在块组中出现碎片。
Linux 6.2 中 Btrfs 改进了对 RAID5 和 RAID6 的可靠性,而在 Linux 6.3 中进一步展开代码清理和重构工作,以增强对上述两种 RAID 模式的支持。
附本次驱动 Pull 的主要内容:
性能
-
send:utimes 缓存目录,并且仅在必要时发出命令
-
速度加快 10 倍
-
最终生成的流更小(不会发出多余的 utimes 命令)
-
不影响兼容性
-
fiemap:跳过共享 leaves 的 backref 检查
-
在所有共享 leaves 的示例文件系统上加速 3 倍(例如在某些 snapshot 上)
-
对 b-tree 键查找进行细节优化,加速元数据操作(样本测试:fs_mark 传输文件速度每秒提升 10%)
Linux系统下运行who命令及who自带的选项实例 | 了解谁在哪个终端上登录了系统
本文我们将介绍GNU coreutils软件包中捆绑的who命令,我们可以试着在Linux系统下运行who命令,及解释who自带的选项,附实例。who命令的定义很简单,它是一个命令行实用程序,可打印当前登录用户的列表,它还可以显示当前的运行级别,上次Linux系统引导的时间等。
运行who命令的必备基础
who命令的基本语法如下:
who [OPTION]... [ FILE | ARG1 ARG2 ]
1、在没有任何选项或参数的情况下调用时,输出看起来像这样:
who
who将输出当前登录系统的所有用户的格式化列表,上面还列举有root及所登陆的用户。
每行包含四个由一个或多个空格分隔的字段:
- 登录用户的名称。
- 用户的终端。
- 用户登录的时间。
- 用户登录的主机名或IP地址。要强制使用Ips,请使用--ips选项。
2、如果要打印列标题,请添加-H (--heading)选项:
who -h
该命令从/var/run/utmp文件中获取有关系统以及谁登录的信息。如果要使用另一个文件,请将文件路径传递给命令。
who接受两个非选项参数,当使用两个参数调用该命令时,该命令仅输出有关与当前用户关联的终端的信息。使用-m选项时,将显示相同的输出。
您可以使用任何两个参数:
- who am i
- who mom love
- who foo bar
- who -m
上面的每个命令将打印相同的信息:
3、who命令的选项
who接受几种通常很少使用的选项,以下是具体的实例。
- -b, --boot选项告诉who打印上次系统引导的时间:
who -b
- 要获得所有无效进程的列表,请使用-d, --dead选项:
who -d
- -r, --runlevel选项告诉who显示当前运行级别:
who -r
- 要仅获取用户名和当前登录的用户数,请使用-q, --count选项:
who -q
- -a, --all选项强制who打印所有信息:
who -a
结论
who命令显示所有当前登录用户的列表。
要获取有关当前登录用户的其他信息,请用w命令。
在Linux系统中安装免费第三方OneDrive客户端【2022最新版】
本文要安装的是OneDrive第三方免费客户端,可安装在Ubuntu/Debian、Fedora/CentOS、Arch Linux、deepin等Linux发行版上。
该客户端的特征
状态缓存。
使用Inotify进行实时文件监视。
断点续传。
支持OneDrive for Business(Office 365的一部分)。
共享文件夹(非企业)。
安装方法依赖:libcurl、SQlite 3、Digital Mars D Compiler (DMD)。
针对Ubuntu/debian:
sudo apt install libcurl4-openssl-dev sudo apt install libsqlite3-dev
# ubuntu 18
sudo snap install --classic dmd && sudo snap install --classic dub
# ubuntu 17
sudo wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list sudo apt-get update && sudo apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring sudo apt-get update && sudo apt-get install dmd-compiler dub
针对Fedora/centos:
sudo yum install libcurl-devel sudo yum install sqlite-devel curl -fsS https://dlang.org/install.sh | bash -s dmd
针对arch Linux:
sudo pACMan -S curl sqlite dlang
附1:安装snap
sudo apt install snap
附2:DMD下载安装的脚本
curl -fsS https://dlang.org/install.sh | bash -s dmd
安装好依赖后执行以下命令:
git clone https://github.com/skilion/onedrive.git cd onedrive make sudo make install
注:安装完成后,需要从终端运行一次才能授权它,在终端中执行onedrive即可。系统将要求使用Web浏览器打开特定的链接,在该链接中,将必须登录到Microsoft帐户并授予应用程序访问文件的权限,授予权限后,将被重定向到空白页,将空白页的URI复制到应用程序中。
sudo make uninstall
# 删除应用程序状态
rm -rf .config/onedrive
配置的方法配置是可选的,默认情况下,所有文件都下载到~/OneDrive中,并且仅跳过隐藏文件。如果要更改默认值,可以将随附的配置文件复制并编辑到~/.config/onedrive目录中:
mkdir -p ~/.config/onedrive cp ./config ~/.config/onedrive/config nano ~/.config/onedrive/config
可用选项:
sync_dir:文件将被同步到的目录。
skip_file:与该模式匹配的任何文件或目录将在同步期间被跳过。
模式不区分大小写,*和?支持通配符,使用|分隔多个模式。
注意:更改skip_file后,必须通过执行onedrive --resync来执行完全同步。
1、选择性同步
选择性同步允许您仅同步特定的文件和目录,要启用选择性同步,请在~/.config/onedrive中创建一个名为sync_list的文件,文件的每一行代表从sync_dir开始的相对路径,在所有操作期间,将跳过与文件的任何行都不匹配的所有文件和目录,这是sync_list的示例:
Backup Documents/latest_report.docx Work/ProjectX notes.txt
注意:更改同步列表后,必须通过执行onedrive --resync来执行完全同步。
2、共享文件夹
与您共享的文件夹可以通过将其添加到OneDrive进行同步,为此,请打开“Onedrive”,转到共享文件列表,右键单击要同步的文件夹,然后单击“添加到我的OneDrive(Add to my OneDrive)”。
3、OneDrive服务
如果要自动同步文件,请启用并启动systemd服务:
systemctl --user enable onedrive systemctl --user start onedrive
要查看日志运行:
journalctl --user-unit onedrive -f
注意:Ubuntu仅从版本15.04开始支持systemd。
4、使用多个帐户
您可以运行指定不同配置目录的应用程序的多个实例,以处理多个OneDrive帐户。为此,可以使用--confdir参数,这是一个例子:
onedrive --monitor --confdir="~/.config/onedrivePersonal" & onedrive --monitor --confdir="~/.config/onedriveWork" &
注:
--monitor保持应用程序运行并监视更改。
&将应用程序置于后台,并使终端保持交互式。