RHCSA 4 基础命令2

主要介绍

  • shell:壳,命令解释器,负责解析用户输入的命令

  • man bash
    man cd
    man ls

  • type 查看命令是file、alias还是builtin

  • 内置命令 (shell内置)。

  • 外置命令,在文件系统的某个目录下,有个与命令名称相同的文件。

  • -区别:shell为了完成自我管理和基本的管理,不同的shell内置不同的命令,但是大部分都差不多。
    -t 仅列出命令执行时的依据
    -a 列出当前命令可以如何执行
    那命令怎么知道是那个路径下的命令呢?系统为了让用户在命令行快速方便地执行命令,用一种机制来实现,这种机制就叫做环境变量。
    变量是什么?变量是命名的内存空间。

shell的变量功能

变量简单说就是让某一个代特定字符串表不固定的内容。

  • 设置变量(变量名的规则:用“=”连接;等号两边不能有空格符;只能使用数字和字母,且不能用数字开头;):
    myname=redhat(变量声明的过程就是申请内存使用的过程)
    环境变量
    定义当前用户工作环境属性的变量
    PATH:从哪些路径中查找用户键入的命令字符串所对应的的命令文件:echo $PATH
    取消变量:unset 变量名称

cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh

  • /bin/bash优点:
    命令与文件补全功能
    命令别名设置功能
    命令记忆功能
    通配符等等

  • history 命令历史
    命令历史文件为~/.bash_history

命令解释
n列出目前最近的n条信息
-c清除命令历史
!!执行上一个命令
number 执行命令历史中第几条命令
  • shell中的通配符:bash中常用的通配符有”*“,”?“,”[]“
命令解释
*表示匹配任意零个或多个字符
表示匹配任意单一字符
[]匹配任何包含在方括号内的单字符
  • shell中的引用:在bash中有很多特殊字符,这些特殊字符就具有特殊含义。引用就是通知shell将这些特殊字符当作普通字符来处理。
  • 转义字符“\”:如果将\放到特殊字符前面,shell就忽略这些特殊字符的原有含义,把它们当作普通字符对待。

mkdir 1*
ls -ld 1*
ll -d 1*

  • 单引号:如果将字符串放到一对单引号之间,那么字符串中所有字符的特殊含义被忽略。

ll -d 1’*’

  • 双引号:双引号的引用与单引号基本相同,包含在双引号内的大部分特殊字符可以当作普通字符处理,但是仍然有一些特殊字符保留自己的特殊含义,比如”$“和“\”以及“ ` ”
ll -d 1"*"
myname=redhat
echo “$myname”
echo   “\$$myname”
echo    "`date` "

文本编辑vim

  1. 命令模式:按esc键可回到命令模式
命令解释
dd删除当前行
dw按单词删除
u撤销当前操作
ctrl+r重做
yy复制光标所在行
2 yy复制光标所在行和光标下一行
p粘贴到光标下一行
cc剪切
行数cc剪切当前行开始的几行
x删除光标所在位置的内容
w,b按单词进行移动光标
gg跳转到文档首部行首
dgg删除光标至文档首部
G跳转到文档尾部行首
/字符串1查找字符串1
$行尾
^行首
h往左按字符移动光标
j往下(后)按行移动光标
k往上(前)按行移动光标
l往右按字符移动光标
H跳转到当前屏幕输出的最上面一行
L跳转到当前屏幕输出的最下面一行
M跳转到当前屏幕输出的中间那一行
  1. 插入模式:
命令解释
i在光标前插入
I在光标所在行行首插入
a在光标后插入
A在光标所在行末尾插入
s删除光标所在位置字符并插入
S删除光标所在行并插入
o在光标所在行下一行插入
O在光标所在行上一行插入
  1. 末行模式:
命令解释
:wq保存退出
:q退出(未修改文件内容才可以退出)
:wq!强制保存退出
:q!强制退出,不保存
:set nu显示行号
:set nonu不显示行号
:行号跳转到指定行号
:3,5 d删除3-5行
:r 文件名1读出文件1的内容到当前文件里
:%s/字符串2/字符串3字符串3替换字符串2
:%s/1/2/g将1替换为2,全局修改
:w 文件名1另存为文件名1

文本查看命令

  • cat连接并显示文件内容到标准输出
    显示文件内容并显示行号:cat -n 文件名

  • 黑洞机制(shell脚本里面经常用)
    将文件内容重定向到/dev/null:cat 文件 >/dev/null
    不带任何选项时,从标准输入接收输出到标准输出

  • 逆序显示文件:tac

  • 从头开始逐行查看:more /var/log/messages
    在没有翻到最后一屏时支持向前翻

  • 前后查看文件内容:less /var/log/messages
    man手册查看命令用法默认用less打开

  • 默认查看文件前10行:head /etc/passwd
    指定查看前5行:head -5 /etc/passwd

  • 默认查看后10行:tail /etc/passwd
    查看后5行:tail  -5 /etc/passwd

文本处理

  1. 文本切割显示:
    cut -d 指定分隔符 -f 指定第几列 被切割文件
命令解释
cut -f 1,3切割第一列和第三列
cut -f 1-3切割第一列到第三列
cut -c 1-4切割指定第一到第四个字符

指定分隔符的时候空格需要用单引号或双引号引起来
cut -d : -f 1-3 --output-delimiter=@ /etc/passwd

  1. 文本排序显示
命令解释
sort 文件名排序显示(默认根据字符在ASCII码中的升序排序):
sort -n 文件名按照数值大小排序
sort -u 文件名排序并去掉重复的
sort -r 文件名逆序排序
sort -t 指定分隔符 -k 指定第几列 -n /etc/passwd按照用户uid数字大小排序显示:
sort -f 文件名排序时忽略字符大小写
sort uniq 文件名去掉重复的行,重复的行必须相邻
sort -d 文件名只显示重复的行
sort -D 文件名显示所有重复的行
sort -c 文件名显示重复行重复的次数
  1. 文本统计
    wc——word count
  • 在UTF-8编码格式里面,显示时一个字符占一个字节,一个中文字占用3个字节
命令解释
wc 文件名显示文件行数、单词数、字节数和文件名
wc -w 文件名只显示单词数
wc -c 文件名只显示字节数
wc -l 文件名只显示行数
wc -m 文件名只显示字符数
wc -L 文件名显示最长的一行的字符数
  • 统计当前目录下的文件数:

ls -l | wc -l
ls | wc -l

4.文本过滤

  • grep可以根据指定的字符串,对文件的每一行进行搜索,如果找到了这个字符串,就输出该行的内容
命令解释
grep h 文件名查找文件里有字符h的字符串:
grep -w 单词 文件名匹配整个单词:
grep ^ [ q ] 文件名匹配以q开始的行:
grep q$ 文件名匹配以q结束的行:
grep ^ [0-9] 文件名匹配以数字开头的行:
grep ^ [qf] 文件名匹配以q或者f开头的行:
grep “^#”匹配以#号开头的行:
grep “^$”过滤空白行:
grep -r h ./*如果要明确搜索子目录:
grep -d skip h ./*忽略子目录:
grep -i搜索时忽略大小写:
grep -v搜索时显示没有匹配到的行:
grep -A 2搜索时显示匹配到的那一行以及下2行:
grep -B 2搜索时显示匹配到的那一行以及上2行:
grep -C 2搜索时显示匹配到的那一行以及上下2行
  • 管道符|:管道符左边命令的输出作为管道符右边命令的输入。
  • tee命令:在输出到文件的同时输出到屏幕,既想把输出保存到文件中,又想在屏幕上看到输出内容。
  1. 文件搜索:
  • 查找文件路径:
    find 路径 -name 文件名:find / -name passwd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值