系列文章目录
RHCE学习笔记2(命令格式和基本命令)
一、命令格式
在shell提示符下输入的命令由三个基本部分组成:
命令 选项 参数
·要运行的命令
·用于调整命令行为的选项
·通常作为命令的目标的参数
命令是要运行的程序的名称。其后可能跟着一个或多个选项,这些选项用于调整命令的行为或其作用。选项通常以一个或两个破折号开头(例如,-a或–all),以将其与参数区分。命令后面可能也会跟着一个或多个参数,这些参数用于指明应在其中运行命令的目标。
二、命令类型
命令在系统中分为两种类型:①内置命令(shell内置)②外部命令(在文件系统某个路径下有一个与命令名称相对应的可执行文件)。
可以通过type命令判断内置还是外置。
命令的类型有以下几种:
alias 别名
keyword 关键字,Shell保留字
function 函数,Shell函数
builtin 内置命令,Shell内置命令
file 文件,磁盘文件,外部命令
unfound 没有找到
内置命令通过help查看帮助文档,外置命令通过man查看帮助问题。
type常用参数:
type -a可以显示所有可能的类型,比如有些命令如pwd是shell内置命令,也可以是外置命令。
type -p只返回外置命令的信息,相当于which命令。
type -f只返回shell函数的信息。
type -t 只返回指定类型的信息。
三、基本命令。
'----------------------------------------------------------------------------------------------------------------ls(列出目录)
常用参数:
-a, --all :列出所有文件和目录
-A, --almost-all:不列出. 和..
--author :和-l一起使用,打印每个文件的作者
-b, --escape :打印非图形字符的C样式转义符
--block-size=SIZE:和-l一起使用,在打印时按SIZE缩放尺寸;例如'--block-size = M'
-B, --ignore-backups:不列出以〜结尾的隐含条目
-c : 和-lt一起使用: 按时间排序并显示ctime(文件状态信息的最后修改时间);
和-l一起使用:显示ctime并按名称排序;否则:按ctime排序,最新的优先
-C 按列列出条目
--color[=WHEN]
着色输出; WHEN可以是“ always”(始终)(如果省略则为默认值),“ auto”或“ never”;
-d, --directory
列出目录本身,而不是目录内容
'----------------------------------------------------------------------------------------------------------------
cd(切换目录)
cd: cd [-L|[-P [-e]] [-@]] [dir]
常用参数:
-L强制遵循符号链接:处理'..'实例后解析DIR中的符号链接
-P使用物理目录结构而不使用以下符号链接:在处理`..'实例之前先解析DIR中的符号链接。
-e如果提供了-P选项,并且无法成功确定当前工作目录,请以非零状态退出
-@在支持它的系统上,将具有扩展属性的文件显示为包含文件属性的目录
默认值是跟随符号链接,就像指定了-L一样。通过将紧接的前一个路径名部分移回斜杠或DIR的开头来处理“ …”。
退出状态:
如果更改了目录,并且使用-P时成功设置了$ PWD,则返回0;否则返回0。否则为非零。
'----------------------------------------------------------------------------------------------------------------
pwd (显示目前所在的目录)
pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。
常用参数:
-L打印$ PWD的值(如果它命名了当前工作目录
-P打印物理目录,没有任何符号链接
默认情况下,`pwd’的行为就像指定了-L一样。
退出状态:除非给出无效的选项或无法读取当前目录,否则返回0。
'----------------------------------------------------------------------------------------------------------------
mkdir (创建新目录)
如果目录不存在,则创建目录。
-m, --mode=MODE:设置文件模式(如chmod),而不是a = rwx-umask
-p, --parents:如果存在也没有错误,根据需要创建父目录
-v, --verbose:为每个创建的目录打印一条消息
-Z :将每个创建的目录的SELinux安全上下文设置为默认类型
--context[=CTX]:如-Z,或者如果指定了CTX,则将SELinux或SMACK安全上下文设置为CTX
--help:显示此帮助并退出
--version:输出版本信息并退出
'----------------------------------------------------------------------------------------------------------------
rmdir (删除空的目录)
如果目录为空,则删除目录。
--ignore-fail-on-non-empty: 忽略每个仅由于目录非空而导致的失败
-p, --parents: 删除目录及其祖先; 例如, 'rmdir -p a/b/c' 类似于'rmdir a/b/c a/b a'
-v, --verbose:为处理的每个目录输出诊断
--help:显示此帮助并退出
--version:输出版本信息并退出
'----------------------------------------------------------------------------------------------------------------
cp (复制文件或目录)
将SOURCE复制到DEST,或将多个SOURCE复制到DIRECTORY。
-a, --archive : 与-dR --preserve = all相同
--attributes-only:不复制文件数据,仅复制属性
--backup[=CONTROL]: 对每个现有目标文件进行备份
-b: 像--backup一样,但是不接受参数
--copy-contents:递归时复制特殊文件的内容
-d 与--no-dereference --preserve = links相同
-f, --force
如果无法打开现有的目标文件,请将其删除并重试(也使用-n选项时,将忽略此选项)
-i, --interactive
覆盖前提示(覆盖先前的-n选项)
-H 跟随SOURCE中的命令行符号链接
-l, --link:硬链接文件,而不是复制
-L, --dereference:始终遵循SOURCE中的软链接
-n, --no-clobber:不覆盖现有文件(覆盖先前的-i选项)
-P, --no-dereference:永不遵循SOURCE中的符号链接
-p 与--preserve = mode,ownership,timestamps相同
--preserve[=ATTR_LIST]:保留指定的属性(默认:mode,ownership,timestamps),
如果可能,还保留其他属性:context,links,xattr,all
--no-preserve=ATTR_LIST:不保留指定的属性
--parents:在目录下使用完整的源文件名
-R, -r, --recursive:递归复制目录
--reflink[=WHEN] :控制克隆/ CoW副本。
--remove-destination:尝试打开每个目标文件之前,先将其删除(与--force对比)
--sparse=WHEN:控制稀疏文件的创建
--strip-trailing-slashes:从每个SOURCE参数中删除任何结尾的斜杠
-s, --symbolic-link:进行符号链接而不是复制
-S, --suffix=SUFFIX:覆盖通常的备份后缀
-t, --target-directory=DIRECTORY:将所有SOURCE参数复制到DIRECTORY
-T, --no-target-directory:将DEST视为普通文件
-u, --update:仅在SOURCE文件比目标文件新或缺少目标文件时复制
-v, --verbose:解释正在做什么
-x, --one-file-system:留在这个文件系统上
-Z:将目标文件的SELinux安全上下文设置为默认类型
--context[=CTX]:如-Z,或者如果指定了CTX,则将SELinux或SMACK安全上下文设置为CTX
--help :显示此帮助并退出
--version:输出版本信息并退出
四、vim命令使用。
①
1.使用箭头键或hjkl键移动光标。
h(左)j(下)k(上)l(右)
2.要从shell提示符下启动Vim,请输入:vim FILENAME <ENTER>
3.要退出Vim,请输入:<ESC>:q!<ENTER>删除所有更改。
或键入:<ESC>:wq <ENTER>保存更改。
4.要删除光标处的字符,请输入:x
5.要插入或追加文本类型:
i 输入插入的文字 <ESC>插入光标之前
A 输入附加文字 <ESC>在行后追加
注意:按<ESC>将使您进入普通模式或取消不需要的且部分完成的命令。
②
1.要从光标中删除直到下一个单词,请输入 dw
2.要从光标删除到行尾,请输入d $
3.删除整行:dd
4.要重复一个动作,请在前面加上数字2w
5.更改命令的格式为:
operator [number] motion
where:
operator-是做什么的,例如d表示删除
[number]-是重复动作的可选计数
motion-在要操作的文本上移动,例如w(单词), $(到行尾),等等。
6.要移至行首,请使用零:0
7.要撤消之前的操作,请键入 u(小写u)
要撤消一行上的所有更改,请输入 U(大写U)
要撤消撤消操作,请输入 CTRL-R
③
1.要放回刚刚删除的文本,请输入p。 这会将已删除的文本放在光标之后(如果删除了一行,它将位于光标下方的行上)。
2.要替换光标下方的字符,请键入r,然后输入要在其中包含的字符。
3.更改操作符允许您从光标更改为移动到的位置。 例如。 键入ce从光标更改到单词的末尾,键入c $更改到行的末尾。
4.更改格式为:
c [number] motion
④
1.CTRL-G显示您在文件中的位置和文件状态。
G移至文件末尾。
number G移至该行号。
gg移至第一行。
2.键入/后跟一个短语,然后在FORWARD中搜索该短语。
键入?在搜索之后,键入n以查找相同方向的下一个匹配项,或者键入N以相反的方向搜索。
CTRL-O将您带回到较旧的位置,CTRL-I将您带回到较新的位置。
3.当光标位于(,),[,],{或}上时,键入%会使其匹配。
4.用新的代替行中的第一个旧的:s / old / new
要用一行中的所有“旧”替换新的:s / old / new / g
要在两行#的类型之间替换短语,请输入:#,#s / old / new / g
要替换文件中所有出现的内容,请输入:%s / old / new / g
要每次都要求确认,请添加“ c”:%s / old / new / gc
⑤
1.:!command执行外部命令。
一些有用的示例是:
(MS-DOS)(Unix)
:!dir :!ls-显示目录列表。
:!del文件名 :!rm文件名-删除文件FILENAME。
2. :w FILENAME将当前Vim文件以FILENAME的名称写入磁盘。
3. v motion:w FILENAME将可视选择的行保存在文件FILENAME中。
4. :r FILENAME检索磁盘文件FILENAME并将其放在光标位置下方。
5. :r!dir读取dir命令的输出并将其放在光标位置下方。
⑥
1.键入o在光标下方打开一行并启动插入模式。
键入O以在光标上方打开一行。
2.键入a在光标之后插入文本。
键入A以在行尾插入文本。
3. e命令移至单词的末尾。
4.y运算符拖动(复制)文本,p放置(粘贴)文本。
5.键入大写字母R进入替换模式,直到按下为止。
6.键入“:set xxx”设置选项“ xxx”。 一些选项是:
‘ic’'ignorecase’在搜索时忽略大小写
‘is’'incsearch’显示搜索词组的部分匹配
‘hls’'hlsearch’突出显示所有匹配的短语
您可以使用长或短选项名称。
7.加上“ no”以关闭选项::set noic
⑦
1.键入:help或按<F1>或<Help>打开帮助窗口。
2.键入:help cmd以在cmd上查找帮助。
3.键入CTRL-W CTRL-W跳到另一个窗口
4.键入:q关闭帮助窗口
5.创建一个vimrc启动脚本以保留您的首选设置。
开始编辑“ vimrc”文件。 这取决于您的系统:
:e〜/ .vimrc 对于Unix
:e $ VIM / _vimrc 对于MS-Windows
现在阅读示例“ vimrc”文件的内容:
:r $ VIMRUNTIME / vimrc_example.vim
使用以下命令写入文件:
:w
6.键入:命令时,按CTRL-D查看可能的补全。
按<TAB>键使用补全。