Anleitung zur Verwendung von Ubuntu Linux Terminal auf Ihrem Dell PC

Summary: Dieser Artikel ist ein Referenzartikel, der Sie durch die Terminal-Konventionen führt, die Sie kennen müssen, um das Betriebssystem Linux Ubuntu auf Ihrem Dell PC optimal nutzen zuSee more

Article Content


Symptoms

Der folgende Artikel enthält Informationen zur Verwendung der Terminal-Shell in Ubuntu Linux. Erfahren Sie mehr über die Verwendung der zahlreichen im Terminal verfügbaren Befehle.


Inhaltsverzeichnis:

  1. Verwenden der Terminal-Shell, um herauszufinden, was ein Befehl wie tut
  2. Welche Ubuntu Linux-Terminalbefehle können diese Informationen bereitstellen?
  3. Ein Terminal-Shell-Tutorial
  4. Nützliche Terminal-Befehle
  5. Nützliche Regeln

 

Verwenden der Terminal-Shell, um herauszufinden, was ein Befehl wie tut

 

In diesem Artikel werde ich erklären, wie Sie die eingebauten Terminal-Befehle verwenden, um Informationen über einige Befehle und deren Funktion zu erhalten.

Ich werde einige Beispiele zur Veranschaulichung des Prozesses bereitstellen.

Die Kommandozeile ist leistungsstark. Es gibt Tools, mit denen Aufgaben, die in einer grafischen Benutzeroberfläche (GUI) mühsam sind, innerhalb von Sekunden erledigt werden können. Das Entfernen der letzten vier Zeilen in jeder Zeile einer großen Datei wäre ein langwieriger Prozess in einer GUI-Anwendung. Er kann jedoch in der Befehlszeile automatisiert werden.

Es gibt viele Befehle in der Terminal-Shell in Ubuntu Linux. Der folgende Artikel listet die Mehrheit unter den Gruppen auf, auf die sie wirken.


Nach oben


Resolution

 

Welche Ubuntu Linux-Terminalbefehle können diese Informationen bereitstellen?

 

Es gibt drei Hauptbefehle, mit denen wir alle Informationen bereitstellen, die zur Verwendung der verschiedenen Terminalbefehle erforderlich sind.

 

Der Befehl man zeigt die Anleitung für alle Befehle an, der im Terminal verwendet werden.

Die meisten Shell-Befehle akzeptieren verschiedene Optionen. Verwenden Sie den Befehl man – kurz für „manual“ (Anleitung), um Informationen zu einem Befehl und eine Liste der verfügbaren Optionen zu erhalten. Geben Sie den Namen des Befehls, über den Sie mehr erfahren möchten, als Argument ein, also den Befehl, zu dem der Befehl man die Liste erstellen soll.

Beispiel: Wenn Sie den Befehl man who eingeben, wird die folgende Ausgabe angezeigt:

 WHO(1)                     User Commands                     WHO(1)

 NAME
    who - show who is logged on

 SYNOPSIS
    who [OPTION}... [ FILE | ARG1 ARG2 ]

 DESCRIPTION
    -a, --all
       same as -b -d --login -p -r -t -T -u

    -b, --boot
       time of last system boot

    -d, --dead
       print dead processes

    -H, --heading
       print line of column headings

    -i, --idle
       add idle time as HOURS:MINUTES, . or old (deprecated, use -u)

    -l, --login
       print system login processes

    --lookup
       attempt to canonicalize hostnames via DNS

    -m, only hostname and user associated with stdin

 Manual page who(1) line 1

Viele der Anleitungen sind mehrere Bildschirme lang. Verwenden Sie die Tasten Cursor/ARROW oder die Tasten Bild▲/Bild▼, um durch den Text zu navigieren. Die Leertaste zeigt die nächste Textzeile an. Das Drücken der Taste q schließt die Anleitung und es wird zur Shell zurückgekehrt.

Auf der Manpage können Sie sehen, dass Sie die Option -a verwenden können, um weitere Informationen über die aktiven Nutzersitzungen anzuzeigen.

      user@3[user]$ who -a
   

        Nov 14 13:47   10 id=si term=0 exit=0
      system boot Nov 14 13:47          
      run-level 5 Nov 14 13:47     Last=S    
        Nov 14 13:47   835 id=15 term=0 exit=0
LOGIN     tty1 Nov 14 13:47   958 id=1    
root   - tty2 Nov 14 19:15 00:19 959      
user   - tty3 Nov 14 19:28 00:06 960      
LOGIN     tty4 Nov 14 13:47   961 id=4    
LOGIN     tty5 Nov 14 13:47   962 id=5    
LOGIN     tty6 Nov 14 13:47   963 id=6    
user   ? :0 Nov 14 13:47 ? 965      
      pts/3 Nov 14 16:29   1746 id=/3 term=0 exit=0
 

    user@3[user]$

Der Befehl man liest auch Hilfedateien für Programme und kann auch Informationen über Shells, Funktionen und Bibliotheken anzeigen.

 

Wenn Sie nicht sicher sind, wie Sie einen bestimmten Befehl verwenden, führen Sie den Befehl mit der Option -h oder –help aus. Sie sehen Nutzungsinformationen und eine Liste der Optionen, die Sie mit dem Befehl verwenden können.

Beispiel: Wenn Sie wissen möchten, wie Sie den Befehl wget verwenden, geben Sie wget –help oder wget -h ein.

      User@Ubuntu@#$ wget --help
 GNU Wget 1.12, a non-interactive network retriever.
 Usage: wget [OPTION]... [URL]...

 Mandatory arguments to long options are mandatory for short options t
 oo.

 Startup:
  -V, --version display the version of Wget and exit.
  -h, --help print this help.
  -b, --background go to background after startup.
  -e, --execute=COMMAND execute a '.wgetrc' -style command.

 Logging and input file:

Dies zeigt häufig viele Informationen im Terminal an. Das Scrollen kann unhandlich sein. Um die Ausgabe leichter zu lesen, können Sie sie mit dem Befehl less kanalisieren (pipe). Hiermit können Sie mit den Cursortasten/Pfeiltasten auf Ihrer Tastatur scrollen.

Beispiel: wget -help | less

 GNU Wget 1.12, a non-interactive network retriever.
 Usage: wget [OPTION]... [URL]...

 Mandatory arguments to long options are mandatory for short options t
 oo.

 Startup:
  -V, --version display the version of Wget and exit.
  -h, --help print this help.
  -b, --background go to background after startup.
  -e, --execute=COMMAND execute a '.wgetrc' -style command.

 Logging and input file:
  -o, --output-file=FILE log messages to FILE.
 :

Drücken Sie die Taste q, um das Dienstprogramm less zu schließen, wenn Sie fertig sind.

Um eine bestimmte Option zu finden, können Sie die Ausgabe kanalisieren (pipe), und zwar mit dem Befehl grep. Verwenden Sie beispielsweise den folgenden Befehl, um nach Optionen zu suchen, die das Wort enthalten proxy.

wget -help | grep proxy

  User@ubuntu:~$ wget --help | grep proxy
  --no-proxy explicitly turn off proxy.
  --proxy-user=USER set USER as proxy username.
  --proxy-password=PASS set PASS as proxy password.
  User@Ubuntu:~$

 

Einige Befehle sind auch im System von info dokumentiert. Die hier aufgeführten Informationen ergänzen die Informationen, die mit dem Befehl man angezeigt werden.

Beispiel: Geben Sie den Befehl info ls, ein, um die folgende Ausgabe anzuzeigen.

   [support@support]$" info ls

Sie sehen jetzt eine Anleitung mit wichtigen Informationen zum Befehl ls anzeigen.

   File: coreutils.info, Node: ls invocation, Next: dir invocation, Up: Directory listing

 'ls': List directory contents
  =============================

   The 'ls' program lists information about files (of any type,
  including directories). Options and file arguments can be intermixed
  arbitrarily, as usual.

    For non-option command-line arguments that are directories, by
  default 'ls' lists the contents of directories, not recursively, and
  omitting files with name beginning with '.'. For other non-option
  arguments, be default 'ls' lists just the file name. If no non-option
  argument is specified, 'ls' operates on the current directory, acting
  as if it had been invoked with a single argument of '.'.

   By default, the output is sorted alphabetically, according to the
  locale settings in effect. (1) If standard output is a terminal, the
  output is in columns (sorted vertically) and control characters are
  output as question marks; otherwise, the output is listed one per line
  and control characters are output as-is.
  --zz-Info: (coreutils.info.gz)ls invocation, 48 lines --Top------------------
  Welcome to info version 4.3 Type C-h for help, m for menu item.

Sie können durch Drücken der Leertaste oder über die Cursortasten/die Tasten ARROW nach unten scrollen.

  1. Drücken Sie für Hilfe (help) die Taste H.

  2. Drücken Sie zum Beenden (quit) die Taste Q.

  3. Drücken Sie zum Suchen nach einem Menüelement die Taste M.


Ein Terminal-Shell-Tutorial

 

Sie können fast alles in einem Terminal tun, was Sie auch über eine GUI tun würden.

Wie bereits erwähnt, wurden viele Befehle zuerst für die Arbeit im Terminal entwickelt, und dann wurde eine grafische Benutzeroberfläche hinzugefügt. Aus diesem Grund können sich einige GUIs unhandlich anfühlen – Anfangs hat sich niemand viele Gedanken über sie gemacht, da die meisten Linux Server-Builds keine verwenden.

Der Standardspeicherort für das Öffnen des Terminals im Menü ist in Ihrem Home-Ordner. Bekannt als ~

Sie können Ihr aktuelles Verzeichnis mit dem Operator . finden. Bei den meisten Befehlen, die auf die aktuelle Ordnerauswahl einwirken, wird bei Befehlen, Speicherorten und Dateien zwischen Groß- und Kleinschreibung unterschieden. /home ist nicht mit /HOME oder /Home identisch.

Verwenden Sie die Tabulator-Taste, um Dateinamen zu vervollständigen. Wenn Sie einen langen Treibertitel haben. driver-128947232jaseu.sh Geben Sie z. B einfach  dri ein und der Rest wird vervollständigt. Vorausgesetzt, Sie haben keine 2 Namen, die mit dri beginnen. In diesem Fall fügen Sie ein weiteres Zeichen hinzu, damit driv daraus wird, und versuchen es erneut. Stellen Sie sicher, dass die automatische Vervollständigung mit dem übereinstimmt, was Sie anzeigen wollen.

Zu fast allen Befehlen können vollständige Informationen über die Seite man oder durch Eingabe von -h oder --help nach dem Schreiben des ersten Befehls angezeigt werden. Diese Syntax ist entweder man command_namecommand_name -h oder command_name --help.

Um noch mehr Informationen zu erhalten, können Sie „info“ verwenden. Ein Befehl kann mithilfe von info command_name gesucht werden. Dies gilt für die meisten dieser Befehle, die Teil des Pakets „coreutils“ sind. Sie können Informationen (info) auch mithilfe des Aufrufs info coreutils command_name suchen, wobei command_name durch den Befehl ersetzt wird, den Sie suchen.

Für fast jeden Befehl kann Schritt für Schritt genau angezeigt werden, was passiert. Dies erfolgt in der Regel über -v oder --verbose.

Sie können mehrere Befehlsattribute gleichzeitig für einen Befehl angeben, um weitere Informationen zu erhalten. Sehen Sie sich das folgende Beispiel für ls -alan.

Befehlsnamen sind nicht immer offensichtlich – aufgrund von Speicherplatzbeschränkungen in den frühen Tagen von UNIX wurden sie verkürzt und diese Konventionen blieben bestehen.


Nützliche Terminal-Befehle

 

 

  1. cd – Bringt Sie zurück zum Home-Ordner, genau wie cd ~

  2. cd.. – Dieses bringt Sie ein Verzeichnis nach oben. Wenn Sie sich in/home/user/Desktop befinden, bringt cd.. Sie in den Ordner /home/user. Dies kann erweitert werden: cd ../../ sodass Sie 2 Verzeichnisse nach oben in den Ordner /home versetzt werden.

  3. cd foldername/ – Bringt Sie zu dem angegebenen Ordner in Ihrem aktuellen Ordner.

SLN265948_de__1icon Hinweis: Es ist wichtig, das Präfix / wegzulassen. Wenn Ihre Position /home/user ist und Sie Desktop aufrufen möchten, müssen Sie cd Desktop/ ohne vorangestelltes / vor Desktop eingeben. Wenn Sie ein / davor setzen, würde das Terminal im Stammverzeichnis des Dateisystems nach dem Ordner suchen und ihn entsprechend nicht finden.
  1. cd /some/other/path – Führt Sie zum angegebenen Ordnerpfad. Sofern Sie den richtigen Pfad eingegeben haben. Vergessen Sie nicht, dass Sie Die Taste TAB zur automatischen Vervollständigung verwenden können.

 

 

  1. ls – Listet alle Dateien im aktuellen Ordner auf.

  2. ls -l – Bietet eine längere Liste mit Eigentümern, Berechtigungen, Größe und Änderungsdatum.

  3. ls -a – Zeigt die versteckten Dateien und Ordner sowie die normale Liste an.

  4. ls -al – Kombiniert zwei Optionen, um sowohl die versteckten Dateien als auch die Ordner anzuzeigen und tut dies im Langformat.

  5. ls -h – Zeigt Dateigrößen im lesbaren Format KB, MB, GB, statt Bytes an. Wird häufig mit dem Attribut -l verwendet.

  6. Sie können auch Dateien in Verzeichnissen anzeigen, in denen Sie sich nicht befinden. Wenn Sie sich im Ordner /home/user/Desktop befinden und eine Datei in /home/user anzeigen möchten, geben Sie ls ../ ein. Dadurch werden die Dateien im übergeordneten Verzeichnis aufgelistet.

 

  1. cp file /path/to/folder – Kopiert die angegebene Datei in den angegebenen Pfad.

  2. cp -r folder /path/to/folder – Kopiert wiederholt den Inhalt des Ordners in einen anderen Ordner.

  3. cp *.extension /path/to/folder – Kopiert die Dateien, die der angegebenen Erweiterung entsprechen, in den neuen Ordner. Zum Kopieren aller. doc-Dateien verwenden Sie cp *.doc /path/to/folder. Der Ordner muss vorhanden sein.

  4. cp name* /path/to/folder – Kopiert alle Dateien mit name in den angegebenen Ordner. Um alle Dateien zu kopieren, die mit example beginnen, verwenden Sie cp example* /path/to/folder. Der Ordner muss bereits vorhanden sein.

 

  1. Die Syntax von mv ähnelt dem obigen Beispiel mit cp mit Ausnahme von Beispiel 2. mv verwendet nicht das Attribut -r, da durch das Verschieben eines Ordners auch der Inhalt verschoben wird. Die Syntax ist nicht in allen Fällen genau richtig, funktioniert jedoch mit den obigen Beispielen. Weitere Informationen finden Sie in den Manpages.

 

SLN265948_de__1icon Hinweis: Sie werden nicht gewarnt, wenn Sie etwas Systemkritisches löschen. Diese Option ist für Situationen vorgesehen, in denen ein Fehler aufgetreten ist oder ein anderes Problem mit dem Computer vorliegt. Dieser Befehl sollte nur als letzter Ausweg verwendet werden und wird nicht empfohlen.
  1. Das Entfernen von Dateien über rm kann nicht rückgängig gemacht werden. Der Papierkorb wird nicht verwendet. Verwenden Sie diese Option mit Bedacht und stellen Sie sicher, dass Sie genau das löschen, was Sie löschen möchten, bevor Sie die Taste Enter drücken. Gestalten Sie Löschbefehle so einfach wie möglich, um das Risiko eines Fehlers zu reduzieren.

  2. rm file – Entfernt die entsprechende Datei aus dem System.

  3. rm -r folder – Entfernt diesen konkreten Ordner aus dem System.

  4. rm -rf folder – Erzwingt das Entfernen dieses konkreten Ordners aus dem System. Dieser Befehl kann Ihre Konfiguration durcheinander bringen, wenn er falsch verwendet wird.

 
  1. Sie können Dateien mithilfe von nano in einem Terminal bearbeiten, um Dateien zu erstellen, von schnellen, groben Versionen bis hin zu vollständigen Konfigurationen. Dies kann nützlich sein, es werden jedoch reine Textdateien und Programmierdateien verarbeitet, Dateien wie Microsoft Word-Dokumente werden nicht ordnungsgemäß geöffnet.

  2. Wenn eine Datei dem Nutzer „root“ gehört, kann ein normaler Nutzer sie nicht bearbeiten. nano muss mit dem Präfix sudo verwendet werden, damit die Änderungen gespeichert werden. Andernfalls wird die Datei im schreibgeschützten Modus geöffnet.

  3. nano newfile.whatever Die Datei des angegebenen Namens wird zur Bearbeitung geöffnet.

  4. nano existing_file – öffnet die vorhandene Datei zur Bearbeitung.

  5. aus nano

  6. Speichern Sie die Datei, indem Sie die Tasten CTRL+O gemeinsam drücken und entweder den Namen ändern oder die Taste Enter drücken, um den gleichen Namen beizubehalten. Dadurch wird die Datei gespeichert.

  7. Beenden Sie nano, indem Sie CTRL+X gemeinsam drücken. Wenn nicht gespeicherte Änderungen vorhanden sind, werden Sie gefragt, ob Sie sie speichern möchten.

 

  1. mkdir folder_name – Erstellt den Ordner mit dem angegebenen Namen.

  2. mkdir -p /path/to/folder/name – Erstellt jeden Ordner nach Bedarf. Um den Ordner /home/user/1stfolder/2ndfolder zu erstellen, wenn nur /home/user vorhanden ist, verwenden Sie mkdir -p, um beide Verzeichnisse 1stfolder und 2ndfolder zu erstellen.

 

  1. ps aux – Listet alle auf dem System ausgeführten Prozesse im Detail auf. Dazu zählen Nutzer, Prozess-ID PID und Name des Prozesses. Auf diese Weise können Sie die Prozessliste anzeigen und bei Bedarf unnötige oder gestoppte Prozesse beenden.

 

  1. kill PID – PID ist eine Zahl, die auf den fehlerhaften Prozess verweist. Sie sollten die PID mit einem Befehl wie ps aux abrufen. Wenn das Beenden eines Prozesses nicht erzwungen werden kann, können Sie auch kill -9 PID verwenden, wodurch das Beenden des Prozess mit allen Mitteln erzwungen wird.

SLN265948_de__1icon Hinweis: Seien Sie vorsichtig: Dies beendet den Prozess in jedem Fall, auch wenn danach das System nicht mehr funktioniert.
  1. killall program : Killall erzwingt das Beenden by name (nach Namen) aller Instanzen von listed program (aufgelistetes Programm). Wenn beispielsweise 3 Firefox-Internetbrowsersitzungen geöffnet sind, erzwingt killall Firefox das Beenden aller drei Firefox-Sitzungen. kill würde einfach die angegebene PID des fehlerhaften Firefox-Prozesses übernehmen, den Sie beenden möchten, und nur diesen beenden.

  2. xkill ist eine GUI-Methode zum Klicken und Schließen von Fenstern. Bei der Eingabe von xkill sollte ein Symbol mit Totenkopf und überkreuzten Knochen angezeigt werden und das nächste Fenster, auf das geklickt wird, wird geschlossen.

 

  1. Pipes werden durch den straight bar (geraden Strich) dargestellt, der Taste |.

  2. Es ist eine selten verwendete Taste in Windows, die aber häufig auf der Taste mit den spitzen Klammern vorhanden ist.

  3. Sie wird zum Verknüpfen von Befehlen verwendet. Pipes schickt die Ausgabe eines Befehls als Eingabe an einen zweiten Befehl, wenn sie verkettet sind.

  4. Konsultieren Sie die Online-Ressourcen, um weitere Informationen über pipes und ihre Verwendung zu erhalten, da es dazu eine Vielzahl an Informationen gibt.

 

  1. > wird zum Überschreiben (overwrite) der vorhandenen Dateiinhalte verwendet, indem Sie durch die Ausgabe des neuen Befehls ersetzt werden.

  2. >> wird verwendet, um Informationen zu den vorhandenen Dateien hinzuzufügen (append). Dies ist hilfreich bei der Protokollierung von Aktionen.

  3. Example: ps aux > processes.log sendet die Ausgabe von ps aux an die Datei processes.log zur Anzeige der Befehlsausgabe in einem Texteditor und überschreibt die aktuellen Inhalte der Datei.

 

  1. tee wird zusammen mit einem | verwendet, um die Ausgabe des Befehls zu übernehmen und an einen anderen Ort zu senden. Dies ist nützlich, wenn Sie Fehler übersehen. Auf diese Weise wird alles, was auf dem Bildschirm angezeigt wird, auch in einer Datei erfasst.

  2. Beispiel:dmesg |  tee boot.txt führt den Befehl dmesg aus, der die anfänglichen Startinformationen anzeigt. Der | sendet die Ausgabe von dmesg an tee, das dann die Ausgabe an das Terminal und an die Protokolldatei boot.txt weiterleitet.

 

  1. Müssen Sie eine Datei im aktuellen Verzeichnis ausführen, nachdem sie als ausführbar markiert wurde? Der Operator ./ kann die Datei als normaler Nutzer ausführen, vorausgesetzt, Sie benötigen keine root-Rechte. ./ Das funktioniert nur im aktuellen Verzeichnis (in the current directory) und nicht mit Dateien außerhalb des aktuellen Verzeichnisses.

  2. Wenn Sie eine Datei ausführen müssen, die sich nicht im aktuellen Verzeichnis befindet, müssen Sie den Pfad korrekt an das ausführende Programm übergeben. Wenn es sich um ein Python-Programm handelt, ist das python /path/to/file, bei einer Shell-Datei ist das beispielsweise sh /path/to/file. Es gibt andere Programme, aber diese werden am häufigsten verwendet.

  3. Wenn Sie eine Datei mit Root-Rechten ausführen müssen, weil Sie die Meldung operation not permitted? erhalten haben, müssen Sie dem Befehl das Präfix sudo voranstellen. Im obigen Beispiel wird durch sudo python /path/to/file das Skript mit Root-Berechtigungen ausgeführt.

  4. Wenn Sie ein GUI Programm über das Terminal ausführen möchten, geben Sie einfach den Namen des Programms ein, Groß- und Kleinschreibung müssen beachtet werden (case sensitive!), und es wird gestartet. Dadurch wird das aktuelle Terminal unbrauchbar. Wenn Sie das Terminal schließen, während das Programm geöffnet ist, wird auch das Programm beendet. Ein besserer Weg ist, das Programm im Hintergrund mit program_name zu verwenden und dann das Wort exit im Terminal einzugeben, um es zu schließen und den Prozess am Laufen zu halten.

  5. Wenn Sie ein GUI-Programm mit Root-Berechtigungen vom Terminal ausführen müssen, dann stellen Sie das Präfix gksudo oder gksu und nicht sudo voran. Die Verwendung von sudo zum Starten von GUI-Anwendungen ist ungünstig und sollte vermieden werden.

  6. Verwenden Sie nicht (not) sudo nur, weil die Meldung Operation not permitted. angezeigt wird. Bedenken Sie, dass Sie Systeme zerstören können (destroy), wenn Befehle an der falschen Stelle mit Root-Rechten verwendet werden. Stellen Sie sicher, dass Ihre Dateien aus seriösen Quellen stammen.


Nützliche Regeln

 

Sie haben sich in einem Verzeichnis verloren? Geben Sie pwd ein, um das Arbeitsverzeichnis anzuzeigen.

Möchten Sie den Festplattenspeicherplatz berechnen? df -h kann Ihnen schnelle eine Zahl liefern.

Möchten Sie die Größe eines Ordners oder einer Datei berechnen? du -cksh target_name tut genau das. Möchten Sie die Größe des aktuellen Ordners berechnen? du -cksh.

Möchten Sie eine ausführbare Datei markieren? chmod +x filename tut das.

Sie müssen eine ISO-Datei einbinden? Diese Funktion ist in Linux integriert. Erstellen Sie irgendwo ein Verzeichnis, z. B. /home/user/isomount und geben Sie den Befehl mount -o loop /path/to/myisofile.iso /home/user/isomount ein, um den Inhalt in diesem Ordner bereitzustellen.

Nachdem Sie einen Befehl ausgeführt haben, müssen Sie ihn erneut ausführen, können sich aber nicht genau erinnern, wie er ausgeführt wurde? Geben Sie history in das Terminal ein, und es wird ein Befehlsprotokoll gedruckt. Möchten Sie Ihren Verlauf löschen? history -c löscht die Informationen.


Nach oben


 

Weitere Informationen:

 

SLN265948_de__1icon Hinweis:
Sie erhalten bei Canonical den folgenden Softwaresupport:
Der technische Support wird von Dell bereitgestellt:


Nach oben


Article Properties


Affected Product

Desktops & All-in-Ones, Laptops

Last Published Date

21 Feb 2021

Version

4

Article Type

Solution

Rate This Article


Accurate
Useful
Easy to Understand
Was this article helpful?

0/3000 characters