Conocimientos relacionados del sistema operativo RedhatLinux
La información del sistema Linux se almacena en archivos, que son similares a los documentos oficiales ordinarios. Cada archivo tiene su propio nombre, contenido, dirección de almacenamiento y otra información de administración, como el usuario del archivo, el tamaño del archivo, etc. El archivo puede ser una carta, una libreta de direcciones o la declaración fuente del programa, los datos del programa e incluso puede incluir programas ejecutables y otro contenido que no sea texto. El sistema de archivos de Linux tiene una buena estructura y proporciona muchos programas de procesamiento de archivos. Aquí presentamos principalmente los comandos de procesamiento de archivos más utilizados.
archivo
1. Función
archivo determina el tipo de archivo detectando el contenido del archivo y el permiso de uso es para todos los usuarios.
2. Formato
archivo [opciones] nombre de archivo
3.[opciones] parámetros principales
-v: en salida estándar Luego se muestra la información de la versión y se cierra.
-z: Detecta tipos de archivos comprimidos.
-L: Permite conexiones consistentes.
-f nombre: Lee la lista de nombres de archivos a analizar desde el nombre del archivo.
4. Breve explicación
Utilice el comando file para saber si un archivo es un archivo ejecutable binario (formato ELF), un archivo Shell Script o algún otro formato. Los tipos de archivos que el archivo puede reconocer incluyen directorios, scripts de shell, textos en inglés, archivos ejecutables binarios, archivos fuente en lenguaje C, archivos de texto y archivos ejecutables de DOS.
5. Ejemplo de aplicación
Si vemos un archivo grap sin sufijo, podemos usar el siguiente comando:
$ file grap
grap: texto en inglés
En este momento, el sistema muestra que se trata de un archivo de texto en inglés. Cabe señalar que el comando de archivo no puede detectar tipos de archivos multimedia, incluidos gráficos, audio, video, etc.
mkdir
1. Función
La función del comando mkdir es crear un subdirectorio llamado dirname, que es similar al comando md en MS DOS. Sus permisos de uso son para todos los usuarios.
2. Formato
mkdir [opciones] Nombre del directorio
3.[opciones] Parámetros principales
-m, --mode =Modo: Establecer permisos; modo>, similar a chmod.
-p, --parents: crea el directorio de nivel superior cuando sea necesario; si el directorio ya existe, no se tratará como un error.
-v, --verbose: Muestra información cada vez que se crea un nuevo directorio.
--version: muestra información de la versión y luego sale.
4. Ejemplos de aplicaciones
Al crear un directorio, puede configurar los permisos del directorio. El parámetro utilizado en este momento es "-m". Suponiendo que el nombre del directorio que se creará es "tsk", de modo que todos los usuarios tengan rwx (es decir, permisos de lectura, escritura y ejecución), entonces puede usar el siguiente comando:
$ mkdir - m 777 tsk
grep
1. Función
El comando grep puede buscar contenido específico en un archivo específico y enviar las líneas que contienen este contenido al estándar. producción. El nombre completo de grep es Global Regular Expression Print, que representa la versión de expresión regular global. Sus permisos de uso son para todos los usuarios.
2. Formato
grep [opciones]
3. Parámetros principales
[opciones] Parámetros principales:
-c: genera solo el recuento de líneas coincidentes.
-I: No distingue entre mayúsculas y minúsculas (solo aplicable a caracteres individuales).
-h: No muestra el nombre del archivo al consultar varios archivos.
-l: al consultar varios archivos, solo se generan los nombres de los archivos que contienen caracteres coincidentes.
-n: muestra líneas coincidentes y números de línea.
-s: No muestra mensajes de error que no existen o que no tienen texto coincidente.
-v: muestra todas las líneas que no contienen texto coincidente.
Los principales parámetros de la expresión regular del patrón:
\\: ignora el significado original de los caracteres especiales en la expresión regular.
^: Coincide con la línea inicial de la expresión regular.
$: Coincide con la línea final de la expresión regular.
\\lt;: Comienza desde la línea que coincide con la expresión regular.
\\gt;: Hasta el final de la línea que coincide con la expresión regular.
[ ]: Un solo carácter, como [A] significa que A cumple con los requisitos.
[ - ]: El rango, como [A-Z], es decir, A, B, C a Z, cumple con los requisitos.
. : Todos los caracteres individuales.
*: Hay caracteres y la longitud puede ser 0.
Las expresiones regulares son un concepto muy importante en los sistemas Linux/Unix. Una expresión regular (también llamada "regex" o "regexp") es un patrón que puede describir un tipo de cadena. Si una cadena puede describirse mediante una expresión regular, decimos que el carácter coincide con la expresión regular. Esto es similar a cómo los usuarios en DOS pueden usar el carácter comodín "*" para representar cualquier carácter. En los sistemas Linux, las expresiones regulares se utilizan a menudo para encontrar patrones en el texto, así como para realizar operaciones de "búsqueda y reemplazo" y otras funciones en el texto.
4. Ejemplos de aplicaciones
Consultar servicios DNS es una tarea diaria, lo que implica mantener una gran cantidad de direcciones IP que cubren diferentes redes. A veces hay más de 2000 direcciones IP. Si desea ver la dirección de red nnn.nnn, pero olvida el resto de la segunda parte, solo sabe que hay dos puntos, como nnn nn.. Para extraer todas las direcciones IP nnn.nnn, utilice [0-9]\\{3 \\}\\.[0-0\\{3\\}\\. El significado es cualquier número que aparece 3 veces, seguido de un punto, seguido de cualquier número que aparece 3 veces, seguido de un punto.
$grep '[0-9 ]\\{3 \\}\\.[0-0\\{3\\}\\' ipfile
Explicación adicional, La familia grep también incluye fgrep y egrep. fgrep es un grep fijo, que permite buscar cadenas en lugar de un patrón; egrep es un grep extendido, que admite expresiones regulares básicas y extendidas, pero no admite la aplicación del rango de patrones \\q y algunos patrones más estandarizados correspondientes.
dd
1. Función
El comando dd se utiliza para copiar archivos y convertir y formatear los datos según los parámetros.
2. Formato
dd [opciones]
3.[opiciones] Parámetros principales
bs=bytes: force ibs= lt ;bytegt; y obs=lt;bytegt;.
cbs=bytes: Cada conversión especifica lt;
conv=keyword: convierte el archivo según una representación de palabras clave separadas por comas.
count=Número de bloques: Copia solo los datos de entrada especificados lt; número de bloques gt;.
ibs=bytes: Lee los bytes especificados cada vez.
if=Archivo: lee el contenido del archivo, en lugar de los datos de entrada estándar.
obs=bytes: escribe los bytes especificados cada vez.
of=file: escribe datos en
seek=Número de bloques: primero, omita los datos de salida del número de bloque lt especificado gt;
skip=Número de bloques: omite los datos de entrada del lt especificado; número de bloques gt en ibs primero.
4. Ejemplos de aplicaciones
El comando dd se utiliza a menudo para crear un disco de arranque de Linux. Primero busque un kernel de arranque, haga que su dispositivo raíz apunte a la partición raíz correcta y luego use el comando dd para escribirlo en el disquete:
$ rdev vmlinuz /dev/hda
$ dd if=vmlinuz of=/dev/fd0
El código anterior explica que use el comando rdev para apuntar el dispositivo raíz en el kernel de arranque vmlinuz a /dev/hda. Reemplace "hda". con su propia partición raíz y luego use el comando dd para escribir el kernel en el disquete.
buscar
1. Función
La función del comando buscar es buscar archivos en el directorio y sus permisos de uso son para todos los usuarios.
2. Formato
buscar [ruta][opción*][**presión]
ruta especifica la ruta del directorio y el sistema comienza desde aquí. el árbol de directorios Profundice para encontrar el archivo. Es una lista de rutas, separadas por espacios. Si la ruta no está escrita, el valor predeterminado es el directorio actual.
3. Parámetros principales
[opciones] parámetros:
-profundidad: utilice el método de proceso de búsqueda de nivel de profundidad para dar prioridad a los archivos en el directorio especificado en un cierto nivel.
-niveles de profundidad máxima: Indica que como máximo se encuentra el subdirectorio de nivel ésimo del directorio de inicio. El nivel es un número no negativo. Si el nivel es 0, significa buscar solo en el directorio actual.
-niveles de profundidad mínima: Indica que se encuentra al menos el subdirectorio de nivel del directorio de inicio.
-mount: No busca en directorios y archivos de otros sistemas de archivos (como Msdos, Vfat, etc.).
-versión: versión impresa.
[expresión] es una expresión coincidente y es una expresión aceptada por el comando de búsqueda. Todas las operaciones del comando de búsqueda se basan en expresiones. Tiene muchos parámetros. Aquí solo presentamos algunos parámetros de uso común.
—nombre: admite los caracteres comodín * y ?.
-atime n: Busca archivos leídos en los últimos n días.
-ctime n: Busca archivos modificados en los últimos n días.
-group nombregrupo: busca todos los archivos cuyo grupo sea nombregrupo.
-user nombre de usuario: Busca todos los archivos cuyo propietario sea el nombre de usuario (ID o nombre).
-size n: Busca archivos cuyo tamaño sea n bloques.
-print: genera los resultados de la búsqueda e imprime.
4. Habilidades de aplicación
Varias formas de buscar archivos usando el comando buscar:
(1) Búsqueda basada en el nombre del archivo
Por ejemplo, si queremos buscar un archivo con el nombre lilo.conf, podemos usar el siguiente comando:
find / -name lilo.conf
El "/" después del comando de búsqueda significa buscar en todo el disco duro.
(2) Buscar archivos rápidamente
Buscar archivos según el nombre de los archivos encontrará un problema práctico, es decir, llevará mucho tiempo, especialmente para sistemas de archivos Linux grandes y grandes. capacidades Cuando los archivos del disco duro se colocan en subdirectorios profundos. Si sabemos que este archivo está almacenado en un directorio determinado, podemos ahorrar mucho tiempo simplemente buscando en este directorio.
Por ejemplo, el archivo smb.conf puede juzgarse por su sufijo de archivo ".conf" como un archivo de configuración, por lo que debe estar en el directorio /etc. En este caso, puede utilizar el siguiente comando:
<. p>find /etc - name smb.confDe esta manera, el tiempo se puede acortar utilizando el método "Buscar archivos rápidamente".
(3) Método de búsqueda basado en parte del nombre del archivo
A veces sabemos que solo un determinado archivo contiene los cuatro caracteres abvd, entonces necesitamos encontrar todos los archivos en el sistema. que contienen estos cuatro caracteres Puede ingresar el siguiente comando para archivos:
find / -name '*abvd*'
Después de ingresar este comando, el sistema Linux buscará todos los archivos que contienen abvd en el directorio /. Se pueden mostrar archivos de 4 caracteres (donde * es un carácter comodín), como abvdrmyz y otros archivos calificados.
(4) Utilice el método de búsqueda mixta para buscar archivos
El comando de búsqueda puede utilizar el método de búsqueda mixta. Por ejemplo, queremos buscar en el directorio /etc mayor que 500000. bytes, y en 24 Para un archivo modificado en horas, puede usar -y (y) para vincular los dos parámetros de búsqueda para formar un método de búsqueda mixto.
buscar /etc -size 500000c -and -mtime 1
mv
1. Función
El comando mv se utiliza para crear archivo o cambiar el nombre de un directorio, o mover un archivo de un directorio a otro, y sus permisos de uso son para todos los usuarios. Este comando es como la combinación de ren y mover en el comando de DOS.
2. Formato
mv[opciones] archivo o directorio origen archivo o directorio destino
3.[opciones]Parámetros principales
-i: operación interactiva. Si la operación mv provocará la sobrescritura de un archivo de destino existente, el sistema preguntará si desea reescribir y solicitará que el usuario responda "y" o "n" para evitar sobrescribir accidentalmente el archivo.
-f: Desactiva las operaciones interactivas. La operación mv no proporciona ninguna instrucción al sobrescribir un archivo de destino existente. Después de especificar este parámetro, el parámetro i ya no tendrá ningún efecto.
4. Ejemplo de aplicación
(1) Mueva todos los archivos en /usr/cbu al directorio actual (indicado por "."):
$ mv /usr/cbu/ * .
(2) Cambie el nombre del archivo cjh.txt a wjz.txt:
$ mv cjh.txt wjz.txt
ls
1. Función
El comando ls se usa para mostrar el contenido del directorio, similar al comando dir en DOS. Sus permisos de uso son para todos los usuarios.
2. Formato
ls [opciones][nombre de archivo]
3. Parámetros principales de opciones
-a, --all: No oculte ningún elemento que comience con el carácter "."
-A, --casi-todos: enumera todos los elementos excepto "." y "...".
--autor: Imprime el autor de cada archivo.
-b, --escape: representa caracteres no imprimibles como una secuencia de desbordamiento octal.
--block-size=Tamaño: El bloque está en bytes del tamaño especificado.
-B, --ignore-backups: no enumera ningún elemento que termine con el carácter ~.
-f: no se realiza ninguna clasificación, el parámetro -aU entra en vigor y el parámetro -lst falla.
-F, --classify: Agrega el indicador de tipo de archivo (uno de */=@|).
-g: como -l, pero no incluye el propietario.
-G, --no-group: inhibe la visualización de información del grupo.
-i, --inode: Lista el número de inodo de cada archivo.
-I, --ignore=style: No imprima ningún elemento que coincida con el carácter comodín de Shell estilo gt;.
-k: es decir--block-size=1K.
-l: Muestra información en un formato más largo.
-L, --dereference: al mostrar la información del archivo de un enlace simbólico, muestra el objeto indicado por el enlace simbólico, no la información del enlace simbólico en sí.
-m: Todos los elementos están separados por comas y ocupan todo el ancho de línea.
-n, --numeric-uid-gid: similar a -l, pero enumera los números UID y GID.
-N, --literal: enumera nombres de proyectos sin procesar, como por ejemplo, sin procesamiento especial de caracteres de control.
-p, --file-type: Agrega el indicador de tipo de archivo (uno de /=@|).
-Q, --quote-name: Escribe el nombre del proyecto entre comillas dobles.
-r, --reverse: Organizar en orden inverso.
-R, --recursive: enumera todos los niveles de subdirectorio al mismo tiempo.
-s, --size: Ordenados por tamaño de bloque.
4. Ejemplos de aplicaciones
El comando ls es el comando más utilizado en los sistemas Linux y también tiene la mayor cantidad de parámetros entre los comandos de Linux. Hay varios colores diferentes cuando se usa el comando ls. El azul representa un directorio, el verde representa un archivo ejecutable, el rojo representa un archivo comprimido, el azul claro representa un archivo vinculado, el negro en negrita representa un enlace simbólico y el gris representa un archivo. en otros formatos. El ls más utilizado es ls-l, como se muestra en la Figura 1.
Figura 1 Usando el comando ls-l
El tipo de archivo comienza con una cadena de 10 caracteres. El primer carácter indica el tipo de archivo, que puede ser uno de los siguientes tipos: - (archivo ordinario), d (directorio), l (enlace simbólico), b (archivo de dispositivo de bloque), c (archivo de dispositivo de caracteres). Los siguientes 9 caracteres representan los permisos de acceso a archivos, divididos en 3 grupos, cada grupo tiene 3 dígitos. El primer grupo representa los permisos del propietario del archivo, el segundo grupo representa los permisos de los usuarios del mismo grupo y el tercer grupo representa los permisos de otros usuarios. Cada grupo de tres caracteres representa los permisos de lectura (r), escritura (w) y ejecución (x) en el archivo. Para directorios, indica permisos de acceso. s significa que cuando se ejecuta el archivo, el UID o GID del archivo se asigna al UID (ID de usuario) o GID (ID de grupo) del proceso en ejecución. t significa configurar el bit de bandera (permanecer en la memoria y no intercambiarse). Si el archivo es un directorio, los archivos del directorio solo pueden ser eliminados por el superusuario, el propietario del directorio o el propietario del archivo. Si es un archivo ejecutable, el puntero a su segmento de cuerpo permanece en la memoria después de ejecutar el archivo. Esto permitirá que el sistema cargue el archivo más rápido cuando lo ejecute nuevamente. Lo siguiente que se muestra es el tamaño del archivo, el tiempo de generación y el nombre del archivo o comando.
diff
1. Función
El comando diff se utiliza para comparar dos archivos y señalar la diferencia entre ellos. Sus permisos de uso son todos del usuario.
2. Formato
diff [opciones] Archivo de origen archivo de destino
3.[opciones] Parámetros principales
-a: Todos Los archivos se tratan como archivos de texto.
-b: Ignora las diferencias causadas por espacios.
-B: Ignora la diferencia causada por las líneas en blanco.
-c: Usar formato de salida de esquema.
-H: Utiliza heurísticas para acelerar las búsquedas de archivos de gran tamaño.
-I: Ignorar cambios de caso.
-n --rcs: Formato RCS de salida.
cmp
1. Función
El comando cmp (abreviatura de "comparar") se utiliza para indicar brevemente si existen diferencias entre dos archivos. Los permisos son Todos los usuarios.
2. Formato
cmp[opciones] nombre de archivo
3.[opciones]Parámetros principales
-l: Convertir bytes de salida en modo decimal, y es conveniente generar la diferencia en los dos archivos en modo octal.
cat
1. Función
El comando cat (abreviatura de "concatenar") se utiliza para conectar y mostrar información sobre uno o más archivos específicos. Los derechos de uso son para todos los usuarios.
2. Formato
cat [opciones] Archivo 1 Archivo 2...
3.[opciones]Parámetros principales
- n: Numera todas las líneas de salida comenzando desde la primera línea.
-b: Similar a -n, excepto que las líneas en blanco no están numeradas.
-s: Cuando hay más de dos líneas en blanco consecutivas, sustitúyalas por una línea en blanco.
4. Ejemplos de aplicaciones
(1) Uno de los usos más simples del comando cat es mostrar el contenido de un archivo de texto. Por ejemplo, si queremos ver el contenido del archivo README en la línea de comando, podemos usar el comando:
$ cat README
(2) A veces es necesario procese varios archivos en un solo archivo y guarde los resultados de este procesamiento en un archivo de salida separado. El comando cat acepta uno o más archivos en su entrada y los imprime como un solo archivo en su salida. Por ejemplo, después de agregar números de línea al contenido del archivo README e INSTALL (no se agregan líneas en blanco), agregue el contenido a un nuevo archivo de texto Archivo1:
$ cat README INSTALL Archivo1
(3) Otra función importante de cat es numerar las líneas, como se muestra en la Figura 2. Esta característica es muy conveniente para la preparación de documentación del programa, así como para la preparación de documentos legales y científicos. Los números de línea impresos a la izquierda facilitan la referencia a una determinada parte del documento, lo cual es útil en programación y ciencia. La investigación, los informes comerciales e incluso el trabajo legislativo son muy importantes.
Figura 2 Numeración usando el archivo comando cat/etc/named.conf
Las funciones de numeración de líneas incluyen -b (solo se pueden numerar líneas que no estén en blanco) y -n (Todos las líneas se pueden numerar) Dos parámetros:
$ cat -b /etc/named.conf
ln
Función
El comando ln se utiliza para crear enlaces entre archivos y sus permisos de uso son para todos los usuarios.
2. Formato
ln [opciones] Archivo fuente [nombre del enlace]
3. Parámetros
-f: al vincular Eliminar. primero el archivo fuente.
-d: Permite a los administradores del sistema vincular sus propios directorios.
-s: Realiza un enlace suave (Enlace Simbólico).
-b: Realiza una copia de seguridad de los archivos que se sobrescribirán o eliminarán al vincular.
Hay dos tipos de enlaces, uno se llama enlace físico y el otro se llama enlace simbólico. De forma predeterminada, el comando ln genera enlaces físicos.
Las conexiones duras se refieren a conexiones a través de nodos de índice. En el sistema de archivos de Linux, a los archivos almacenados en particiones de disco se les asigna un número independientemente de su tipo, llamado índice de inodo.
En Linux, existen varios nombres de archivos que apuntan al mismo nodo de índice. Generalmente esta conexión es una conexión dura. La función del enlace físico es permitir que un archivo tenga múltiples nombres de ruta válidos, de modo que los usuarios puedan establecer enlaces físicos a archivos importantes para evitar una "eliminación accidental". La razón de esto es la mencionada anteriormente, porque hay más de una conexión al nodo de índice del directorio. Eliminar solo una conexión no afecta el nodo de índice en sí ni a otras conexiones. Solo cuando se elimina la última conexión, se liberarán los bloques de datos del archivo y las conexiones del directorio. En otras palabras, el archivo se eliminará.
Correspondiente a la conexión dura, existe otra conexión en el sistema Lnux, llamada enlace simbólico (Symbilc Link), también llamado enlace suave. Los archivos de enlace suave son algo similares a los accesos directos de Windows. En realidad, es un tipo de archivo especial. En un enlace simbólico, el archivo es en realidad un archivo de texto que contiene la información de ubicación de otro archivo.
Contacto práctico
Hemos presentado los comandos de procesamiento de archivos de Linux anteriores. Aquí hay algunos ejemplos para que pueda practicar los comandos que acabamos de mencionar.
1. Utilice enlaces simbólicos para acceder rápidamente a directorios clave.
Los enlaces simbólicos son una función muy práctica. Supongamos que hay algunos directorios o archivos que deben usarse con frecuencia, pero debido a la estructura de archivos y directorios de Linux y otras razones, este archivo o directorio se encuentra en un subdirectorio profundo. Por ejemplo, la documentación del servidor web Apache se encuentra en /usr/local/httpd/htdocs del sistema y no desea ingresar una ruta tan larga desde el directorio de inicio cada vez (de hecho, esta ruta también es muy difícil recordar).
Para resolver este problema, puede crear un enlace simbólico en el directorio de inicio, de modo que cuando necesite ingresar al directorio, solo necesite ingresar este enlace.
Para ingresar fácilmente al directorio donde se encuentra el documento del servidor web (/usr/local/httpd/htdocs), puede usar el siguiente comando en el directorio de inicio:
$ ln -s /usr/local/httpd/htdocs gg
De esta manera, podrás acceder a los documentos del servidor web cada vez que ingreses al directorio gg si ya no accedes a los documentos del. servidor web en el futuro, simplemente elimine gg y el servidor web real El documento no se ha eliminado.
2. Utilice el comando dd para importar el contenido de root.ram en el formato init.rd a la memoria
dd if=/dev/fd0 of=floppy.fd
p>
dd if=root.ram of=/dev/ram0 #
Llamada al sistema de comandos 3.grep
grep es uno de los comandos más utilizados en Linux/ Unix, muchos sistemas Linux Se puede llamar internamente.
(1) Si desea consultar los directorios en la lista de directorios, el método es el siguiente:
$ ls -l | grep '∧d'
(2) Si desea consultar todos los archivos en un directorio que no contiene directorios, el método es el siguiente:
$ ls -l | p>(3) Utilice el comando buscar para llamar a grep, como "Chinput" en todos los códigos fuente C, el método es el siguiente:
$find /ZhXwin -name *.c -exec grep - q -s Chinput {} \\ -imprimir