双击或者滑动选择文本,然后点击鼠标中键可以粘贴
cd
支持绝对和相对路径。
相对路径可以省略 ./
,如a/b
返回父级: ..
绝对路径:/usr/home
cd 更改工作目录到你的家目录。
cd - 更改工作目录到先前的工作目录。
ls 列出当前目录文件(不包括隐藏文件)
ls -a 列出当前目录所有文件(包括隐藏文件)
file — 确定文件类型
less — 浏览文件内容
ls
ls ~ /usr 列出多个目录:家(~),/usr
可选参数:
“-l”选项,则结果以长模式输出。
“t”选项按文件修改时间的先后来排序。
-a 所有
选项 “–reverse”,则结果会以相反的顺序输出:
ls -lt --reverse
-a --all 列出所有文件,甚至包括文件名以圆点开头的默认会被隐藏的隐藏文件。
-d --directory 通常,如果指定了目录名,ls 命令会列出这个目录中的内容,而不是目录本身。 把这个选项与 -l 选项结合使用,可以看到所指定目录的详细信息,而不是目录中的内容。
-F --classify 这个选项会在每个所列出的名字后面加上一个指示符。例如,如果名字是 目录名,则会加上一个'/'字符。
-h --human-readable 当以长格式列出时,以人们可读的格式,而不是以字节数来显示文件的大小。
-l 以长格式显示结果。
-r --reverse 以相反的顺序来显示结果。通常,ls 命令的输出结果按照字母升序排列。
-S 命令输出结果按照文件大小来排序。
-t 按照修改时间来排序。
输入:
ls -l
输出:
-rw-r--r-- 1 root root 32059 2007-04-03 11:05 oo-cd-cover.odf
解析:
-rw-r--r-- 对于文件的访问权限。第一个字符指明文件类型。在不同类型之间, 开头的“-”说明是一个普通文件,“d”表明是一个目录。其后三个字符是文件所有者的 访问权限,再其后的三个字符是文件所属组中成员的访问权限,最后三个字符是其他所 有人的访问权限。这个字段的完整含义将在第十章讨论。
1 文件的硬链接数目。参考随后讨论的关于链接的内容。
root 文件属主的用户名。
root 文件所属用户组的名字。
32059 以字节数表示的文件大小。
2007-04-03 11:05 上次修改文件的时间和日期。
oo-cd-cover.odf 文件名。
file
获取文件信息
在 Linux 系统中,并不要求文件名来反映文件的内容。
一切皆文件”。
file cnn.jpg//虽然下的jpg,实际上是一个xml文件
cnn.jpg: XML 1.0 document, ASCII text, with very long lines
less
预览文本文件
允许你前后滚动文件。q退出
命令 行为
Page UP or b 向上翻滚一页
Page Down or space 向下翻滚一页
UP Arrow 向上翻滚一行
Down Arrow 向下翻滚一行
G 移动到最后一行
1G or g 移动到开头一行
/charaters 向前查找指定的字符串
n 向前查找下一个出现的字符串,这个字符串是之前所指定查找的
h 显示帮助屏幕
q 退出 less 程序
cp — 复制文件和目录
mv — 移动/重命名文件和目录
mkdir — 创建目录
rm — 删除文件和目录
ln — 创建硬链接和符号链接
为什么不使用图形窗口完成?命令行可以完成复杂任务
比如:复制所有html文件到目标位置,但是如果目标位置已经存在的不用复制,已经存在高版本了也不用复制
cp -u *.html destination
通配符
可以用于指定文件名
* 匹配任意多个字符(包括零个或一个)
? 匹配任意一个字符(不包括零个)
[characters] 匹配任意一个属于字符集中的字符
[!characters] 匹配任意一个不是字符集中的字符
[[:class:]] 匹配任意一个属于指定字符类中的字符:
[:alnum:] Alphanumeric characters字母或数字
[:alpha:] Alphabetic characters
[:digit:] Numerals
[:upper:] Uppercase alphabetic characters
[:lower:] Lowercase alphabetic characters
举例:
[abc]* a/b/c开头的文件
[[:upper:]]* 大写开头的文件//不要使用[A-Z]*
*[![:lower:]] 不以小写结尾
BACKUP.[[:digit:]][[:digit:]],如BACKUP.12
cp
参数
-a, --archive 复制文件和目录,以及它们的属性,包括所有权和权限。 通常,复本具有用户所操作文件的默认属性。
-i, --interactive 在重写已存在文件之前,提示用户确认。如果这个选项不指定, cp 命令会默认重写文件。
-r, --recursive 递归地复制目录及目录中的内容。当复制目录时, 需要这个选项(或者-a 选项)。
-u, --update 当把文件从一个目录复制到另一个目录时,仅复制 目标目录中不存在的文件,或者是文件内容新于目标目录中已经存在的文件。
-v, --verbose 显示翔实的命令操作信息
例子
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 复制目录 dir1 中的内容到目录 dir2。如果目录 dir2 不存在, 创建目录 dir2,操作完成后,目录 dir2 中的内容和 dir1 中的一样。 如果目录 dir2 存在,则目录 dir1 (和目录中的内容)将会被复制到 dir2 中。
mv
和cp参数类似:
-i --interactive 在重写一个已经存在的文件之前,提示用户确认信息。 如果不指定这个选项,mv 命令会默认重写文件内容。
-u --update 当把文件从一个目录移动另一个目录时,只是移动不存在的文件, 或者文件内容新于目标目录相对应文件的内容。
-v --verbose 当操作 mv 命令时,显示翔实的操作信息。
例子
mv file1 file2 移动 file1 到 file2。如果 file2 存在,它的内容会被 file1 的内容重写。 如果 file2 不存在,则创建 file2。 每种情况下,file1 不再存在。
mv -i file1 file2 除了如果 file2 存在的话,在 file2 被重写之前,用户会得到 提示信息外,这个和上面的选项一样。
mv file1 file2 dir1 移动 file1 和 file2 到目录 dir1 中。dir1 必须已经存在。
mv dir1 dir2 如果目录 dir2 不存在,创建目录 dir2,并且移动目录 dir1 的内容到 目录 dir2 中,同时删除目录 dir1。如果目录 dir2 存在,移动目录 dir1(及它的内容)到目录 dir2。
rm
参数
-i, --interactive 在删除已存在的文件前,提示用户确认信息。 如果不指定这个选项,rm 会默默地删除文件
-r, --recursive 递归地删除文件,这意味着,如果要删除一个目录,而此目录 又包含子目录,那么子目录也会被删除。要删除一个目录,必须指定这个选项。
-f, --force 忽视不存在的文件,不显示提示信息。这选项颠覆了“--interactive”选项。
-v, --verbose 在执行 rm 命令时,显示翔实的操作信息。
表5-9: rm 实例
例子
命令 运行结果
rm file1 默默地删除文件
rm -i file1 除了在删除文件之前,提示用户确认信息之外,和上面的命令作用一样。
rm -r file1 dir1 删除文件 file1, 目录 dir1,及 dir1 中的内容。
rm -rf file1 dir1 同上,除了如果文件 file1,或目录 dir1 不存在的话,rm 仍会继续执行。
注意:最好rm之前ls,然后按上箭头,把ls改为mv;防止删错,不可挽回。
如
ls *.html
rm *.html
mkdir
mkdir directory...
mkdir dir1 dir2/dir3
ln
硬链接:
ln file link
类似创建文件的快捷方式,但又不一样,原名称和硬链接名称都是指向文件其实目录的指针,所以是等价的,不是说后者是前者的快捷方式:
- 只能是文件
- 只能创建同一分区的文件的硬链接
- 链接删除,文件还在
用的少
判断两个文件是否指向同一个分区地址(是不是互为硬链接);
ls -li
1211848 -rw-r--r-- 2 zhang zhang 2462 5月 20 15:59 fun
1211848 -rw-r--r-- 2 zhang zhang 2462 5月 20 15:59 fun-hard
第一个数字相同,是同一个
符号链接
类似快捷方式
ln -s item link
- 可以为文件或者文件夹创建
- 支持为不同分区的文件或文件夹创建
- 符号链接在文件夹列表中会有一个类似快捷方式的箭头
ln -s /home/me/playground/fun dir1/fun-sym
推荐使用绝对地址,就可以移动新创建的符号链接。
ls -l
lrwxrwxrwx 1 me me 6 2008-01-15 15:17 fun-sym -> ../fun
l
开头说明是一个符号链接文件
大部分针对符号链接的命令会处理实际的文件,mv命令除外,mv会删除这个符号链接。
蓝色:目录
白色:文件/硬链接
红色:没用的符号链接
亮蓝色:符号链接
命令
type – 说明怎样解释一个命令名
which – 显示会执行哪个可执行程序
man – 显示命令手册页
apropos – 显示一系列适合的命令
info – 显示命令 info
whatis – 显示一个命令的简洁描述
alias – 创建命令别名
什么是命令?
- executable program。程序,如c编写的程序
- command。shell 自身的命令,如cd
- shell function。shell 函数,如 cp
- alias。命令别名,可以自定义
怎么判断是什么命令?
[me@linuxbox ~]$ type type
type is a shell builtins//2
[me@linuxbox ~]$ type ls
ls is aliased to `ls --color=tty` //ls 并加颜色。4
[me@linuxbox ~]$ type cp
cp is /bin/cp
总结:
1,3函数:whitch(位置),–help, man,apropos
2自身命令:help
3自定义:type
which - 显示一个可执行程序的位置
只能查找类型1,3的命令。
返回所在的位置,用于查找可执行文件的位置
help - 得到 shell 内部命令的帮助文档
只能查找类型2的帮助文档
help cd
cd: cd [-L|-P] [dir]//可以有-L或者-P中的一个,可以用dir
–help - 显示用法信息
只能查找1 3
许多可执行程序支持一个 --help 选项,这个选项是显示命令所支持的语法和选项说明。例如:
[me@linuxbox ~]$ mkdir --help
Usage: mkdir [OPTION] DIRECTORY...
Create ...
man - 显示程序手册页
man ls
1 用户命令
2 程序接口内核系统调用
3 C 库函数程序接口
4 特殊文件,比如说设备结点和驱动程序
5 文件格式
6 游戏娱乐,如屏幕保护程序
7 其他方面
8 系统管理员命令
可以使用章节号,因为默认返回第一次找到的地方
man 5 passwd
apropos - 显示适当的命令
模糊搜索,等价于 man -k
whatis
针对程序:1,3
列出文档在手册中的位置;并打印一句描述
自定义命令
alias foo='cd /usr; ls; cd -'
unalias foo
alias //列出所有自定义命令
命令行定义的自定义命令会在关闭窗口时消失