TLCL Reading notes 2 - WBowam/wbowam.github.com GitHub Wiki
Date: 2015-03-29
Title: TLCL 看书笔记(2)
Tags: TLCL
Category: Reading
笔记开始
坦诚地说,用图形文件管理器来完成一些由这些命令执行的任务会更容易些。
cp -u *.html destination
那么, 为什么还使用早期的命令行程序呢?
会有很多小白问这个问题,,,,,,,我总是说不清楚自己为什么喜欢命令行
命令行程序,功能强大灵活。虽然图形文件管理器能轻松地实现简单的文件操作,但是对于 复杂的文件操作任务,则使用命令行程序比较容易完成。
答案来了~这是为什么极客们喜欢用Linux
ln — 创建硬链接和符号链接
mkdir dir1 dir2 dir3
原来也可以传多个参数啊,mk blog blog/content
接受文件名作为参数的任何命令,都可以使用通配符
到目前为止,我以为通配符就是正则,,难道我有错吗?
cp item... directory
原来能一次性复制好多文件, 三个点表示能接受多个参数
cp file1 file2
复制文件 file1 内容到文件 file2。 如果 file2 已经存在,file2 的内容会被 file1 的 内容重写。 如果 file2 不存在,则会创建 file2。cp -i file1 file2
这条命令和上面的命令一样,除了如果文件 file2 存在的话,在文件 file2 被重写之前,会提示用户确认信息。cp file1 file2 dir1
复制文件 file1 和文件 file2 到目录 dir1。目录 dir1 必须存在。cp dir1/* dir2
使用一个通配符,在目录 dir1 中的所有文件都被复制到目录 dir2 中。 dir2 必须已经存在。cp -r dir1 dir2
这里的r
参数是递归的意思,如下
cp
-R, -r, --recursive
copy directories recursively
递归地复制目录及目录中的内容。当复制目录时, 需要这个选项(或者-a 选项)
-u, --update
当把文件从一个目录复制到另一个目录时,仅复制 目标目录中不存在的文件,或者是文件内容新于目标目录中已经存在的文件。
-f, --force
Linux,没有复原命令。一旦你用 rm 删除了一些东西, 它就消失了。Linux 假定你很聪明,你知道你在做什么。
曾经亲身经历过这么悲催的事情,,,那是一个蛋疼的上午和中午,我写了一个上午的代码啊~~本来我想删swp文件的,一不小心...当时我是正准备commit 的
小贴士。 无论什么时候,rm 命令用到通配符(除了仔细检查输入的内容外!), 用 ls 命令来测试通配符。这会让你看到要删除的文件列表。然后按下上箭头按键,重新调用 刚刚执行的命令,用 rm 替换 ls。
嗯嗯,当构造复杂的通配符时,可以先用这个技巧验证一下
符号链接是文件的特殊类型,它包含一个指向 目标文件或目录的文本指针。
普通文件是由文件名和指针组成 符号链接是由文件名和指向目标文件的指针 我的理解对吗?
符号链接类似Windows的快捷方式 当然,符号链接早于 Windows 的快捷方式 很多年;-)
作者很逗,总是在讽刺widows的抄袭(这是软链接的笔记,不知怎么的跑到这里了)
一个程序要求使用某个包含在名为“foo”文件中的共享资源,但是“foo”经常改变版本号。 这样,在文件名中包含版本号,会是一个好主意,因此管理员或者其它相关方,会知道安装了哪个“foo”版本。 这又会导致一个问题。如果我们更改了共享资源的名字,那么我们必须跟踪每个可能使用了 这个共享资源的程序,当每次这个资源的新版本被安装后,都要让使用了它的程序去寻找新的资源名。 这听起来很没趣。
这就是符号链接存在至今的原因。 这是一个关于软链接的故事。讲述了软链接活着的意义
ls -l dir1
total 4
-rw-r--r-- 4 me me 1650 2008-01-10 16:33 fun-hard
lrwxrwxrwx 1 me me 6 2008-01-15 15:17 fun-sym -> ../fun
dir1 中,fun-sym 的列表说明了它是一个符号链接,通过在第一字段中的首字符"l" 可知,并且它还指向"../fun",也是正确的。相对于 fun-sym 的存储位置,fun 在它的 上一个目录。同时注意,符号链接文件的长度是6,这是字符串"../fun"所包含的字符数, 而不是符号链接所指向的文件长度
不太理解,软链接文件的大小是目标文件名(包括路径名哈,但为什么不是绝对路径啊?)的长度,这是因为
Linux,有个普遍的观念就是“任何东西都是一个文件”。 随着课程的进行,我们将会明白这句话的真谛。
明白字面上的意思了,但还没震撼过
file 命令会打印出文件内容的简单描述
感觉不是很常用啊
less 程序是早期 Unix 程序 more 的改进版。“less” 这个名字,对习语 “less is more” 开了个玩笑, 这个习语是现代主义建筑师和设计者的座右铭。
喜欢Unix这种风格
记得复制和粘贴技巧!如果你正在使用鼠标,双击文件名,来复制它,然后按下鼠标中键,粘贴文件名到命令行中
见过几次赵宇这样复制粘贴,很实用的样子
在系统中游玩时,不要害怕粘花惹草。普通用户是很难把东西弄乱的。那是系统管理员的工作! 如果一个命令抱怨一些事情,不要管它,尽管去玩别的东西。花一些时间四处走走。 系统是我们自己的,尽情地探究吧。记住在 Linux 中,没有秘密存在!
这话足够风趣,够吸引人
大多数安装在系统中的软件包会包含一些文档。在/usr/share/doc 目录下, 我们可以找到按照软件包分类的文档。
平时可以翻翻
/etc/crontab, 定义自动运行的任务。 /etc/fstab,包含存储设备的列表,以及与他们相关的挂载点。 /etc/passwd,包含用户帐号列表。
自动运行的任务哈,,可以写到一些配置文件里哈
在现在的 Linux 系统中,/media 目录会包含可移除媒体设备的挂载点, 例如 USB 驱动器,CD-ROMs 等等。这些设备连接到计算机之后,会自动地挂载到这个目录结点下。
曾经学过怎么挂载硬盘或U盘,现在忘记了,因为Ubuntu的自动挂载
type-显示命令的类型
$type ls
ls is an alias for ls --color=tty
$type cp
cp is /bin/cp
alias – 创建命令别名
alias fj=ssh [email protected]
由于阅读难度而能拿到特等奖的手册页应该是 bash 手册页。
哈哈哈,所以我刚刚才跨国man
zless 可以显示由gzip 压缩的文本文件的内容。
直接解压看不行吗,非要个这样的命令吗?
可以把多个命令放在同一行上,命令之间 用";"分开。
这个知识点实用,必须掌握
alias foo='cd /usr; ls; cd -'
想知道重新登录这个配置还在吗?
肯定不在了哈...所以写到.bashrc
grep - 打印匹配行
神一样的命令终于出现了,看到这里我再次确定这是一本好书了 话说XX推荐用ACK替代grep