# MacOS



# MacOS Terminal Command Bible

<div class="OutlineContainer OutlineContainerDisplayWrapper  BCX0 SCXO256867562" id="bkmrk-what-do-you-want-to-"><div class="OutlineSized  BCX0 SCXO256867562"><div class="OutlineElement Ltr  BCX0 SCXO256867562"><div class="TableContainer  BCX0 SCXO256867562"><table border="1" class="Table Border BCX0 SCXO256867562"><tbody class="BCX0 SCXO256867562"><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun Underlined  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">What do you want to do?</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562" role="columnheader"><span class="TextRun Underlined  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Command</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562" role="columnheader"><span class="TextRun Underlined  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Flags/Notes</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Find out what a command does</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">\[command\] </span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">-h</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Shutdown/Restart</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">sudo shutdown -h now</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">sudo shutdown -r now</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">-h -- HALT</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">-r -- Restart</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Download a File via Terminal</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">curl</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">-O -- &lt;URL to the file&gt;</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Rename a macOS computer</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">scutil --set LocalHostName "NAME"</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">scutil --set ComputerName "NAME"</span></span><span class="LineBreakBlob BlobObject DragDrop  BCX0 SCXO256867562"><span class="BCX0 SCXO256867562"> </span>  
</span><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">scutil --set HostName "NAME"</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">ComputerName is for a User-Friendly name that gets displayed, LocalHostName is for network-based identification (Bonjour, etc), and HostName is for SSH and terminal</span></span><span class="LineBreakBlob BlobObject DragDrop  BCX0 SCXO256867562"><span class="BCX0 SCXO256867562"> </span>  
</span><span class="LineBreakBlob BlobObject DragDrop  BCX0 SCXO256867562"><span class="BCX0 SCXO256867562"> </span>  
</span><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Changing Hostname will reset your Automate connection most likely.</span></span><span class="LineBreakBlob BlobObject DragDrop  BCX0 SCXO256867562"><span class="BCX0 SCXO256867562"> </span>  
</span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">You must rename the LocalHostName and ComputerName in order for Automate to recognize the changes. Resend System Information from the Agent page, then refresh your cache to update. Update all three for consistency's sake.</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Get a macOS computer name</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">scutil --get ComputerName</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">scutil --get HostName</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Show files in a specific directory</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">ls</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">-a -- list all directory contents (includes hidden)</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">-l -- list detail information for each entry</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">-la -- do both of the above in one flag</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">-ld -- display permissions of a directory</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Delete a file or directory</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">rm</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">-f -- Force</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">-rf -- Recursively force \*\*USE WITH CAUTION\*\*</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Run a command at Administrator level</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">sudo</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Run before a command, may ask for a password. Use with caution.</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">-i -- Persistent \*\*Always remember to log out of Sudo\*\*</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Read the manual for a command</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">man</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">\[command\]</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Find a file on the system</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">find</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Make a directory or folder</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">mkdir</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Copy a file or folder</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">cp</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Move between folders</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">cd</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">\[folder\] i.e `cd /usr/local/bin`</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">~ -- home</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">.. -- Up one directory</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Find the directory I'm currently in</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">pwd</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Move a file or folder</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">mv</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Quickly read a text file in Terminal</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">cat</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Run an application from Terminal</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">open</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Get Ip configuration</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">ifconfig</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">-a -- Show All</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Leave the terminal</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">exit</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Find a running process</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">ps</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">top</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">lsof</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">-ax | grep &lt;appname&gt; </span></span><span class="LineBreakBlob BlobObject DragDrop  BCX0 SCXO256867562"><span class="BCX0 SCXO256867562"> </span>  
</span><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">top is an interactive, constantly updating command</span></span><span class="LineBreakBlob BlobObject DragDrop  BCX0 SCXO256867562"><span class="BCX0 SCXO256867562"> </span>  
</span><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">lsof lists all open files, but every daemon, port and process is a file so… yeah it works here too</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Kill a running process</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">kill &lt;PID&gt;</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">May need to be ran as root</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Mark file as executable (to run scripts)</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">chmod +x filename.sh</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">chmod can be altered to have more granular permissions</span></span><span class="LineBreakBlob BlobObject DragDrop  BCX0 SCXO256867562"><span class="BCX0 SCXO256867562"> </span>  
</span><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">may need a "#!/bin/bash" or whatever shell it's using at the beginning</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Add certificate to keychain</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /Location/Of/Certificate.cer</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Mostly used for WatchGuard, there's a script that should be doing this automagically ((Mac) Install Client-Specific Watchguard Certificates)</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Follow a file as it updates</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">tail</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">-f -- follow</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr></tbody></table>

</div></div></div></div><span class="TextRun Underlined  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Please keep in mind that all commands run through Automate run at root level authentication</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="EOP  BCX0 SCXO256867562"> </span>

[<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">https://developer.apple.com/library/archive/documentation/OpenSource/Conceptual/ShellScripting/CommandLInePrimer/CommandLine.html</span></span>](https://developer.apple.com/library/archive/documentation/OpenSource/Conceptual/ShellScripting/CommandLInePrimer/CommandLine.html)<span class="EOP  BCX0 SCXO256867562"> </span>

<span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Labtech installs into /usr/local/ltechagent/</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Has an lttray daemon that you can find via 'launchctl list | grep labtech'</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Runs two ltechagents and the lttray process that shows up in ps or top.</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<span class="EOP  BCX0 SCXO256867562"> </span>

<span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Location Shortcuts</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

<div class="OutlineContainer OutlineContainerDisplayWrapper  BCX0 SCXO256867562" id="bkmrk-%2F%C2%A0-top-level-directo"><div class="Outline  BCX0 SCXO256867562"><div class="OutlineElement Ltr  BCX0 SCXO256867562">  
</div><div class="OutlineElement Ltr  BCX0 SCXO256867562"><div class="TableContainer  BCX0 SCXO256867562"><div aria-hidden="true" class="WACAltTextDescribedBy  BCX0 SCXO256867562" id="bkmrk-"></div><table border="1" class="Table Border BCX0 SCXO256867562"><tbody class="BCX0 SCXO256867562"><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">/</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562" role="columnheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Top level directory</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">.</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Current directory</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">..</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Parent directory</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">~</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">Home directory</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">/var/log/system.log</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">System log</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">/Library/logs</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">System application logs</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr><tr class="TableRow  BCX0 SCXO256867562" role="row"><td class="BCX0 SCXO256867562" role="rowheader"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">~/Library/logs</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td><td class="BCX0 SCXO256867562"><span class="TextRun  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">User application logs</span></span><span class="EOP  BCX0 SCXO256867562"> </span>

</td></tr></tbody></table>

</div></div></div></div><span class="TextRun Highlight  BCX0 SCXO256867562" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun  BCX0 SCXO256867562">All Commands can be autocompleted by tapping the \[TAB\] key</span></span><span class="EOP  BCX0 SCXO256867562"></span>

# How to convert DMG to PKG Mac App for distribution

# How to convert DMG to PKG Mac App for distribution

[https://www.hexnode.com/mobile-device-management/help/convert-dmg-to-pkg-mac/](https://www.hexnode.com/mobile-device-management/help/convert-dmg-to-pkg-mac/)

<article class="post_content_data" id="bkmrk-jump-to-steps-to-con"><div class="wpj-jtoc wpj-jtoc--main --jtoc-the-content --jtoc-theme-basic-light --jtoc-title-align-left --jtoc-toggle-icon --jtoc-toggle-position-right --jtoc-toggle-1 --jtoc-has-custom-styles --jtoc-is-unfolded" id="bkmrk-jump-to-steps-to-con-1"><div class="wpj-jtoc--toc "><div class="wpj-jtoc--header"><div class="wpj-jtoc--header-main"><div class="wpj-jtoc--title"><span class="wpj-jtoc--title-label">Jump To</span></div></div></div><div class="wpj-jtoc--body"><nav class="wpj-jtoc--nav">1. <div class="wpj-jtoc--item-content" data-depth="2">[Steps to convert macOS DMG files to PKG files.](https://www.hexnode.com/mobile-device-management/help/convert-dmg-to-pkg-mac/#steps-to-convert-macos-dmg-files-to-pkg-files "Steps to convert macOS DMG files to PKG files.")</div>

</nav></div></div></div>**DMG** files or Disk Image files used to install software contain app files, installation files and other file types. They are usually used by macOS software installers downloaded from the internet.

**PKG** files are macOS installation packages containing installer scripts and compressed installation files used to install Mac software applications on a user hard drive.

The issue with DMG files is that it needs to be mounted as a virtual disk to push apps, whereas PKG files can be directly installed. Hence, it is ideal to convert DMG files to PKG files to push them through Hexnode. It’s a rather simple process that can be done with the help of the **Terminal**.

Terminal can create PKG files from DMG files and they can then be distributed via Hexnode as enterprise apps.

<div class="hts-messages hts-messages--info  hts-messages--withtitle hts-messages--withicon "><span class="hts-messages__title">Note:</span></div>For using downloaded DMG files: Enable the “App Store and identified developers” option under Mac system preferences &gt; Security and Privacy&gt; Allow apps downloaded from.

PKG files can only be created from DMG files containing applications by using the Terminal.

## Steps to convert macOS DMG files to PKG files.

1. Go to the folder that contains the DMG file.
2. Double click the DMG file. It gets mounted as a virtual disk and reveals its contents.
3. Copy the .app file to the Applications folder in the macOS device.

1. Eject the DMG file by clicking on the eject button.
2. Open **Terminal.**
3. Build the PKG file using the **productbuild** command

`sudo productbuild --component /path_to_installedapp/macapp.app / path_to_savedpackage/packagename.pkg`

The two arguments specify the location of the installed .app file (path\_to\_installedapp/macapp.app) and the location to create the PKG file (path\_to\_savedpackage/packagename.pkg), respectively.

1. Provide the device login password and wait for a few seconds for the build to finish.
2. The PKG file gets created at the desired location.

To distribute the created PKG files, check out [Distribute macOS Enterprise App using Hexnode.](https://www.hexnode.com/mobile-device-management/help/distribute-macos-enterprise-app-using-hexnode-mdm/)

<div class="hts-messages hts-messages--info  hts-messages--withtitle hts-messages--withicon "><span class="hts-messages__title">Note</span></div>Signing a PKG file is recommended to enforce corporate data security and ensure that the app in use is trustable, safe and malware-free. Check out [How to sign pkg files for deployment.](https://www.hexnode.com/mobile-device-management/help/how-to-sign-macos-pkg-files-for-deployment-with-hexnode-mdm/)

The only red flag here is that not all apps are created similarly, which may affect the time required for the PKG build.

</article>