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 ~]$w13: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 statusSystem Locale: LANG=en_US.UTF-8VC Keymap: usX11 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 statusSystem Locale: LANG=zh_CN.utf8VC Keymap: usX11 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-8VC Keymap: (unset)X11 Layout: usX11 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 programsPATH=$PATH:$HOME/binexport PATH
export HISTCONTROL=ignoreboth
export HISTTIMEFORMAT="%F %T "[root@rocky8 ~]$history1  ip a2  vim $PS13  echo $PS14  $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 modifiedentry 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                   ileand append them to the history list-r        read the history file and append the contents to the histo                   rylist-w        write the current history to the history file-p        perform history expansion on each ARG and display the resu                   ltwithout storing it in the history list-s        append the ARGs to the history list as a single entryIf 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 usedas a format string for strftime(3) to print the time stamp associatedwith 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

相关网站和搜索


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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python对矩阵列进行操作

在Python中&#xff0c;可以使用NumPy库来对矩阵&#xff08;或称为矩阵、数组&#xff09;的列进行各种操作。以下是一些常见的列操作及其示例代码&#xff1a; import pandas as pd# 读取CSV文件 df pd.read_csv(output_file.csv, delimiter )# 对列进行求和 sum_columns …

WordPress 发布了独立的 SQLite 插件

之前 WordPress 在官方的 Performance Lab 插件实现 SQLite 模块&#xff0c;现在重构 SQLite 的实现&#xff0c;并且将其发布成一个独立的插件&#xff1a;SQLite Database Integration。 独立 SQLite 插件 最初的功能模块实现是基于 aaemnnosttv 的 wp-sqlite-db 插件修改实…

用ssh做跳板用周转服务器帮我们加速下载

假设有一台机器A&#xff0c;它从网站B下载东西很慢&#xff0c;但是有一台机器C&#xff0c;它从B下载比较快&#xff0c;它和A之间的速度也比较快&#xff0c;那么就可以在A发指令&#xff0c;通过ssh做跳板从C加速下载网站B的文件。 以下为示例命令&#xff1a; ssh 用户名…

【DevOps】Linux 下安装配置 Apache 服务器:打造你的专属 Web 平台

目录 一、准备工作 二、安装 Apache 三、启动和管理 Apache 四、验证安装 五、配置 Apache 5.1 修改网站根目录 5.2 配置虚拟主机 5.2.1 创建虚拟主机配置文件 5.2.2 创建网站目录 5.2.3 启用虚拟主机 5.2.4 重启 Apache 5.3 配置 HTTPS 5.3.1 安装 SSL 证书 5.3…

使用CyberRT写第一个代码, test ok

简介 计算框架是自动驾驶系统中的重中之重,也是整个系统得以高效稳定运行的基础。为了实时地完成感知、决策和执行,系统需要一系列的模块相互紧密配合,高效地执行任务流。由于各种原因,这些模块可能位于不同进程,也可能位于不同机器。这就要求计算框架中具有灵活的、高性…

谷歌蜘蛛池是什么?

或称为谷歌爬虫池&#xff0c;是一项专门针对谷歌搜索引擎优化&#xff08;SEO&#xff09;的先进技术&#xff0c;这种技术的主要目的是通过建立庞大的网站群体和复杂的链接结构来吸引和维持谷歌的爬虫程序的注意力&#xff0c;其核心是通过这种结构优化&#xff0c;增强特定网…

大学计算机专业三天看完《Python背记手册》全彩版,轻松学会 Python不迷路!

Python作为一门编程语言&#xff0c;Python提供了高效的高级数据结构&#xff0c;还能简单有效地面向对象编程。Python语法和动态类型&#xff0c;以及解释型语言的本质&#xff0c;使它成为多数平台上写脚本和快速开发应用的编程语言&#xff0c;随着版本的不断更新和语言新功…

Java | Leetcode Java题解之第109题有序链表转换二叉搜索树

题目&#xff1a; 题解&#xff1a; class Solution {ListNode globalHead;public TreeNode sortedListToBST(ListNode head) {globalHead head;int length getLength(head);return buildTree(0, length - 1);}public int getLength(ListNode head) {int ret 0;while (head…

20、设计模式之备忘录模式

备忘录模式 备忘录模式&#xff08;Memento Pattern&#xff09;保存一个对象的某个状态&#xff0c;以便在适当的时候恢复对象。备忘录模式属于行为型模式。 介绍 意图&#xff1a; 在不破坏封装性的前提下&#xff0c;捕获一个对象的内部状态&#xff0c;并在该对象之外保存…

【6】PostgreSQL 循环

PostgreSQL 循环 前言笔记WHILE 循环基本结构简单示例详细示例创建示例函数解释调用示例函数预期输出 FOR 循环Numeric FOR Loop基本结构简单示例详细示例创建示例函数解释调用示例函数预期输出 Reverse Numeric FOR Loop基本格式简单示例详细说明创建函数解释调用函数预期输出…

[C][字符串][字符串常用函数介绍]详细讲解

目录 0.前言1.gets2.strlen3.strcpy4.strncpy5.strcat - (效率低)6.strncat7.strcmp8.strncmp9.strstr10.strtok11.strerror12.perror(相对于strerror可能更好用)13.ctype.h14.memcpy15.memmove16.memcmp17.memset18.atoi 0.前言 本篇主要介绍处理字符和字符串的库函数的使用及…

【C语言】文件的编译链接和预处理

文件的编译链接和预处理 程序的翻译环境和执行环境翻译环境预处理&#xff08;预编译&#xff09;过程编译过程汇编过程链接过程 运行环境 预处理详解预处理符号预处理指令#define#define定义标识符#define定义宏#define替换规则 #与###的使用##的使用 带有副作用的宏参数宏与函…

软考之信息系统管理知识点(1)

信息系统管理知识点 计算机中的CPU主要由运算单元、控制单元、寄存器组和时序电路等组成&#xff1b; 运算单元是对数据进行加工的部件&#xff0c;主要完成算术运算和逻辑运算。控制单元主要是从主存取出指令进行分析&#xff0c;控制其他部件完成指令的功能。寄存器组既可以用…

超详细的前后端实战项目(Spring系列加上vue3)前端篇(二)(一步步实现+源码)

好了&#xff0c;兄弟们&#xff0c;继昨天的项目之后&#xff0c;开始继续敲前端代码&#xff0c;完成前端部分 昨天完成了全局页面的代码&#xff0c;和登录页面的代码&#xff0c;不过昨天的代码还有一些需要补充的&#xff0c;这里添加一下 内容补充&#xff1a;在调用登…

Spring (16)Spring Boot Starter是什么

Spring Boot Starter是Spring Boot的一个核心特性&#xff0c;它提供了一种快速、简便的方式来引入和管理项目依赖。通过Starters&#xff0c;开发者可以轻松地将必要的依赖集成到项目中&#xff0c;无需手动指定每个库的版本。Starters包含了一组自动配置的模板&#xff0c;这…

代码随想录算法训练营第36期DAY38

DAY38 435无重叠区间 昨晚很快就想出来了&#xff0c;今天相当于二刷。 class Solution {public: static bool mycmp(vector<int>&a,vector<int>&b){ return a[1]<b[1]; } int eraseOverlapIntervals(vector<vector<int>&g…

sql查询,直接返回json数组格式

文章目录 数据库查询&#xff0c;并且sql直接返回json格式 数据库查询&#xff0c;并且sql直接返回json格式 SELECTJSON_ARRAYAGG(JSON_OBJECT(groupId, g.id,groupName, g.NAME,groupColor, g.group_color,num, COALESCE(c.num, 0),type, g.type)) AS result FROMxbd_group g…

如何部署一个基本符合ERC20的智能合约

运行genache-cli 运行以下命令genache-cli下载MetaMask浏览器拓展钱包 添加账户 导入账户 输入genache-cli生成其中的密钥 选择【显示测试网络】点击【添加网络】 添加自己本地的网络 选择该测试网络&#xff0c;账号里就会有100RETH 在remix里接通这个测试帐号 …

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.…

Sap Hana 数据迁移同步优化(二)

简述 CloudCanal 近期对 Hana 源端链路做了新一轮优化&#xff0c;这篇文章简要做下分享。 本轮优化主要包含: 表级别 CDC 表表级别任务位点表级别触发器 单 CDC 表的问题 CloudCanal 在实现 Hana 源端增量同步时&#xff0c;最初采用的是单 CDC 表的模式。 即所有订阅表…