CentOS基础命令

一、 基础命令

man 命令帮助

SYNOPSIS 用法格式说明 •
[] 可选内容 •
<> 必选内容 •
a|b 二选一 •
{ } 分组 •
… 同一内容可出现多次 
DESCRIPTION 详细说明 
OPTIONS 选项说明 
EXAMPLES 示例 
FILES 相关文件 
AUTHOR 作者 
COPYRIGHT 版本信息 
REPORTING BUGS bug信息 
SEE ALSO 其它帮助参考

help 内部命令帮助

#whatis [command] 显示command的帮助用法
二、文件目录操作

ls 列出目录属性信息

-a 包含隐藏文件
-l 显示详细的信息
-R 目录递归打开文件看信息
-d 目录和符号链接信息
-1 文件分行显示
–S 按从大到小排序
–t 按mtime排序
–u 配合-t选项,显示并按atime从新到旧排序
–U 按目录存放顺序显示
–X 按文件后缀排序

  • #ls /etc/*.conf
    ? 字符

cd 当前目录切换指定目录

cp 复制文件或目录

-i:覆盖前提示
-f 先删除后创建新文件
-p 保留一部分
-v 显示过程
-a 全部保留、原始内容作为备份

mkdir 创建目录

-p: 存在于不报错,且可自动创建所需的各目录
-v: 显示详细信息
-m MODE: 创建目录时直接指定权限

mv 移动或重命名

mv [OPTION]… -t DIRECTORY SOURCE…
-i: 交互式
-f: 强制
#pwd 显示当前绝对路径
#rename 重命名文件

touch 创建空文件 改变已有文件的时间及属性

touch [OPTION]… FILE…
-a 仅改变 atime和ctime
-m 仅改变 mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的时间戳
-c 如果文件不存在,则不予创建

tree 以树形结构显示目录内容

-d: 只显示目录
-L level:指定显示的层级数目
-P pattern: 只显示由指定pattern匹配到的路径

basename 显示文件名或目录名

chattr 改变文件扩展属性

#dirname 显示文件目录路径

lsattr 查看文件扩展属性

file 显示文件的类型

-b 列出文件辨识结果时,不显示文件名称
-f filelist 列出文件filelist中文件名的文件类型
-F 使用指定分隔符号替换输出文件名后默认的”:”分隔符
-L 查看对应软链接对应文件的文件类型
–help 显示命令在线帮助

rm 删除

-i: 交互式
-f: 强制删除
-r: 递归
–no-preserve-root
#ln 创建硬链接
例:#ln 旧文件自动创建新文件

rmdir 删除空目录

-p: 递归删除父空目录
-v: 显示详细信息

ifconfig;ip addr 网卡信息

lscpu cpu信息

#uname -a 内核信息/操作系统/cpu

free;cat /proc/meminfo 内存信息

lsblk 磁盘分区.

三、内部处理命令

cat 连接多个文件并且打印到屏幕输出定向指定文件中

cat [OPTION]… [FILE]…
-E: 显示行结束符$
-n: 对显示出的每一行进行编号
-A:显示所有控制符
-b:非空行编号
-s:压缩连续的空行成一行

tac tac是cat从尾看到头

more 分页显示文件内容

-d: 显示翻页及退出提示

less 一页一页显示文件内容

查看时有用的命令包括:
/文本 搜索 文本
n/N 跳到下一个 或 上一个匹配

head 显示文件内容的开头

-c #: 指定获取前#字节
-n #: 指定获取前#行
-#: 指定行数
例:#head -n10 /etc/passwd 显示前十行
例:#head -c10 /etc/passwd 显示前十个字节

tail 显示文件内容的尾部

-c #: 指定获取后#字节
-n #: 指定获取后#行
-#: -f: 跟踪显示文件fd新追加的内容,常用日志监控
相当于 --follow=descriptor
-F: 跟踪文件名,相当于—follow=name --retry
例:#tail -f /var/log/httpd/access-log 观察日志的变化
例:统计/var/log/httpd/access-log日志中访问IP地址数量、统计前十IP地址。
#cat /var/log/httpd/access_log |cut -d" " -f1|sort|uniq -c |sort -nr |head -n10

cut 过滤

-d DELIMITER: 指明分隔符,默认tab
-f FILEDS:
#: 第#个字段
#,#[,#]:离散的多个字段,例如1,3,6
#-#:连续的多个字段, 例如1-6
混合使用:1-3,7
-c 按字符切割 --output-delimiter=STRING指定输出分隔符
显示文件或STDIN数据的指定列
例:#cut -d: -f1 /etc/passwd
例:#cat /etc/passwd | cut -d: -f7
例:#cut -c2-5 /usr/share/dict/words
例:#who |cut -c1-9 取出1-9字节
例:#cut -d: -f1,2,7 /etc/passwd
例:#df |cut -c44-46
例:#df |tr -s” “ |cut -d” “ -f5 |tr -d %
例:#cut -d: -f1,3 --output -delimiter="-" /etc/passwd
例:#cut -d: -f1,3 /etc/passwd|sort -t: -k2 -nr 取出userUID大到小

split 分割文件为不同的小片段

-b 指定大小
-d 指定目录

paste 按行合并文件内容

paste [OPTION]… [FILE]…
-d 分隔符:指定分隔符,默认用TAB
-s : 所有行合成一行显示
paste f1 f2
paste -s f1 f2

sort 按文件内容排序

sort [options] file(s) 
常用选项 
-R 随机排序
-r 执行反方向(由上至下)整理 
-n 执行按数字大小整理 
-f 选项忽略(fold)字符串中的字符大小写 
-u 选项(独特,unique)删除输出中的重复行 
-t c 选项使用c做为字段界定符 
-k X 选项按照使用c字符分隔的X列来整理能够使用多次

uniq 从输入中删除前后相接的重复的行

uniq [OPTION]… [FILE]…
-c: 显示每行重复出现的次数
-d: 仅显示重复过的行
-u: 仅显示不曾重复的行
连续且完全相同方为重复

wc 统计文件的行数 单词数或字节数

wc story.txt
39 237 1901 story.txt
行数 字数 字节数 
常用选项  -l 只计数行数 
-w 只计数单词总数 
-c 只计数字节总数 
-m 只计数字符总数 
-L 显示文件中最长行的长度

iconv 转换文件的编码格式

dos2unix 将DOS格式转换UNIX格式

#diff 命令行可视文件比较工具常用文本
-u 额外信息
-b备份
例:#diff filename1.txt filename2.txt
5c5
< use_widgets = no

use_widgets = yes 
注明第5行有区别(改变)

vimdiff 命令行可视化比较工具 用于文本

#rev 反向输出内容

grep 文本编辑器grep sed awk

alias grep=’grep --color=auto’ 定义颜色
例:#grep root /etc/passwd
例:#grep “$user” /etc/passwd
-v: 显示不被pattern匹配到的行 
-i: 忽略字符大小写 
-n:显示匹配的行号 
-c: 统计匹配的行数 
-o: 仅显示匹配到的字符串 
-q: 静默模式,不输出任何信息 
-A #: after, 后#行 
-B #: before, 前#行 
-C #:context, 前后各#行 
-e:实现多个选项间的逻辑or关系
例:#grep –e ‘cat ’ -e ‘dog’ file
例:#  grep -e root -e bash /etc/passwd
| 并关系
例:#grep root /etc/passwd| grep bash
-w:匹配整个单词 
-E:使用ERE 
-F:相当于fgrep,不支持正则表达式

字符匹配:
. 匹配任意单个字符
[] 匹配指定范围内的任意单个字符
[^] 匹配指定范围外的任意单个字符
[:alnum:] 字母和数字
[:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z
[:lower:] 小写字母
[:upper:] 大写字母
[:blank:] 空白字符(空格和制表符)
[:space:] 水平和垂直的空白字符(比[:blank:]包含的范围广)
[:cntrl:] 不可打印的控制字符(退格、删除、警铃…)
[:digit:] 十进制数字
[:xdigit:]十六进制数字
[:graph:] 可打印的非空白字符
[:print:] 可打印字符
[:punct:] 标点符号
匹配次数:
用在要指定次数的字符后面,用于指定前面的字 符要出现的次数

  • 匹配前面的字符任意次,包括0次 贪婪模式:尽可能长的匹配
    .* 任意长度的任意字符
    ? 匹配其前面的字符0或1次
    + 匹配其前面的字符至少1次
    {n} 匹配前面的字符n次
    {m,n} 匹配前面的字符至少m次,至多n次
    {,n} 匹配前面的字符至多n次
    {n,} 匹配前面的字符至少n次
    位置锚定:定位出现的位置
    ^ 行首锚定,用于模式的最左侧
    $ 行尾锚定,用于模式的最右侧
    ^PATTERN$ 用于模式匹配整行
    ^$ 空行
    1$ 空白行
    < 或 \b 词首锚定,用于单词模式的左侧
    > 或 \b 词尾锚定;用于单词模式的右侧
    <PATTERN> 匹配整个单词
    分组:
    () 将一个或多个字符捆绑在一起,当作一个整体进 行处理,如:(root)+ 
    分组括号中的模式匹配到的内容会被正则表达式引擎记录于 内部的变量中,这些变量的命名方式为: \1, \2, \3, … 
    \1 表示从左侧起第一个左括号以及与之匹配右括号之间的 模式所匹配到的字符 
    示例: (string1+(string2)
    )
    \1 :string1+(string2)*
    \2 :string2 
    后向引用:引用前面的分组括号中的模式所匹配字符,而非 模式本身 
    或者:| 示例:a|b: a或b C|cat: C或cat (C|c)at:Cat或cat
    #egrep 扩展正则表达式
    egrep = grep -E 
    egrep [OPTIONS] PATTERN [FILE…] 
    扩展正则表达式的元字符: 
    字符匹配:
    . 任意单个字符
    [] 指定范围的字符
    [^] 不在指定范围的字符
    次数匹配:
  • 匹配前面字符任意次
    ?: 0或1次 +:1次或多次
    {m}:匹配m次
    {m,n}:至少m,至多n次
    位置锚定:
    ^ :行首
    $ :行尾
    <, \b :语首
    >, \b :语尾 
    分组:
    ( )
    后向引用:\1, \2, … 
    或者: a|b: a或b
    C|cat: C或cat
    (C|c)at:Cat或cat
    #sed 文本编辑器
    sed [option]… ‘script’ inputfile… 
    常用选项:
    -n:不输出模式空间内容到屏幕,即不自动打印
    -e: 多点编辑
    -f:/PATH/SCRIPT_FILE: 从指定文件中读取编辑脚本
    -r: 支持使用扩展正则表达式
    -i.bak: 备份文件并原处编辑 
    script: ‘地址命令’
    地址定界:
    (1)不给地址:对全文进行处理
    (2)单地址:
    #: 指定的行,$:最后一行
    /pattern/:被此处模式所能够匹配到的每一行
    (3)地址范围: #,# #,+# /pat1/,/pat2/ #,/pat1/
    (4) ~:步进 1~2 奇数行 2~2 偶数行
    编辑命令:
    d: 删除模式空间匹配的行,并立即启用下一轮循环
    p:打印当前模式空间内容,追加到默认输出之后
    a []text:在指定行后面追加文本 支持使用\n实现多行追加
    i []text:在行前面插入文本
    c []text:替换行为单行或多行文本
    w /path/somefile: 保存模式匹配的行至指定文件
    r /path/somefile:读取指定文件的文本至模式空间中
    匹配到的行后
    =: 为模式空间中的行打印行号
    !:模式空间中匹配行取反处理
    s///:查找替换,支持使用其它分隔符,s@@@,s### 
    例: #sed ‘s/bash/jiangxiaoxiao/’ /etc/passwd 将/bash替换/jiangxiaoxiao
    #sed ‘s/root/jiangxiaoxiao/g’ /etc/passwd 全局替换
    正则#sed -r ‘s/(bash)/\1love/g’ /etc/passwd 在bash后面追加love
    #sed -r “s/(root)/jiangxiaoxiao\1/g” /etc/passwd 全局root前面追加
    #sed -r ‘s/(.*)/\1 jiangxiaoxiao/’ /etc/passwd 全局在尾部加上

sed -r ‘s/(.*)/jiangxiaoxiao\1/’ /etc/passwd全局在首部加上

#ifconfig |sed -r “s@.inet(.)net.*@\1@”|head -n2|tail -n1

seq 1 10 |sed ‘N;s/\n//’

#seq 1 10 |xargs -n2
替换标记:
g: 行内全局替换
p: 显示替换成功的行
w /PATH/TO/SOMEFILE:将替换成功的行保存至文件中
示例
#sed ‘2p’ /etc/passwd 
#sed –n ‘2p’ /etc/passwd 
#sed –n ‘1,4p’ /etc/passwd 
#sed –n ‘/root/p’ /etc/passwd 
#sed –n ‘2,/root/p’ /etc/passwd 从2行开始 
#sed -n ‘/^KaTeX parse error: Unexpected character: '' at position 18: …’ file 显示空行行号 ̲ #sed –n –e ‘/^/p’ –e ‘/^KaTeX parse error: Unexpected character: '' at position 11: /=’ file ̲ #sed ‘/root/…/d’ file 
#sed ‘1,10d’ file 
#nl /etc/passwd | sed ‘2,5d’ 
#nl /etc/passwd | sed ‘2a tea’ 
#sed ‘s/test/mytest/g’ example 
#sed –n ‘s/root/&superman/p’ /etc/passwd 单词后 
#sed –n ‘s/root/superman&/p’ /etc/passwd 单词前 
#sed -e ‘s/dog/cat/’ -e ‘s/hi/lo/’ pets 
#sed –i.bak ‘s/dog/cat/g’ pets
#ifconfig ens33 |sed -n ‘2p’ 取IP这行
高级编辑命令
P:打印模式空间开端至\n内容,并追加到默认输出之前 
h: 把模式空间中的内容覆盖至保持空间中 
H:把模式空间中的内容追加至保持空间中 
g: 从保持空间取出数据覆盖至模式空间 
G:从保持空间取出内容追加至模式空间 
x: 把模式空间中的内容与保持空间中的内容进行互换 
n: 读取匹配到的行的下一行覆盖至模式空间 
N:读取匹配到的行的下一行追加至模式空间 
d: 删除模式空间中的行 
D:如果模式空间包含换行符,则删除直到第一个换行符的模 式空间中的文本,并不会读取新的输入行,而使用合成的模式 空间重新启动循环。如果模式空间不包含换行符,则会像发出 d命令那样启动正常的新循环
示例
sed -n ‘n;p’ FILE 
sed ‘1!G;h;KaTeX parse error: Unexpected character: '' at position 10: !d' FILE ̲ sed 'N;D‘ FIL…!N;KaTeX parse error: Unexpected character: '' at position 10: !D' FILE ̲ sed '!d’ FILE 
sed ‘G’ FILE 
sed ‘g’ FILE 
sed ‘/^KaTeX parse error: Unexpected character: '' at position 12: /d;G’ FILE ̲ sed 'n;d' FILE…p’ FILE

join 按两个文件的相同字字段合并

tr 替换或删除字符

-c –C --complement:取字符集的补集
-d --delete:删除所有属于第一字符集的字符
-s --squeeze-repeats:把连续重复的字符以单独一个字符表示<

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值