英国雷迪RD1000非金属管线探测仪

专业磁力种子下载工具 qBittorrent 使用教程

前言

种子和磁力链接是现在使用最为广泛的资源下载形式了,但是资源找到了,如何顺畅地下载下来也是个问题。

qBittorrent 是一款开源免费的种子和磁力链接下载工具,支持 Windows、Mac 和 Linux,且功能非常强大。

由于国内大部分用户并没有公网 IP,直接使用可能会有个很现实的问题——下载没速度!本文就介绍下 qBittorrent 从安装到使用的详细教程。

qBittorrent 简介:下载、安装和使用

qBittorrent 支持使用种子文件和磁力链接下载,包括了做种、tracker 编辑、下载优先级设置、RSS 订阅等功能非常丰富。

请仔细阅读全文,一些常见的问题文中已经有说明了的!!!

# 下载 & 安装

进入官网,Download 页面,选择适合自己的版本下载。

双击安装,一路点击 “下一步” 完成安装即可,无需特别调整。安装完启动时会弹出一个声明,“同意”。

# 添加下载

点击左上角两个图标,分别添加磁力链接或种子。

重点! 添加磁力链接可能会一直显示 “正在检索元数据…” 很久,建议全部使用种子文件下载,比较快。

如果只有磁力链接,可以先将其添加到迅雷极速版下载 -> 右键 -> 另存为种子文件。

# 界面介绍

主下载界面

Trackers  用户 – 显示资源的连接和下载情况

内容 – 资源内文件管理和进度

qBittorrent 高级设置及使用教程

安装完成后首次打开需要设置下,以后直接使用即可。

# 路由器开启 UPnP / NAT-PMP 功能

大多数用户都是内网网络,连接不上节点造成下载没速度,虽然有时也能用,但速度有限。

路由器开启端口映射可以改善资源连接情况,热门资源可以满速下载。

查看说明书登陆路由器后台,在设置中找到 UPnP/NAT-PMP 选项,开启并保存,然后重启。

ps. 现在比较新的路由器有的找不到该选项,可能会默认开启,可以询问下客服。

# 添加 trackers 优化下载速度(重要!)

添加 trackers 可以帮助我们连接到更多的资源节点,解决下载没速度的问题,给下载加速,必备操作!

Trackers 获取地址:

打开 qBittorrent -> 工具 -> 选项 -> BitTorrent,下拉到末尾,将 trackers 粘贴进输入框,并勾选 “自动添加以下 trackers 到新的 torrents”,OK。

建议每天使用前都先更新 trackers 一次。也可以在 Trackers 界面通过右键 -> 添加新的 tracker。

# 连接 DHT 节点

软件底部状态栏有一个 “DHT 节点”,连接上后可以通过 DHT 网络进行下载,改善下载情况。

开启软件后会自动连接,连上 DHT 节点需要一定时间,连上后尽量不要关闭客户端,因为每次重启都要重新连接。

连不上可以进入选项 -> 连接 -> 点随机,修改下监听端口,建议使用高位端口,也可以勾选 “在每次启动时使用不同的端口”。

# 调整下载优先级

qBittorrent 可以对文件的优先级进行调整,优先下载级别更高的文件。

在 内容 界面,右键选择文件 -> 优先。

Tips(常见问题)

1、状态栏的 “插头” 是黄色的(不是绿色):不影响下载,只有文件有上传了才会变绿。

2、qbittorrent 一直显示 “正在下载元数据”:使用种子文件进行下载。

3、连不上 DHT 节点:先下一个热门种子试试,DHT 涨起来了再下载。

4、理论上 trackers 和 DHT 网络有一种连上了在工作,就有速度。还没速度查看下用户、种子、trackers 等的连接情况,如果都为 0 可能是死链,建议换资源。

5、磁力种子的下载速度依赖于资源数量和广大用户的上传做种,上传分享的人越多,速度越快。

6、建议下载完后不要急着移除任务,上传做种,可以设置下上传速度或时间,原因就是上一条。

结语

qBittorrent 的使用方法和常见问题等上面基本都介绍到了,看起来可能有点麻烦,但只要第一次使用时设置好就行了,以后打开直接添加任务使用即可。

其它的如做种、种子搜索等功能根据提示操作就好,不再介绍。常见的还有 uTorrent、BitComet 等,都是纯正的 BT 下载软件,功能上也差不多。

觉得有帮助的朋友,别光收藏啊,点个赞再走呗 ╰( ̄▽ ̄)╭ ~

macbookair怎么装双系统|macbookair双系统安装教程

发布时间:2019-03-23 11:11发布者:系统城-xtcjh浏览数:11420

macbookair双系统怎么安装?macbookair自带的mac os系统专门提供Bootcamp助理帮助用户安装windows,从而组成双系统。许多macbookair用户都想要安装双系统,但是不知道具体的安装步骤是怎样的,这边小编跟大家分享macbookair装双系统的方法。

用户须知:如果是2014年之前的机型需要U盘制作启动盘,2014年之后机型支持不用U盘直接安装Windows双系统,本文介绍的是新款macbook,不需要U盘。

2014之前的旧机型(需要u盘):苹果mac笔记本怎么装win10双系统

一、安装环境及系统下载

1、Macbook 2015版

2、系统为OS X EI Capitan 10.11.6

3、事先下载好win10原版系统iso镜像下载:windows10 1809十月版更新官方下载地址

二、macbookair双系统安装步骤如下

1、在桌面顶部点击【前往】—【实用工具】;

2、在实用工具中打开【Boot Camp助理】;

3、打开Boot Camp助理,点击右下角继续;

4、ISO映像这边,点击【选取】选择windows10 iso文件位置,windows10原版iso镜像要事先准备好,选好之后,点击打开;

5、接着是分区,分出来一个区给windows系统,用鼠标拖动中间小圆点划分两个分区的大小,一般需要30G以上,具体看你的硬盘大小,分区之后,点击安装;

6、这时候Boot Camp助理会下载windows支持软件,执行磁盘分区操作,预计时间可能15-20分钟;

7、正在存储windows支持软件,等待进度条完成;

8、之后会启动进入windows安装程序;

9、安装语言、时间、键盘一般不用改,点击下一步;

10、密钥这边,点击【我没有产品密钥】;

11、选择要安装的win10版本,专业版或家庭版,选择之后,点击下一步;

12、选中【BOOTCAMP】这个分区,记住它的分区编号是分区5,点击【格式化】;

13、格式化之后,继续选中这个分区5,点击下一步;

14、开始安装windows10系统,等待即可;

15、经过一段时间安装之后,安装完成,可以选择自定义,也可以使用快速设置;

16、进入win10系统之后,不要着急用,首先要安装驱动,点击左下角的资源管理器图标;

17、打开之后,点击箭头这个盘符进入;

18、找到BootCamp文件夹,双击打开;

19、运行Setup,打开Boot Camp安装程序,执行驱动安装;

20、驱动安装完毕后,点击是,立即重启系统,双系统安装完毕。

通过上面的步骤操作之后,macbookair就安装好双系统了,新版bootcamp支持免u盘安装windows双系统。

2014之前的旧机型(需要u盘):苹果mac笔记本怎么装win10双系统

苹果mac笔记本怎么装win10双系统

发布时间:2016-02-01 11:24发布者:系统城-xtcjh浏览数:103215

作为第一个实现跨平台的操作系统,win10 64位正式版一发布就备受关注,甚至苹果粉也按捺不住,打算在macbook安装win10系统来体验一把,那么苹果笔记本要怎么安装win10双系统呢?下面就跟小编一起来学习下mac笔记本使用U盘安装win10双系统步骤。

一、准备工具
1、苹果macbook笔记本,能正常进入mac os系统
2、容量8G以上U盘,格式化U盘为“mac os扩展(日志式)”
3、win10系统镜像下载
4、win10激活工具下载

二、苹果macbook安装win10双系统步骤
1、启动进入mac os系统,在“实用工具”中打开“磁盘工具”,选择整个硬盘,点击“分区”,通过“+”号增加windows盘的大小,点击应用;

苹果macbook安装win10双系统步骤1

2、插入U盘,在实用工具中打开BootCamp助理;

苹果macbook安装win10双系统步骤2

3、BootCamp助理可以帮助用户在mac安装windows,点击继续;

苹果macbook安装win10双系统步骤3

4、选择“创建windows8或更高版本的安装盘”和“下载windows支持软件”,继续;

苹果macbook安装win10双系统步骤4

5、选取win10镜像,目的磁盘为U盘,继续;

苹果macbook安装win10双系统步骤5

6、开始下载windows系统支持软件,输入密码完成操作;

苹果macbook安装win10双系统步骤6

7、重启mac笔记本,长按option按键,选择U盘启动按回车进入;

苹果macbook安装win10双系统步骤7

8、打开win10系统安装程序,下一步;

苹果macbook安装win10双系统步骤8

9、提示激活选择跳过,选择刚才分配的window分区,删除;

苹果macbook安装win10双系统步骤9

10、再点击“未分配的空间”,选择新建,应用;

苹果macbook安装win10双系统步骤10

11、建立windows主分区,选择这个新建分区,下一步;

苹果macbook安装win10双系统步骤11

12、开始执行win10系统安装操作;

苹果macbook安装win10双系统步骤12

13、安装完成,打开U盘BootCamp中的setup;

苹果macbook安装win10双系统步骤13

14、安装Bootcamp并安装windows支持软件;

苹果macbook安装win10双系统步骤14

15、重启系统,打开win10激活工具一键自动激活。

苹果macbook安装win10双系统步骤15

完成上述操作之后,我们就成功在macbook笔记本上安装了win10组成双系统,感兴趣的朋友赶紧来试试吧!

a1237 第一代MacBook air 装win7光驱启动时遇到错误?a1237最高支持到10.7.5

重置 NVRAM/PRAM

  1. 关闭 Mac。
  2. 在键盘上找到以下按键:Command (⌘)、Option、P 和 R。您需要在步骤 4 中同时按住这些键。
  3. 启动电脑。
  4. 出现灰屏前按住 Command-Option-P-R 键。
  5. 按下这些键,直到电脑重新启动,您会再次听到启动声。
  6. 松开这些键。

重置smc:

  • 关闭电脑。
  • 将 MagSafe 电源适配器连接到电源和 Mac(如果尚未连接的话)。
  • 在内建键盘上,同时按下(左侧)Shift-Control-Option 键和电源按钮。
  • 同时松开所有键和电源按钮。
  • 按下电源按钮打开电脑。
    :还原 SMC 设置时,MagSafe 电源适配器上的 LED 指示灯可能会更改状态或暂时关闭。

经过以上步骤后,你在将光盘放入外置光驱,再重新全新安装一遍系统看看。试一下。

使用批处理bat更改hosts的多个方法

 更新时间:2014年07月05日 22:44:20   投稿:mdxy-dxy
最近公司网站使用了cdn,如果用cdn访问网站会出现后台慢,前台修改模版不能实时发现问题,所以就需要我们修改hosts实现本地访问仍然是服务器源站,客户访问的都是前台不需要实时的,下面我们就分享下用bat实现修改hosts的方法

什么是Hosts:

Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析。

Hosts文件的具体作用:

现在来看一下Hosts文件的工作方式以及它在具体使用中起哪些作用。
1、加快域名解析
对于要经常访问的网站,我们可以通过在Hosts中配置域名和IP的映射关系,提高域名解析速度。由于有了映射关系,当我们输入域名计算机就能很快解析出IP,而不用请求网络上的DNS服务器。
2、方便局域网用户
在很多单位的局域网中,会有服务器提供给用户使用。但由于局域网中一般很少架设DNS服务器,访问这些服务器时,要输入难记的IP地址。这对不少人来说相当麻烦。现在可以分别给这些服务器取个容易记住的名字,然后在Hosts中建立IP映射,这样以后访问的时候,只要输入这个服务器的名字就行了。
3、屏蔽网站
现在有很多网站不经过用户同意就将各种各样的插件安装到你的计算机中,其中有些说不定就是木马或病毒。对于这些网站我们可以利用Hosts把该网站的域名映射到错误的IP或本地计算机的IP,这样就不用访问了。在WINDOWS系统中,约定127.0.0.1为本地计算机的IP地址, 0.0.0.0是错误的IP地址。

用bat更改hosts文件批处理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@echo off
echo "请注意你的杀毒软件提示,一定要允许"
@echo  ########################################
@xcopy C:\Windows\system32\drivers\etc\hosts C:\Windows\system32\drivers\etc\hosts.bak\ /d /c /i /y
@echo  ########################################
@echo  hosts文件备份完毕,开始修改hosts文件
@echo
@echo 117.79.149.116 search.b2b.cn >>C:\Windows\System32\drivers\etc\hosts
@echo 117.79.149.116 news.search.b2b.cn >>C:\Windows\System32\drivers\etc\hosts
echo   "hosts文件修改完成"
@ipconfig /flushdns
@echo   "刷新DNS完成"
echo  hosts文件修改完毕,按任意键恢复系统原始状态
@echo
@echo  ########################################
@pause > nul
@copy C:\Windows\System32\drivers\etc\hosts.bak\hosts C:\Windows\System32\drivers\etc\hosts /y
@echo
@echo off
echo  hosts文件恢复完毕,按任意键退出
@echo
@pause > nul
@exit

搭建本地的测试环境:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@echo off
echo 搭建本地测试环境
echo.
c:
cd \
if not exist lmhy-test\con md lmhy-test
if exist lmhy-test\hosts.bak goto backup_exists
echo 正在创建备份……
cd \windows\system32\drivers\etc
copy /y hosts \lmhy-test\hosts.bak > null
echo 完成!
echo.
goto backup_start
:backup_exists
echo 备份文件已经存在,无需备份。
echo.
:backup_start
echo 正在写入测试数据……
echo 127.0.0.1    localhost > hosts
echo 192.168.1.170  lmhy.com >> hosts
echo 192.168.3.170  www.lmhy.com >> hosts
echo 192.168.3.170  php.lmhy.com >> hosts
echo 192.168.3.170  test.lmhy.com >> hosts
echo 完成!
echo.
echo 建立 lmhy 本地测试环境完成。按任意键退出……
pause > null

卸载本地测试环境:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@echo off
echo 卸载本地测试环境
echo.
c:
cd \
if not exist lmhy-test\hosts.bak goto backup_not_exists
echo 正在还原备份……
copy /y \lmhy-test\hosts.bak \windows\system32\drivers\etc > null
cd \windows\system32\drivers\etc
if exist hosts del /q hosts
ren hosts.bak hosts
echo 完成!
echo.
echo 正在移除备份……
cd \
rmdir /s/q \lmhy-test\
echo 完成!
echo.
goto backup_done
:backup_not_exists
echo 备份文件不存在,无法恢复。

(注意:安装了360的可能在运行修改时会出现警告框,点击运行就可以了)

Xcopy命令参数使用介绍

 更新时间:2014年04月12日 22:58:43   作者:
DOS批处理命令,永远是不朽的命令,不仅功能强大,同时,速度也是最快的!但是,很多新手学习计算机,都已经遗忘了本不该忘记的批处理命令
XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝系统文件;使用时源盘符、源目标路径名、源文件名至少指定一个;选用/S时对源目录下及其子目录下的所有文件进行COPY。除非指定/E参数,否则/S不会拷贝空目录,若不指定/S参数,则XCOPY只拷贝源目录本身的文件,而不涉及其下的子目录;选用/V参数时,对的拷贝的扇区都进行较验,但速度会降低。

我们不可数典忘祖,该学习的还是要学习,不该忘记的还是不能忘记,尤其是DOS批处理命令,在开发软件或项目的时候,都离不开这些基本的原始的命令。本文,我们来学习Xcopy的参数及实例

一、Xcopy参数介绍

命令格式:XCOPY source [destination] 一堆可选的参数
参数介绍
source 指定要复制的文件。
destination 指定新文件的位置和/或名称。
/A 只复制有存档属性集的文件, 但不改变属性。
/M 只复制有存档属性集的文件, 并关闭存档属性。
/D:m-d-y 复制在指定日期或指定日期以后改变的文件。如果没有提供日期,只复制那些源时间比目标时间新的文件。
/EXCLUDE:file1[+file2][+file3]…
指定含有字符串的文件列表。如果有任何字符串与要被复制的文件的绝对路径相符,那个文件将不会得到复制。
例如,指定如 \obj\ 或 .obj 的字符串会排除目录 obj 下面的所有文件或带有 .obj 扩展名的文件。
/P 创建每个目标文件前提示。
/S 复制目录和子目录,除了空的。
/E 复制目录和子目录,包括空的。 与 /S /E 相同。可以用来修改 /T。
/V 验证每个新文件。
/W 提示您在复制前按键。
/C 即使有错误,也继续复制。
/I 如果目标不存在,又在复制一个以上的文件, 则假定目标一定是一个目录。
/Q 复制时不显示文件名。
/F 复制时显示完整的源和目标文件名。
/L 显示要复制的文件。
/G 允许将没有经过加密的文件复制到不支持加密的目标。
/H 也复制隐藏和系统文件。
/R 改写只读文件。
/T 创建目录结构,但不复制文件。不包括空目录或子目录。/T /E 包括空目录和子目录。
/U 只复制已经存在于目标中的文件。
/K 复制属性。一般的 Xcopy 会重设只读属性。
/N 用生成的短名复制。
/O 复制文件所有权和 ACL 信息。
/X 复制文件审核设置(隐含 /O)。
/Y 禁止提示以确认改写一个现存目标文件。
/-Y 导致提示以确认改写一个现存目标文件。
/Z 用重新启动模式复制网络文件。

二、Xcopy命令实例介绍

①本机复制文件或文件夹的实例

复制代码代码如下:
Xcopy d:\UpdateFiles e:\123  /s /e /y

命令解释:将D盘的UpdateFiles文件夹中包含的所有东西,全部复制到E盘的123文件夹内;/s /e /y 参数说明:在复制文件的同时也复制空目录或子目录,如果目标路径已经有相同文件了,使用覆盖方式而不进行提示。

②在局域网中的应用实例

复制代码代码如下:
Xcopy \\192.168.0.168\UpdateFiles e:\123  /s /e /y

命令解释:将192.168.0.168这台计算机的名称为UpdateFiles的文件夹内的所有东西,全部复制到本机的e:\123 文件夹;参数说明:在复制文件的同时也复制空目录或子目录,如果目标路径已经有相同文件了,使用覆盖方式而不进行提示。

③结合/d标签,实现只复制比目标文件新的文件

假如现在c:\a文件夹下的所有文件和d:\a下的文件相同(修改日期及内容)

c:\a下的一个文件被别人修改了或者添加了一个文件!
能否写个bat,判断一下c:\a文件夹下的每个文件的最后修改日期是不是在前两天内!如果是,则复制到d:\a下的相应目录(要是原来有,则覆盖),如果不是,则不复制了.

复制代码代码如下:
@echo off
echo y|xcopy c:\a /d /e /r /k d:\a\
pause

windows下forfiles命令详解

forfiles命令:

forfiles [/p Path ] [/m SearchMask ] [/s ] [/c Command ] [/d [{+ | – }] [{MM / DD / YYYY | DD }]]

参数列表

/p Path

指定Path ,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号(.) 指定。

/m SearchMask

按照SearchMask 搜索文件。默认的SearchMask 是*.* 。

/s

指示forfiles 在子目录中搜索。

/c Command

在每个文件上运行指定的Command 。带有空格的命令字符串必须用引号括起来。默认的Command 是”cmd /c echo @file” 。

/d [{+ | – }] [{MM / DD / YYYY | DD }]

选择日期大于或等于(+ )(或者小于或等于(- ))指定日期的文件,其中MM / DD / YYYY 是指定的日期,DD 是当前日期减去DD 天。如果未指定+ 或- ,则使用+ 。DD 的有效范围是0 – 32768。

/?

在命令提示符下显示帮助。

删除三天前的文件

forfiles /p i:/serverbak/2005 /s /m *.* /d -2 /c “cmd /c del @file”

/p 指定的路径

/s 包括子目录

/m 查找的文件名掩码

/d 指定日期,有绝对日期和相对日期, 此处-7指当前日期 的7天前

/c 运行的命令行   表示为每个文件执行的命令。命令字符串应该用双引号括起来。

默认命令是 “cmd /c echo @file”。下列变量

可以用在命令字符串中:

@file    – 返回文件名。

@fname   – 返回不带扩展名的文件名。

@ext     – 只返回文件的扩展。

                        @path    – 返回文件的完整路径。

                        @relpath – 返回文件的相对路径。

                        @isdir   – 如果文件类型是目录,返回 “TRUE”; 如果是文件,返回 “FALSE”。

                        @fsize   – 以字节为单位返回文件大小。

                        @fdate   – 返回文件上一次修改的日期。

                        @ftime   – 返回文件上一次修改的时间。

示例

要列出驱动器 C: 上的所有批处理文件,请键入:

forfiles /p c:/ /s /m*.bat /c”cmd /c echo @file is a batch file”

要列出驱动器 C: 上的所有目录,请键入:

forfiles /p c:/ /s /m*.* /c”cmd /c if @isdir==true echo @file is a directory”

要列出驱动器 C: 上存在时间多于 100 天的所有文件,请键入:

forfiles /p c:/ /s /m*.* /dt-100 /c”cmd /c echo @file :date >= 100 days”

要列出驱动器 C: 上 1993 年 1 月 1 日以前创建的所有文件,而且对于日期早于 1993 年 1 月 1 日的文件显示“file is quite old!”,请键入:

forfiles /p c:/ /s /m*.* /dt-01011993 /c”cmd /c echo @file is quite old!”

要按列格式列出驱动器 C: 上所有文件的扩展名,请键入:

forfiles /p c:/ /s /m*.* /c “cmd /c echo extension of @file is 0x09@ext0x09” With:

要列出驱动器 C: 上的所有批处理文件,请键入:

forfiles /p c:/ /s /m *.bat /c “cmd /c echo @file is a batch file”

要列出驱动器 C: 上的所有目录,请键入:

forfiles /p c:/ /s /m *.* /c “cmd /c if @isdir==true echo @file is a directory”

要列出驱动器 C: 上存在时间多于 100 天的所有文件,请键入:

forfiles /p c:/ /s /m *.* /d t-100 /c “cmd /c echo @file :date >= 100 days”

要列出驱动器 C: 上 1993 年 1 月 1 日以前创建的所有文件,而且对于日期早于 1993 年 1 月 1 日的文件显示“file is quite old!”,请键入:

forfiles /p c:/ /s /m *.* /d t-01011993 /c “cmd /c echo @file is quite old!”

要按列格式列出驱动器 C: 上所有文件的扩展名,请键入:

forfiles /p c:/ /s /m*.* /c “cmd /c echo extension of @file is 0x09@ext0x09

目录复制命令:

xcopy   //server/bak/*.*    d:/serverbak /s /e /v /c / d /y /h
at 05:30 shutdown -s -f

说明:

xcopy命令参数可以用xcopy/?查看

at 05:30 shutdown -s -f       表示5:30分自动关机

Linux下nl命令的用法详解

   nl命令和cat命令很像,不过nl命令会打上行号,属于比较不常用的命令,下面随小编一起来了解下这个鲜为人知的nl命令吧。

 Linux下nl命令的用法详解

nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。

  1.命令格式:

nl [选项]。。。 [文件]。。。

  2.命令参数:

-b :指定行号指定的方式,主要有两种:

-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);

-b t :如果有空行,空的那一行不要列出行号(默认值);

-n :列出行号表示的方法,主要有三种:

-n ln :行号在萤幕的最左方显示;

-n rn :行号在自己栏位的最右方显示,且不加 0 ;

-n rz :行号在自己栏位的最右方显示,且加 0 ;

-w :行号栏位的占用的位数。

-p 在逻辑定界符处不重新开始计算。

  3.命令功能:

nl 命令读取 File 参数(缺省情况下标准输入),计算输入中的行号,将计算过的行号写入标准输出。 在输出中,nl 命令根据您在命令行中指定的标志来计算左边的行。 输入文本必须写在逻辑页中。每个逻辑页有头、主体和页脚节(可以有空节)。 除非使用 -p 标志,nl 命令在每个逻辑页开始的地方重新设置行号。 可以单独为头、主体和页脚节设置行计算标志(例如,头和页脚行可以被计算然而文本行不能)。

  4.使用实例:

  实例一:用 nl 列出 log2012.log 的内容

命令:

nl log2012.log

输出:

[root@localhost test]# nl log2012.log

1 2012-01

2 2012-02

3 ======[root@localhost test]#

说明:

文件中的空白行,nl 不会加上行号

  实例二:用 nl 列出 log2012.log 的内容,空本行也加上行号

命令:

nl -b a log2012.log

输出:

[root@localhost test]# nl -b a log2012.log

1 2012-01

2 2012-02

3

4

5 ======[root@localhost test]#

  实例3:让行号前面自动补上0,统一输出格式

命令:

输出:

[root@localhost test]# nl -b a -n rz log2014.log

000001 2014-01

000002 2014-02

000003 2014-03

000004 2014-04

000005 2014-05

000006 2014-06

000007 2014-07

000008 2014-08

000009 2014-09

000010 2014-10

000011 2014-11

000012 2014-12

000013 =======

[root@localhost test]# nl -b a -n rz -w 3 log2014.log

001 2014-01

002 2014-02

003 2014-03

004 2014-04

005 2014-05

006 2014-06

007 2014-07

008 2014-08

009 2014-09

010 2014-10

011 2014-11

012 2014-12

013 =======

说明:

nl -b a -n rz 命令行号默认为六位,要调整位数可以加上参数 -w 3 调整为3位。

解决PHP页面显示乱码解决方案

PHP中文乱码一般是字符集问题,编码主要有下面几个问题。
一.首先是PHP网页的编码
1. php文件本身的编码与网页的编码应匹配
a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312″),静态页面添加,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。
b. 如果欲使用utf-8编码,那么php要输出头:header(“Content-Type: text/html; charset=utf-8″),静态页面添加,所有文件的编码格式为utf-8。保存为utf-8可能会有点麻烦,一般utf-8文件开头会有BOM,如果使用session就会出问题,可用editplus来保存,在editplus中,工具->参数选择->文件->UTF-8签名,选择总是删除,再保存就可以去掉BOM信息了。
2. php本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码。
二.PHP与Mysql的数据交互
PHP与数据库的编码应一致
1. 修改mysql配置文件my.ini或my.cnf,mysql最好用utf8编码
复制代码代码如下:

[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
default-storage-engine=MyISAM
在[mysqld]下加入:
default-collation=utf8_bin
init_connect=’SET NAMES utf8′

2. 在需要做数据库操作的php程序前加mysql_query(“set names ‘编码'”);,编码和php编码一致,如果php编码是gb2312那mysql编码就是gb2312,如果是utf-8那mysql编码就是utf8,这样插入或检索数据时就不会出现乱码了
三.PHP与操作系统相关
Windows和Linux的编码是不一样的,在Windows环境下,调用PHP的函数时参数如果是utf-8编码会出现错误,比如move_uploaded_file()、filesize()、readfile()等,这些函数在处理上传、下载时经常会用到,调用时可能会出现下面的错误:
Warning: move_uploaded_file()[function.move-uploaded-file]:failed to open stream: Invalid argument in …
Warning: move_uploaded_file()[function.move-uploaded-file]:Unable to move ” to ” in …
Warning: filesize() [function.filesize]: stat failed for … in …
Warning: readfile() [function.readfile]: failed to open stream: Invalid argument in ..
在Linux环境下用gb2312编码虽然不会出现这些错误,但保存后的文件名出现乱码导致无法读取文件,这时可先将参数转换成操作系统识别的编码,编码转换可用mb_convert_encoding(字符串,新编码,原编码)或iconv(原编码,新编码,字符串),这样处理后保存的文件名就不会出现乱码,也可以正常读取文件,实现中文名称文件的上传、下载。
其实还有更好的解决方法,彻底与系统脱离,也就不用考虑系统是何编码。可以生成一个只有字母和数字的序列作为文件名,而将原来带有中文的名字保存在数据库中,这样调用move_uploaded_file()就不会出现问题,下载的时候只需将文件名改为原来带有中文的名字。实现下载的代码如下
复制代码代码如下:

header(“Pragma: public”);
header(“Expires: 0”);
header(“Cache-Component: must-revalidate, post-check=0, pre-check=0”);
header(“Content-type: $file_type”);
header(“Content-Length: $file_size”);
header(“Content-Disposition: attachment; filename=\”$file_name\””);
header(“Content-Transfer-Encoding: binary”);
readfile($file_path);

$file_type是文件的类型,$file_name是原来的名字,$file_path是保存在服务上文件的地址。
一.检查HTML页面转UTF-8编码问题
1.在head后,title前加入一行:

顺序不能错,一定要在head后,title前。

2.html文件编码问题:

点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8,
如果是ANSI,需要将编码改成:UTF-8。
3.HTML文件头BOM问题:
将文件从其他的编码转换成UTF-8编码时,有时候会在文件的最开始加上一个BOM标签,
在个BOM标签可能会导致浏览器在显示中文的时候出现乱码。
删除这个BOM标签的方法:
1.可以用Dreamweaver打开文件,并重新保存,即可以去除BOM标签!
2.可以用EditPlus打开文件,并在菜单“首选项”->“文件”->”UTF-8标识”,设置为:“总是删除签名”,
然后保存文件,即可以去除BOM标签!
3.WEB服务器UTF-8编码问题:
如果你按以上所列的步骤做了,还是有中文乱码问题,
请检查你的所使用的WEB服务器的编码问题
如果你使用的是Apache,请将配置文件里的:charset 设成:utf-8(这里仅列出方法,具体格式请参考apache的配置文件)
如果你使用的是Nginx,请将nginx.conf里的:charset 设成 utf-8,
具体找到 “charset gb2312;”或者类似的语句,改成:“charset utf-8;”。
二.PHP页面转UTF-8编码问题
1.在代码开始出加入一行:
header(“Content-Type: text/html;charset=utf-8”);

2.PHP文件编码问题:

点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8,
如果是ANSI,需要将编码改成:UTF-8。

3.PHP文件头BOM问题:
PHP文件一定不可以有BOM标签
否则,会出现session不能使用的情况,并有类似的提示:
Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent
这是因为,在执行session_start() 的时候,整个页面不能有输出,但是当由于前PHP页面存在BOM标签,
PHP把这个BOM标签当成是输出了,所以就出错了!
所以PHP页面一定要删除BOM标签
删除这个BOM标签的方法:
1.可以用Dreamweaver打开文件,并重新保存,即可以去除BOM标签!
2.可以用EditPlus打开文件,并在菜单“首选项”->“文件”->”UTF-8标识”,设置为:“总是删除签名”,
然后保存文件,即可以去除BOM标签!

4.PHP以附件形式保存文件的时候,UTF-8编码问题:
PHP以附件形式保存文件,文件名必须是GB2312编码,
否则,如果文件名中有中文的话,将是显示乱码:
如果你的PHP本身是UTF-8编码格式的文件,
需要将文件名变量由UTF-8转成GB2312:
iconv(“UTF-8”, “GB2312”, “$filename”);

5.截断显示文章标题时,出现乱码或者“?”问号的问题:
一般文章标题很长的时候,会显示一部分标题,会对文章标题进行截断,
由于一个UTF-8编码格式的中文字符会占用3个字符宽度,
截取标题的时候,有时会只截取到一个中文字符的1个字符或2字符宽度,
没截取完整,将出现乱码或“?”问号的情况,
用下面的函数截取标题,就不会有问题:

function get_brief_str($str, $max_length)
{
echo strlen($str) .”
“;
if(strlen($str) > $max_length)
{
$check_num = 0;
for($i=0; $i 128)
$check_num++;
}

if($check_num % 3 == 0)
$str = substr($str, 0, $max_length).”…”;
else if($check_num % 3 == 1)
$str = substr($str, 0, $max_length + 2).”…”;
else if($check_num % 3 == 2)
$str = substr($str, 0, $max_length + 1).”…”;
}
return $str;
}

三.MYSQL数据库使用UTF-8编码的问题

1.用phpmyadmin创建数据库和数据表
创建数据库的时候,请将“整理”设置为:“utf8_general_ci”
或执行语句:

CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

创建数据表的时候:如果是该字段是存放中文的话,则需要将“整理”设置为:“utf8_general_ci”,

如果该字段是存放英文或数字的话,默认就可以了。

相应的SQL语句,例如:

CREATE TABLE `test` (
`id` INT NOT NULL ,
`name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;

2.用PHP读写数据库

在连接数据库之后:

[hide]$connection = mysql_connect($host_name, $host_user, $host_pass);

加入两行:

mysql_query(“set character set ‘utf8′”);//读库

mysql_query(“set names ‘utf8′”);//写库

就可以正常的读写MYSQL数据库了。

四.JS相关的UTF-8编码问题

1.JS读Cookie的中文乱码问题

PHP写cookie的时候需要将中文字符进行escape编码,
否则JS读到cookie中的中文字符将是乱码。
但php本身没有escape函数,我们新写一个escape函数:
function escape($str)
{
preg_match_all(“/[\x80-\xff].|[\x01-\x7f]+/”,$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v)
{
if(ord($v[0]) “另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8,

如果是ANSI,需要将编码改成:UTF-8。

五.FLASH相关的UTF-8编码问题

FLASH内部对所有字符串,默认都是以UTF-8处理
1.FLASH读文普通本文件(txt,html)
要将文本文件的编码存为UTF-8
点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8,
如果是ANSI,需要将编码改成:UTF-8。
2.FLASH读XML文件
要将XML文件的编码存为UTF-8
点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8,
如果是ANSI,需要将编码改成:UTF-8。
在XML第1行写:

3.FLASH读PHP返回数据
如果PHP编码本身是UTF-8的,直接echo就可以了
如果PHP编码本身是GB2312的,可以将PHP转存成UTF-8编码格式的文件,直接echo就可以了
如果PHP编码本身是GB2312的,而且不允许改文件的编码格式,
用下面的语句将字符串转换成UTF-8的编码格式
$new_str = iconv(“GB2312”, “UTF-8”, “$str”);
再echo就可以了
4.FLASH读数据库(MYSQL)的数据
FLASH要通过PHP读取数据库中的数据
PHP本身的编码不重要,关键是如果数据库的编码是GB2312的话,
需要用下面的语句将字符串转换成UTF-8的编码格式
$new_str = iconv(“GB2312”, “UTF-8”, “$str”);

5.FLASH通过PHP写数据
一句话,FLASH传过来的字符串是UTF-8格式的,
要转换成相应的编码格式,再操作(写文件、写数据库、直接显示等等)
还是用iconv函数转换
6.FLASH使用本地编码(理论上不推荐使用)
如果想让FLASH不使用UTF-8编码,而是使用本地编码
对于中国大陆地区而言,本地编码是GB2312或GBK
AS程序内,可以添加以下代码:
System.useCodepage = true;
那么FLASH内所有字符都是使用GB2312的编码了
所有导入到FLASH或者从FLASH导出的数据,都应该做相应的编码转换

因为使用本地编码,会造成使用繁体中文地区的用户产生乱码,所以不推荐使用

Linux 按文件列表拷贝文件到指定目录并保持原有的目录结构

需求说明

当需要拷贝多个文件并且需要保留源文件的目录树结构时, 如果源目录的文件比较纯净,没有其他相关的文件或目录时, 我们只需要执行

~$ #cp -r <源目录> <新目录>
~$ cp -r workspace/project workspace/Cpp
  • 1
  • 2

但是, 如果我们需要拷贝的文件所在的目录里包含了其他项目或程序的文件或目录, 那我们就不能这么干

比如,

  • 在 /etc或者/usr/local/bin下面有很多我们自己项目的相关配置文件和程序文件, 并且我们知道这些文件路径
  • 包含指定字符串的文件名, 比如 *.log
  • 我们自己制作或者我们比较感兴趣的其他厂商的 *.deb程序包(Ubuntu使用软件包)

针对自己的项目配置文件

我们可以新建一个文本文档, 里面把我们所关心的文件列出来

list.txt

/etc/app/app.cnf
/etc/app/conf.d/a.cnf
/etc/app/conf.d/b.cnf
/etc/app/conf.d/c.cnf
/etc/app/conf.d/d.cnf
  • 1
  • 2
  • 3
  • 4
  • 5

这样我们就可以通过使用 cat list.txt 获取到我们的文件路径列表

此时我们只需要使用

~$ cp --parent $(cat list.txt) .
  • 1

就可以将列表里面的所有文件按照原有的目录树结构拷贝到当前目录(或者使用其他目录)

针对包含指定字符串的文件名我们可以用 find 命令获取到文件列表

~$ find /opt/ros/ -name *.a
/opt/ros/kinetic/lib/liboctomath.a
/opt/ros/kinetic/lib/libcsm-static.a
/opt/ros/kinetic/lib/liboptions.a
/opt/ros/kinetic/lib/libegsl.a
/opt/ros/kinetic/lib/liboctomap.a
~$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

然后, 嘿嘿

~$ cp --parent $(find /opt/ros -name *.a) .
  • 1

这不就都按照源目录结构拷贝到当前目录了嘛

针对.deb包的文件列表, 我们也有命令可以获取到路径列表

~$ dpkg -L mysql-server-5.7 
/etc
/etc/mysql
/etc/mysql/mysql.conf.d
/etc/mysql/mysql.conf.d/mysqld_safe_syslog.cnf
/etc/mysql/mysql.conf.d/mysqld.cnf
/etc/mysql/debian-start
/etc/mysql/mysql.cnf
/etc/apparmor.d
/etc/apparmor.d/usr.sbin.mysqld
/etc/logrotate.d
/etc/logrotate.d/mysql-server
/etc/init.d
/etc/init.d/mysql
/etc/logcheck
/etc/logcheck/ignore.d.server
/etc/logcheck/ignore.d.server/mysql-server-5_7
/etc/logcheck/ignore.d.workstation
/etc/logcheck/ignore.d.workstation/mysql-server-5_7
/etc/logcheck/ignore.d.paranoid
/etc/logcheck/ignore.d.paranoid/mysql-server-5_7
/etc/init
/etc/init/mysql.conf
~$ 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

这个时候我们就可以… -_- 嘿嘿嘿 , 你懂的

路由器刷固件常用命令Openwrt 之mtd/mtd_write烧写固件

路由器刷固件常用命令Openwrt 之mtd/mtd_write烧写固件

在我们日常使用手机时,路由器是一个必不可少的环节,相信目前仍有许多新手不懂如何设置路由器,其实关于路由器的设置在网上有很多,只要稍微的搜索一下即可出来一大波教程,今天我们不讨论如何设置路由器,我们来谈谈关于路由器刷机的小知识还有相关固件的介绍。

1.【查看当前系统分区信息】

cat /proc/mtd

显示:

dev: size erasesize name

mtd0: 00050000 00010000 “u-boot”

mtd1: 00020000 00010000 “u-boot-env”

mtd2: 00f80000 00010000 “firmware”

mtd3: 00107440 00010000 “kernel”

mtd4: 00e78bc0 00010000 “rootfs”

mtd5: 00810000 00010000 “rootfs_data”

mtd6: 00010000 00010000 “art”

其中,mtd2就是固件分区(firmware)

2.【备份固件firmware】

dd if=/dev/mtd2 of=/tmp/firmware_backup.bin

然后用winscp登陆路由器tmp目录,将固件文件firmware_backup.bin保存到电脑中。

3.【恢复固件firmware】

先用winscp将固件文件firmware_backup.bin传至路由器tmp目录,然后:

#mtd -r write /tmp/firmware_backup.bin firmware

即可恢复,恢复完成路由器会自行重启

4.【备份恢复Openwrt路由器配置】

dd if=/dev/mtd5 of=/tmp/overlay.bin

先用winscp将备份文件overlay.bin传至路由器tmp目录,然后:

mtd -r write /tmp/overlay.bin rootfs_data

sysupgrade -b /tmp/back.tar.gz

sysupgrade -f /tmp/back.tar.gz

5.【恢复Openwrt路由器默认设置】

rm -rvf /overlay/* && reboot

mtd -r erase rootfs_data

6.【刷新路由器固件】

先用winscp将固件文件xxx.bin传至路由器tmp目录,然后:

mtd -r write /tmp/xxx.bin firmware

刷新完成后路由器会自动重启。

先用winscp将固件文件xxx.bin传至tmp目录,然后:

sysupgrade /tmp/xxx.bin

华硕路由器Asus RT-ACRH17 OpenWrt,刷openwrt教程

华硕路由器刷OPENWRT教程

注:该教程整理自恩山论坛,因论坛内容较为繁琐,理解不便,特整理优化本文。

所需文件列表

解锁Bootloader的固件

【openwrt-ipq806x-asus_rt-acrh17-squashfs-flash-factory.trx】

opboot固件

【opboot-rt-acrh17-flash-v1.0.6.bin】

lean制作的openwrt固件

【openwrt-ipq40xx-asus_rt-acrh17-squashfs-sysupgrade.bin】

所需工具软件列表

SSH控制台工具

xshell 或 putty

SFTP文件传输工具

winscp

附,所需文件下载地址:

链接:https://pan.baidu.com/s/1Ocn-8O6Qo_EdXKbP8NjpUA 提取码:s9qy

1、备份出厂设置,防止变砖

  • 登陆路由器管理界面(初始化设置好路由器管理的账号密码)。 系统设置——Enable SSH 打开
  • 使用putty 登陆命令行控制台(路由的IP地址请查看路由器的LAN设置界面,用户名密码即为路由器管理设置的账号密码)
  • 找到ART分区,输入 cat /proc/mtd 查看
  • 使用dd命令,拷贝mtd3、mtd4到 tmp文件夹
  • cd /tmp
  • dd if=/dev/mtd3 of=/tmp/Factory.bin
  • dd if=/dev/mtd4 of=/tmp/Factory2.bin
  • 使用winScp 将tmp下的文件复制到电脑,自行保存好以备不时之需

2、原厂固件刷入 LEDE(用于解锁bootloader分区)

  • 在原厂固件升级界面,上传文件【openwrt-ipq806x-asus_rt-acrh17-squashfs-flash-factory.trx】(用户名:root,密码:password) 刷入即可。

3、刷入 opBoot

  • 使用winScp上传【opboot-rt-acrh17-flash-v1.0.6.bin】 到/tmp目录下
  • 使用 putty进入ssh后台,解锁bootloader分区。
  • mtd unlock /dev/mtd0
  • md5校验一下文件,防止变砖:md5sum /tmp/opboot-rt-acrh17-flash-v1.0.6.bin  校验得到的MD5值为 716a1501871687bf91af2064a475b72c (不同版本MD5可查看附注的历史版本链接)
  • 将opboot刷入bootloader分区: mtd -r write /tmp/opboot-rt-acrh17-flash-v1.0.6.bin Bootloader(如果成功,会出现Rebooting…字样)
  • 等待重启,如果要进入opboot,请在接通电源前按住WPS按钮8秒以上(1.0.2之前的版本为复位按钮)

附注: opboot的历史版本链接 http://www.mleaf.org/downloads/rt-acrh17/opboot/

4、刷入openwrt

  • 进入opboot之后,在更新固件界面选择固件【openwrt-ipq40xx-asus_rt-acrh17-squashfs-sysupgrade.bin】,点击更新,更新完等待重启即可。

 后记:

– 本文刷入的 openwrt 其实是网友自行根据lean大的git仓库编译而来, 大家也可以参考恩山的编译贴,自行编译所需刷机包。

– 另外,2019.6月,lean更新了 acrh17 刷梅林的包,在分享的网盘中可以看到对应文件,需要的可以刷入试试,据说很稳。

– 这里还有一个更简便的刷机方式,不经过opboot中转,https://hceasy.com/rt-acrh17-openwrt-firmware/

 

本文参考来源:

– [ASUS 华硕] RT-ACRH17 免拆机刷不死OpBoot教程

– 新人小白,华硕RT-ACRH17原厂备份ART

– Lean R8.1.12 Asus RT-ACRH17 openwrt固件[附上编译过程]

– [2019-06-07] 全球首发!原创高通梅林 RT-ACRH17 发布!内置 Fullcone 和 软件中心