扚w下蝲囄Q一般是某个相册的图片)
首先先得C张图片的地址如:www.example.com/pic/001.jpg
同相册的囄地址会有一定的规律Q可以用Q?/p>
1 | $: echo www.example.com/pic/{001..020}.jpg >url.txt |
得到二十张图片的地址是用I格分开?再用vim~辑url文gQ把I格替换成回车(\rQ?/p>
1 | Qs/ /\r/g |
01 | www.example.com/pic/001.jpg |
02 | www.example.com/pic/002.jpg |
03 | www.example.com/pic/003.jpg |
04 | www.example.com/pic/004.jpg |
05 | www.example.com/pic/005.jpg |
06 | www.example.com/pic/006.jpg |
07 | www.example.com/pic/007.jpg |
08 | www.example.com/pic/008.jpg |
09 | www.example.com/pic/009.jpg |
10 | www.example.com/pic/010.jpg |
11 | www.example.com/pic/011.jpg |
12 | www.example.com/pic/012.jpg |
13 | www.example.com/pic/013.jpg |
14 | www.example.com/pic/014.jpg |
15 | www.example.com/pic/015.jpg |
16 | www.example.com/pic/016.jpg |
17 | www.example.com/pic/017.jpg |
18 | www.example.com/pic/018.jpg |
19 | www.example.com/pic/019.jpg |
20 | www.example.com/pic/020.jpg |
在用wget命o扚w下蝲Q?/p>
1 | $: wget -i url.txt -P ./Photo |
wget命o?i参数是从指定的文件读取地址Q?P参数是把下蝲的文件放到指定的路径下?/p>
问题Q?/p>
现在囄的地址一般规律不明显Q但可以用穷举法来下载?br />
man文档中给出的find命o的一般Ş式ؓQ?/p>
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
其实[-H] [-L] [-P] [-D debugopts] [-Olevel]q几个选项q不常用Q至在我的日常工作中,没有用到q)Q上面的find命o的常用Ş式可以简化ؓQ?/p>
find [path...] [expression]
也有hȝfind命o的结构:
find start_directory test
options
criteria_to_match
action_to_perform_on_results
在用find命o?exec选项处理匚w到的文gӞ find命o所有匹配到的文件一起传递给exec执行。但有些pȝ对能够传递给exec的命令长度有限制Q这样在find命oq行几分钟之后,׃出现溢出错误。错误信息通常?#8220;参数列太?#8221;?#8220;参数列溢?#8221;。这是xargs命o的用处所在,特别是与find命o一起用?/p>
find命o把匹配到的文件传递给xargs命oQ而xargs命o每次只获取一部分文g而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文gQ然后是下一批,q如此l下厅R?/span>
在有些系l中Q?exec选项会ؓ处理每一个匹配到的文件而发起一个相应的q程Qƈ非将匚w到的文g全部作ؓ参数一ơ执行;q样在有些情况下׃出现q程q多Q系l性能下降的问题,因而效率不高;
而用xargs命o则只有一个进E。另外,在用xargs命oӞI竟是一ơ获取所有的参数Q还是分批取得参敎ͼ以及每一ơ获取参数的数目都会Ҏ该命令的选项及系l内怸相应的可调参数来定?/span>
来看看xargs命o是如何同find命o一起用的Qƈl出一些例子。(单来说就是xargs更安全,实际上和exec相同作用Q?/p>
find . -type f -print | xargs file 查找pȝ中的每一个普通文Ӟ然后使用xargs命o来测试它们分别属于哪cL?/p>
find / -name "core" -print | xargs echo "" >/tmp/core.log 在整个系l中查找内存信息转储文g(core dump) Q然后把l果保存?tmp/core.log 文g中:
find . -type f -print | xargs grep "hostname" 用grep命o在所有的普通文件中搜烦hostnameq个?/p>
find ./ -mtime +3 -print|xargs rm -f –r 删除3天以前的所有东?Qfind . -ctime +3 -exec rm -rf {} \;Q?/p>
find ./ -size 0 | xargs rm -f & 删除文g大小为零的文?/p>
find命o配合使用exec和xargs可以使用户对所匚w到的文g执行几乎所有的命o?/p>
grep (global search regular expression(RE) and print out the line,全面搜烦正则表达式ƈ把行打印出来)是一U强大的文本搜烦工具Q它能用正则表辑ּ搜烦文本Qƈ把匹配的行打印出来?/p>
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
grep命o用于搜烦由Pattern参数指定的模式,q将每个匚w的行写入标准输出中。这些模式是h限定的正则表辑ּQ它们用ed或egrep命o样式。如果在File参数中指定了多个名称Qgrep命o显C包含匹配行的文件的名称。对 shell 有特D含义的字符 ($, *, [, |, ^, (, ), \ ) 出现?Pattern参数中时必须带双引号。如?Pattern参数不是单字W串Q通常必须用单引号整个模式括h。在诸如 [a-z], 之类的表辑ּ中,-Q减Pcml 可根据当前正在整理的序列来指定一个范围。整理序列可以定义等LcM供在字符范围中用。如果未指定M文gQgrep会假定ؓ标准输入?/p>
^ 锚定行的开?如:'^grep'匚w所有以grep开头的行?/span>
$ 锚定行的l束 如:'grep$'匚w所有以grepl尾的行?/span>
. 匚w一个非换行W的字符 如:'gr.p'匚wgr后接一个Q意字W,然后是p?/span>
* 匚w零个或多个先前字W?如:'*grep'匚w所有一个或多个I格后紧跟grep的行?/span> .*一L代表L字符?/span>
[] 匚w一个指定范围内的字W,?[Gg]rep'匚wGrep和grep?/span>
[^] 匚w一个不在指定范围内的字W,如:'[^A-FH-Z]rep'匚w不包含A-R和T-Z的一个字母开_紧跟rep的行?/span>
\(..\) 标记匚w字符Q如Q?\(love\)'Qlove被标Cؓ1?/span>
\< 锚定单词的开始,如:'\<grep'匚w包含以grep开头的单词的行?/span>
\> 锚定单词的结束,?grep\>'匚w包含以grepl尾的单词的行?/span>
x\{m\} q箋重复字符xQmơ,如:'o\{5\}'匚w包含q箋5个o的行?/span>
x\{m,\} q箋重复字符x,臛_mơ,如:'o\{5,\}'匚w臛_q箋?个o的行?/span>
x\{m,n\} q箋重复字符xQ至mơ,不多于nơ,如:'o\{5,10\}'匚wq箋5--10个o的行?/span>
\w 匚w一个文字和数字字符Q也是[A-Za-z0-9]Q如Q?G\w*p'匚w以G后跟零个或多个文字或数字字符Q然后是p?/span>
\W w的反|Ş式,匚w一个非单词字符Q如点号句号{。\W*则可匚w多个?/span>
\b 单词锁定W,? '\bgrep\b'只匹配grepQ即只能是grepq个单词Q两边均为空根{?/span>
-?
同时昄匚w行上下的Q行Q如Qgrep -2 pattern filename同时昄匚w行的上下2行?/p>
-bQ?-byte-offset
打印匚w行前面打印该行所在的块号码?/p>
-c,--count
只打印匹配的行数Q不昄匚w的内宏V?/p>
-f FileQ?-file=File
从文件中提取模板。空文g中包?个模板,所以什么都不匹配?/p>
-hQ?-no-filename
当搜索多个文件时Q不昄匚w文g名前~?/p>
-iQ?-ignore-case
忽略大小写差别?/p>
-qQ?-quiet
取消昄Q只q回退出状态?则表C找C匚w的行?/p>
-lQ?-files-with-matches
打印匚w模板的文件清单?/p>
-LQ?-files-without-match
打印不匹配模板的文g清单?/p>
-nQ?-line-number
在匹配的行前面打印行受?/p>
-sQ?-silent
不显C关于不存在或者无法读取文件的错误信息?/p>
-vQ?-revert-match
反检索,只显CZ匚w的行?/p>
-wQ?-word-regexp
如果被\<和\>引用Q就把表辑ּ做ؓ一个单词搜索?/p>
-VQ?-version
昄软g版本信息?/p>
=====
ls -l | grep '^a' 通过道qols -l输出的内容,只显CZa开头的行?/p>
grep 'test' d* 昄所有以d开头的文g中包含test的行?/p>
grep 'test' aa bb cc 昄在aaQbbQcc文g中匹配test的行?/span>
grep '[a-z]' aa 昄所有包含每个字W串臛_?个连l小写字W的字符串的行?/p>
grep 'w(es)t.*' aa 如果west被匹配,则esp存储到内存中Qƈ标记?Q然后搜索Q意个字符(.*)Q这些字W后面紧跟着另外一个es()Q找到就昄该行。如果用egrep或grep -EQ就不用""可行{义,直接写成'w(es)t.*'可以了?/p>
grep -i pattern files Q不区分大小写地搜烦。默认情况区分大写
grep -l pattern files Q只列出匚w的文件名Q?/p>
grep -L pattern files Q列Z匚w的文件名Q?/p>
grep -w pattern files Q只匚w整个单词Q而不是字W串的一部分(如匹?#8216;magic’Q而不?#8216;magical’)Q?/p>
grep -C number pattern files Q匹配的上下文分别显C[number]行,
grep pattern1 | pattern2 files Q显C匹?pattern1 ?pattern2 的行Q?/p>
grep pattern1 files | grep pattern2 Q显C既匚w pattern1 又匹?pattern2 的行?/p>
参考文献:
查看文g权限的命令:
在终端输?
ls -l xxx.xxx Qxxx.xxx是文件名Q?
那么׃出现相类似的信息Q主要都是这些:
-rw-rw-r--
一共有10位数
其中Q?最前面那个 - 代表的是cd
中间那三?rw- 代表的是所有者(userQ?
然后那三?rw- 代表的是l群QgroupQ?
最后那三个 r-- 代表的是其他人(otherQ?
然后我再解释一下后面那9位数Q?
r 表示文g可以被读QreadQ?
w 表示文g可以被写QwriteQ?
x 表示文g可以被执行(如果它是E序的话Q?
- 表示相应的权限还没有被授?
现在该说说修Ҏ件权限了
在终端输入:
chmod o+w xxx.xxx
表示l其他h授予写xxx.xxxq个文g的权?
chmod go-rw xxx.xxx
表示删除xxx.xxx中组和其他人的d写的权限
其中Q?
u 代表所有者(userQ?
g 代表所有者所在的l群QgroupQ?
o 代表其他人,但不是u和g QotherQ?
a 代表全部的hQ也是包括uQg和o
r 表示文g可以被读QreadQ?
w 表示文g可以被写QwriteQ?
x 表示文g可以被执行(如果它是E序的话Q?
其中Qrwx也可以用数字来代?
r ------------4
w -----------2
x ------------1
- ------------0
行动Q?
+ 表示d权限
- 表示删除权限
= 表示使之成ؓ唯一的权?
当大安明白了上面的东西之后Q那么我们常见的以下的一些权限就很容易都明白了:
-rw------- (600) 只有所有者才有读和写的权?
-rw-r--r-- (644) 只有所有者才有读和写的权限,l群和其他h只有ȝ权限
-rwx------ (700) 只有所有者才有读Q写Q执行的权限
-rwxr-xr-x (755) 只有所有者才有读Q写Q执行的权限Q组和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读Q写Q执行的权限Q组和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权?
1 用livecdQ就是ubuntu9.10 安装盘)q去Q打开console?/p>
2 查看盘情况:sudo fdisk -l
3 挂蝲 原先安装的ubuntu9.10 的分?/p>
sudo mount /dev/sda6 /mnt
4 安装grub
sudo grub-install --root-directory=/dev/sda6
5 因重装windows后,windows安装分区的uuid会变Q?故要修改grub.cfg?/p>
5.1 查看uuid :sudo blkid
5.2 修改grub.cfg其中引导windows 那个部分,改变其中uuid
/proc 是一个伪文gpȝ, 被用作内核数据结构的接口, 而不仅仅是解释说?/dev/kmem. /proc里的大多数文仉是只ȝ, 但也可以通过写一些文件来改变内核变量.
下面Ҏ?/proc 目录作一个大略的介绍.
h?pwd 命o通常?shell 内置? 在这L情况下可能工作得不是很好.
(至于Z么想要这么做, 请参?lilo(8).)
?Linux 2.0 或者更早的版本? ?exe Ҏ文g?readlink(2) q回一个如?font style="background-color: rgb(255, 255, 255);">格式的字W串:
[讑֤号]:节点?
举个例子, [0301]:1502 是某设备的 1502 节点, 该设备的主设备号?03 (?IDE, MFM {驱动器), 从设备号?01 (W一个驱动器的第一分区).
而在 Linux 2.2 ? readlink(2) 则给出命令的实际路径?
另外, 该符可接也可以正常析引?试图打开 exe 文g实际上将打开一个可执行文g). 你甚臛_以键?/proc/[number]/exe 来运?[number] q程的副?
?-inum 选项?find(1) 命o可以定位该文?
E序有时可能惌d一个文件却不想要标准输入,或者想写到一个文件却不想输出送到标准输出去,那么可以很有效地用如下的办法骗q?假定 -i 是输入文件的标志, ?-o 是输出文件的标志):
foobar -i /proc/self/fd/0 -o /proc/self/fd/1 ...
q样是一个能q{的过滤器. h意该Ҏ不能用来在文仉搜烦, q是因ؓ fd 目录里的文g是不可搜索的.
?UNIX cȝpȝ? /proc/self/fd/N 基本上就?/dev/fd/N 相同. 实际? 大多数的 Linux MAKEDEV 脚本都将 /dev/fd W号q接?[..]/proc/self/fd ?
格式如下: address perms offset dev inode 00000000-0002f000 r-x-- 00000400 03:03 1401 0002f000-00032000 rwx-p 0002f400 03:03 1401 00032000-0005b000 rwx-p 00000000 00:00 0 60000000-60098000 rwx-p 00000400 03:03 215 60098000-600c7000 rwx-p 00000000 00:00 0 bfffa000-c0000000 rwx-p 00000000 00:00 0
address 是进E所占据的地址I间, perms 是权限集: r = read w = write x = execute s = shared p = private (copy on write)
offset 是文件或者别的什么的偏移? dev 是设备号(主设备号:从设备号), ?inode 则是讑֤的节点号. 0 表明没有节点与内存相对应, p bss 的情?
?Linux 2.2 下还增加了一个域l可用的路径?
";0"; 通常?libc.so.4.
?linux 内核 1.1.40 ? /proc/*/mmap 被取消了. (现在?真的 废弃不用?)
现将该文仉各域, 以及他们?scanf(3)格式说明W? 按顺序分q如?
该文件的总长度是物理内存 (RAM) 的大再加上 4KB.
该文件的内容可以?dmesg(8) 来察?