Capítulo 1 Uso simples do Linux
1.1 Composição do Linux
1. Kernel Linux: O kernel é o núcleo do sistema e é o programa principal para executar programas e gerenciar dispositivos de hardware, como discos e impressoras.
2. Sistema de arquivos: Um método de organização de arquivos armazenados em dispositivos de armazenamento, como discos. O Linux pode suportar uma variedade de sistemas de arquivos disponíveis atualmente, como
ext4, FAT, VFAT, ISO9660, NFS, SMB, etc.
3. Shell: Shell é a interface do usuário do sistema, fornecendo uma interface para os usuários interagirem com o kernel.
Aplicações: incluindo editores de texto, linguagens de programação, X Window, suítes de escritório, ferramentas de Internet, bancos de dados, etc.
A interface operacional do Linux é frequentemente chamada de Shell. Shell é a interface (gráficos, caracteres) fornecida pelo sistema operacional aos usuários. Ele fornece
uma interface para os usuários interagirem com o kernel. Quando o usuário emite instruções (comandos ou operações do mouse), essas instruções são primeiro enviadas ao Shell, que
traduz as instruções do usuário e as transmite ao kernel, e então o kernel controla o trabalho do hardware. Em seguida, o kernel envia o status de funcionamento do hardware para
o Shell, e o Shell retorna as informações de funcionamento e o status do hardware.
Classificação do Shell:
Shell com interface gráfica: KDE, GNOME
Shell com interface de caracteres: bash, etc.
(1) Verifique as informações atuais da distribuição Linux
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 8.3.2011
(2) Verifique a versão do kernel
[root@localhost ~]# uname -r
4.18.0-240.el8.x86_64
O número de versão do kernel Linux passou por três esquemas de nomenclatura diferentes:
Versões anteriores a 1.0 ~ 2.6: ABC
A – um número de versão principal com alterações substanciais;
B – um número de versão secundária com algumas modificações importantes
C – refere-se a uma revisão secundária O número de revisão , C é a versão de desenvolvimento com numeração ímpar e a versão par é a versão estável.
Versões 2.6.0.0~2.6.39.4: ABCD
A e B – são fixadas em 2 e 6 respectivamente;
C – é a versão do kernel;
D – número do patch de segurança.
A partir da versão 3.0: XAB
X – número da versão principal, atualmente 3 ou 4;
A – versão do kernel, B – patch de segurança.
A partir desta versão, os números pares representam versões estáveis e os números ímpares representam versões de desenvolvimento.O método de nomenclatura
mainline – mainline version (representa a versão atualmente sendo desenvolvida pela força principal ou versão de desenvolvimento)
stable – versão estável
de longo prazo – versão de suporte de longo prazo
EOL (End of Life) – uma versão mais antiga que foi descontinuada do suporte técnico.
(3) Verifique o tipo de concha
方法1:cat /etc/shells
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
方法2:chsh -l
[root@localhost ~]# chsh -l
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
[root@localhost ~]#
(4) Veja o shell padrão atual
`[root@localhost ~]# echo $SHELL
/bin/bash
(5) Prompt do Shell: # e $
. Para usuários comuns, o prompt padrão do Shell Base é o cifrão $;
para superusuários (usuários root), o prompt padrão do Bash Shell é o sinal de cerquilha #.
Login de usuário comum: [当前登录用户@主机名 当前工作目录 ] $
Login de usuário root: [root@主机名 当前工作目录 ] # (6)使用命令重启和关闭linux操作系统:
Reiniciar: reiniciar, desligar -r agora
Desligar: desligar -h agora, desligar
(6) Use o comando para reiniciar e desligar o sistema operacional Linux:
Reiniciar: reiniciar, desligar -r agora
Desligar: shutdown -h now , poweroff shutdown -r +30 'o sistema será reinicializado' Após mais 30 minutos, o sistema será reinicializado e exibirá a seguinte mensagem para todos os
usuários online
(7) Verifique as informações da placa de rede e obtenha o endereço IP
#获取ip地址 [root@localhost ~]# dhclient #如果提示没有该命令,则需要先装包才能使用,可使用nmcli命令获 取地址
[root@localhost ~]# nmcli con up ens160
#查看ip地址 [root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:53:e2:2c brd ff:ff:ff:ff:ff:ff
inet 192.168.168.128/24 brd 192.168.168.255 scope global dynamic noprefixroute ens160
valid_lft 1284sec preferred_lft 1284sec
inet6 fe80::1d40:7cea:e3be:32d9/64 scope link noprefixroute
valid_lft forever preferred_lft forever
#注:lo网卡是环回网卡,主要用来本地测试;ens160才是我们远程连接的网卡。
1.2 Conectar-se remotamente ao servidor Linux
O método de conexão remota ao servidor Linux: classificado pelo tipo de display, que pode ser dividido em dois tipos: interface de caracteres e interface gráfica. O software de interface de caracteres
inclui SecureCRT, PUTTY, xshell, mobaxterm, etc.; o software de interface gráfica inclui software Xmanager, Xdmcp e VNC, etc.
1.2.1 Conexão remota Xshell com Linux
O método de conexão remota ao servidor Linux: classificado pelo tipo de display, que pode ser dividido em dois tipos: interface de caracteres e interface gráfica. O software de interface de caracteres
inclui SecureCRT, PUTTY, xshell, mobaxterm, etc.; o software de interface gráfica inclui software Xmanager, Xdmcp e VNC, etc.
(1) Clique duas vezes no ícone Xshell da área de trabalho para iniciar o programa Xshell.
Insira manualmente o endereço IP do host nesta janela , insira a tecla Enter e, em seguida, insira a senha do usuário root ssh root@linux
na janela pop-up de prompt de senha e você poderá fazer login com sucesso como usuário root. Insira-o manualmente nesta janela , insira a tecla Enter e, em seguida , insira sua senha de usuário comum na janela pop-up de prompt de senha e você poderá fazer login com sucesso como um usuário comum.ssh 普通用户名@linux主机IP地址
1.2.2 Use MobaXterm para conectar-se remotamente ao Linux
1.3 Controle o servidor através de software remoto
A conexão remota foi bem-sucedida conforme mostrado na figura abaixo:
(1) Mude para o usuário comum que você adicionou ao instalar o sistema.
[root@localhost ~]# su - centos
Last login: Mon Jun 6 15:15:20 CST 2022 on pts/0
[centos@localhost ~]$
#输入exit退出 [centos@localhost ~]$ exit
logout
[root@localhost ~]#
#查看当前登录的用户
[root@localhost ~]# whoami
root
(2) Para modificar o nome do host, você precisa se reconectar remotamente para ter efeito.
[root@localhost ~]# hostname server #临时修改,重启linux系统之后失效
[root@localhost ~]# hostnamectl set-hostname server #永久生效,修改的是文件内容。重启linux系统后依旧生效
#查看主机名配置文件
[root@localhost ~]# cat /etc/hostname
server
(3) Veja o diretório de trabalho atual:pwd
[root@localhost ~]# pwd
/root
[root@localhost ~]# su - centos
Last login: Mon Jun 6 15:16:56 CST 2022 on pts/0
[centos@server ~]$ pwd
/home/centos
注意:windows和linux系统的目录路径表示的不同
(4) Alterar o diretório de trabalho atual, ou seja, alternar diretórios
· Caminho absoluto (caminho começando com /)
· Caminho relativo (caminho não começando com /)
[root@localhost ~]# cd /
[root@localhost /]# cd - 注:该操作会让你回到上一次切换的目录下
/root
[root@localhost ~]#
[root@localhost /]# cd /home
[root@localhost home]# cd /home/centos
[root@localhost centos]# cd ~ 注:~代表当前用户的家目录,当前用户为root,则代表为 root用户的家目录
[root@localhost ~]# cd .. 注:..代表当前工作目录的上一级目录
[root@localhost /]# cd . 注:.代表当前工作
(5) Alterar senha
[root@localhost ~]# passwd
Changing password for user root.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# passwd centos
Changing password for user centos.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# passwd -d centos #删除centos用户的密码
Análise: As semelhanças e diferenças entre usuários comuns e usuários root na alteração de senhas.
Usuários comuns: 1. Precisa inserir a senha original 2. O nome de usuário não pode ser especificado ao alterar a senha 3. Ele precisa ter mais de 8 caracteres e não pode ser sistematizado
1.4Redefinir senha de root
rhel8/centos8 redefinir senha de root
método um:
Passo 1: Reinicie o sistema e pressione a tecla e na interface mostrada abaixo.
Passo 2: Encontre a linha Linux, digite rd.break após o espaço no final
e pressione ctl+x para entrar na seguinte interface:
Em seguida, digite
mount -o remount,rw /sysroot
chroot /sysroot
passwd root
Conforme mostrado abaixo:
Após concluir os passos anteriores, digite para modificar a senha.
Obs: Ao escrever uma nova senha, a página não exibirá o número que você digitou (conforme mostrado abaixo)
e depois digite:
touch /.autorelabel
Veja a imagem abaixo:
Depois de alterar a senha, você deve digitar "exit" duas vezes
e depois fazer o login automaticamente. Demora muito, então espere pacientemente.
Método dois:
Semelhante ao método um, mas diferente na etapa dois.
Após entrar na página seguinte, altere "ro" na imagem abaixo para "rw" e adicione "init=/bin/sh" no final conforme mostrado abaixo: Em seguida, insira
duas
linhas de código, conforme mostrado abaixo:
O último método é o mesmo.
Capítulo 2 Executando comandos no Linux
2.1 Formato do comando
Formato do comando: principais parâmetros de opções de comando (objetos de operação)
os comandos são divididos em duas categorias:
comandos internos (builtin): comandos que vêm com o programa shell.
Comandos externos: possuem arquivos de programa executáveis independentes e o nome do arquivo é o comando nome.
Opções: especifique o comando. As características de execução indicam qual código de função no comando deve ser executado.
Opções curtas: Por exemplo: -l, -d. Se o mesmo comando usar várias opções curtas ao mesmo tempo, a maioria delas poderá ser mesclada. [Nota: Algumas opções de comando não possuem -]
opções longas: como –help,
–parâmetro legível por humanos: o objeto do comando, ou seja, onde o comando tem efeito.
Comandos diferentes têm parâmetros diferentes.
Algumas opções podem receber parâmetros, algumas opções não podem aceitar parâmetros
e alguns comandos podem receber vários parâmetros ao mesmo tempo. Vários parâmetros devem ser separados por caracteres em branco. Encerre
o comando atual:
pressione [Ctrl+C ] para interromper. O comando que está sendo executado
tem dois tipos de conclusão:
Comando de conclusão: Após inserir os primeiros caracteres da palavra-chave do comando, pressione a tecla Tab para realizar a conclusão automática do comando. Conclusão do
nome do arquivo e do diretório: Após inserir os primeiros caracteres do arquivo, pressione a tecla Tab para concluir automaticamente
[root@localhost ~]# passwd -d centos
[root@localhost ~]# cat /etc/redhat-release
[root@localhost ~]# uname -r
4.18.0-240.el8.x86_64
Veja a ajuda do comando interno do bash
[root@node13 ~]# help cd
comando --ajuda
[root@node13 ~]# cat — —help
示例如下:cat [OPTION]... [FILE]... 表明cat后面可以加上多个可选的选项以及多个可选的文件参数
下面是对于命令的语法的一些符号的说明:
[] :表示的是可选
...: 表示的可以存在多个参数
| : 表示是可选的
<>: 必填
{
}:表示作为一个整体存在的
man é usado para fornecer ajuda online e as permissões de uso são para todos os usuários. Você pode usar o comando man para ler as informações de ajuda, o que é muito conveniente.
É útil
na interface das informações de ajuda do comando man. Os botões de operação comuns incluídos são os seguintes:
botão | efeito |
---|---|
Barra de espaço, página para baixo | Abaixe uma página |
PaGe up, b | virar uma página |
lar | Vá diretamente para a página inicial |
fim | Vá diretamente para a última página |
/ | Abaixe uma página |
Barra de espaço, página para baixo | Pesquise uma palavra-chave de cima para baixo, como "/linux" |
? | Pesquise uma palavra-chave de baixo para cima, como "?linux" |
n | Localize a próxima palavra-chave pesquisada |
N | Localize a última palavra-chave pesquisada |
q | Sair do documento de ajuda |
A estrutura das informações de ajuda do comando man é a seguinte:
Nome da estrutura | Significado representativo |
---|---|
NOME | nome do comando |
SINOPSE | Uso geral de parâmetros |
DESCRIÇÃO | Introdução |
EXEMPLOS | Demonstração (com instruções simples) |
VISÃO GERAL | Visão geral |
PADRÕES | Função padrão |
OPÇÕES | Opções específicas disponíveis (com introdução) |
AMBIENTE | variáveis ambientais |
ARQUIVOS | Arquivos usados |
VEJA TAMBÉM | documentos relacionados |
HISTÓRIA | Histórico de manutenção e informações de contato |
Várias partes do manual do homem
区段1:用户指令,查看命令的帮助
区段2:系统调用,查看可被内核调用的函数的帮助
区段3:程序库调用,查看函数和函数库的帮助
区段4:设备,查看特殊文件的帮助(主要是/dev目录下的文件)
区段5:文件格式,查看配置文件的帮助
区段6:游戏,查看游戏的帮助
区段7:杂项,惯例与协议等,例如Linux文件系统、网络协议、ASCII code等等的说明
区段8:系统指令,查看系统管理员可用的命令的帮助
区段9:内核内部指令,查看内核相关文件的帮助
使用如下命令可以知道某个命令在man的哪个区段有相关帮助文档:
[root@node13 ~]# whatis man
man (7) - macros to format man pages
man (1) - an interface to the on-line reference manuals
man (1p) - display system documentation
[root@node13 ~]# man -f man
man (7) - macros to format man pages
man (1) - an interface to the on-line reference manuals
man (1p) - display system documentation
[root@node13 ~]# man 1 man
[root@node13 ~]# man 7 man
página info
Os usos de info e man são na verdade semelhantes. Ambos são usados para consultar o uso de comandos ou o formato de arquivos. Mas, ao contrário da página de manual , a página de informações divide os dados do arquivo em parágrafos. Cada parágrafo é escrito em sua própria página e há "hiperlinks" semelhantes a páginas da web
em cada página para
No entanto, o arquivo de descrição dos dados de destino que você deseja consultar deve ser escrito no formato info para usar as funções especiais de info (como hiperlinks
). O arquivo que suporta o comando info é colocado no diretório /usr/share/info/ por padrão.
Chaves que podem ser usadas na página de informações:
tecla de atalho | efeito |
---|---|
seta para cima | subir uma linha |
seta para baixo | Descer uma linha |
PgUp | virar uma página |
PgDn | Abaixe uma página |
Aba | Alternar entre nós com o símbolo "*" |
Digitar | Entre na subpágina com o símbolo "*" para visualizar informações detalhadas de ajuda |
você | Ir para o nível de informação anterior |
n | Vá para a próxima seção de informações |
p | Voltar para a seção anterior de informações |
s ou / | Use a pesquisa por palavra-chave na página de informações |
? | Ver informações de ajuda |
q | Informações de saída |
2.2 comando de data
O comando date é usado para exibir ou definir a hora e a data do sistema. O formato da sintaxe é:date [OPTION]... [+FORMAT]
Os usuários só precisam inserir os parâmetros começando com + após o poderoso comando de data, e a hora ou data do sistema pode ser gerada no formato especificado.
Desta forma, comando de backup de dados pode ser combinado com a saída de hora no formato especificado durante trabalho diário. Venham juntos. Por exemplo, os arquivos compactados
são automaticamente compactados em "backup-2020-9-1.tar.gz" no formato "ano-mês-dia". Os usuários só precisam dar uma olhada no nome do arquivo para entender aproximadamente
cada arquivo. É hora do backup.
Formatos e funções de parâmetros comuns no comando date
parâmetro | efeito |
---|---|
%Y | Ano completo (exemplo: 2020) |
%m | Mês (1~12) |
%d | Dia do mês |
%H | Horário (00~23) |
%M | Minutos (00~59) |
% j | Que dia do ano é hoje? |
O comando date para visualizar a hora atual do sistema no formato padrão é o seguinte:
[root@kongd ~]# date
Sat Sep 5 09:13:45 CST 2020
O parâmetro %j no comando date pode ser usado para verificar que dia do ano é hoje. Este parâmetro pode distinguir bem entre os tempos de backup antigos e novos, ou seja,
quanto maior o número, mais próximo está do horário atual. O uso deste parâmetro e os resultados da exibição são os seguintes:
[root@kongd ~]# date "+%j"
306
O comando date para visualizar a hora atual do sistema no formato "ano-mês-dia hora:minuto:segundo" é o seguinte:
[root@kongd ~]# date "+%Y-%m-%d %H:%M:%S"
2020-09-05 09:14:35
O comando date para definir a hora atual do sistema para 8h30 do dia 1º de novembro de 2020 é o seguinte:
[root@kongd ~]# date -s "20201101 8:30:00" 或者[root@kongd ~]# date
110108302020
Sun Nov 1 08:30:00 CST 2020
2.4 comando timedatectl
O comando timedatectl é usado para definir a hora do sistema. O nome completo em inglês é: "time date control". O formato da sintaxe é: timedatectl [OPTIONS...] COMMAND ...
Descobriu que a hora do computador não corresponde à hora real? Se a diferença for de apenas alguns minutos, podemos ajustá-la diretamente. Mas se a diferença for de algumas horas, além de ajustar a
hora atual, também é necessário verificar o fuso horário. Os parâmetros e funções do comando timedatectl :
parâmetro | efeito |
---|---|
histórias | Mostrar informações de status |
lista de fusos horários | Listar fusos horários conhecidos |
definir fuso horário | Definir fuso horário efetivo |
definir tempo | Definir hora do sistema |
Verifique a hora e o fuso horário do sistema:
[root@kongd ~]# timedatectl status
Local time: Sun 2020-09-06 19:51:22 CST
Universal time: Sun 2020-09-06 11:51:22 UTC
RTC time: Sun 2020-09-06 19:51:21
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
Se o fuso horário encontrado não for Xangai (Ásia/Xangai), você poderá defini-lo manualmente:
[root@kongd ~]# timedatectl set-timezone Asia/Shanghai
Se a hora ainda estiver incorreta, podemos modificar manualmente a data do sistema:
[root@kongd ~]# timedatectl set-time 2021-05-18
E se quiser modificar a hora também é muito simples:
[root@kongd ~]# timedatectl set-time 9:30
[root@kongd ~]# date
Tue May 18 09:30:01 CST 2021