O shell é um interpretador de comandos que nos fornece uma interface interativa de console de texto.Podemos inserir comandos através do console do terminal, que são interpretados pelo shell e entregues ao kernel linux para execução.
Shell é um interpretador, Bourne Again Shell, uma versão aprimorada do interpretador de comandos Bourne Shell no Unix, bash shell é um dos intérpretes de distribuição e dash no debian, existem muitos comandos sh no diretório bin, de acordo com o tipo de operação para aprender.
Comando de ajuda: man
comando man: exibe a operação específica do comando
man ls: Veja o uso básico de ls
![](https://img-blog.csdnimg.cn/img_convert/e314a7c062c201794db522215f918d33.png)
Existem também alguns comandos de sistema integrados com funções básicas, como cd exit, que são carregados diretamente na memória residente do sistema junto com o shell (use help para visualizar), e alguns outros comandos são chamados de comandos externos. Você pode usar o comando type para determinar qual é o comando. Ele mostra que é um shell... ou seja, um comando embutido, e o outro mostra que é um comando externo.
![](https://img-blog.csdnimg.cn/img_convert/f6674ac05e54c6aeff27777248fb8990.png)
Comandos externos também podem usar "command --help" para visualizar informações
Comandos comumente usados: ctrl+c para interromper o processo
Ctrl+L limpar tela
classe de diretório de arquivo
pwd: Imprime o diretório de trabalho, mostrando o caminho absoluto onde está localizado no momento
cd: alternar caminhos
cd-: salta entre dois caminhos
ls: lista todo o conteúdo do diretório atual -a lista todos os arquivos, incluindo arquivos ocultos, etc. -l lista as permissões de atributo de arquivos, etc.
Criar pasta de exclusão
mkdir a: Crie uma pasta chamada a
mkdir abc: cria as pastas a e b e c
mkdir aa/b: cria a pasta a e cria a pasta b na pasta a
mkdir -pa/b : Cria a pasta a Cria a pasta b na pasta a
rmdir a: exclui uma pasta a é uma pasta vazia
Copiar um arquivo ou pasta
toque em: crie um arquivo
cp source dest: copia a fonte para o diretório de destino
cp source dest/b : Copie o arquivo de origem para o arquivo b no caminho dest e sobrescreva diretamente o arquivo b
cp -r source dest: copia a pasta de origem para o diretório dest
Excluir uma pasta ou diretório
rm -f deleteFile: exclui o arquivo a diretamente
rm -rf a/ : Exclui todos os arquivos na pasta a
rm -rf /* : Exclua todo o conteúdo do arquivo no diretório raiz, não tente! ! ! ,,
mv mover arquivos e diretórios ou renomear
mv /temp/movefile /target : move movefile para /target
mv /temp/movefile /target/newmovefile : Mova o arquivo movefile para /target e renomeie o arquivo para newmovefile
mv name newName: renomeia o nome para newName
gato
cat file name: Visualizar conteúdo do arquivo é adequado para visualizar arquivos com poucos conteúdos de arquivo
cat -n nome do arquivo: exibe o conteúdo do arquivo e exibe o número da linha
mais visualizador de tela dividida de conteúdo de arquivo
O comando more é um filtro de texto baseado no editor VI, que exibe o conteúdo do arquivo de texto página por página em tela cheia, e várias teclas de atalho são definidas no comando
espaço virar página
Digite a próxima linha
b página para frente
= Ver a linha atual
less é usado para visualizar o conteúdo do arquivo em tela dividida. A função é semelhante a more, mas mais poderosa que more. Ele suporta vários terminais de exibição. Ao exibir conteúdo de texto, ele não carrega todo o conteúdo, mas carrega o conteúdo de acordo com a exibição precisa.
Shift+G para terminar
g: para o começo
/Palavras-chave: pesquisar n encontrar para baixo N encontrar para cima
? Palavra-chave: Pesquisar n Localizar N Localizar abaixo
q: deixe menos
echo: conteúdo de saída para o console
-e: suporta conversão de caracteres controlada por barra invertida
![](https://img-blog.csdnimg.cn/img_convert/f76d1dc1cb8b6712d5bfdb7561cb6993.png)
![](https://img-blog.csdnimg.cn/img_convert/eb0cedf790d92cad2be99ecf1ae3000d.png)
Redirecionamento de entrada e saída
ls -l > a.txt O conteúdo da lista é gravado em a.txt (substituir)
ls -al >> a.txt O conteúdo da lista é gravado em a.txt (acrescentar)
nome do arquivo head: exibe as 10 primeiras linhas do arquivo
head -n5 filename: exibe as 5 primeiras linhas do arquivo
tail file name: exibe as últimas 10 linhas do arquivo
tail -n5 filename: exibe as últimas 5 linhas do arquivo
tail -f file: rastreia todas as atualizações do documento em tempo real (ctrl+s pausa monitoramento ctrl+q retoma monitoramento ctrl+c finaliza monitoramento)
ln: soft link, também conhecido como link simbólico, semelhante ao atalho no windows, possui um bloco de dados próprio, armazenando principalmente o caminho de ligação de outros arquivos
ln -s [原文件或目录] 软链接名
histoty :查看执行过的命令
histoty n :查看最近执行过的n条命令
histoty -c :清空历史命令
时间日期类
date :显示当前时间
date +%Y :显示当前年份
date +%m :显示当前月份
date +%d :显示当前是哪一天
date “+%Y-%m-%d:%H:%M:%S” :显示当前年月日时分秒
![](https://img-blog.csdnimg.cn/img_convert/f83c79adbfcfbe3a4c93ab957505da37.png)
date +%s:显示时间戳(1970年到现在的秒数)
![](https://img-blog.csdnimg.cn/img_convert/d4a426ca5de74f1d71153fe9660b2e39.png)
date -d ‘1 days ago’:一天前的时间
date -d ‘-1 days ago’:一天后的时间
date -s ‘时间’:设置系统当前的时间
ntpdate : 获取当前系统的正确时间
cal 查看日历
![](https://img-blog.csdnimg.cn/img_convert/89cc8953c6c94bba2c41243690eda625.png)
cal 年份:查看一年的日历
用户权限类
useradd 用户名:添加新用户
useradd -g 组名 用户名
passwd 用户名 :更改用户密码
可以通过“id 用户名”来查看用户是否创建成功
![](https://img-blog.csdnimg.cn/img_convert/13d3890c2b6162c47b9f7a302849e372.png)
userdel -r 用户名:删除用户
cat /etc/passwd:查看创建了哪些用户
who:查看自己在哪个用户下
whoami:查看自己在哪个用户下
![](https://img-blog.csdnimg.cn/img_convert/ecdb0d6d62db4897ba12b70faf8b5c53.png)
udo :设置普通用户具有root权限,在etc/sudoers里进行用户的添加
usermod -g 组名 用户名 :修改用户属于哪个组
userdel 用户名 :删除用户名
groupmod -n 新组名 原组名 :修改用户属于哪个组
groupdel 组名:删除组名
文件权限:
Linux是典型的多用户系统,不同的用户拥有不同的地位,文件的拥有权限也不一样。
ll 或者ls -l: 查看文件属性
![](https://img-blog.csdnimg.cn/img_convert/e269ed0f925bbd5a4aac7a5e1265b969.png)
-代表文件,d代表目录,l代表链接文档
chown 更改后用户 文件名:改变文件或者文件夹所有者
chown -R 更改的用户 文件名: 改变文件夹所有者
chgrp 更改后的用户组 文件或目录:改变所属组
搜索查找类:
find :将从指定的目录向下递归遍历其各个子目录,将满足条件的文件显示在终端
find [搜索范围] [选项] :搜索范围是文件夹 不指定默认从当前文件夹开始
![](https://img-blog.csdnimg.cn/img_convert/6d178a6b4e9512198c51b1a1536d92e6.png)
例如:find /root -size +10M:找到root目录下10M以上的文件
locate :快速定位文件路径,利用事先建立的系统中所有的文件名称以及路径的locate数据库实现快速定位给定的文件,该指令无需遍历整个文件系统,查询速度快,为了确保查询结果的准确,管理员必须定期更新locate时刻。
locate 文件名字:快速搜索文件
该数据库是每天更新一次的,为了保证查找的准确性,第一次运行前,要更新,更新命令是:
updatedb
which 命令 :查找命令的路径
whereis 命令:查找命令的具体目录
grep 过滤查找以及“|”管道符
|:表示前一个命令的处理结果输出传递给后面的命令处理
grep 选项 查找内容 源文件
例如:ls grep -n test file.cfg :查找file文件里test在第几行出现过 然后显示出来
压缩解压类
gzip /gunzip
gzip 文件:压缩文件只压缩*.gz文件,
gunzip 文件.gz:解压缩文件命令
总结:只能压缩文件不能压缩目录,压缩文件不能保留原来的文件,同时压缩多个文件会产生多个压缩文件不会打包
zip/unzip
zip *.zip:file:压缩file文件为*.zip
zip -r *.zip:file:压缩file目录为*.zip
unzip -d<目录> *.zip:解压缩*.zip文件指定放到-d后的目录下
总结:可以保留原来的文件和目录,可以打包
tar 打包
tar [选项] XXX.tar.gz 将要打包进去的内容
![](https://img-blog.csdnimg.cn/img_convert/7fb1d5ff49fd058d6314331c5f05bfca.png)
打包且压缩:tar -zcvf file.tar.gz 1.txt 2 3.cfg:将1 2 3文件或者目录打包并压缩到file.tar.gz中
解包:tar -zxvf file.tar.gz -C /tmp :解压 file.tar.gz到/tmp
磁盘管理类
du (disk usage):磁盘占用情况
du 目录/文件:显示子文件的磁盘使用情况
![](https://img-blog.csdnimg.cn/img_convert/8c4f3c3733ebb6c9ce08300d5f97b5d3.png)
df:查看磁盘空间的使用情况
df [选项] :列出文件系统的整体磁盘使用情况,检查文件系统的磁盘空间占用情况
选项:-h:以易于阅读的方式展示
lsblk -f:查看详细的设备挂载情况,显示文件系统信息
进程管理类
计算机中一个正在执行的程序或者命令被叫做进程
启动之后一直存在常驻的进程被叫做服务
分为前台显示进程和后台服务进程
ps :查看系统中的进程
![](https://img-blog.csdnimg.cn/img_convert/f13df7b5c23f01c7e71ff22d76d9ff6d.png)
ps aux|grep xxx :查看系统中的所有进程
ps -ef|grep xxx :查看子父进程之间的关系
ps aux详细信息:
![](https://img-blog.csdnimg.cn/img_convert/1b9c0f150f406f70e81e85b9d7338017.png)
想要查看进程的CPU占用率和内存占用率 可以使用aux
查看进程的父进程id 可以使用ef
kill:终止进程
kill [选项] 进程号:通过进程号杀死进程 (选项 :-g 强迫进程立即停止)
killall 进程名称:通过进程名称杀死进程
pstree:查看进程树
-p :显示进程的PID
-u :显示进程的所属用户
top:实时监控系统进程状态
top [选项]:
![](https://img-blog.csdnimg.cn/img_convert/f4a1503e605b2dc097213b4a0ea2c4a4.png)
网络状态
netstat:显示网络状态和端口占用信息
netsat -anp | grep 进程号:查看该进程网络信息
netsat -nlp | grep 端口号:查看网络端口的占用情况
![](https://img-blog.csdnimg.cn/img_convert/abdcda539d797eef8706a499c05567a1.png)
crontab:系统定时任务
crontab [选项]
![](https://img-blog.csdnimg.cn/img_convert/7ff01b1b23428ba2690465c2b7b35dd8.png)
重启crond服务:systemctl restart crond
然后设置定时任务
进入crontab编辑页面,会打开vim编辑定时任务:*****执行的任务
![](https://img-blog.csdnimg.cn/img_convert/15988174ed27f179f65a022afffedf17.png)
例如:
![](https://img-blog.csdnimg.cn/img_convert/2833c6be7b35db8ba6a7f3f0321fb11d.png)
![](https://img-blog.csdnimg.cn/img_convert/a00b5a773fa12d9fd1b60e7a90d0d9cf.png)