LINUX基础命令运用

linux基础命令

stat

uname

alias

    • alias
      • 显示别名列表
    • alias  key=command

      • alias nk='cd /etc/sysconfig/network-scripts/'

yum

    • 温馨提示:在开发过程中,使用的是阿里云yum源

curl

    • curl 是一个工具,用于传输来自服务器或者到服务器的数据。「向服务器传输数据或者获取来自服务器的数据」
    • 访问网页
      • curl  网页地址
    • 下载网络服务器资源
    • 常用参数

wget

whereis

    • 用于查找文件:whereis 文件名
      • 该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。  该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。
      • 选项:

      • 例子:

whatis

    • 查看命令手册页信息:whatis  命令
      • 精确匹配:whatis 

      • 正则匹配:whatis -r
        • whatis -r   ^ls
          • 查询以ls为首的手册
        • whatis -r  ls\$
          • 查询以ls结尾的手册
        • whatis  -r  ^ls\$
          • 查询包含ls的手册
      • 通配符匹配:whatis -w
        • whatis  -w  ls*
          • 查询以ls为首的手册
        • whatis  -w  *ls
          • 查询以ls结尾的手册
        • whstis  -w  *ls*
          • 查询包含ls的手册

which

    • 用于查看给定命令的绝对路径:which 命令

date

    • date '+%Y-%m-%d %H-%M-%S' 
      • 年:%Y
      • 月:%m
      • 日:%d
      • 小时:%H
      • 分:%M
      • 秒:%S
      • 例子:

    • date '+%F-%T'
      • 年月日:%F
      • 时分秒:%T
      • 例子:

系统启动时间

    • last reboot
      • 查看启动系统历史时间记录:last reboot
      • 查看最近的一次启动系统时间:last reboot | head -n1
    • who
      • who 命令用来打印当前登录的用户信息,包含了系统的启动时间 、 活动进程 、 使用者 ID、使用终端等信息,是系统管理员了解系统运行状态的常用命令。
      • 查看所有选项的组合命令:who -a
      • 查看最后一次系统启动时间: who -d
      • 查看当前的运行级别: who -r
      • 列出已登录的用户:who -u
    • uptime
      • up后表示系统到目前运行了多久时间

tree

    • 以树形显示目录结构
    • tree 目录
      • 不包括隐藏文件夹
    • tree -a 目录 
      • 包括隐藏文件夹
    • tree -h 目录
      • 显示文件的大小(KB,MB,GB)
    • tree -L 1 目录
      • 显示文件的层级,1表示1层,可改变
    • tree -f 目录 
      • 显示每层的完整路径
    • tree - o 文件存储地址 目录 
      • 将显示的目录存储在文件中

查看文件内容

    • cat
      • cat file
        • 查看文件内容(适合小型文件)
      • cat -n  file 
        • 带行号的方式,显示文件内容
      • cat  -a file
        • 显示文件内的隐藏信息,通常用来检查从windows中复制到linux中的文件内容
    • tac
      • tac file
        • 以倒立式查看文件内容(适合小型文件),是cat的反面
    • more
      • more file
        • 以全屏幕的方式按页显示文件内容(适合小型文件)
      • 内部命令

    • less
      • less file 
        • 相比于more,功能更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容(对于显示大型文件具有较高的效率)。
      • 内部命令

    • head
      • head -n  file
        • 显示文件的前n行
    • tail
      • tail -n file
        • 显示文件的后n行
      • tail -F file
        • 常用于实时监控log文件

diff

    • diff 以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则 diff 会比较目录中相同文件名的文件,但不会比较其中子目录。
    • 正常格式(normal diff)(默认模式)
      • diff  t1  t2
        • 使用diff命令,对t1和t2文件进行对比,得出结果,进行分析,具体看下面案例和解析
        • 案例:

        • 解析: 第一行:3c3 是一个提示,用来说明变动位置。3c3 分成 三个部分:前面的"3",表示 t1 的第 3 行有变化;中间的 "c" 表示变动的模式是内容改变(change),其他模式还有"增加"(a,代表addition)和"删除"(d,代表deletion);后面的"3",表示变动后变成 t2 的第 3 行。  第二行:< a 分成两个部分。< a:前面的 小于号,表示要从 t1 当 中去除该行(也就是第 4 行),后面的 "a" 表示该行的内容。  第三行:--- 分隔线
        • 总结: 带有c,a,d的表明哪一行出现不同,<表示问题出在左侧文件,>表示问题出在右侧文件
    • 上下文格式(context diff)
      • diff -c  t1  t2
        • 使用context模式进行两个文件的匹配不同,相比normal模式,更加符合人类阅读
        • 案例:

        • 解析: 这个结果分为四个部分 第一部分的两行,显示两个文件的基本情况:文件名和时间信息。 *** t1     2023-04-25 17:19:42.996495774 -0400 --- t2 2023-04-25 17:19:56.086494853 -0400 提示:"***" 表示变动前的文件,"---" 表示变动后的文件。 第二部分是15个星号,将文件的基本情况与变动内容分割开。 *************** 第三部分显示变动前的文件,即 t1。   *** 1,4 ****    a    a   !a    a 这时不仅显示发生变化的第 3 行,还显示第 3 行的前面二行和后面一行,因此一共显示4行。所以,前面的"*** 1,4 ****"就表示,从第 1 行开始连续 4 行。 另外,文件内容的每一行最前面,还有一个标记位。 如果为空,表示该行无变化; 如果是感叹号(!),表示该行有改动; 如果是减号(-),表示该行被删除; 如果是加号(+),表示该行为新增。 第四部分显示变动后的文件,即f2。   --- 1,4 ----    a    a   !b    a 除了变动行(第3行)以外,也是上下文各显示三行,总共显示4行。与第二行一样。
        • 总结: 优点:context模式更好用,更详细,更容易阅览 缺点:如果文件大点,可能就会显得浪费空间
    • 合并格式(unified diff)
      • diff -u t1 t2
        • 使用unifiex模式对两个文件内容进行对比,相比context模式,变得更加节省空间
        • 案例:

        • 解析: 第一部分,也是文件的基本信息。 --- t1 2023-04-25 17:19:42.996495774 -0400 +++ t2  2023-04-25 17:19:56.086494853 -0400  "---"表示变动前的文件,"+++"表示变动后的文件。  第二部分,变动的位置用两个@作为起首和结束。             @@ -1,4 +1,4 @@             前面的"-1,4"分成三个部分:减号表示第一个文件(即t1),"1"表示第1行,"4"表示连续4行。合在一起,就表示下面是第一个文件从第1行开始的连续4行。             同样的,"+1,4"表示变动后,成为第二个文件从第1行开始的连续4行。  第三部分,是变动的具体内容。    a    a   -a   +b    A  除了有变动的那些行以外,也是上下文各显示3行。它将两个文件的上下文,合并显示在一起,所以叫做"合并格式"。 每一行最前面的标志位,空表示无变动,减号表示第一个文件删除的行,加号表示第二个文件新增的行。
        • 总结: 相比context更节省空间,可用于大型文件内容对比
    • 比较目录

vimdiff

    • vimdiff f1  f2
      • 同时对两个文件进行内容修改,并且里面会显示内容不同的颜色

find

    • find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或目录显示在终端
    • flind   查找范围     模式
      • 如果不加type模式,则默认可以查到所有文件类型和目录
    • find     /     -name  kk -type f
      • 按照指定的文件名进行查找,也可以使用通配符*?
    • find   /   -user  root -type -f
      • 查找属于指定用户名所有文件
    • find    /  -size   +10 -type f
      •  +10k
        • 查找文件大于10k(kMG)
      • -10k
        • 查找文件小于10(kMG)
      • 10k
        • 查找文件小于等于10(kMG)
      • 例子:查找/etc/下大于500K并且小于等于1M的文件

      • 命令解析: find  查找范围    -size(选项)  +500K(大于500K)   -a(并且)   1M(小于等于1M) -type(类型选项)   f(文件类型)   |(管道符)  xargs(传递参数值)    -n1(一次传递一行)   du(查看传递过来的文件的大小)  -hS(h:显示(kB,MB,GB), S: 显示总和)  
      • 注意:   -a  表示并且and的意思 -o   表示或者or的意思 这两个选项后面不能跟-size  +size  只能加size
    • find /   -type  f
      • f
        • 查找文件为普通文件的文件
      • d
        • 目录
      • b
        • 块设备文件
      • c
        • 字节设备文件

du

    • du  /
      • 显示根目录磁盘所有文件和目录占空间情况
    • du -ah  /
      • 显示根目录所有磁盘的文件和目录占空间情况,并显示KB,MB,GB
    • du  -sh  /
      • 显示整个根目录的大小

pidof

    • pidof命令用于查找指定名称的进程的进程号
    • pidof   进程名
    • 选项
      • -s:仅返回一个进程号; -c:仅显示具有相同“root”目录的进程; -x:显示由脚本开启的进程; -o:指定不显示的进程ID。

kill

    • kill   -9  进程号
      • 强制杀死进程号对应的进程

killall

    • killall  进程名称
      • 通过进程名称杀死该进程,可一次性杀死多个进程

ps

    • ps -aux
      • 以用户的形式显示所有进程,并显示后台进程运行的参数
    • ps  -ef
      • 以全格式显示当前所有的进程

top

    • 动态显示进程
    • top-d 秒数
      • 指定top命令每隔几秒更新,默认是3秒
    • top -i
      • 使top不显示任何闲置或僵死的进程
    • top -p
      • 通过指定监控进程ID来仅仅监控单个进程状态

free

    • free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
    • free -h
      • 显示内存使用状况,带有KB,MB,GB
    • free -hl
      • 显示高低内存的利用率
    • free -ht
      • 显示内存总和列
    • free -hs 3  -c 4
      • 每隔3秒打印一次内存信息,打印4次结束

last

    • 显示上次登录用户的列表
    • last  -aFiw
      • 查看尽可能详细的用户登录信息
    • last -d
      • 将IP转换回主机名
    • last -f
      • 读取特定文件(二进制文件)而不是 /var/log/wtmp
    • last  -s time
      • 显示指定时间以来的行
    • last  -t  time
      • 显示指定时间之前的行
    • last  -p  time
      • 显示在指定时间出现的人员
    • last命令的数据源
      • 执行 last 命令时,默认读取 /var/log/wtmp 文件     它是一个二进制文件,记录每个用户的登录系统次数和持续时间、注销、系统重启、停机等事件  它是永久记录这些信息的,系统运行时间增加,文件也会越来越大,因为它本身是一个二进制文件,所以无法直接 cat 查看,因此诞生了 last 命令来查看      还有另外一个命令,lastb    它是读取 /var/log/btmp 文件,记录登录系统失败的每个用户  当然,用 last -f 读取这个文件也是一样效果的        /var/run/utmp    它比较重要,记录着当前正在登录系统的每个用户  它的数据结构和 /var/log/wtmp 的数据结构一样        /var/log/lastlog    记录着每个用户最后登录系统的信息  它的数据结构和 /var/run/utmp 、 /var/log/wtmp 不一样
    • lastlog
      • 可以直接查看/var/log/lastlog,而无需指定last -f  /var/log/lastlog

history

    • history
      • 显示历史命令
    • !数字
      • 执行数字对应的历史命令
    • history -c
      • 清空历史命令

tr

    • Linux tr 命令用于转换或删除文件中的字符。  tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。
    • cat file | tr a-z A-Z
      • 将file文件的内容全部转换为大写
    • cat file | tr A-Z a-z
      • 将file文件的内容全部转换为小写
    • cat file | tr  a  b
      • 将file文件中为a的字符转换为b
    • cat file | tr " " "\\n"
      • 将file文件中的空格转化为换行符
    • cat file | tr -d "a"
      • 将file文件中的字符a全部删除
    • cat file | tr -s  "\\n"
      • 将file文件中的多个连续的换行符压缩为一个
    • cat  file | tr -s "a"  "b"
      • 将file文件中的多个连续的a压缩为一个b
    • cat file | tr -c a b
      • 将file文件中的a字符串以外的字符转换为b
    • cat  file | tr  -cd b
      • 删除file文件中的b以外的字符

xargs

    • xagrs -n1
      • 传递单个参数,1可变

-exec

    • -exec    命令  选项 {}   参数2  /;
      • 将-exec前面的结果,放入到后面的{}中,当成多个参数使用,以\\;结尾
      • 例1:
        • 将/root/test1中以t为首的文件,复制一份到/opt目录下
          • find /root/test1/ -name 't*' -type f -exec cp {} /opt/ \\;
      • 例2:
        • 将/opt/下的以t为首的文件,移动到/opt/kk目录下(注意:前提kk目录存在)
          • find /opt/ -name 't*' -type f -exec mv {} /opt/kk/ \\;

wc

    • 统计和检索文件内容
    • wc -c file
      • 统计文件内容的字节数
    • wc -l  file
      • 统计文件内容的行数
    • wc  -w file 
      • 统计文件内容中的单词数
    • 例子

dd

    • Linux dd 命令用于读取、转换并输出数据。  dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。
    • 参数说明

    • 实例
      • 示例一:将testfile文件中的所有英文字母转换为大写,然后转成为testfile_1文件,在命令提示符中使用如下命令:

      • 示例二:在Linux 下制作启动盘,可使用如下命令:

      • 示例三:在tmp目录中,制作一个200M的文件,可使用如下命令:
        • dd if=/dev/zero of=/tmp/f1 bs=200M count=1
        • /dev/zero
          • 被称为黑洞
      • 示例四:备份hosts文件,可使用如下命令
        • dd if=/root/hosts of=/root/hosts1
      • 实例五:备份压缩hosts文件,可使用如下命令
        • dd if=/root/hosts | gzip > /root/hosts.gz

tar

    • tar -zxvf  被解压的文件    -C  存放地址
      • 解压.tar.gz结尾的文件
    • tar  -jxvf  被解压的文件  -C 存放地址
      • 解压.tar.bz2结尾的文件
    • tar   -zcvf   存放地址    被压缩的文件
      • 压缩成.tar.gz结尾的文件
    • tar    -jcvf     存放地址   被压缩的文件
      • 压缩成.tar.bz2结尾的文件

grep

    • grep  "name"  file
      • 从file中过滤出包含name内容的行
    • grep  "^name"  file
      • 从file中过滤出以name开头的行
    • grep  "name\$" file
      • 从file中过滤出以name结尾的行
    • grep  -i   "name" file
      • 从file中过滤出忽略大小写包含name的行
    • grep -v "name" file
      • 从file中过滤出不包含name的行,v取反
    • grep  "^\$" file
      • 过滤出空行
    • grep  -A  1 "" file
      • 从file中过滤出包含name的行,以及该行下面一行的内容
    • grep  -B  1 "" file
      • 从file中过滤出包含name的行,以及该行上面一行的内容
    • grep   -C 1  "" file
      • 从file中过滤出包含name的行,以及该行上面和下面一行的内容
    • grep  -n   "name"  file
      • 从flile中过滤出包含name的行,并显示行号
    • grep  -o  "name"  file
      • 显示匹配过程
    • grep  -c  "name" file
      • 显示符合条件的行的数量
    • 同时过滤多个关键字
      • grep -E  'master|node1' file
      • egrep  'master|node1' file
        • 从file文件中,过滤出包含master或node1的行
      • grep  'master\\|node1'  file

gzip

    • gzip不能压缩目录,只能压缩文件
    • gzip 被压缩的文件
      • 压缩文件为.gz结尾的压缩文件,存放在当前目录下
    • gunzip  被解压的文件
      • 将.gz结尾的压缩文件解压到当前目录下

bzip2

    • bzip不能压缩目录,只能压缩文件
    • bzip2 被压缩的文件
      • 压缩文件为.bz2结尾的压缩文件,存放在当前目录下
    • bunzip2  被解压的文件
      • 将.bz2结尾的压缩文件解压到当前目录下

cut

    • cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出。
    • cut -d ':'   -f  n   file
      • n 表示分割后取出来的第几列,可以是多列用,号分隔,也可以范围-分隔
        • cut -d ':'  -f  1,2,3  file
      • d 表示文件内容按照什么分割
      • 注意:不改变文件内容

sed

    • sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。
    • sed  -e '2a\\kk\\'  f1
      • 在f1文件的第二行后面添加一行内容,内容:kk,打印输出
    • sed  '1d' f1
      • 将f1文件的第一行删除,打印输出
    • sed   '2s\\a\\b' f1
      • 将f1文件的第二行,为a的字符串转换成b,打印输出
    • sed -i  '2s\\a\\b' f1
      • 将f1文件的第二行,为a的字符串转换成b,并且源文件内容改变
    • sed 's\\a\\b\\g'  f1
      • 将f1文件内,所有为a的字符串转换成b
    • 总结: a  添加 d   删除 s    查找替换 i     改变源文件 g    全局(global)

awk

    • 一个强大的文本分析工具,把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行分析处理。
    • 基本用法
      • awk [选项参数]      'pattern1{action1} pattern2{action2}...' filename pattern:表示AWK在数据中查找的内容,就是匹配模式  action:在找到匹配内容时所执行的一系列命令
    • awk -F ,  '{print \$1 "," \$3} '  /etc/passwd
      • 命令解析
        • awk  -F 分割符  '{命令 第一列  ","' 第三列}'  文件
        • 打印/etc/passwd文件中,以 ,为分割符,对整个文件进行分割,取出第一列和第三列,第一列与第三列之间用 , 分隔
      • 注意:-F 选项用于指定分割符
    • awk  -F :  '/^root/{print  \$1 ":"  \$3}' /etc/passwd
      • 命令解析:
        • awk   -F  分割符   '/匹配模式/{命令 第一列  ":"  第三列}'  文件
        • 打印/etc/passwd文件中,以:为分割符,并查找以root为行首的行进行分割,取出第一列和第三列,第一列和第三列之间用:分隔
      • 注意:
        • 只有匹配了pattern才会执行action
    • awk -F : 'BEGIN{print "start"}/^root/{print \$1 ":" \$3}/^liu/{print \$1 ":" \$3}END{print "end"}' /etc/passwd
      • 命令解析:
        • awk -F 分割符  'BEGIN{命令1}匹配模式1{命令2}匹配模式2{命令3}END{命令四}'  文件

      • 注意: BEGIN 在所有数据读取行之前执行; END 在所有数据执行之后执行;
    • awk -v i=1  -F:   '{print \$3+i}'  /etc/passwd
      • 命令解析
        • awk -v  变量=值  -F 分割符   '{命令} ' 文件
        • 打印第三列每行数值+1后的结果
    • awk的内置变量

        • 例子:
          • 查询sed.txt中空行所在的行号
          • awk '/^\$/{print NR}' sed.txt

sort

    • sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出。
    • 基本语法
      • sort    选项     参数
    • 常用选项
      • -n    依照数值的大小排序 -r     以相反的顺序来排序 -t     设置排序时所用的分隔字符 -k     指定需要排序的列 -u      去重 
    • 案例
      • 案例1:
        • 对f1文件内容去重
          • sort  -u f1

uniq

    • uniq 用于去除有序文件中的重复行并将结果输出到标准输出。  为了使 uniq 起作用,所有的重复行必须是相邻的,所以 uniq 经常和 sort 合用。
    • 基本语法
      • uniq   选项   参数
    • 常用选项
      • -c  显示连续出现的次数 -d  显示连续重复出现的行,行数>=2 -i    忽略大小写字符的不同 -u   只显示唯一的行,即出现连续次数等于1的行 -s   跳过前面N个字符不比较 -w  指定每次行要比较的前N个字符数
    • 案例
      • 案例一:
        • uniq  结合sort命令,对f1排序文件去重
        • cat  f1 | sort |  uniq
        • 其实跟sort  -u  f1 效果一样
      • 案例二:
        • 排序之后删除重复行,并统计该行重复的次数
        • sort  f1 | uniq -c

seq

    • 生成自然序列
    • seq 5
      • 默认从1开始,自增1
    • 语法
      • seq   [选项]   [起始值]    [步长]  [最终值]
    • 选项
      • 特定选项 -f

      • 统一宽度 -w

      • 统一形式 -s

clear

    • 清屏操作

echo

    • echo "ss"
      • 简单输出字符使用,但无法使用转义字符
    • echo  -e  "\\tss"
      • 可以使用转义字符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值