Linux命令: open

一個快速指南,介紹了 open 命令的使用方式,用於打開文件、目錄和應用程序。 使用以下語法,open 命令可用於打開文件: open <文件名> 您也可以打開一個目錄,在 macOS 上,這會打開 Finder 應用程序並顯示所在的目錄: open <目錄名> 我經常使用它來打開當前目錄: open . 特殊的 . 符號表示當前目錄,而 .. 表示上級目錄 同樣的命令也可以用於運行應用程序: open <應用程序名> open 命令僅在 macOS 上適用。在 Linux 上使用 xdg-open

Swift 程式語言介紹

本文是關於 Swift 的新系列文章的開始 Swift 程式語言是由蘋果於 2014 年推出的,並且是與所有蘋果操作系統系列一起使用的官方語言: iOS、iPadOS、watchOS、macOS、tvOS。 Swift 是一個開放源碼、通用、編譯的程式語言。 它是一個靜態類型的程式語言。 每個值都有一個分配的類型。在編譯時使用該值作為參數或返回時,將始終檢查其類型。如果不匹配,則程式將無法編譯。 Swift 的編譯器是 LLVM,並且它包含在用於蘋果軟體開發的標準 IDE - Xcode 中。 Swift 是一種現代化的程式語言,旨在“適應”先前設計了一種名為 Objective-C 的不同程式語言的生態系統。 即使對於官方的蘋果應用程式,iPhone 和 Mac 上運行的大多數軟體都是基於 Objective-C 代碼開發的,但 Swift 的使用量逐年增加,而且在未來的新應用程式中可能會使用 Swift。 在蘋果引入 Swift 之前,Objective-C 受到大量的發展,以引入新的功能和特性,但近年來這一努力已大幅減少,為了 Swift 的開發。 這並不意味著 Objective-C 已經死亡或不值得學習:Objective-C 對於任何蘋果開發者來說仍然是一個重要的工具。 也就是說,我不打算在這裡涵蓋 Objective-C,因為我們專注於 Swift。 這是蘋果平台的現在和未來。 在短短的 6 年內,Swift 已經經歷了 5 個主要版本,而我們現在(在撰寫本文的時候)是在版本 5.3。 Swift 被聞名為 Apple 的產品語言,但它並不僅僅是一個 Apple 的語言。我們可以在其他幾個平臺上使用它。它是開源的,因此將語言移植到其他平臺不需要任何許可或授權,並且您可以找到 Swift 專案來創建 Web 伺服器和 API(https://github.com/vapor/vapor),以及與微控制器交互的專案。 它是一門通用的程式語言,建立在現代概念之上,有著光明的前景。 Swift 擁有一些我所看過的程式語言中最好的文件。然而,我想在這裡寫一些關於它的內容,因為我認為有時文件對於初學者來說可能有些複雜。 此外,我通過寫作來學習,並決定重新學習 Swift,在我最後一次接觸 Swift 五年後。自那時以來,語言和 iOS 生態系統已經有了很大的變化,我覺得重新從頭學習它。...

使用 macOS Shortcuts 轉換圖像或調整大小

長久以來,我一直使用 Automator 腳本將圖像轉換為 JPG 格式。 這是我經常做的事情,因為在某些情況下,PNG 圖像和 JPG 圖像的差異是巨大的,這取決於圖像本身。 有時將圖像轉換為 JPG 可以使文件大小減少 5 倍。對於大圖像來說,這是值得一試的。 (由於透明背景,PNG 更好看,但是在文件大小和美觀之間有一個平衡) macOS Monterey 是最新的 macOS 版本,它附帶了一個未來可能取代 Automator 的工具,我認為這個工具在 iOS 和 iPadOS 平台上已經有一段時間了:Shortcuts。 我從未在這些平台上使用過這個應用程序,因為我從來沒有需要做任何花俏的事情。 但是自從換了一台新的 Mac 之後,我決定重做我的一些小自動化。我沒有很多。我只有這個可以將任何圖像轉換為 JPG 的自動化,還有另一個可以將圖像調整為 1200px 的自動化。 在這篇文章中,我想描述一下如何完成第一個自動化。 打開 Shortcuts: 點擊 + 按鈕,或從選單中選擇 文件 -> 新建快捷方式。 現在在右側,您可以選擇一個操作。搜索“finder”,並選擇“獲取 Finder 中選定的文件”操作: 將其拖到屏幕左側: 現在選擇“轉換圖像”: 在右側的設置選項卡中,您可以選擇將此快捷方式用作 Finder 中的“快速操作”,這樣您就可以右鍵單擊圖像,然後選擇將其轉換為 JPG: 請確保只設置接收圖像,取消選擇第一個操作中的所有其他文件類型: 最後,添加一個“移動文件”操作,將轉換後的文件保存到桌面: 不幸的是,我找不到一種方法將 JPG 檔案保存到當前文件夾並替換所選擇的文件。我想如果花更多時間,我可以解決這個問題,如果您知道如何做到這一點,請在 Twitter 上聯繫我 @flaviocopes 🙃 但這不是什麼大問題,我可以接受這樣。如果我覺得這個過程太繁瑣,我總可以在 Automator 中重新製作工作流程。但至少我現在知道如何使用 Shortcuts。 這是將圖像調整為 1200px 的快捷方式:

在 macOS Finder 中添加“在 VS Code 中打开”图标

假设我在 Finder 中,打开一个文件夹,并且想要在 VS Code 中打开它。 我该怎么做呢?通常情况下,我会转到上一级文件夹,拖动该文件夹并将其放入 Dock 中的 VS Code 图标中。 或者我会转到终端并输入 code . 但是,今天我花费了一些时间,让这个过程变得更容易,通过在 Finder 工具栏中添加一个按钮: 下面是你也可以这样做的方法。 打开 Automator,选择“应用程序” 在动作列表中搜索“运行 Shell 脚本”,并粘贴以下两行: finderPath=`osascript -e 'tell application "Finder" to get the POSIX path of (target of front window as alias)'` open -n -a "Visual Studio Code" --args "$finderPath" 如果你愿意,你也可以使用应用程序的 Bundle ID: finderPath=`osascript -e 'tell application "Finder" to get the POSIX path of (target of front window as alias)'` open -n -b "com....

在 macOS 上修復“Rails is not currently installed on this system”錯誤

我試圖安裝Rails,但一直遇到錯誤:“Rails is not currently installed on this system”。 直到我執行了以下步驟後,我才弄明白: 安裝 rvm brew install gpg2 gpg --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB 然後運行 curl -sSL https://get.rvm.io | bash -s stable --rails 這將安裝最新穩定版本的Ruby和Rails 然後運行(Bash / Zsh) source /Users/flavio/.rvm/scripts/rvm 這樣,rails 命令就可以正常運行。 對於 Fish,我需要執行以下命令,而不是上面的命令: curl -L --create-dirs -o ~/.config/fish/functions/rvm.fish https://raw.github.com/lunks/fish-nuggets/master/functions/rvm.fish 然後運行 echo "rvm default" >> ~/.config/fish/config.fish

在 macOS 上安裝 MySQL

逐步指南,使用 Homebrew 在 macOS 上安裝 MySQL 在 macOS 上,您可以使用 Homebrew 輕鬆地安裝 MySQL。 執行以下命令: brew install mysql 上述命令需要一段時間,然後將列印出類似於以下的內容: 現在,您可以通過運行以下命令來啟動 MySQL 服務器: brew services start mysql 現在,我們需要保護 MySQL 服務器。默認情況下,該服務器不帶有 root 密碼,因此我們需要確保其受到保護。 執行以下命令: mysql_secure_installation 該過程可能需要一段時間,但可以確保您獲得最佳的預設值: 由於我們使用 brew services start mysql 來啟動 MySQL,所以在您的 Mac 重新啟動時會重新啟動它。您可以運行以下命令: brew services stop mysql 來阻止這種情況發生,同時也可以立即停止 MySQL。 您還可以運行以下命令,以避免此 守護模式(這是我們稱呼始終在背景運行並在計算機重新啟動時重新啟動的程序): mysql.server start 這將啟動 MySQL 並使其一直運行,直到計算機關機,或者直到您運行以下命令: mysql.server stop 並且在重新啟動時不會重新啟動它。 這取決於您自己決定哪一種方式更適合您。 現在,您可以使用以下命令連接到服務器: mysql -u root -p 在運行此命令之後,您需要輸入 root 用戶密碼,完成後,您應該在屏幕上看到這個畫面: 可以使用 TablePlus 這款優秀的 GUI(圖形化界面)軟件與 SQLite 數據庫進行交互。...

在 macOS 上將截圖保存為 JPG 格式

我在我的 Mac 上使用 “cmd-shift-4” 的組合鍵進行大量的截圖。在從我不是視網膜的 Apple Cinema Display 轉換到全新的 Studio Display 5K 後,我注意到某些截圖的大小非常巨大。 macOS 默認使用 PNG 格式保存截圖,取決於截圖中的內容,你很容易得到像 10MB 的截圖。 在終端中執行以下命令: defaults write com.apple.screencapture type jpg 接著執行 killall SystemUIServer 這將使截圖使用 JPG 格式,這將大大減小截圖的文件大小。

在 macOS 中輕鬆設置自動化的一種方法

在開發我的新網站時,我有一個簡單的需求。 我將數據存儲在 SQLite 數據庫中,並且我希望在開發期間的本地工作中每天備份一次。 SQLite非常好,因為它只是一個文件。它不是“在你的計算機的某個地方”或“在一個服務器的某個地方”,但你並不確定具體位置。 要進行備份,你只需要將文件複製到“備份”文件夾中,就完成了。 我手動做了一段時間,但我也想使它自動化,以免費空我的大腦,而且我想避免使用cron任務和shell腳本(然後容易忘記),毕竟這只是暫時性的,只需要幾周時間。 不值得設置cron和bash腳本自動化。 所以我首先想到的是 Automator。可能是Mac上最被低估的應用程序。 我經常使用它來做一些小事,比如更改圖像格式和尺寸。 我在 Automator 中創建了一個應用程序: 然後,我按照下面的方式設置它,以獲取我要備份的文件,將其複製到“備份”文件夾中,並添加日期和時間: 我將其保存為backup.app。 然後,我打開日曆,在“提醒”中設置它打開此文件: 並設置它每天重複一次。 我將其添加到自動化日曆中,這樣我就知道我所有的自動化都在哪裡,我也知道在哪裡可以禁用它們。 然後,我將整個日曆設置為隱藏,以避免在正常的日曆視圖中混雜: 唯一的問題是現在Mac會通知我這些事件。 在特定日曆上設置“忽略提醒”並不起作用,因為備份的文件並沒有被調用(這是合理的,因為它是設置為提醒)。 我不太清楚,這是一種解決方法,但並不是長期解決方案。我只是描述了我的做法。 現在在 macOS Monterey 上,使用快捷方式可能會更容易,但我沒有試過,所以不太確定。

如何使用 macOS 终端

终端是编程装备中不可或缺的一员。它允许您执行其他无法实现的任务。 您可以在 Spotlight 中搜索 Terminal,或者转到 应用程序 文件夹,打开 实用工具 子文件夹,找到 终端 应用程序。 打开后,您会看到以下屏幕,或者非常相似: bash-3.2 指示了 shell 的类型和版本。在这里出现了一个新词 - shell。什么是 shell?Shell 是一种允许我们与操作系统及其应用程序进行交互的程序。 注意:当前 macOS 自 Catalina 版本开始使用 zsh。这个教程与此无关。 有不同类型的 shell,Bash 是最受欢迎的之一。有些人使用 Fish(像我一样),有些人使用 Z Shell,还有其他类型的。 Shell 基本上是允许我们输入命令的程序。 文件系统命令 我们可以从输入 ls 命令开始,当我们按下 Enter 键后,shell 会显示当前文件夹中的文件。 Shell 通常从您的主文件夹开始,这在 Mac 上位于 /Users/yourname。 我们如何知道我们当前在哪个文件夹中?您可以使用 pwd 命令获取当前文件夹的路径。 您可以使用 cd 命令更改当前文件夹。 如果只输入 cd,shell 将返回到您的主文件夹。 您可以使用 mkdir 命令创建新文件夹。 运行命令 在 shell 中,您可以访问计算机上安装的所有程序和文件。非常丰富的资源。 您可能需要执行的一个任务是在 Node 和 JavaScript 中进行编程时使用 npm。 npm 不是一个开箱即用的命令,您需要从 https://www....

如何修復 macOS 中的 \"EMFILE: too many open files, watch\" 錯誤

一個解決混亂的 React Native 錯誤的快速指南 我在 MacBook Air 上啟動一個 React Native 項目時,運行以下命令: npx react-native start 我收到了一個包含以下內容的錯誤: Error: EMFILE: too many open files, watch 我嘗試了各種方法來解決這個問題,直到我發現建議使用 Homebrew 安裝 watchman 工具。 我運行了以下命令: brew install watchman 這解決了問題,因為 React Native 內部能夠使用 watchman 監視文件更改(用於提供熱重載,以在文件更改時刷新應用程序)。 watchman 看起來比內置的文件監視系統更有效,因為我消除了該錯誤。