The direct parameter of the do shell script command is a string containing the shell code you want to execute, as demonstrated in Listing 39-1, which simply lists a directory. Open in Script Editor. Listing 39-1AppleScript: Executing a simple shell command that lists the contents of a directory. Press command+space bar keys on the keyboard and it opens the spotlight where you can type the name of app that you want to open etc.
- Mac Command Prompt
- Mac Command Line Open File
- Mac Os Command Line Tools
- Mac Os Command Line Open Open Apps
- Mac Os X Command Line Open Application
- How To Open Command Prompt In Imac
The safest place to get apps for your Mac is the App Store. Apple reviews each app in the App Store before it’s accepted and signs it to ensure that it hasn’t been tampered with or altered. If there’s ever a problem with an app, Apple can quickly remove it from the store.
If you download and install apps from the internet or directly from a developer, macOS continues to protect your Mac. When you install Mac apps, plug-ins, and installer packages from outside the App Store, macOS checks the Developer ID signature to verify that the software is from an identified developer and that it has not been altered. By default, macOS Catalina also requires software to be notarized, so you can be confident that the software you run on your Mac doesn't contain known malware. Before opening downloaded software for the first time, macOS requests your approval to make sure you aren’t misled into running software you didn’t expect.
Running software that hasn’t been signed and notarized may expose your computer and personal information to malware that can harm your Mac or compromise your privacy.
You can certainly 'open an Excel XLS from the command line'. Opening an Application: Launch Terminal. Look for Terminal in 'Applications' → 'Utilities' →. 10.4: Pass command-line arguments to AppleScript Authored by: mark hunte on Jun 09, '05 06:03:45AM Yes but this is not putting the AS in a shell script this is calling a AS script and using it like a shell command.
View the app security settings on your Mac
By default, the security and privacy preferences of your Mac are set to allow apps from the App Store and identified developers. For additional security, you can chose to allow only apps from the App Store.
In System Preferences, click Security & Privacy, then click General. Click the lock and enter your password to make changes. Select App Store under the header “Allow apps downloaded from.”
Open a developer-signed or notarized app
If your Mac is set to allow apps from the App Store and identified developers, the first time that you launch a new app, your Mac asks if you’re sure you want to open it.
An app that has been notarized by Apple indicates that Apple checked it for malicious software and none was detected:
Prior to macOS Catalina, opening an app that hasn't been notarized shows a yellow warning icon and asks if you're sure you want to open it:
If you see a warning message and can’t install an app
If you have set your Mac to allow apps only from the App Store and you try to install an app from elsewhere, your Mac will say that the app can't be opened because it was not downloaded from the App Store.*
If your Mac is set to allow apps from the App Store and identified developers, and you try to install an app that isn’t signed by an identified developer or—in macOS Catalina—notarized by Apple, you also see a warning that the app cannot be opened.
If you see this warning, it means that the app was not notarized, and Apple could not scan the app for known malicious software.
You may want to look for an updated version of the app in the App Store or look for an alternative app.
If macOS detects a malicious app
If macOS detects that an app has malicious content, it will notify you when you try to open it and ask you to move it to the Trash.
How to open an app that hasn’t been notarized or is from an unidentified developer
Running software that hasn’t been signed and notarized may expose your computer and personal information to malware that can harm your Mac or compromise your privacy. If you’re certain that an app you want to install is from a trustworthy source and hasn’t been tampered with, you can temporarily override your Mac security settings to open it.
In macOS Catalina and macOS Mojave, when an app fails to install because it hasn’t been notarized or is from an unidentified developer, it will appear in System Preferences > Security & Privacy, under the General tab. Click Open Anyway to confirm your intent to open or install the app.
The warning prompt reappears, and you can click Open.*
The app is now saved as an exception to your security settings, and you can open it in the future by double-clicking it, just as you can any authorized app.
*If you're prompted to open Finder: control-click the app in Finder, choose Open from the menu, and then click Open in the dialog that appears. Enter your admin name and password to open the app.
kill, grep, sed, regex, cron, etc. vs. Linux commands
- You hot?
- coreutils (Core Utilities)
This article compares and contrasts macOS utilites vs. Linux utilities – the Swiss Army Knife for almost every need.
Uname = Darwin (BSD)
Mac Command Prompt
The command that is common to all Linux/BSD variants is the one that returns the operating system name:
On macOS, the response is “Darwin”.
MacOS (Mac OS X) comes with the BSD (Berkeley Standard Distribution) version of command line tools which are slightly different from the Linux version (in Red Hat, Debian, Ubuntu, CoreOS, etc.) even though both are compliant with POSIX standards.
apt (Advanced Packaging Tool)
On Debian and its derivatives is the
apt-cache
utility that goes with the apt-get
package manager (like Homebrew and MacPorts).They are ported to Mac via https://github.com/KubaKaszycki/mac-apt- Use it to search within Python libraries:See https://www.dedoimedo.com/computers/aptitude.html
There is also http://rudix.org/ which is a collection of “the hassle-free way to get Unix programs on OS X”.Its packages include zshell and tig (Git spelled backwards), the Text-Mode Interface for Git.
System Preferences GUI
macOS provides a GUI to manage system configuration settings.
- Mouse to the upper-left corner of the screen and click the Apple icon that appears to choose “System Preferences…”.Alternately, you can also open the dialog with this command:
BTW, instead of typing out the whole line above, you can simply type “prefs” if you use a text editor to add this line in the ~/.bash_profile file:
Apple stores its apps in folder “/Applications”. The “back-slash” character needs to precede every space character in the name because a space usually separates parts of commands.
BTW There is also a folder at “~/Applications” for user-level apps.
https://cleverranch834.weebly.com/blog/mac-app-nap-disable. Open a Finder window to view files in both folders.
System information
In folder “/Applications/Utilities” are several apps which include “System Information.app”.
macOS provides a GUI to display detailed information about system Hardware, Software, and Networks. Mouse to the upper-left corner of the screen and hold down Option while you click the Apple icon. “System Information…” appears. But you can also open it without the Option key by selecting “About This Mac” then pressing “System Report”.
Instead of examining various Linux config files (/etc/*elease, /proc/meminfo for memory, /proc/cpuinfo for number of cores), macOS has a “system_profiler” utility presenting many data types.
You hot?
- Get CPU thermal data on MacOSPROTIP: Add this among your keyboard shortcuts in aliases.sh.
system_profiler
Internally, the display can be output as text using this command:
PROTIP: Use the command above to obtain your serial number for Apple Support.
“SPHardwareDataType” is one of several DataTypes or items of information listed by:
The list output:
There is a lot of information, so it takes time to generate output.
PROTIP: Save these files to provide to Support:
Instead of “basic”, there is also “mini” and “full” scope of output. When providing full scope, output in .spx file extension so that it opens automatically using the GUI:
CPU Utilization uptime
Was your Mac rebooted recently?
The response also shows whether CPU utilization is increasing recently:
“load averages” numbers are calculations of the average system load over three periods of times: the last one-, five-, and fifteen-minute periods. These count the number of processes either using or waiting for CPU (the ready queue or run queue) increments the load number by 1.
In a system with four CPU cores, a load average of 3.73 would indicate that there were, on average, 3.73 processes ready to run, and each one could be scheduled into a CPU.
To identify number of CPU cores
Response:
Memory Statistics
- To obtain a new reading every 5 seconds, the command on macOS is:The number of most interest is pageout, the “3459” in this sample response:On Linux systems, the “vmstat” command is similar but not identical.
- To cancel the display, press control+C.
- PROTIP: The memory page size is obtained using getconf PAGESIZE, which is “4096”.
See mac-diskspace
Top processes
Is your computer fan loud?
- To list the top hungry processes consuming the CPU:This refreshes automatically.
- To cancel the display, press control+C keys (which works with any process you want to kill).
- Alternately, install the htop utility using Homebrew:The response includes:
- Invoke it:
Processes
- So that we can kill it for fun, create a background process (by specifying &) which sleep for 999 seconds:
- Get the process identifier:
- List background processes:The + shows the focus.
- To list all processes with a niceness (NI) column:Expand the terminal window width to avoid line wrapping.
### Niceness of priority
Default niceness of zero, but can be -20 to +19.
PROTIP: A niceness of +19 is a priority of 99, which is lowest.
root permissions are needed to set nice below zero.
- Reset nicer:
Kill
- To kill a single program by name: Download mac app grapher.
- To kill several progams by name:
Command Line Tools
![Line Line](/uploads/1/3/4/0/134042304/992189512.jpg)
- To install additional utilities:
- List what it installed to folder /Library/Developer/CommandLineTools (containing folders Library, SDKs, and usr):
More on this:
- XCode version: https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/pkgutil.1.html
- https://gist.github.com/tylergets/90f7e61314821864951e58d57dfc9acd
pkgutil –pkg-info=com.apple.pkg.CLTools_Executables grep version
USB info
- Install the equivalent of Linux usbutils</stong>:
- Get the state of kernel objects that the kernel has matched to devices:This has the same problem as Linux ioreg - it reflects the state of kernel objects that the kernel has matched to devices, not the devices themselves.*
- Alternately, to work same problem as ioreg
lsmod (modules) vs. Apple Kernel Extensions
macOS has Kernel Extensions (kexts) to handle hardware*. Developers and software use the low-level kextload utility to load, kextunload to unload kexts, and kextstat to diagnose problems. There is also the kextutil command.
Although there are no direct equivalent in Linux, the Linux lsmod command lists operating system kernel modules defined in a folder containing “.ko” files:
ls /lib/modules/$(uname -r) -type -f -iname “*.ko”
Such udev rules are loaded in this sequence:
- /etc/udev/rules.d
- /run/udev/rules.d
- /usr/lib/udev/rules.d
coreutils (Core Utilities)
Many who work with Linux distribution avoid minor (but annoying) differences by replacing OS X commands based on BSD with the GNU (Linux) version by installing the “coreutils” family of commands. It’s among Daniel Missler’s The First 10 Things I Do on a New Mac.This is about more than having the same toolset as on Linux machines.See The difference between Linux vs. Mac:
- Native capability to search for Unicode strings are not in the Mac (BSD) version of strings.
- ANSI-C escape sequences (e.g., r, t) beyond n are not suppoed by the Mac sed command.
See https://en.wikipedia.org/wiki/GNU_Core_Utilities
- Get the set of utilities from GNU Linux, but for Mac:
- Then you can link:NOTE:
- NOTE: Add these lines to your .bashrc or .zshrc:/usr/local/opt/coreutilsNOTE:
brew --prefix coreutils
retrieves the path to the executable in the Homebrew package, which is, at time of writing:/usr/local/Cellar/coreutils/8.31PROTIP: Using a command to retrieve the path ensures that the version number from being hard-coded and thus possibly wrong.Thus, the command is used in ~/.bash_profile to define variables for compilers to find:Bash shell
- Update Bash to version 4:See https://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/
Zsh
Switching to Zsh from Bash is a rather person choice. But it’s done thus:Update Mac utilities
- Several utilities come installed on macOS, but can be upgraded to the (newest?) version known by brew:Because macOS already provides this software, when brew install runs, as its response message says, formulas for them are installed as keg-only, which means brew did not symlink it into /usr/local and installing another version in parallel can cause all kinds of trouble.”So their installation would require placing their location in front of the default program’s location.That’s why many don’t bother.Updates specific to text editors:
GNU Debugger
Although with its Mavericks version, Apple (along with the transition from GCC to Clang) substituted GDB (the GNU interactive debugger) with LLDB (the standalone LLVM debugger).
Unfortunately, the Eclipse IDE was not capable of communicating with any interactive debugger other than gdb.
NOTE: Install Xcode (version 7.3.1 is known to work). The simplest way is to get is from the App Store. Once it is installed, lldb-mi will reside somewhere under the Xcode folder (it normally is /Applications/Xcode.app/Contents/Developer/usr/bin/lldb-mi). CDT will initialize the default LLDB path to this value if it is present. Note that if you had previous debug configurations with a non-default path for LLDB or if you changed the path in the preferences, the path to lldb will not be automatically set for you. You will have to edit the LLDB path manually in the debug configuration and/or you need to reset the preferences to defaults (if it was modified).
- Restore GDB back on your Mac:The above does not create a ~/.gdbinit folder.
- Notice in the response “On 10.12 (Sierra) or later with SIP, “brew info gdb” says you need to run:”NOTE: https://sourceware.org/gdb/wiki/BuildingOnDarwin
- download the most recent GDB from https://www.sourceware.org/gdb/download/
- expand the gdb-7.12.1.tar.xz file: tar xopf gdb-7.12.1.tar.xz
- cd gdb-7.12.1 in terminal to open the gdb folder
- Follow the instructions in the README file in the gdb folder, or simply follow the following steps:
- ./configure, wait for the terminal
- make and wait again (which can take some time)
- sudo make install
- csrutil enable –without debug
This describes how to code-sign the GDB executable so that macOS will allow it to control other processes.It involves some manual steps.codesign -s gdb-cert /usr/local/Cellar/gdb/7.12_1/bin/gdbNOTE: To start dbg, use sudo or define alias gdb=”sudo gdb” Mac disable keyboard.GNU Not pre-installed on macOS
Tutorials make use of some commands, so install them:
brew install gawk # in /usr/local/bin/gawkbrew install gzip # in /usr/bin/gzipbrew install wget # /usr/local/bin/wgetbrew install screen # in /usr/bin </pre>
Below are GNU packages on https://www.gnu.org/software but not on macOS:
brew install diffutilsbrew install wdiff --with-gettext –with-default-names prevents Homebrew from prepending a “g” to each command, so they can be used instead of the ones shipped by OS X.
### findutils
Missing from the list above is brew install findutils –with-default-names becuase that causes ‘brew doctor’ to issue warning: “Putting non-prefixed findutils in your path can cause python builds to fail.”
### GPG
https://superuser.com/questions/655246/are-gnupg-1-and-gnupg-2-compatible-with-each-other
### Add to MacOS Non-GNU commands
These are handled by specific request:
### Utilities for Mac only
### MoreUtils and parallel
The Debian description for it is “Unix tools that nobody thought to write long ago, when Unix was young.”
Read about each utility command at https://rentes.github.io/unix/utilities/2015/07/27/moreutils-package/
- chronic runs a command quietly unless it fails
- combine combines lines in two files using boolean operations
- errno look up errno names and descriptions
- ifdata get network interface info without parsing ifconfig output
- ifne run a program if the standard input is not empty
- isutf8 check if a file or standard input is utf-8
- lckdo execute a program with a lock held
- mispipe pipe two commands, returning the exit status of the first
- parallel run multiple jobs at once (conflicts with brew install parallel, so don’t install that stand-alone)
- pee tee standard input to pipes
- sponge soak up standard input and write to a file. See this
- ts timestamp standard input
- vidir edit a directory in your text editor
- vipe insert a text editor into a pipe
- zrun automatically uncompress arguments to command
Its home page at https://joeyh.name/code/moreutils/ says more are on the way.
Riff on it at https://news.ycombinator.com/item?id=9013570
Openssl
- To generate a random set of 32 upper and lower case characters (with special characters) for use as a password:Example:
Mac Command Line Open File
Certificates
http://sourceware.org/gdb/wiki/BuildingOnDarwin
Cron Launchd Background Jobs
This mentions that Apple has deprecatedcron in favor of launchd (a daemon running under the System context).to automatically start (after reboots) service programs at boot time.
If the system is turned off or asleep, cron jobs do not execute until the next designated time occurs.
However, a launchd job will run when the computer wakes up if the computer was asleep when the job should have run(if the StartCalendarInterval key has been set).
Since it’s a background process, launchd doesn’t present a user interface.So you get “launchd cannot be run directly.” when you run launchd like other commands. https://cleverranch834.weebly.com/blog/best-mac-cleaner-app-2016.
The standard way now to run a service on Mac OS X is to use launchd , a program that starts, stops and manages daemons and scripts in Apple OS X environments.
An XML document named with file extension .plist defines its properties. The sample file below defines the Nexus Repository Manager from Sonatype.com installed in
/opt
:The above is the
com.sonatype.nexus.plist
file in /Library/LaunchDaemons/
Change its ownership and access rights:
PROTIP: Consider setting up a different user to run the repository manager and adapt permissions and the RUN_AS_USER setting in the nexus startup script.
To manually start it after the configuration:
Install appium_console gem
Install flaky gem:
https://github.com/appium/flaky
(posix-spawn)
https://github.com/appium/flaky
(posix-spawn)
Add wi-fi network
NOTE To avoid the manual effort to add a wi-fi, use this command:
- my_ssid is the SSID of your network.
- my_security is the level of encryption (WEP, WPA, WPA2, etc)
- my_passkey is your encryption passkey for your wireless network.
NOTE:
Shells
nix-shell environment on top of nixos/nixpkgs
Mac Message Reset
https://github.com/mattgraham/dotfiles/blob/master/bash/message_reset
References
Mac Os Command Line Tools
https://apple.stackexchange.com/questions/69223/how-to-replace-mac-os-x-utilities-with-gnu-core-utilities/69332
https://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/
http://clarkgrubb.com/diagnostic-tools compares Linux, Darwin, and Windows utilities
http://www.brendangregg.com/USEmethod/use-macosx.html
Mac Os Command Line Open Open Apps
https://support.apple.com/kb/DL75?viewlocale=en_US&locale=en_USApple’s Common Criteria Tools for 10.5
More on macOS
Mac Os X Command Line Open Application
This is one of a series on macOS (Mac OSX):