学习Linux运维必备的50个命令(二)

简介: 学习Linux运维必备的50个命令

文件管理相关



cat命令详解


  • 主要用于查看文件内容(适用短文本)


  • 常用命令


cat -n he.txt 显示行号的


用法:cat [选项]... [文件]...
将[文件]或标准输入组合输出到标准输出。
-A, --show-all              等于-vET;
-b, --number-nonblank       对非空输出行编号;
-e                        等于-vE;
-E, --show-ends             在每行结束处显示"$";
-n, --number              对输出的所有行编号;
-s, --squeeze-blank         不输出多行空行;
-t                        与-vT 等价;
-T, --show-tabs             将跳格字符显示为^I;
-u                        (被忽略);
-v, --show-nonprinting      使用^ 和M- 引用,除了LFD和 TAB 之外;
--help                  显示此帮助信息并退出;
--version                 显示版本信息并退出。


  • cat …EOF …EOF用法


  • 添加内容,会覆盖前面内容


  • 追加内容


[root@hbs a]# cat > /tmp/hbs.txt <<EOF
> my name is hbs
> I love a girl
> EOF
[root@hbs a]# 
[root@hbs a]# cat >> /tmp/hbs.txt <<EOF 追加内容
> I LOVE LIU AO NI
> EOF
[root@hbs a]# 


head命令详解


  • 主要用于查看文件内容,通常查看头10行


  • 常用命令


[root@hbs ~]# head -3 anaconda-ks.cfg 看前3行


用法:head [选项]... [文件]...
将每个指定文件的头10 行显示到标准输出。
如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头。
如果不指定文件,或者文件为"-",则从标准输入读取数据,长选项必须使用的参数对于短选项时也是必需使用的;
-q, --quiet, --silent           不显示包含给定文件名的文件头;
-v, --verbose               总是显示包含给定文件名的文件头;
--help                      显示此帮助信息并退出;
--version                   显示版本信息并退出;
-c,  --bytes=[-]K           显示每个文件的前K 字节内容,如果附加"-"参数,则除了每个文件的最后K字节数据外显示剩余全部内容;
-n, --lines=[-]K            显示每个文件的前K 行内容,如果附加"-"参数,则除了每个文件的最后K 行外显示剩余全部内容。


tail 命令详解


  • 主要用于查看文件内容,通常用于尾 10行


  • 常用命令


tail -10 anaconda-ks.cfg 查看尾 10行


用法:tail [选项]... [文件]...
显示每个指定文件的最后10 行到标准输出。
若指定了多于一个文件,程序会在每段输出的开始添加相应文件名作为头。
如果不指定文件或文件为"-" ,则从标准输入读取数据。
长选项必须使用的参数对于短选项时也是必需使用的。
-n, --lines=K                   输出的总行数,默认为10行;
-q, --quiet, --silent             不输出给出文件名的头;
--help                        显示此帮助信息并退出;
--version                     显示版本信息并退出;
-f, --follow[={name|descriptor}]      即时输出文件变化后追加的数据;
              -f, --follow 等于--follow=descriptor 
-F            即--follow=name –retry
-c, --bytes=K                     输出最后K字节;另外,使用-c +K 从每个文件的第K字节输出。


find命令详解


  • 实时查找,精确性强,遍历指定目录中所有文件完成查找,


  • 查找速度慢,支持众多查找标准。


  • 语法:find [OPTION…] 查找路径 查找标准 查找到以后的处理动作


查找路径 默认为当前目录


查找标准 默认为指定路径下的所有文件


-name 'filename'    对文件名作精确匹配.支持glob通配符机制
-iname 'filename'   文件名匹配时不区分大小写
-regex pattern      基于正则表达式进行文件名匹配.以pattern 匹配整个文件路径字符串,而不仅仅是文件名称
-user username          根本属主来查找
-group groupname        根据属组来查找
-uid          根据UID进行查找,当用户被删除以后文件的属主会变为此用户的UID
-gid          根据GID进行查找,当用户被删除以后文件的属组会变为此用户的GID
-nouser     查找没有属主的文件.用户被删除的情况下产生的文件,只有uid没有属主
-nogroup  查找没有属组的文件.组被删除的情况下产生的文件,只有gid没有属组
-type         根据文件类型来查找(f,d,c,b,l,p,s)
-size            根据文件大小进行查找。如1k、1M,+10k、+10M,-1k、-1M, +表示大于,-表示小于
---------
mtime        修改时间
-ctime       改变时间
-atime       访问时间+5 ,5天前;-5,5天以内
-mmin        多少分钟修改过
-cmin        多少分钟改变过
-amin        多少分钟访问过, +5 ,5分钟前;-5,5分钟以内
-perm mode   根据权限精确查找
-perm -mode  文件权限能完全包含此mode时才符合条件
-perm /mode  9位权限中有任何一位权限匹配都视为符合查找条件
处理动作:默认为显示到屏幕上
-print      显示
-ls         类似ls -l的形式显示每一个文件的详细信息
-delete     删除查找到的文件
-fls /path/to/somefile      查找到的所有文件的长格式信息保存至指定文件中
-ok COMMAND {} \;   对查找到的每个文件执行COMMAND,每次操作都需要用户确认
-exec COMMAND {} \; 对查找到的每个文件执行COMMAND,操作不需要确认


[root@localhost ~]# find / -name abc **找名字是 abc的**
/root/abc
/opt/abc
[root@localhost ~]# find / -iname abc  **忽略大小写的**
/root/abc
/opt/abc
/opt/ABC
[root@localhost ~]# find / -nouser tom **找没有user的**
[root@localhost ~]# find -type d **找目录**
.
./a
./a/b
./a/b/e
[root@localhost ~]# find -size -1M **小于1m的文件**
./00:00:00
./2021
[root@localhost ~]# find -size +1k  **大于1k的文件**
.
./.bash_history
./anaconda-ks.cfg
[root@localhost ~]# find -mmin +1  **一分钟前改变的**
./.bash_logout
./.bash_profile
./.bashrc
[root@localhost ~]# find -type d  -name 5  必须是目录,名字是 5的目录
./5
[root@localhost ~]# find -type f  -name 5
[root@localhost ~]# 
[root@localhost ~]# find -type d  -name 5 -ls **组合命令**
33576693    0 drwxr-xr-x   2 root     root            6 Apr  8 10:25 ./5
[root@localhost ~]# 
[root@localhost ~]# find -type f -name he.txt -print  **查找 名字为he.txt的文件,并且打印出来**
./he.txt
[root@localhost ~]# 
[root@localhost ~]# find -type f  -name 5 -delete **查找名字是 5的文件,并删除
**
[root@localhost opt]# find ./ -type f -name *.sh -exec mv {} /opt/ \;  将当前文件 名为 .sh 的文件移动到 /OPT下


more命令详解


  • 从前往后看,不能回退


  • 有进度条显示


less 命令详解


  • 可以回退,空格 从前往后翻屏幕。


  • 从后往前翻屏,b键


  • q键 退出查看


du 命令详解


  • 常用于查看文件在磁盘中的使用量


  • 常用命令


[root@hbs ~]# du -sh /tmp/ 查看当前目录所有文件及文件及的大小


df 命令详解


  • 主要用于查询磁盘分区


  • 常用命令


df –h,查看磁盘分区信息


[root@hbs ~]# du -sh /boot/   查看目录及文件大小
110M    /boot/
[root@hbs ~]# df -h /boot/    查看boot 目录的使用情况
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       197M  121M   77M  62% /boot
[root@hbs ~]# 
用法:df [选项]... [文件]...
显示每个文件所在的文件系统的信息,默认是显示所有文件系统。
长选项必须使用的参数对于短选项时也是必需使用的。
-a, --all                  显示所有文件系统的使用情况,包括虚拟文件系统;
-B, --block-size=SIZE      使用字节大小块;
-h, --human-readable       以人们可读的形式显示大小;
-H, --si                  同-h,但是强制使用1000而不是1024;
-i, --inodes                显示inode 信息而非块使用量;
-k                        即--block-size=1K;
-l, --local                 只显示本机的文件系统;
    --no-sync             取得使用量数据前不进行同步动作(默认);
-P, --portability            使用POSIX 兼容的输出格式;
    --sync                取得使用量数据前先进行同步动作;
-t, --type=类型           只显示指定文件系统为指定类型的信息;
-T, --print-type            显示文件系统类型;
-x, --exclude-type=类型   只显示文件系统不是指定类型信息;
--help                  显示帮助信息并退出;
--version               显示版本信息并退出


wc 命令详解


  • 主要用于统计文本、字符(数字、符号、空格、行等)


  • 常用命令


root@hbs ~]# wc -l anaconda-ks.cfg 查看看它有多少行


[root@hbs ~]# wc -c anaconda-ks.cfg 查看它有多少个字符


[root@hbs ~]# wc -w anaconda-ks.cfg 查看它有多少个单词


[root@hbs ~]# wc anaconda-ks.cfg 
  52  148 1511 anaconda-ks.cfg     (行、单词、字符)
[root@hbs ~]
[root@hbs ~]# cat anaconda-ks.cfg | wc -l  #查看多少行
52
[root@hbs ~]# 


cut 命令详解


  • 取出指定列的选项


  • 常用命令选项


-d 指定分隔符


-f 指定要显示的列


[root@localhost ~]# head -5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[root@localhost ~]# head -5 /etc/passwd|cut -d : -f6  取出/etc/passwd 以冒号为分隔符,第6列
/root
/bin
/sbin
/var/adm
/var/spool/lpd
[root@localhost ~]# 
[root@localhost ~]# head -3 /etc/passwd|cut -d: -f1
root
bin
daemon
[root@localhost ~]# 


awk命令详解


  • 处理列的内容


  • 常用命令选项


-F 指定分割符 `‘NR==行{print $需要的列}’ 文件名


[root@localhost ~]# awk -F: '{print $1}' /etc/passwd|head -5  以冒号为分隔符,查看 passwd 前5行的一个。
root
bin
daemon
adm
lp
[root@localhost ~]# 
[root@localhost ~]# df -h|awk '{print $4}'   分割符默认是 空格,如果不是 -F
Avail
19G
901M
912M
888M
912M
77M
183M
0
[root@localhost ~]# 
[root@localhost ~]# df -h|awk 'NR==3{print $4}' 第4列第3行
901M
[root@localhost ~]# 
[root@localhost ~]# df -h|awk 'NR==2{print NF}' 最后一列(NF),第二行
6
[root@localhost ~]# df -h|awk 'NR==2{print $(NF-2)}' 倒数多少列,第二行


sed命令详解


  • 处理行的内容


  • sed 选项 动作 文件名


-c 修改


-s 替换


-a 追加


-p 打印


-d 删除


  • 常用命令


sed -i ‘1s/^#//g’ bcd 去除#号


[root@localhost ~]# sed '2p' bcd 
123
456
456
23
[root@localhost ~]# sed -n '2p' bcd 
456
[root@localhost ~]# sed -n '1p' bcd 
123
[root@localhost ~]# sed -n '3p' bcd 
23
[root@localhost ~]# sed -n '/456/p' bcd 匹配456 打印
456
[root@localhost ~]# 
[root@localhost ~]# sed '3s/23/9999/g' bcd  第3行的23 替换成 999
123
456
9999
[root@localhost ~]# 
[root@localhost ~]# cat bcd 
#123
#456
#23
[root@localhost ~]# sed '1s/^#//g' bcd  将第1行的#号替换为 空,并没有修改原文件
123
#456
#23
[root@localhost ~]# 
[root@localhost ~]# sed -i '1s/^#//g' bcd  修改源文件了的
[root@localhost ~]# sed -i '1c888' bcd 将第一行改成 888
[root@localhost ~]# 


grep 命令详解


  • 文本查找


  • 常用命令参数


i 忽略大小写


v 显示没有匹配的项


E,一般用于 egrep


 grep egrep fgrep
    grep        根据模式搜索文本,并将符合模式的文本行显示出来。 
                   使用基本正则表达式定义的模式来过滤文本的命令。
        Pattern(模式)     文本字符和正则表达式的元字符组合而成的匹配条件
        -i         忽略大小写
        --color 匹配到的内容高亮显示
        -v        显示没有被模式匹配到的行
        -o       只显示被模式匹配到的字符串
        -E        使用扩展正则表达式。grep -E相当于使用egrep
        -q        静默模式,不输出任何信息
        -A 1     被模式匹配到的内容以及其后面一行的内容都显示出来
                    如果把1改成2就表示被模式匹配到的内容以及其后面2行的内容均显示出来
        -B 1     被模式匹配到的内容以及其前面一行的内容都显示出来
                    如果把1改成2就表示被模式匹配到的内容以及其前面2行的内容均显示出来
        -C 1     被模式匹配到的内容以及其前后的行各显示1行,如果把1改成2 
                    就表示被模式匹配到的内容以及其前后的行各显示2行。
    fgrep       不支持正则表达式,执行速度快


[root@localhost ~]# cat g.txt 
world
WORLDshar
worldhelo
123456
woLD
worLD
World
WOF
[root@localhost ~]# cat g.txt |grep world 过滤world
world
worldhelo
[root@localhost ~]# cat g.txt |grep -i world 过滤world,忽略大小写 
world
WORLDshar
worldhelo
worLD
World
[root@localhost ~]# cat g.txt |grep -v world 取反
WORLDshar
123456
woLD
worLD
World
WOF
[root@localhost ~]# 
[root@localhost ~]# cat g.txt |egrep -E world
world
worldhelo
[root@localhost ~]# 


echo 命令详解


  • 主要用于打印字符或者回显


  • 常常和管道符连用


  • 覆盖


  • 追加


  • 扩展 -e,主要用于写脚本


\033[30m 黑色字 \033[0m
\033[31m 红色字 \033[0m
\033[32m 绿色字 \033[0m
\033[33m 黄色字 \033[0m
\033[34m 蓝色字 \033[0m
\033[35m 紫色字 \033[0m
\033[36m 天蓝字 \033[0m
\033[37m 白色字 \033[0m
\033[40;37m 黑底白字 \033[0m
\033[41;37m 红底白字 \033[0m
\033[42;37m 绿底白字 \033[0m
\033[43;37m 黄底白字 \033[0m
\033[44;37m 蓝底白字 \033[0m
\033[45;37m 紫底白字 \033[0m
\033[46;37m 天蓝底白字 \033[0m
\033[47;30m 白底黑字 \033[0m
  • auto_lamp_v2.sh
#!bin/sh
echo -e "\033[036m Please select intstall Menu follow:\033[0m"
echo -e "\033[32m 1)install Apache Server\033[1m"
echo "2)install Mysql Server"
echo "3)install PHP Server"
echo "4)Configuration index.php and start LAMP Server"
echo -e "\033[31mUsage:{ /bin/sh $0 1|2|3|4|hep}\033[0m"


文本排序与去重


  • sort 排序


  • uniq 去重


-c 显示它出现的次数


-u 显示不重复的


-d 显示重复的


[root@localhost ~]# cat >> abc <<EOF
> 1
> 23
> 22
> 11
> 0
> 9
> 1
> 2
> 3
> 4
> 5
> 7
> 6
> 7
> 8
> EOF
[root@localhost ~]# sort -n abc 
0
1
1
2
3
4
5
6
7
7
8
9
11
22
23
[root@localhost ~]# sort -n abc|uniq
0
1
2
3
4
5
6
7
8
9
11
22
23
[root@localhost ~]# 
[root@localhost ~]# sort -n abc|uniq -d
1
7
[root@localhost ~]# sort -n abc|uniq -c
      1 0
      2 1
      1 2
      1 3
      1 4
      1 5
      1 6
      2 7
      1 8
      1 9
      1 11
      1 22
      1 23
[root@localhost ~]# sort -n abc|uniq -u  显示不重复的
0
2
3
4
5
6
8
9
11
22
23
[root@localhost ~]# 


tree 命令详解


  • 查看目录结构


warning: /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:tree-1.6.0-10.el7                ################################# [100%]
[root@localhost ~]# 
[root@localhost ~]# which tree 查看命令安装位置
/usr/bin/which: no tre in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@localhost ~]# 
[root@localhost ~]# mkdir p/{j/{d,h},k/{n,,m}} -p 创建目录
[root@localhost ~]# tree p  查看目录结构
p
├── j
│   ├── d
│   └── h
└── k
    ├── m
    └── n
6 directories, 0 files


软件资源管理相关



系统资源相关



tar、zip命令详解


  • 常用几种格式


.tar.gz (tar)


.tar.bz2 (tar),需要安装bzip2安装包


.tar.xz (tar)


.zip (zip) 跨平台的


  • 压缩比:gz<bz<xz (xz压缩效果最好,推荐使用tar.xz)


  • 常用压缩文件选项


-zcf 创建一个gz的文件压缩包


-jcf 创建一个bz2的文件压缩包


-Jcf 创建一个xz格式的文件压缩包


-常用解压文件选项


-xf 解压指定文件(gz、xz用)


-xvf 解压指定文件并显示解压过程(gz、xz用)


-xjf 解压bz2文件的


  • 查看压缩的文件


-tvf 不解压查看一个文件


-c      创建归档
-z      压缩成gz格式
-j      压缩成bz2格式
-v      显示详细信息
-t      不解压查看压缩包内容
-f      指定要压缩或解压缩的文件
-x      解压缩
-C      将压缩文件解压到指定目录


[root@localhost ~]# ls /mnt/Packages/bzip2-1.0.6-13.el7.x86_64.rpm 查看bzip2安装包
[root@localhost ~]# rpm -ivh /mnt/Packages/bzip2-1.0.6-13.el7.x86_64.rpm 安装bzip2安装包
warning: /mnt/Packages/bzip2-1.0.6-13.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
  package bzip2-1.0.6-13.el7.x86_64 is already installed
[root@localhost ~]# tar -jcf hehe.tar.bz2 [[:alnum:]]  将数字、大小写字母 压缩为hehe.tar.bz2包
[root@localhost ~]# tar -Jcf big.tar.xz *  将所有文件压缩成 tar.xz格式
[root@localhost ~]# tar -tvf big.tar.xz 不解压查看big.tar.xz 压缩包
[root@localhost opt]# tar xf digit.tar.gz 解压digit(单个数字)压缩包
[root@localhost opt]# ls
1  2  3  4  8  alnum.tar.bz2  big.tar.xz  digit.tar.gz  hehe.tar.bz2
[root@localhost opt]# rm -f [[:digit:]] 删除数字
[root@localhost opt]# ls
alnum.tar.bz2  big.tar.xz  digit.tar.gz  hehe.tar.bz2
[root@localhost opt]# tar -xvf digit.tar.gz 
[root@localhost opt]# tar -xvf digit.tar.gz -C ~解压到家目录


zip 命令


  • 和gz2一样,也需要单独安装zip和unzip(看情况)


  • zip xx.zip 压缩


  • unzip xx.zip 解压缩


[root@localhost opt]# which zip    查看有没有zip 命令
/usr/bin/which: no zip in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@localhost opt]# ls /mnt/Packages/zip-3.0-11.el7.x86_64.rpm 
/mnt/Packages/zip-3.0-11.el7.x86_64.rpm
[root@localhost opt]# rpm -ivh /mnt/Packages/zip-3.0-11.el7.x86_64.rpm 安装zip命令
warning: /mnt/Packages/zip-3.0-11.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:zip-3.0-11.el7                   ################################# [100%]
[root@localhost opt]# 
[root@localhost ~]# zip liuaoni.zip [[:digit:]] 将数字压缩zip格式
  adding: 1 (stored 0%)
  adding: 2 (stored 0%)
  adding: 3 (stored 0%)
  adding: 4 (stored 0%)
  adding: 8 (stored 0%)
[root@localhost ~]# unzip liuaoni.zip 解压zip文件


rpm 命令详解


  • Linux软件包管理大致可分为二进制包、源码包,使用的工具也各不相同。Linux常见软件包分为两种,分别是源代码包(Source Code)、二进制包(Binary Code),源代码包是没有经过编译的包,需要经过GCC、C++编译器环境编译才能运行,二进制包无需编译,可以直接安装使用。


  • 通常而言,可以通过后缀简单区别源码包和二进制包,例如.tar.gz、.zip、.rar结尾的包通常称之为源码包,以.rpm结尾的软件包称之为二进制包。真正区分是否为源码还是二进制还得基于代码里面的文件来判断,例如包含.h、.c、.cpp、.cc等结尾的源码文件,称之为源码包,而代码代码里面存在bin可执行文件,称之为二进制包。


  • CentOS操作系统中有一款默认软件管理的工具,红帽包管理工具(Red Hat Package Manager,RPM)。


  • 使用RPM工具可以对软件包实现快速安装、管理及维护。RPM管理工具适用的操作系统包括:CentOS,RedHat,Fedora,SUSE等,RPM工具常用于管理.rpm后缀结尾的软件包。


  • RPM包命名格式为:


name-version.rpm
name-version-noarch.rpm
name-version-arch.src.rpm


  • 如下软件包格式:


epel-release-6-8.noarch.rpm
perl-Pod-Plainer-1.03-1.el6.noarch.rpm
yasm-1.2.0-4.el7.x86_64.rpm


  • 常用命令参数


PM 选项 PACKAGE_NAME
-a, --all             查询所有已安装软件包;
-q,--query            表示询问用户,输出信息;
-l, --list              打印软件包的列表;
-f, --file            FILE 查询包含 FILE 的软件包;
-i, --info            显示软件包信息,包括名称,版本,描述;
-v, --verbose           打印输出详细信息;
-U, --upgrade           升级RPM软件包;
-h,--hash               软件安装,可以打印安装进度条;
--last            列出软件包时,以安装时间排序,最新的在上面;
-e, --erase             卸载rpm软件包
--force                 表示强制,强制安装或者卸载;
--nodeps                RPM包不依赖
-l, --list            列出软件包中的文件;
--provides          列出软件包提供的特性;
-R, --requires          列出软件包依赖的其他软件包;
--scripts               列出软件包自定义的小程序。


rpm  -q       httpd              检查httpd包是否安装;
rpm  -ql        httpd              查看软件安装的路径;
rpm  -qi        httpd              查看软件安装的版本信息;
rpm  -e       httpd              卸载httpd软件;
rpm  -e  --nodeps    httpd             强制卸载httpd;
rpm  -qa|grep       httpd                        检查httpd相关的软件包是否安装。
rpm  -ivh       httpd-2.4.10-el7.x86_64.rpm      安装httpd软件包;
rpm  -Uvh       httpd-2.4.10-el7.x86_64.rpm      升级httpd软件;
rpm  -ivh  --nodeps    httpd-2.4.10-el7.x86_64.rpm   不依赖其他软件包;


yum 命令详解


开关机相关



shutdown命令详解


  • 关机,重启,定时关机


  • 语法:shutdown [选项]


  • 常用命令参数


-r => 重新启动计算机


-h => 关机


-h 时间 =>定时关机


[root@localhost ~]# shutdown -h +10      #10分钟之后关机
[root@localhost ~]# shutdown -h 23:30     #指定具体的时间点进行关机
[root@localhost ~]# shutdown -h now      #立即关机
[root@xuegod63 ~]#shutdown -r  22:22    #22:22 以后重启


init


  • 作用:切换系统运行级别


  • 语法:init 0-6


Linux 7个启动级别:
0 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关的
1 单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录
2 多用户模式,没有NFS和网络支持
3 完整的多用户文本模式,有NFS和网络,登陆后进入控制台命令行模式
4 系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置
5 图形化模式,登陆后进入图形GUI模式,X Window系
6 重启模式,默认运行级别不能设为6,否则不能正常启动。运行init 6机器就会重启


[root@localhost ~]# init 0   #关机
[root@localhost ~]# init 3   #进入3级别字符界面
[root@localhost ~]# init 5   #进入5级别图形界面
[root@localhost ~]# systemctl get-default 查兰当前默认启动级别
multi-user.target
[root@localhost ~]# 
```
## reboot
## poweroff
# 命令替换
- 方式1:反引号 ``  
- 方式2:$()
```
[root@localhost ~]# touch $(date '+%Y%m%d%%H%M%S')
[root@localhost ~]# date -s 20210307
Sun Mar  7 00:00:00 CST 2021
[root@localhost ~]# touch `whoami` 
```
# bash常用操作
## 快捷键
    Ctrl+a      跳到命令行首
    Ctrl+e      跳到命令行尾
    Ctrl+u      删除光标至命令行首的内容
    Ctrl+k      删除光标至命令行尾的内容
    Ctrl+<--    光标定位到离自己最近的一个单词前面
    Ctrl+l      清屏
## 命令历史
```
-history            查看命令历史
-c              清空命令历史
-d OFFSET [n]   删除指定位置的命令历史
-w              保存命令历史至历史文件~/.bash_history中


  • 命令历史的使用技巧


!n           执行命令历史中的第n条命令
!-n          执行命令历史中倒数第n条命令
!!           执行上一条命令
!string      执行命令历史中最近一个以指定字符串开头的命令
!$           引用前一个命令的最后一个参数
ctrl+R       搜索历史命令


文件名通配符


*       匹配任意长度的任意字符
?       匹配任意单个字符
[]      匹配指定范围内的任意单个字符
\       转义,只显示目标本身
.
    [abc],[a-m],[0-9]
    [[:space:]]    表示空白字符
    [[:punct:]]    表示标点符号
    [[:lower:]]    表示小写字母
    [[:upper:]]    表示大写字母
    [[:alpha:]]    表示大小写字母
    [[:digit:]]    表示数字
    [[:alnum:]]    表示数字和大小写字母
    [^]     匹配指定范围之外的任意单个字符


  • 演示


[root@localhost ~]# touch hehe
[root@localhost ~]# mkdir xixi
[root@localhost ~]# ls ???
Apr  CST  Thu
[root@localhost ~]# ls ????   匹配四个字符的
2021  hehe  root
xixi:
[root@localhost ~]# ls [[:upper:]] 匹配单个大写字母
A  B  C  V
[root@localhost ~]# ls [[:lower:]]  匹配单个小写字母
c
a:
b   b  c  d
[root@localhost ~]# ls [[:digit:]]   匹配单个数字
1  2  3  4  8
[root@localhost ~]# ls [[:alpha:]] 匹配单个大写、小写字母
A  B  c  C  D  F  V
a:
b   b  c  d
[root@localhost ~]# ls [[:alnum:]]  匹配数字、大小写字母
1  2  3  4  8  A  B  c  C  D  F  V
a:
b   b  c  d
[root@localhost ~]# 


环境变量


PATH        命令搜索路径
HISTSIZE    命令历史缓冲区大小
SHELL       当前shell


bash内置变量


RANDOM      保存着0-32768之间的随机数
相关文章
|
1天前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是一个功能强大的操作系统,提供了许多常用的命令行工具,用于管理文件、目录、进程、网络和系统配置等。以下是Linux必学的60个命令的概览,但请注意,这里可能无法列出所有命令的完整语法和选项,仅作为参考
|
1天前
|
监控 Linux 数据处理
|
1天前
|
编解码 Ubuntu Linux
|
2天前
|
JSON Linux 数据格式
Linux命令发送http
请注意,`curl`命令非常灵活,可以根据您的需求进行多种配置和自定义。您可以查看 `curl`命令的文档以获取更多详细信息。
6 0
|
3天前
|
安全 Linux 测试技术
|
3天前
|
安全 Linux Windows
Linux中Shutdown命令使用介绍
Linux中Shutdown命令使用介绍
10 2
|
4天前
|
自然语言处理 Java Linux
【Linux】开始学习进程替换吧!
通过学习进程替换,我们可以体会到多语言混搭的快乐,可以从C语言直接蹦到python ,也可以从c++里运行java代码。是不是很厉害!这是通过调度多个进程的效果,联系我们之前学习的进程,进程控制等概念。我们可以想要运行其他代码可以通过创建子进程来实现,但是这样也肯定是同一种语言,如果想要运行其他语言,那是不是有种方法可以调度一个进程来当做子进程呢??? 我们开始今天的学习吧!
9 0
|
4天前
|
缓存 关系型数据库 Linux
Linux目录结构:深入理解与命令创建指南
Linux目录结构:深入理解与命令创建指南
|
4天前
|
数据挖掘 Linux vr&ar
Linux命令实战:解决日常问题的利器
Linux命令实战:解决日常问题的利器
|
4天前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
17 0