Tabla de contenido
2. Ver información del sistema
3. Creación y edición de texto
3-3) Redirección de salida y redirección de anexos
3-4) Utilice el editor vi para editar el archivo
4. Procesamiento de archivos y carpetas
4-1) Tramitación de expedientes
4-2) Ver información del directorio
4-3) Operaciones sobre directorios
6. Encuentra el contenido del archivo.
7. Permisos de usuarios y grupos de usuarios
8. Permisos de archivos y carpetas
9. Archivado y compresión de archivos.
1. Cambiar directorio
cd ../ o cd .. |
Cambiar al directorio anterior (relativo) |
nombre del directorio del cd |
Cambiar al directorio especificado (absoluto) |
persona con discapacidad |
Ver el directorio actual |
discos compactos ~ |
Cambiar al directorio de inicio del usuario actual
|
2. Ver información del sistema
fdisk-l |
Ver una lista de particiones de disco |
gratis |
Ver uso de memoria |
gato /proc/meminfo |
Ver información de la memoria |
gato /proc/cpuinfo |
Ver información de la CPU |
comando superior (similar al explorador en la ventana):
arriba
|
Por defecto, ingresa a la interfaz completa para ver el consumo y proceso del sistema en tiempo real ;
Presione Ctrl + C o q para salir.
|
arriba -n 1 | Ver el consumo actual sin ingresar a la interfaz para verlo en tiempo real |
3. Creación y edición de texto
3-1) Crear un archivo
vi /opt/learn.txt |
Cree un archivo learn.txt en el directorio especificado e ingrese a la interfaz de edición vi |
toque /optar/aprender |
Cree un archivo de aprendizaje en el directorio especificado. touch simplemente crea un archivo en blanco |
gato > /opt/learn.txt << EOF |
Cree un archivo en el directorio especificado, ingrese el contenido en la pantalla y finalmente ingrese EOF para indicar el final de la entrada. Si no usa << EOF para finalizar, también puede presionar Ctrl+D directamente al final de la entrada para finalizar. Cada ejecución repetida sobrescribirá el contenido original. |
echo "Hola mundo" > test.txt | Redirigir la salida del contenido especificado a un archivo. Si el archivo no existe, se creará un archivo. Si existe, se sobrescribirá el contenido original. |
3-2) Ver archivos
vi /opt/test.txt |
Genere el contenido del texto en el editor vi (cree uno si no hay ninguno) |
gato /opt/test.txt |
mostrar texto en la pantalla |
más /opt/test.txt |
Contenido de texto de salida en pantalla dividida ( aplicable cuando no es posible desplazarse, cargue previamente todo el contenido, presione la tecla Intro para mostrar la siguiente línea ) |
menos /opt/test.txt |
Contenido de texto de salida en pantalla dividida (la diferencia con más es que cualquier línea que vea, se cargará en esa línea y es adecuada para ver archivos grandes ) |
cadenas /opt/test.txt |
imprimir caracteres imprimibles en el archivo |
cabeza -n 11 /opt/test.txt |
Ver las primeras 11 líneas del archivo especificado |
encabezado /opt/test.txt |
Ver las primeras 10 líneas del archivo especificado (10 líneas predeterminadas) |
cola -n 20 /opt/test.txt |
Ver las últimas 20 líneas del archivo especificado |
cola /opt/test.txt |
Ver las últimas 10 líneas del archivo especificado (el valor predeterminado es 10 líneas) |
cola -f /opt/test.txt |
Vea el contenido del archivo más reciente en tiempo real mediante transmisión (registro de monitoreo en tiempo real) |
3-3) Redirección de salida y redirección de anexos
> Redirección para salida (envíe el resultado de la ejecución anterior al texto especificado, lo que sobrescribirá el contenido original en el texto);
>> Para agregar redirección, agregue el contenido ejecutado previamente al final del texto especificado;
3-4) Utilice el editor vi para editar el archivo
# 进入vi编辑器。如果没有这个文本文件,就会自动新建并进入vi编辑器
vi file.txt
Después de ingresar al editor vi, primero estará en el modo de comando , es decir, toda la entrada en la situación actual es un comando; puede hacer clic en i, a, o, etc. para ingresar al modo de edición ; en el modo de edición , presione la tecla ESC para volver a ingresar al modo de comando .
Los siguientes son algunos comandos en el modo de comando del editor vi .
yo o un |
Ingrese del modo comando al modo edición; i es para insertar texto, a es para agregar texto; ambos ingresan en la posición del cursor |
ESC |
Ingrese al modo de comando desde el modo de edición |
:v |
guardar texto sin salir |
:q! |
Forzar salida sin guardar texto |
:wq |
guardar texto y salir |
oh |
Agregar una nueva línea después de la línea actual |
oh |
Agregar una nueva línea después de la línea anterior de la línea actual |
dd |
eliminar una fila |
D |
Eliminar el contenido desde el cursor actual hasta el final de la línea |
X |
Eliminar un carácter en la posición actual del cursor |
s |
eliminar un carácter y volver al modo de edición |
S |
Eliminar una línea y volver al modo de edición |
:norte |
Mueve el cursor a la enésima línea. |
ps |
Mover el cursor al final de la línea de texto actual. |
A |
Mueva el cursor al final de la línea y vuelva al modo de edición. |
^ |
Mover el cursor al principio de la línea de texto. |
GRAMO |
Mover el cursor al final del texto. |
ggg |
Mover el cursor al principio de la línea de texto. |
ZZ |
Guardar y Salir |
/cadena |
encontrar una cuerda |
norte |
seguir mirando |
:t |
Deshacer (equivalente a Ctrl+Z) |
:rehacer |
Rehacer (equivalente a Ctrl+Y) |
4. Procesamiento de archivos y carpetas
4-1) Tramitación de expedientes
cp-copiar | |
cp hola.txt /opt/test |
Copie el archivo hello.txt al directorio /opt/test |
cp hola.txt /opt/test/he.txt |
把 hello.txt 文件复制一份到 /opt/test 目录下,并重命名为he.txt |
cp /opt/hello.txt ./ |
将指定的文件复制到当前文件夹下 |
rm —— 删除 | |
rm hello.txt |
删除指定文件 |
rm -f hello.txt |
强制删除,不重复确认 |
rm *.txt | 删除当前目录下的所有 .txt 文件 |
mv —— 移动(剪切) | |
mv hello.txt he.txt |
重命名hello.txt 文件为 he.txt |
mv hello.txt /opt/test |
将文件剪切到指定目录下 |
mv hello.txt /opt/test/he.txt |
将文件剪切到指定目录下并重命名为he.txt |
du -h hello.txt |
查看 hello.txt 文件的大小 |
true > test.txt | 清空文件内容 |
echo "" > test.txt | 清空文件内容 |
4-2)查看目录信息
ls 或 ls /opt |
查看当前目录(或指定目录)下没有被隐藏的所有文件(列出文件名称) |
ls -l 或 ll |
以列表的形式查看当前目录下各文件的信息 |
ls -a |
显示当前目录下的所有文件,包括隐藏文件 |
ls *.txt |
显示当前目录下所有以txt为后缀名的文件 |
ls /opt/test |
显示指定目录下的内容 |
ls -R /opt |
显示指定目录及其子目录的内容 |
在linux系统下如果要创建一个隐藏文件,只需要在文件名的最前面加一个点 "." 即可。
ls 直接查询不会查询到隐藏文件。ls -a 查询可以查询到。
4-3)对目录的操作
mkdir folder |
创建指定名称的目录 |
mkdir folder1 folder2 folder3 |
连续创建若干个目录 |
mkdir -p /opt/folder1/folder2/folder3 |
连续创建层次目录(folder1/folder2/folder3) |
rmdir /opt/mydir |
删除空的目录(不能删除非空的目录) |
rm -r ./test |
删除目录 |
rm -rf /opt/folder |
强制删除文件夹 |
cp -r /opt/test1 /opt/test2 |
拷贝文件夹(加上参数-r是深度拷贝) |
mv /opt/test /opt/test2 |
重命名文件夹 |
5、文件查找
find ./ -name "hello.txt" |
查找当前目录下名为hello.txt的文件或文件夹 |
find /home -name "hello" |
查找/home目录下名字为hello的文件或文件夹 |
find ./ -name "*" |
查找当前目录下的所有文件或文件夹 |
find ./ -name "[h|f]*" |
查找当前目录下所有以h或f开头的文件或文件夹 |
find ./ -name "[a-fA-F]*" |
查找当前目录下所有以小写字母a~f或大写字母A~F开头的文件或文件夹 |
find ./ -name "[^a-fA-F]" |
查找当前目录下所有不以a、b、c、d、e、f、A、B、C、D、E、F开头的文件 |
find ./ -name "h?llo" |
查找当前目录下满足h?llo条件的文件,其中?的位置代表一位任意字符 |
find ./ -perm 741 |
查找当前目录下所有权限为741的文件或文件夹 |
find ./ -user mary |
查找所有者为mary的文件或文件夹 |
find ./ -group dev |
查找所属组为dev的文件或文件夹 |
find ./ -mtime -3 |
查找3天内更新过的文件或文件夹 |
find ./ -mtime +3 |
查找3天前更新过的文件或文件夹 |
find ./ -newer hello.txt |
查找比hello.txt更新的文件或文件夹 |
find ./ ! -newer hello.txt |
查找比hello.txt更旧的文件或文件夹 |
find ./ -type d |
查找当前目录下的所有文件夹 ( f:普通文件 d:目录(文件夹) l:软链接文件 c:字符设备,如终端、磁带机等 b:块设备,如光盘、硬盘 ) |
find ./ -size 602c |
查找当前目录下文件大小为602字节的文件 ( c:byte k:kilobytes M:megabytes G:gigabytes ) |
find ./ -size +600c |
查找当前目录下文件大小大于602字节的文件 |
find ./ -name "hello*" -exec ls -l {} \; |
查找当前目录下所有以hello开头的文件,并将其细节显示出来(目录也会) |
find ./ -name "hello*" -exec rm {} \; |
查找当前目录下所有以hello开头的文件并将其删除 |
find ./ -name "hello*" | xargs ls -l |
查找当前目录下所有以hello开头的文件并将其细节显示出来 |
“|” 是管道符,管道符主要用于多重命令处理,前面命令的打印结果作为后面命令的输入。
xargs 的作用是 把前面管道符的输入作为后面指令的参数。
6、查找文件中的内容
grep "root" /etc/passwd |
查找/etc/passwd文件中包含root的行 |
grep -n "root" /etc/passwd |
查找/etc/passwd文件中包含root的行,并在每行的前方标注在原文中的行号 |
grep "^ma" /etc/passwd |
查找以ma开头的行 |
grep "bash$" /etc/passwd |
查找以bash结尾的行 |
grep "^[r|d]" /etc/passwd |
查找以r或d开头的行 |
grep -v "root" |
排除掉包含root在内的行 |
ls | grep test |
从ls的输出中过滤出包含test的行 |
grep -r games /etc |
在/etc目录下查找包含games的文件 |
find ./ name "*" | xargs grep word |
输出当前目录下文件名或目录名包含word的文件或目录 |
wc -l |
统计文件行数或输出的个数。 -c、--bytes、--chars只显示bytes数。 -l、--lines显示行数。 -w、--words只显示字数。 如不指定参数,则显示所有的统计信息 |
7、用户与用户组权限
在 linux 中,root 拥有最高的权限,所有文件或文件夹的权限设定对 root 都是无效的。
在正式的生产和服务器环境中,尽量使用普通的账号+人工权限设定的方式,避免出现漏洞后被人以root权限利用系统。
在 window 中,administrator 和 Linux 中的 root 等同。
cat /etc/group |
查看当前系统存在的用户组,<1000的是系统使用的,>1000的是用户创建的 |
groupadd test |
创建一个用户组名为test |
groupmod -n test testing |
将用户组test更名为testing |
groupdel test |
删除用户组test |
groups root |
查看用户root所在的所有组 |
cat etc/passwd |
查看所有账户 该文件每行代表一个用户账号,记录了账号的所有信息,包括用户名、密码、用户ID(UID)、组ID(GID)、连接、主目录和默认的shell等。 |
useradd -g test jack |
创建一个用户jack,主组归属于test |
useradd -g test jam -G dev |
创建一个用户jam,主组归属于test,附属组dev |
useradd ben |
创建一个用户ben,因为没有设定其归属的主组,默认将新增一个对应名为ben的组 |
usermod -g dev ben |
将用户ben换到dev组中 |
usermod -G 505 ben |
将用户ben附加到gid为505的组中 |
usermod -d /home/test ben |
将用户ben的登入目录改为/home/test (在修改前需要保证该目录存在) |
userdel ben |
删除用户ben |
userdel -f ben |
强制删除用户ben(即使该用户已经登录) |
userdel -r ben |
删除用户ben并删除其主目录 |
8、文件和文件夹权限
在任意的一个文件夹中,可以用ls -l或ll命令来显示其基本的信息和权限信息:
每一行中依次代表的内容如下:
1、文件权限:表示文件的访问权限,如读取、写入和执行权限。
2、链接数量:表示文件在文件系统中的硬链接数量。
3、文件所有者:表示文件的所有者用户及用户所属的组。
4、文件大小:表示文件的大小,以字节为单位。
5、修改时间:表示文件的最后修改时间。
6、文件名:表示文件的名称。
每一个文件都占一行来展示其信息,每一行的前10个字符所表示的意义如下:
如:drwxr-xr-x
第1个字母:‘-’代表普通文件,‘d’代表目录,‘l’为链接文件,相当于快捷方式
第2、3、4个字母代表当前文件或文件夹所属用户(owner)的权限,用u表示
第5、6、7个字母代表当前文件或文件夹所属的用户组(group)的权限,用g表示
地8、9、10个字母代表其他用户组和其他用户(other)的权限,用o表示
权限的表示方式:
r 读:也可以用数字 4 来表示
w 写:也可以用数字 2 来表示
x 执行:也可以用数字 1 来表示
su jame |
切换到jame用户 |
whoami |
查看当前的用户 |
chmod u+x test.txt |
为test.txt文件的所有者添加可执行权限 |
chmod u-w test.txt |
为文件的所有者去除写权限 |
chmod g-r test.txt |
为文件的所在组去除可读权限 |
chmod o+w test.txt |
为文件所在组之外的组添加可写权限 |
chmod a+w test.txt |
为所有角色添加可写权限 |
chmod a+wx test.txt |
为所有角色添加可写和可执行权限 |
chmod a-rwx test.txt |
去除所有用户对文件的读写和执行权限,此时只有root用户可以操作 |
chmod 777 test.txt |
将文件的权限设置为rwxrwxrwx,等同于chmod a-rwx test.txt (7就是4+2+1) |
chmod 643 test.txt |
将文件的权限设置为rw-r---wx |
chmod -R 755 /opt/temp |
将/opt/temp即其所有的子文件、子目录的权限改为755(连带) |
chown mary test.txt |
将test.txt文件的所有者改为mary |
chown mary /opt/temp |
将目录的所有者改为mary |
chown -R mary /opt/temp |
将目录及其子目录、子文件的所有者改为mary |
chgrp test hello.txt |
将hello.txt 所在的组该为test组 |
chgrp test /opt/temp |
将指定目录的所有组改为test组 |
chgrp -R mary /opt/temp |
将指定目录及其下属的目录和文件的所有组改为mary |
9、文件归档和压缩
在Linux中,文件归档的作用是将多个文件组合成一个单一的文件,这个过程称为归档。
它通常用于系统备份、将旧数据移至长期存储设备以及方便文件传输等场景。
tar 命令是用于创建归档文件的常用命令。
归档文件不是文件夹,虽然它们看起来像是文件夹,但实际上它们是单一的文件。可以在这个“文件夹”中放入任何类型的文件,包括文本文件、图片、视频等。归档文件的好处之一是,它们可以轻松地复制和移动到其他位置,而不需要单独管理每个文件。
文件归档后并不会被压缩大小;一般是多个文件一起归档后再进行压缩。
归档后的文件后缀为.tar;归档文件压缩后一般后缀为.tar.gz;
tar -cvf hello.tar ./* |
将当前目录下的所有文件归档为hello.tar; 修饰符c:创建一个新归档 v:详细列出被处理的文件 f:指定要创建的归档文件的文件名或要解压的归档文件的名字。它必须是tar命令的最后一个参数,后面直接接文件名 |
tar -cvf hello.tar /opt/test |
将指定目录下的所有文件归档为hello.tar; |
tar -cf all.tar test1 test2 test3 |
选择当前目录下的三个文件进行归档,归档文件命名为all.tar |
tar -tf test.tar |
将归档文件test.tar中的文件显示出来 |
tar -xvf test.tar |
将归档文件解压缩到当前目录下,恢复其中的文件和目录结构。 |
tar -zcvf hello.tar.gz hello.tar |
将归档文件hello.tar压缩成hello.tar.gz |
tar -zxvf hello.tar.gz |
将压缩文件解压成hello.tar归档文件 |
gzip hello.tar |
将归档文件hello.tar压缩成hello.tar.gz |
gzip -d hello.tar.gz |
将压缩文件解压成hello.tar归档文件 |
zip hello.zip hello.txt |
将hello.txt压缩并命名为hello.zip |
zip -r test.zip /opt/test |
将指定的目录进行压缩并命名为test.zip |
unzip -v hello.zip |
查看压缩文件hello.zip中的文件信息 |
unzip hello.zip |
解压缩hello.zip |