title: SHELL 提示符学习汇总
data: 2018-8-20
tags: [shell , 提示符 , 学习]
categories: [SHELL,学习,命令行]
grammar_cjkRuby: true
copyright: true
学习Linux,怎么能不会命令行呢?本文是对Linux命令行的学习过程记录。
简单命令
-
date
显示当前时间和日期。 -
df
查看磁盘使用情况。 -
exit
结束终端会话。 -
pwd
打印出当前工作目录名。 -
cd
更改目录。 -
ls
列出目录内容。 以.
字符开头的文件名是隐藏文件。这仅表示,ls 命令不能列出它们,用ls -a
命令就可以了。 -
file
确定文件类型。 -
less
浏览文件内容。按下 q 按键退出 -
file filename
打印出文件内容的简单描述。
cd快捷键
cd
更改工作目录到你的家目录。cd-
跟改工作目录到先前的工作目录。cd ̃user name
更改工作目录到用户家目录。- 符号
.
指的是工作目录,..
指的是工作目录的父目录。
ls快捷指令
-a
--all
列出所有文件,甚至包括文件名以圆点开头的默认会被隐藏的隐藏文件。-d
--directory
通常,如果指定了目录名,ls 命令会列出这个目录中的内容,而不是目录本身。把这个选项与 -l 选项结合使用,可以看到所指定目录的详细信息,而不是目录中的内容。-F
-classify
这个选项会在每个所列出的名字后面加上一个指示
符。例如,如果名字是目录名,则会加上一个’/’ 字
符。-h
--human-readable
当以长格式列出时,以人们可读的格式,而不是以字
节数来显示文件的大小。-l
以长格式显示结果。-r
--reverse
以相反的顺序来显示结果。通常,ls 命令的输出结果
按照字母升序排列。-S
命令输出结果按照文件大小来排序。-t
按照修改时间来排序。
操作文件和目录
-
cp
复制文件和目录 -
mv
移动/重命名文件和目录 -
mkdir
创建目录 -
rm
删除文件和目录 -
ln
创建硬链接和符号链接
通配符
*
匹配任意多个字符(包括零个或一个)?
匹配任意一个字符(不包括零个)[characters]
匹配任意一个属于字符集中的字符[!characters]
匹配任意一个不是字符集中的字符[[:class:]]
匹配任意一个属于指定字符类中的字符[:alnum:]
匹配任意一个字母或数字[:alpha:]
匹配任意一个字母[:digit:]
匹配任意一个数字[:lower:]
匹配任意一个小写字母[:upper]
匹配任意一个大写字母
cp的应用
-a, --archive
复制文件和目录,以及它们的属性,包括所有权和权限。通
常,复本具有用户所操作文件的默认属性。-i, --interactive
在重写已存在文件之前,提示用户确认。如果这个选项不指
定,cp 命令会默认重写文件。-r, --recursive
递归地复制目录及目录中的内容。当复制目录时,需要这个
选项(或者 -a 选项)。-u, --update
当把文件从一个目录复制到另一个目录时,仅复制目标目录
中不存在的文件,或者是文件内容新于目标目录中已经存在
的文件。-v, --verbose
显示翔实的命令操作信息。
mv应用举例
-
-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 命令时,显示翔实的操作信息。
ln 创建链接
ln 命令即可创建硬链接,也可以创建符号链接。可以用其中一种方法来使用它:ln file link
创建硬链接,和:ln -s item link
创建符号链接,“item” 可以是一个文件或是一个目录。
使用命令
type
–说明怎样解释一个命令名which
–显示会执行哪个可执行程序man
–显示命令手册页apropos
–显示一系列适合的命令info
–显示命令 infowhatis
–显示一个命令的简洁描述alias
–创建命令别名
type命令
type
命令是 shell 内部命令,它会显示命令的类别,给出一个特定的命令名(做为参数)。它像这样工作:type command
。
which命令
为了确定所给定的执行程序的准确位置,使用 which
命令:
[me@linuxbox ~]$ which ls
/bin/ls
man命令
许多希望被命令行使用的可执行程序,提供了一个正式的文档,叫做手册或手册页 (manpage)。一个特殊的叫做 man 的分页程序,可用来浏览他们。它是这样使用的:man program
。
appopos命令
apropos
-显示适当的命令,也有可能搜索参考手册列表,基于某个关键字的匹配项。输出结果每行的第一个字段是手册页的名字,第二个字段展示章节。注意,man 命令加上“-k” 选项,和 apropos 完成一样的功能。(在手册页搜素关键字)
whatis命令
whatis
程序显示匹配特定关键字的手册页的名字和一行命令说明。
info命令
info
-显示程序 Info 条目。GNU 项目提供了一个命令程序手册页的替代物,称为 “info”。info 内容可通过 info 阅读器程序读取。info 页是超级链接形式的,和网页很相似。
alias命令
alias name='string'
创建自己的命令,删除别名使用 unalias 命令。
重定向—>``<
shell 内部参考标准输入,输出和错误为各自的文件描述符 0,1 和 2。shell 提供了一种表示法来重定向文件,使用文件描述符。
cat
-连接文件sort
-排序文本行uniq
-报道或省略重复行grep
-打印匹配行wc
-打印文件中换行符,字,和字节个数head
-输出文件第一部分tail
- 输出文件最后一部分tee
-从 Stdin 读取数据,并同时输出到 Stdout 和文件
cat
命令
cat
命令读取一个或多个文件,然后复制它们到标准输出,就像这样:cat [file]
管道线
命令可以从标准输入读取数据,然后再把数据输送到标准输出,命令的这种能力被一个shell 特性所利用,这个特性叫做管道线。使用管道操作符 “|”(竖杠),一个命令的标准输出可以管道到另一个命令的标准输入:
command1 | command2
过滤器
管道线经常用来对数据完成复杂的操作。有可能会把几个命令放在一起组成一个管道线。通常,以这种方式使用的命令被称为过滤器。过滤器接受输入,以某种方式改变它,然后输出它。举例:ls /bin /usr/bin | sort | less
uniq命令
uniq 从标准输入或单个文件名参数接受数据有序列表(详情查看 uniq 手册页),默认情况下,从数据列表中删除任何重复行。加-d
后显示重复行。
wc命令
wc(字计数)命令是用来显示文件所包含的行,字和字节数。
grep命令
grep
是个很强大的程序,用来找到文件中的匹配文本。这样使用 grep 命令:grep pattern [file...]
grep
有-对方便的选项:“-i” 导致 grep 忽略大小写当执行搜索时(通常,搜索是大小写敏感的),“-v” 选项会告诉 grep 只打印不匹配的行。
head/tail命令
有时候不需要一个命令的所有输出。可能你只想要前几行或者后几行的输出内容。head命令打印文件的前十行,而 tail 命令打印文件的后十行。默认情况下,两个命令都打印十行文本,但是可以通过 “-n” 选项来调整命令打印的行数。
tee命令
tee
程序从标准输入读入数据,并且同时复制数据到标准输出(允许数据继续随着管道线流动)和一个或多个文件。当在某个中间处理阶段来捕捉一个管道线的内容时,这很有帮助。