Linux基础入门和帮助-第二篇

马哥教育 Linux SRE 学习笔记

用户登录信息查看命令

  • whoami: 显示当前登录有效用户
[root@rocky8 ~]$whoami
root
  • who: 系统当前所有的登录会话
[root@rocky8 ~]$who
root     pts/0        2024-05-24 12:55 (10.0.0.1)
  • w: 系统当前所有的登录会话及所做的操作
[root@rocky8 ~]$w
 13:06:47 up 11 min,  1 user,  load average: 0.00, 0.02, 0.02
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    10.0.0.1         12:55    1.00s  0.02s  0.00s w

文本编辑

  • nano 工具可以实现文本的编辑,上手容易,适合初学者

  • gedit 工具是图形工具

    范例: 创建登录提示文件 /etc/motd

    参考网站: https://www.bootschool.net/ascii-art

#如果没有安装nano,就按照nano:
[root@rocky8 ~]$yum install nano -y

[root@rocky8 ~]$nano /etc/motd
                  .     .  .      +     .      .          .             
                     .      .     #       .           .                 
               .       .         ###            .      .      .         
              .      .   "#:. .:##"##:. .:#"  .      .                  
                  .      . "####"###"####"  .                           
               .     "#:.    .:#"###"#:.    .:#"  .        .       .    
          .             "#########"#########"        .        .         
                    .    "#:.  "####"###"####"  .:#"   .       .        
             .     .  "#######""##"##""#######"                  .      
                        ."##"#####"#####"##"           .      .         
            .   "#:. ...  .:##"###"###"##:.  ... .:#"     .             
              .     "#######"##"#####"##"#######"      .     .          
            .    .     "#####""#######""#####"    .      .              
                    .     "      000      "    .     .                  
               .         .   .   000     .        .       .             
    .. .. ......................O000O........................ ...... ...
    
#按大写的X选择y保存

在这里插入图片描述

[root@rocky8 ~]$exit
#重新连接

在这里插入图片描述

输出信息 echo

echo 基本用法

echo 命令可以将后面跟的字符进行输出

功能:显示字符,echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加 上换行号

语法:

echo [-neE][字符串]

选项:

  • -E (默认)不支持 \ 解释功能
  • -n 不自动换行
  • -e 启用 \ 字符的解释功能

显示变量

echo "$VAR_NAME#用变量值替换,弱引用
echo '$VAR_NAME#变量不会替换,强引用

启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出

  • \a 发出警告声
  • \b 退格键
  • \c 最后不加上换行符号
  • \e escape,相当于\033
  • \n 换行且光标移至行首
  • \r 回车,即光标移至行首,但不换行
  • \t 插入tab
  • \ 插入\字符
  • \0nnn 插入nnn(八进制)所代表的ASCII字符
  • \xHH插入HH(十六进制)所代表的ASCII数字(man 7 ascii)

范例:

[root@rocky8 ~]$echo -e 'a\x0Ac'
a
c

[root@rocky8 ~]$echo -e '\x57\x41\x4E\x47'
WANG

[root@rocky8 ~]$echo \$PATH
$PATH

[root@rocky8 ~]$echo \\
\
[root@rocky8 ~]$echo \\\
>
\
[root@rocky8 ~]$echo \\\\
\\

[root@rocky8 ~]$echo "$PATH"
/apps/nginx/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin

[root@rocky8 ~]$echo '$PATH'
$PATH
echo 高级用法

在终端中,ANSI定义了用于屏幕显示的Escape屏幕控制码

可以显示具有颜色的字符,其格式如下:

“\033[字符背景颜色;字体颜色m字符串\033[0m”

#字符背景颜色范围: 40--47                   
40:黑                       
41:红                        
42:绿
43:黄
44:蓝
45:紫
46:深绿                      
47:白色
#字体颜色: 30--37
30: 黑
31: 红
32: 绿
33: 黄
34: 蓝
35: 紫
36: 深绿
37: 白色

加颜色只是以下控制码中的一种,下面是常见的一些ANSI控制码:

\033[0m   关闭所有属性  
\033[1m   设置高亮度  
\033[4m   下划线  
\033[5m   闪烁  
\033[7m   反显  
\033[8m   消隐  
\033[nA   光标上移n行  
\033[nB   光标下移n行  
\033[nC   光标右移n列  
\033[nD   光标左移n列  
\033[x;yH 设置光标位置x行y列  
\033[2J   清屏  
\033[K   清除从光标到行尾的内容  
\033[s   保存光标位置  
\033[u   恢复光标位置  
\033[?25l   隐藏光标  
\033[?25h   显示光标
\033[2J\033[0;0H 清屏且将光标置顶

范例:

[root@rocky8 ~]$echo -e '\033[43;32;5;5mcxz\e[0m'
cxz

在这里插入图片描述

语言环境


默认系统为英文环境,可以修改为中文环境,从而查看帮助或提示可以变为中文

范例:临时修改LANG变量实现中文语言提示

#centos
[root@rocky8 ~]$echo $LANG
en_US.UTF-8

[root@rocky8 ~]$LANG=zh_CN.UTF-8
[root@rocky8 ~]$echo $LANG
zh_CN.UTF-8

范例: Rocky 8 修改语言环境为中文

#rocky
[root@rocky8 ~]$localectl status
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us
[root@rocky8 ~]#echo $LANG
en_US.UTF-8

[root@rocky8 ~]#yum list lang*
[root@rocky8 ~]#yum -y install langpacks-zh_CN.noarch

#通用方法
[root@rocky8 ~]#localectl set-locale LANG=zh_CN.utf8

#或者下面方式,CentOS8支持,但ubuntu和Centos7不支持,不建议使用
[root@rocky8 ~]#localectl set-locale zh_CN.utf8

[root@rocky8 ~]#localectl status
   System Locale: LANG=zh_CN.utf8
       VC Keymap: us
     X11 Layout: us
[root@rocky8 ~]#echo $LANG
zh_CN.utf8
#重新登录后可以看到中文环境
[root@rocky8 ~]#exit

[root@rocky8 ~]$cxz
-bash: cxz: 未找到命令

范例: Ubuntu18,04 修改语言环境为中文

[root@ubuntu23 ~]$localectl status
System Locale: LANG=en_US.UTF-8
    VC Keymap: (unset)
   X11 Layout: us
    X11 Model: pc105

[root@ubuntu23 ~]$apt install language-pack-zh-hans -y
[root@ubuntu23 ~]$localectl set-locale LANG=zh_CN.utf8
[root@ubuntu23 ~]$exit
[root@ubuntu23 ~]$echo $LANG
zh_CN.utf8

[root@ubuntu23 ~]$cxz
找不到命令 “cxz”,您的意思是:
  “xz” 命令来自 Debian 软件包 xz-utils (5.4.1-0.2)
  “coz” 命令来自 Debian 软件包 coz-profiler (0.2.2-2)
  “cxl” 命令来自 Debian 软件包 ndctl (76-1ubuntu1)
尝试 apt install <deb name>

命令行扩展和被括起来的集合


命令行扩展:`` 和 $()

把一个命令的输出打印给另一个命令的参数,放在``中的一定是有输出信息的命令

$(COMMAND)
`COMMAND`

范例:比较 “ ” ,‘ ’, ``三者区别

[root@rocky8 ~]$echo "echo $HOSTNAME"
echo rocky8.cxz.cn

[root@rocky8 ~]$echo 'echo $HOSTNAME'
echo $HOSTNAME

[root@rocky8 ~]$echo `echo $HOSTNAME`
rocky8.cxz.cn

#结论:
单引号:强引用,六亲不认,变量和命令都不识别,都当成了普通的字符串,"最傻"
双引号:弱引用,不能识别命令,可以识别变量,"半傻不精"
反向单引号:里面的内容必须是能执行的命令并且有输出信息,变量和命令都识别,并且会将反向单引号的内容
当成命令进行执行后,再交给调用反向单引号的命令继续,"最聪明"

范例:

[root@rocky8 ~]$echo "This system's name is $(hostname)"
This system's name is rocky8.cxz.cn

[root@rocky8 ~]$echo "I am `whoami`"
I am root

[root@rocky8 opt]$touch $(date +%F).log
[root@rocky8 opt]$ls
2024-05-24.log

[root@rocky8 opt]$touch `date +%F`.txt
[root@rocky8 opt]$ll
总用量 0
-rw-r--r-- 1 root root 0 5月  24 14:07 2024-05-24.log
-rw-r--r-- 1 root root 0 5月  24 14:07 2024-05-24.txt

[root@rocky8 opt]$touch `hostname`-`date +%F`.log
[root@rocky8 opt]$ll
总用量 0
-rw-r--r-- 1 root root 0 5月  24 14:07 2024-05-24.log
-rw-r--r-- 1 root root 0 5月  24 14:07 2024-05-24.txt
-rw-r--r-- 1 root root 0 5月  24 14:08 rocky8.cxz.cn-2024-05-24.log

[root@rocky8 opt]$touch `date +%F_%H-%M-%S`.log
[root@rocky8 opt]$ll
总用量 0
-rw-r--r-- 1 root root 0 5月  24 14:09 2024-05-24_14-09-02.log
-rw-r--r-- 1 root root 0 5月  24 14:07 2024-05-24.log
-rw-r--r-- 1 root root 0 5月  24 14:07 2024-05-24.txt
-rw-r--r-- 1 root root 0 5月  24 14:08 rocky8.cxz.cn-2024-05-24.log

[root@rocky8 opt]$touch `date -d '-1 day' +%F`.log
[root@rocky8 opt]$ll
总用量 0
-rw-r--r-- 1 root root 0 524 14:09 2024-05-23.log
-rw-r--r-- 1 root root 0 524 14:09 2024-05-24_14-09-02.log
-rw-r--r-- 1 root root 0 524 14:07 2024-05-24.log
-rw-r--r-- 1 root root 0 524 14:07 2024-05-24.txt
-rw-r--r-- 1 root root 0 524 14:08 rocky8.cxz.cn-2024-05-24.log

范例:$( ) 和 ``

[root@rocky8 opt]$ll `echo `date +%F`.txt`
-bash: .txt: 未找到命令
ls: 无法访问'date': 没有那个文件或目录
ls: 无法访问'+%F': 没有那个文件或目录

[root@rocky8 opt]$ll $(echo $(date +%F).txt)
-rw-r--r-- 1 root root 0 524 14:07 2024-05-24.txt

[root@rocky8 opt]$ll `echo $(date +%F).txt`
-rw-r--r-- 1 root root 0 524 14:07 2024-05-24.txt

[root@rocky8 opt]$ll $(echo `date +%F`.txt)
-rw-r--r-- 1 root root 0 524 14:07 2024-05-24.txt

括号扩展:{ }

{} 可以实现打印重复字符串的简化形式

{元素1,元素2,元素3}
{元素1..元素2}

范例:

[root@rocky8 opt]$echo file{1,3,6}
file1 file3 file6
[root@rocky8 opt]$rm -f file{1,3,5}
[root@rocky8 opt]$echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@rocky8 opt]$echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@rocky8 opt]$echo {1..10..2}
1 3 5 7 9
[root@rocky8 opt]$echo {000..20..2}
000 002 004 006 008 010 012 014 016 018 020
[root@rocky8 opt]$echo {a..z} {A..Z}
a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
[root@rocky8 opt]$echo {a..z}{1..3}
a1 a2 a3 b1 b2 b3 c1 c2 c3 d1 d2 d3 e1 e2 e3 f1 f2 f3 g1 g2 g3 h1 h2 h3 i1 i2 i3 j1 j2 j3 k1 k2 k3 l1 l2 l3 m1 m2 m3 n1 n2 n3 o1 o2 o3 p1 p2 p3 q1 q2 q3 r1 r2 r3 s1 s2 s3 t1 t2 t3 u1 u2 u3 v1 v2 v3 w1 w2 w3 x1 x2 x3 y1 y2 y3 z1 z2 z3

范例: 关闭和启用{}的扩展功能

[root@rocky8 opt]$echo $-
himBHs
[root@rocky8 opt]$echo {1..10}
1 2 3 4 5 6 7 8 9 10

[root@rocky8 opt]$set +B
[root@rocky8 opt]$echo $-
himHs
[root@rocky8 opt]$echo {1..10}
{1..10}

[root@rocky8 opt]$set -B
[root@rocky8 opt]$echo $-
himBHs
[root@rocky8 opt]$echo {1..10}
1 2 3 4 5 6 7 8 9 10

tab 键补全


tab 键可以实现命令及路径等补全,提高输入效率,避免出错

命令补全

  • 内部命令:
  • 外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文 件,第一次找到的命令即为要执行的命令
  • 命令的子命令补全,需要安装 bash-completion

注意:用户给定的字符串只有一条惟一对应的命令,直接补全,否则,再次Tab会给出列表

范例:

[root@rocky8 ~]$nmcli connection #按两下TAB
add      delete   edit     help     load     monitor  show
clone    down     export   import   modify   reload   up

路径补全

把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名

如果惟一:则直接补全

否则:再次Tab给出列表

双击Tab键

  • command 2Tab 所有子命令或文件补全
  • string2Tab 以string开头命令
  • /2Tab 显示所有根目录下一级目录,包括隐藏目录
  • ./2Tab 当前目录下子目录,包括隐藏目录
  • *2Tab 当前目录下子目录,不包括隐藏目录
  • ~2Tab 所有用户列表
  • $2Tab 所有变量
  • @2Tab /etc/hosts记录 (centos7 不支持)
  • =2Tab 相当于ls –A (centos7不支持)

命令行历史

当执行命令后,系统默认会在内存记录执行过的命令

当用户正常退出时,会将内存的命令历史存放对应历史文件中,默认是 ~/.bash_history

登录shell时,会读取命令历史文件中记录下的命令加载到内存中

登录进shell后新执行的命令只会记录在内存的缓存区中;这些命令会用户正常退出时“追加”至命令历史 文件中

利用命令历史。可以用它来重复执行命令,提高输入效率

命令:history

history [-c] [-d offset] [n] 
history -anrw [filename] 
history -ps arg [arg...]

常用选项:

-c: 清空命令历史
-d offset: 删除历史中指定的第offset个命令
n: 显示最近的n条历史
-a: 追加本次会话新执行的命令历史列表至历史文件
-r: 读历史文件附加到历史列表
-w: 保存历史列表到指定的历史文件
-n: 读历史文件中未读过的行到历史列表
-p: 展开历史参数成多行,但不存在历史列表中
-s: 展开历史参数成一行,附加在历史列表后

命令历史相关环境变量

HISTSIZE:命令历史记录的条数
HISTFILE:指定历史文件,默认为~/.bash_history
HISTFILESIZE:命令历史文件记录历史的条数
HISTTIMEFORMAT="%F %T `whoami` "   显示时间和用户
HISTIGNORE="str1:str2*:…" 忽略str1命令,str2开头的历史
HISTCONTROL:控制命令历史的记录方式
 	ignoredups 是默认值,可忽略重复的命令,连续且相同为“重复”
	ignorespace 忽略所有以空白开头的命令
 	ignoreboth   相当于ignoredups, ignorespace的组合
 	erasedups   删除重复命令

持久保存变量

以上变量可以 export 变量名=“值” 形式存放在 /etc/profile 或 ~/.bash_profile

范例:

[root@rocky8 ~]$cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
export HISTCONTROL=ignoreboth
export HISTTIMEFORMAT="%F %T "

[root@rocky8 ~]$history
    1  ip a
    2  vim $PS1
    3  echo $PS1
    4  $PS1=\[\e[1;36m\]\u\[\e[31m\]@\h\[\e[1;35m\]
    5  $PS1='\[\e[1;36m\]\u\[\e[31m\]@\h\[\e[1;35m\]'
    6  PS1='\[\e[1;36m\]\u\[\e[31m\]@\h\[\e[1;35m\]'
    7  PS1=\[\e[1;32m\][\t \[\e[1;36m\]\u\[\e[31m\]@\h\[\e[1;35m\] \W\[\e[1;32m\]]\[\e[0m\]\$
    8  exit

调用命令行历史


#重复前一个命令方法
重复前一个命令使用上方向键,并回车执行
按 !! 并回车执行
输入!-1 并回车执行
按 Ctrl+p 并回车执行
!:0 执行前一条命令(去除参数)
!n 执行history命令输出对应序号n的命令
!-n 执行history历史中倒数第n个命令
!string 重复前一个以“string”开头的命令
!?string 重复前一个包含string的命令
!string:p 仅打印命令历史,而不执行
!$:p 打印输出 !$ (上一条命令的最后一个参数)的内容
!*:p 打印输出 !*(上一条命令的所有参数)的内容
^string 删除上一条命令中的第一个string
^string1^string2 将上一条命令中的第一个string1替换为string2
!:gs/string1/string2 将上一条命令中所有的string1都替换为 string2
使用up(向上)和down(向下)键来上下浏览从前输入的命令
ctrl-r来在命令历史中搜索命令
(reverse-i-search)`’:
Ctrl+g:从历史搜索模式退出
#要重新调用前一个命令中最后一个参数
!$ 表示前一个命令中最后一个参数
Esc, .   点击Esc键后松开,然后点击 . 键
Alt+ .   按住Alt键的同时点击 .command !^   利用上一个命令的第一个参数做command的参数
command !$   利用上一个命令的最后一个参数做command的参数
command !*   利用上一个命令的全部参数做command的参数
command !:n 利用上一个命令的第n个参数做command的参数
command !n:^ 调用第n条命令的第一个参数
command !n:$ 调用第n条命令的最后一个参数
command !n:m 调用第n条命令的第m个参数
command !n:* 调用第n条命令的所有参数
command !string:^ 从命令历史中搜索以 string 开头的命令,并获取它的第一个参数
command !string:$ 从命令历史中搜索以 string 开头的命令,并获取它的最后一个参数
command !string:n 从命令历史中搜索以 string 开头的命令,并获取它的第n个参数
command !string:* 从命令历史中搜索以 string 开头的命令,并获取它的所有参数

bash的快捷键


Ctrl + l 清屏,相当于clear命令
Ctrl + o 执行当前命令,并重新显示本命令
Ctrl + s 阻止屏幕输出,锁定
Ctrl + q 允许屏幕输出,解锁
Ctrl + c 终止命令
Ctrl + z 挂起命令
Ctrl + a 光标移到命令行首,相当于Home
Ctrl + e 光标移到命令行尾,相当于End
Ctrl + f 光标向右移动一个字符
Ctrl + b 光标向左移动一个字符
Ctrl + xx 光标在命令行首和光标之间移动
ctrl+ > 光标向右移动一个单词尾,相当于 Alt + f
ctrl+ <     光标向左移动一个单词首,相当于 Alt + b
Ctrl + u 从光标处删除至命令行首
Ctrl + k 从光标处删除至命令行尾
Alt + r     删除当前整行
Ctrl + w 从光标处向左删除至单词首
Alt + d 从光标处向右删除至单词尾
Alt + Backspace 删除左边单词
Ctrl + d 删除光标处的一个字符
Ctrl + h 删除光标前的一个字符
Ctrl + y 将删除的字符粘贴至光标后
Alt + c 从光标处开始向右更改为首字母大写的单词
Alt + u 从光标处开始,将右边一个单词更改为大写
Alt + l 从光标处开始,将右边一个单词更改为小写
Ctrl + t 交换光标处和之前的字符位置
Alt + t 交换光标处和之前的单词位置
Alt + # 提示输入指定字符后,重复显示该字符#次

注意:Alt 组合快捷键经常和其它软件冲突

获得帮助


  • whatis
  • command --help
  • man
  • /usr/share/doc/
  • Red Hat documentation 、Ubuntu documentation
  • 软件项目网站
  • 其它网站
  • 搜索

whatis


whatis 使用数据库来显示命令的简短描述

此工具在系统刚安装后,不可立即使用,需要制作数据库后才可使用

执行下面命令生成数据库

#CentOS 7 版本以后
mandb

范例:

[root@rocky8 ~]$whatis cal
cal (1)              - display a calendar
cal (1p)             - print a calendar
[root@rocky8 ~]$man -f cal
cal (1)              - display a calendar
cal (1p)             - print a calendar

[root@rocky8 ~]$whatis ls
ls (1)               - list directory contents
ls (1p)              - list directory contents

查看命令的帮助


内部命令帮助

  • help COMMAND
  • man bash

范例:

[root@rocky8 ~]$type history
history is a shell builtin

[root@rocky8 ~]$help history
history: history [-c] [-d offset] [n] or history -anrw [filename] or histo                   ry -ps arg [arg...]
    Display or manipulate the history list.

    Display the history list with line numbers, prefixing each modified
    entry with a `*'.  An argument of N lists only the last N entries.

    Options:
      -c        clear the history list by deleting all of the entries
      -d offset delete the history entry at position OFFSET.

      -a        append history lines from this session to the history file
      -n        read all history lines not already read from the history f                   ile
                and append them to the history list
      -r        read the history file and append the contents to the histo                   ry
                list
      -w        write the current history to the history file

      -p        perform history expansion on each ARG and display the resu                   lt
                without storing it in the history list
      -s        append the ARGs to the history list as a single entry

    If FILENAME is given, it is used as the history file.  Otherwise,
    if HISTFILE has a value, that is used, else ~/.bash_history.

    If the HISTTIMEFORMAT variable is set and not null, its value is used
    as a format string for strftime(3) to print the time stamp associated
    with each displayed history entry.  No time stamps are printed otherwi                   se.

    Exit Status:
    Returns success unless an invalid option is given or an error occurs.

外部命令及软件帮助

  • COMMAND --help 或 COMMAND -h
  • 使用 man 手册(manual): man COMMAND
  • 信息页:info COMMAND
  • 程序自身的帮助文档:README、INSTALL、ChangeLog
  • 程序官方文档 相关网站,如:技术论坛
  • 搜索引擎

外部命令的–help 或 -h 选项


显示用法总结和参数列表,大多数命令使用,有的没有

范例:

[root@rocky8 ~]$date --help
Usage: date [OPTION]... [+FORMAT]
  or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Display the current time in the given FORMAT, or set the system date.
#后面还有,略

[root@rocky8 ~]$date -h
date: invalid option -- 'h'
Try 'date --help' for more information.

格式说明:

  • [] 表示可选项
  • CAPS或 <> 表示变化的数据
  • … 表示一个列表 x |y| z
  • 的意思是“ x 或 y 或 z ”
  • -abc的 意思是 -a -b –c
  • { } 表示分组

man 命令


man 提供命令帮助的文件,手册页存放在/usr/share/man

几乎每个命令都有man的“页面”

man 帮助

https://man7.org/linux/man-pages/index.html
https://man7.org/linux/man-pages/dir_all_alphabetic.html

中文man需安装包

  • man-pages
  • man-pages-zh-CN

man 页面分组

不同类型的帮助称为不同的“章节”,统称为Linux手册,man 1 man

  • 1:用户命令
  • 2:系统调用
  • 3:C库调用
  • 4:设备文件及特殊文件
  • 5:配置文件格式
  • 6:游戏
  • 7:杂项
  • 8:管理类的命令
  • 9:Linux 内核API

man 命令的配置文件:

#CentOS 6 之前版 man 的配置文件
/etc/man.config 
#CentOS 7 之后版 man 的配置文件
/etc/man_db.conf
#ubuntu man 的配置文件
/etc/manpath.config

格式:

MANPATH /PATH/TO/SOMEWHERE   #指明man文件搜索位置

也可以指定位置下搜索COMMAND命令的手册页并显示

man -M /PATH/TO/SOMEWHERE COMMAND

查看man手册页

man [OPTION...] [SECTION] PAGE...
man [章节] keyword

man 帮助段落说明

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

常用选项

  • 列出所有帮助
man -a keyword 
  • 搜索man手册
#列出所有匹配的页面,使用 whatis 数据库
man -k keyword 
  • 相当于 whatis
man -f keyword 
  • 打印man帮助文件的路径
man -w [章节] keyword

范例: 查看passwd相关命令和文件,man帮助文件路径

[root@rocky8 ~]$whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz

范例: 直接打开man的帮助文件

[root@rocky8 ~]$man -w ls
/usr/share/man/man1/ls.1.gz
[root@rocky8 ~]$file /usr/share/man/man1/ls.1.gz
/usr/share/man/man1/ls.1.gz: gzip compressed data, max compression, from Unix, original size 7921

#直接打开man的gz压缩格式文档
[root@rocky8 ~]$man /usr/share/man/man1/ls.1.gz

#直接打开man格式文档
[root@rocky8 ~]$file /usr/local/src/nginx-1.22.1/man/nginx.8
/usr/local/src/nginx-1.22.1/man/nginx.8: troff or preprocessor input, ASCII text
[root@rocky8 ~]$man -l /usr/local/src/nginx-1.22.1/man/nginx.8

命令自身提供的官方使用指南


/usr/share/doc

多数安装了的软件包的子目录,包括了这些软件的相关原理说明

常见文档:README INSTALL CHANGES

不适合其它地方的文档的位置

配置文件范例 HTML/PDF/PS 格式的文档

授权书详情

范例:

[root@rocky8 ~]$ls /usr/share/doc/nano/
AUTHORS    COPYING   INSTALL    NEWS    sample.nanorc  TODO
ChangeLog  faq.html  nano.html  README  THANKS
[root@rocky8 ~]$ls /usr/share/doc/nano/nano.html

系统及第三方应用官方文档


Linux官方在线文档和知识库

通过发行版官方的文档光盘或网站可以获得安装指南、部署指南、虚拟化指南等

http://www.redhat.com/docs
http://kbase.redhat.com
http://access.redhat.com
https://help.ubuntu.com/lts/serverguide/index.html
http://tldp.org

通过在线文档获取帮助


http://www.github.com
https://www.kernel.org/doc/html/latest/
http://httpd.apache.org
http://www.nginx.org
https://mariadb.com/kb/en
https://dev.mysql.com/doc/
http://tomcat.apache.org
https://jenkins.io/zh/doc/
https://kubernetes.io/docs/home/
https://docs.openstack.org/train/
http://www.python.org
http://php.net

相关网站和搜索


#各种搜索网站
谷歌
必应
百度
等等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/640415.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Springboot开发 -- Postman 使用指南

引言 在 Spring Boot 应用开发过程中&#xff0c;接口测试是必不可少的一环。Postman 作为一款强大的 API 开发和测试工具&#xff0c;可以帮助开发者轻松构建、测试和管理 HTTP 请求。本文将为大家介绍如何在 Spring Boot 开发中使用 Postman 进行接口测试。 一、准备工作 安…

【算法】分治 - 快速排序

快乐的流畅&#xff1a;个人主页 个人专栏&#xff1a;《算法神殿》《数据结构世界》《进击的C》 远方有一堆篝火&#xff0c;在为久候之人燃烧&#xff01; 文章目录 引言一、颜色分类二、排序数组三、数组中的第k个数四、最小的k个数总结 引言 本节主要介绍快速排序&#xf…

机器学习实验------Adaboost算法

第1关:什么是集成学习 任务描述 本关任务:根据本节课所学知识完成本关所设置的选择题。 第2关: Boosting 任务描述 本关任务:根据本节课所学知识完成本关所设置的选择题。 第3关:Adaboost算法流程 任务描述 本关任务:用Python实现Adaboost,并通过鸢尾花数据集…

聚观早报 | 华为畅享 70S真机图赏;vivo Y200 GT开售

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 5月25日消息 华为畅享 70S真机图赏 vivo Y200 GT开售 一加13部分细节曝光 马斯克谈AI未来 三星Galaxy Z Fold6将…

使用SDL_QT直接播放渲染YUV格式文件

0.前要 下载一个文件&#xff0c;名字为 400_300_25.mp4&#xff0c;我们用ffmplay.exe将其转化为yuv文件&#xff0c;具体操作如下&#xff1a; 进入cmd控制台&#xff0c;进入ffmplay.exe文件的目录下&#xff0c;输入ffmpeg -i 文件名.mp4 文件名.yuv 回车&#xff0c;会生…

每日练习之数学——砝码和天平

砝码和天平 题目描述 运行代码 #include<iostream> using namespace std; int main() {int w,m,T;cin>>T;while(T--){cin>>w>>m;while(m){if((m-1)%w0)m(m-1)/w;else if((m1)%w0)m(m1)/w;else if(m%w0)m/w;else break;}if(!m)cout<<"YES&…

检测头篇 | YOLOv8改进之添加小目标检测头 / 添加大目标检测头 / 减少检测头

前言:Hello大家好,我是小哥谈。本文首先给大家展示原始YOLOv8的网络结构图,然后再对其进行改变,即增加小目标检测头、增加大目标检测头和减少检测头。🌈 目录 🚀1.网络结构图

10.2.k8s的附加组件-Metrics-server组件与hpa资源pod水平伸缩

目录 一、概述 二、安装部署Metrics-Server组件 1.下载Metrics-Server资源清单 2.编辑Metrics-Server的资源清单 3.验证Metrics-Server是否成功安装 4.使用top命令测试是否管用 三、hpa资源实现pod水平伸缩&#xff08;自动扩缩容&#xff09; 1.编写deploy资源清单 2.…

什么是创造力?如何判断自己的创造力?

创造力&#xff0c;主要表现为创新思想、发现和创造新事物的能力&#xff0c;是知识&#xff0c;智力和能力的综合能力&#xff0c;尤其是在职业发展方面&#xff0c;创造力具有重要的意义&#xff0c;企业的核心竞争力就来源于创造力&#xff0c;这就需要具有创造力的员工来推…

HCIP-Datacom-ARST自选题库__OSPF单选【80道题】

1.OSPFV2是运行在IPV4网络的IGP&#xff0c;OSPFV3是运行在IPV6网络的ICP&#xff0c;OSPFV3与OSPFv2的报文类型相同&#xff0c;包括Hello报文、DD报文、LSR报文、LSU报文和LSAck报文。关于OSPFv3报文&#xff0c;以下哪个说法是正确的 OSPFv3使用报文头部的认证字段完成报文…

.DS_store文件

感觉mac里的这个.DS_store文件烦人&#xff0c;老是莫名其妙的出现&#xff0c;然后造成困扰 处理方式如下&#xff1a; import os pic_list os.listdir("./mask_pic/") print(len(pic_list)) # 从文件夹中删掉 if(".DS_Store" in pic_list):print(&quo…

如何关闭或者减少屏蔽 CloudFlare 的真人检测

经常浏览境外网站的应该常碰到一个真人检测的提示(如下图所示)。最近,明月就收到了一个知乎上的付费咨询:问我如何去掉这个提示,由此明月也特别的研究了一下这个“真人检测”,这算是 CloudFlare 的一个特色了,基本上大家看到站点访问有这个提示的几乎都是用了 CloudFlar…

亚马逊测评自养号需要解决哪些问题?

我们首先了解一下测评是什么 测评就是类似于国内某宝和某多补销量一样&#xff0c;可以快速提升产品销量和优质的评价&#xff0c;从而让产品的权重上升&#xff0c;可以上升产品排名 也可以防范同行的恶意差评&#xff0c;可以用好评稀释差评&#xff0c;从而控评&#xff0…

VSCODE gcc运行多个.c文件

一、简介 很多时候&#xff0c;开发者需要使用VSCODE进行C语言算法验证。而VSCODE的gcc编译&#xff0c;默认是只编译本文件的内容&#xff0c;其他.c文件是不参与编译的。这就给开发者带来很大的困扰&#xff0c;因为开发者不可能把所有的算法都写在一个.c文件&#xff0c;特别…

2024年5月计算机视觉论文推荐:包括扩散模型、视觉语言模型、图像编辑和生成、视频处理和生成以及图像识别等各个主题

我们今天总结下2024年5月发表的最重要的论文&#xff0c;重点介绍了计算机视觉领域的最新研究和进展&#xff0c;包括扩散模型、视觉语言模型、图像编辑和生成、视频处理和生成以及图像识别等各个主题。 Diffusion Models 1、Dual3D: Efficient and Consistent Text-to-3D Ge…

mac清理软件推荐免费 mac清理系统数据怎么清理 cleanmymac和腾讯柠檬哪个好

macbook是苹果公司的一款高性能的笔记本电脑&#xff0c;受到了很多用户的喜爱。但是&#xff0c;随着使用时间的增长&#xff0c;macbook的系统也会积累一些垃圾文件&#xff0c;影响其运行速度和空间。那么&#xff0c;macbook系统清理软件推荐有哪些呢&#xff1f;macbook用…

模板编译之入口分析

Vue 是一个渐进式 JavaScript 框架&#xff0c;提供了简单易用的模板语法&#xff0c;帮助开发者以声明式的方式构建用户界面。Vue 的模板编译原理是其核心之一&#xff0c;它将模板字符串编译成渲染函数&#xff0c;并在运行时高效地更新 DOM。本文将深入探讨 Vue 模板编译的原…

Optica数据库 (原OSA美国光学学会电子期刊)文献去哪里查找下载

Optica&#xff08;OSA&#xff09;数据库涵盖了光学和光子学理论研究和实际应用的各个领域&#xff0c;包括&#xff1a;光学设备、光学成像、光纤通信、分析方法、光通信、光纤、半导体激光、光传输、光学系统、计量学、带宽、量子电子学。 该库包括18种学会期刊&#xff08…

5月21日 网络编程day4

1.项目中如何实现TCP的并发&#xff1f; 答&#xff1a;采用多进程、多线程或者IO多路复用进行通信。 2.TCP通信过程中的三次握手&#xff1f; 答&#xff1a;①&#xff1a;客户端发送SYN包&#xff08;SYN1&#xff0c;seq0&#xff09;给服务器&#xff0c;并进入SYN_SEN…

【大模型】 基于AI和全球化进程的权衡:开源大模型与闭源大模型

【大模型】 基于AI和全球化进程的权衡&#xff1a;开源大模型与闭源大模型 前言 实际上关于开源or闭源&#xff0c;一直以来都是颇有争议的话题&#xff0c;人们争执于数据的隐私性和共享性&#xff0c;到底哪一方能获得的收益更大。而对于开源与闭源哪个更好实际上也就是说是…