當前位置:首頁 » 網頁前端 » osx生成可執行腳本
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

osx生成可執行腳本

發布時間: 2023-05-13 17:54:24

⑴ python支持的操作系統有

支持Python開發環境的系統有Linux、OSX和Windows,以及所有主要的操作系統中。
Linux:Linux系統是為編程而設計的,因此在大多數Linux計算機中,都謹戚默認安裝了Python。編寫和維護Linux的人認為會使用這種系統進行編程。要在Linux中運行Python,幾乎不用安裝什麼軟體,也幾乎不用修改什麼設置。
OSX:大多數OSX系統中都默認安裝了Python。確定安裝了Python之後,那還需要安裝一個文本編輯器。
Windows:Windows系統並非都默認安裝了Python,因此可能需要下載它,在下載安裝一個文本編輯器。
Python簡介
Python由荷蘭數學和計算機科學研究學會的吉多·范羅蘇姆於1990年代初設計,作為一門叫做ABC語言的替代品。Python提供了高效的高級數據結構,還能簡單有效地面向對象編程。Python語法和動態類型,以及解釋型語言的本敬晌高質,使它成為多數平台上寫腳本和快速開發應用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用於獨立的、大型項目的開發。
Python解釋器易於擴展,亮尺可以使用C語言或者C++擴展新的功能和數據類型。Python也可用於可定製化軟體中的擴展程序語言。Python豐富的標准庫,提供了適用於各個主要系統平台的源碼或機器碼。

⑵ 當MAC OSX 從睡眠喚醒時,在系統的什麼地方能夠添加腳本或可執行程序(能保證每次被喚醒時能執行程序)

Mac App Store上有個App叫
Scenario
好像可以在macOS在或如休眠或喚醒橘猜時執行AppleScript

有可能符合您的需求,不過這個App好圓團型像要30RMB

⑶ linux/osx的bash腳本怎麼寫

#!/bin/bash

sed -i '/#test start/伏局隱,/#test end/d' test.txt
wget https://www.example.com/exp.txt
echo "#test start" >>臘喚 test.txt
cat exp.txt >>缺廳 test.txt
echo "#test end" >> test.txt

⑷ Mac OSX10.10上安裝Fink

在製作Deb包時候,需要使用dpkg-deb命令,這個在臘念鬧Mac OSX上是沒有的,網路上說需要安裝Fink,才可以使用這個命令。

官網: http://www.finkproject.org/index.php?phpLang=zh

打開如下鏈接找到對應輪罩自己OSX版本的安裝方式
http://www.finkproject.org/download/srcdist.php?phpLang=zh

Fink, macports 和 homebrew

我的是OSX 10.10,採用腳本自動安裝的方式。

然後運行此文件:

安裝完Fink後也可以使用dpkg-deb命令。
dpkg-deb -x命令是用於解壓出實際數據到tmp目錄下

dpkg-deb -e是解壓出安裝控制腳本到tmp/DEBIAN目錄下

Mac OSX下使用高李apt-get命令
如何製作deb安裝文件
IOS 常用的安裝包 deb、ipa 和 pxl
比較Fink, macports 和 homebrew
mac上如何添加dpkg命令

⑸ 【深入解析MAX OSX & iOS操作系統】讀書筆記 —— OS X 和 iOS 使用的技術

作為一個BSD衍生的操作系統,OSX繼承了很多BSD的特性,包括POSIX系統調用、一些BSD擴展(內核隊列)以及BSD的強制訪問控制。

蘋果新增的內容:「沙盒」機制。替換了原本系統配置的/etc目錄。標準的UNIX syslog被AppleSystem Log增強了。還有FSEvents新技辯改術。

盡管XNU的絕對的核心是Mach,但XNU向用戶態展現出來的主要介面是BSD層。

sysctl(8)訪問內核內部狀態的標准方法。直接查詢內核變數的值,獲得重要的運行時診斷信息。也可以設置可寫變數的值。

內核組件也可以在運行會注冊額外的sysctl變數值,甚至增加整個名稱空間。

sysctl變數的范圍很廣,包括從一些簡單的調試變數到其他可控制整個子系統行為的讀寫變數。ps和netstat都依賴於sysctl獲得PID和socket系列,當然也可以通過其他方式獲得。

kqueue是BSD中使用的內核事件通知機制。一個kqueue指的是一個描述符,這個描述符會阻塞等待知道一個特定類型和種類的事件發生。用戶態的進程(或內核)可以等待這個描述符,因為kqueue提供了一種如謹用於一個或多個進程同步的簡單高效的方法。

kqueue和對應的 kevent(表示事件的數據結構) 構成了內核非同步I/O的基礎。

審計是OSX中一個自包含的子系統。主要的用戶態組件是auditd,由launchd根據需要而啟動的後台服務進程。這個後台服務進程不負責實際的審計日誌記錄,審計日誌記錄是由內核本身直接完成的。然後這個後台服務進程能控制內核。

如果啟用了審計,那麼XNU中編號從350到359的系統調用都被分配用於啟用和控制審計。

添加了對象級別的安全性,限制特定進程針對具體文件或資源的訪問許可權。可以控制一個給定的應用程序不允許訪問用戶的私有數據或某網站。

從內核的角度看,在各種系統調用的實現中插入了對MAC的調用,每一個系統調用都必須先通過MAC的驗證,然後才能真正處理來自用戶態的請求。

MAC是OSX的隔離機制和iOS的entitlement機制的基礎。

UNIX從傳統上都依賴密碼文件 /etc/passwd 和保存密碼的散列文件 /etc/shadow 。在OSX單用戶(以及iOS)中,使用 /etc/master.passwd 作為shadow文件,其他情況都放棄了這些密碼文件,使用自己的 目錄服務

目錄服務的維護的內容不僅僅是用戶和用戶組,還保存了系統配置和很多其他方面的信息。

OSX還拋棄了大部分其他配置文件,這些配置文件傳統上在UNIX中是當做系統「注冊表」使用的。

為了維護系統配置,OSX和IOS使用了一個特殊的守護程序—— configd(8) ,這個守護程序可以載入額外的可載入的bundle(插件),這個bundle位於 /System/Library/SystemConfiguration 下,包含IP和IPv6配置、日誌以及其他bundle。

可通過工具 scutil 來流量和查詢系統配置。

OSX也繼承了傳統UNIX的系統日誌功能。OSX10.4引入新的日誌模型,ASL,提供了更多特性,例如過濾和搜索。

ASL採用模塊化設置,同時提供了以下四種日誌介面:

ASL日誌收集在 /var/log/asl 目錄中。 aslmanager(8) 命令負責管理這些日誌,launchd自動運行這條命令。

ASL日誌採用的是二進制格式,而不是syslog採用的文本文件。日誌文件變小了,但不像syslog那麼對grep友好。OSX包含了syslog()命令用於顯示和查看日誌,並提供了搜索和過濾的功能。

OSX有非常強大的支持腳本的能力。通過osascript(1)命令和友好的Automator應用程序可以訪問AppleScript

FSEvents是文件系統的通知API,應用程序可以簡單快速地響應文件添加、修改和刪除事件。

OSX提供了一個系統級的通知機制,這是分布式IPC的一種形式。

通知機制核心部分在於notifyd(8)守護進程,在系統引導時啟動,這是Darwin的通知服務渣灶基器。

Entitlement可以將一些表現行為良好的應用程序單獨從監禁中釋放出來。

⑹ mac的終端命令

OSX 的文件系統
OSX 採用的Unix文件系統,所有文件都掛在跟目錄 / 下面,所以不在要有Windows 下的盤符概念。
你在桌面上看到的硬碟都掛在 /Volumes 下。
比如接上個叫做 USBHD的移動硬碟,桌面上會顯示出一個硬碟圖標,它實際在哪裡呢?
在終端里執行 ls /Volumes/USBHD, 看看顯示出的是不是這個移動硬碟的內容。
根目錄位置是 / 核心 Mach_kernel 就在這里,
驅動所在位置 /Systme/Library/Extensions
用戶文件夾位置 /User/用戶名
桌面的位置 /User/用戶名/Desktop
文件通配符為星號 *
注意:在 Unix系統中是區別大小寫字元的,A.txt 不等於 a.txt。
根目錄標志 / 不是可有可無,cd /System 表示轉到跟目錄下的System中,而cd System 表示轉到當前目錄下的 System中
——————————————————————————————————————————————
如何進入命令行操作模式
再圖形界面下,用finder 打開 應用程序 》實用程序》終端
如果連圖形界面都進不去了(比如安錯了顯示驅動),開機時按 F8,用-s參數啟動,然後輸入命令 mount -uw /

獲得許可權
為了防止誤操作破壞系統,再用戶狀態下時沒有許可權操作系統重要文件的,所以先要取得root許可權
sudo -s
然後輸入密碼,輸入密碼時沒有任何回顯,連星號都沒有,只管輸完回車就行了。
——————————————————————————————————————————————
基本命令
列出文件
ls 參數 目錄名
例: 想看看跟目錄下有什麼,
ls /
想看看驅動目錄下有什麼,
ls /System/Library/Extensions
參數 -w 顯示中文,-l 詳細信息, -a 包括隱藏文件
轉換目錄
cd
例:想到驅動目錄下溜達一圈
cd /System/Library/Extensions
建立新目錄
mkdir 目錄名
例:在驅動目錄下建一個備份目錄 backup
mkdir /System/Library/Extensions/backup
在桌面上建一個備份目錄 backup
mkdir /User/用戶名/Desktop/backup
拷貝文件
cp 參數 源文件 目標文件
例:想把桌面的Natit.kext 拷貝到驅動目錄中
cp -R /User/用戶名/Desktop/Natit.kext /System/Library/Extensions
參數R表示對目錄進行遞歸操作,kext在圖形界面下看起來是個文件,實際上是個文件夾。
把驅動目錄下的所有文件備份到桌面backup
cp -R /System/Library/Extensions/* /User/用戶名/Desktop/backup
刪除文件
rm 參數 文件
例:想刪除驅動的緩存
rm -rf /System/Library/Extensions.kextcache
rm -rf /System/Library/Extensions.mkext
參數-rf 表示遞歸和強制,千萬要小心使用,如果執行了 rm -rf / 你的系統就全沒了

移動文件
mv 文件
例:想把AppleHDA.Kext 移到桌面
mv /System/Library/Extensions/AppleHDA.kext /User/用戶名/Desktop
想把AppleHDA.Kext 移到備份目錄中
mv /System/Library/Extensions/AppleHDA.kext /System/Library/Extensions/backup
更改文件許可權
chmod 參數 許可權 文件
例:把驅動目錄下所有文件設定到root讀寫,其他用戶只讀
chmod -R 755 /System/Library/Extensions
參數R 表示遞歸,755表示各用戶的許可權
更改文件屬主
chown 參數 用戶:組 文件
例:把驅動目錄下的所有文件屬主改成根用戶
chown -R root:wheel /System/Library/Extensions
參數R 表示遞歸操作
修復整個系統中文件的許可權
diskutil repairpermissions /
嚴格的說這不是一個unix 命令,而是osx一個軟體,記得修改或添加的驅動就執行一次。
文本編輯
nano 文件名
例:編輯natit Info.plist
nano /System/Library/Extensions/Natit.kext/Info.plist
編輯完成後 用 Ctrl +O 存檔,Ctrl+X 退出
另一個文本編輯軟體是 vi,操作有些古怪,熟了是非常好用的,而且在所有類Unix系統中都它,走遍天下都不怕了。
運行腳本命令
sh 腳本文件名
例 修改驅動後所有需要的操作存成一個腳本,以後修改了驅動後只要運行一次這個腳本就可以了,方便吧
1. 終端中運行nano /clean
2. 把下列代碼粘貼到 nano 中
rm -rf /System/Library/Extensions.kextcache
rm -rf /System/Library/Extensions.mkext
chown -R root:wheel /System/Library/Extensions
chmod -R 755 /System/Library/Extensions
diskutil repairpermissions /
kextcache -k /System/Library/Extensions/
3. Ctrl +O 存檔,Ctrl+X 退出
4. 以後只要動了驅動,就在終端中運行一次 sh /clean
————————————————————————————————————
小技巧
用 Tab 鍵自動補齊命令
比如想到 /System 目錄中去,輸入 cd /Sy 然後按一下Tab 鍵,命令就會自動補齊成 cd /System
操作帶名字中帶有空格的文件和目錄
空格在命令中寫成 空格, 比如要進入 My Documents,命令為 cd My Documents
查看命令的詳細幫助
man 命令名
比如要看看 ls 命令的詳細用法,執行 man ls
————————————————————————————————————
典型操作流程
(假設已經製作好清理腳本,記得每次操作前 sudo -s 獲得系統許可權)
假設下載了一個顯卡驅動 Natit.zip,在桌面解壓得到了一個Natit.kext,該怎麼做呢?
為了保險起見,先把所有驅動備份了再說
mkdir /User/用戶名/Desktop/backup 在桌面上建立備份文件夾
cp -R /System/Library/Extensions/* /User/用戶名/Desktop/backup 備份驅動文件
現在可以安心安裝了
cp -R /User/用戶名/Desktop/Natit.kext /System/Library/Extensions 把它 拷貝到系統驅動目錄位置
sh /clean 執行清理腳本,操作完成
重新開機失敗,進不去桌面了,發現不應該安這個驅動,怎麼恢復呢?
開機按F8,用 -s 參數啟動
執行 mount -uw /
rm -rf /User/用戶名/Desktop/Natit.kext 刪除這個驅動
sh /clean 執行清理腳本,操作完成
重啟,回到原先狀態了,不死心啊,沒有特效怎麼行呢,又聽說需要修改 Natit的 Info. plist 文件才行,好,再來
cp -R /User/用戶名/Desktop/Natit.kext /System/Library/Extensions 把它 拷貝到系統驅動目錄位置
nano /System/Library/Extensions/Natit.kext/Info.plist
編輯完成後 用 Ctrl +O 存檔,Ctrl+X 退出
sh /clean 執行清理腳本,操作完成
重啟,這回對了,顯卡特效都有了,該弄音效卡了,天知道會出什麼事,得把現有成果保護好。
mkdir /User/用戶名/Desktop/gooddrivers 專為有效驅動建個目錄
cp -R /System/Library/Extensions/Natit.kext /User/用戶名/Desktop/gooddrivers 備份
這個音效卡要求把 AppleHDA.kext 刪除和編輯 AppleAzaliaAudio.kext中的Info.plist 文件,誰知道以後會不會還用AppleHDA呢,不如暫時禁用吧。
mkdir /System/Library/Extensions/disabled 建立個禁用目錄
mv /System/Library/Extensions/AppleHDA.kext /System/Library/Extensions/disabled 移動過去
nano /System/Library/Extensions/Natit.kext/AppleAzaliaAudio.kext/Info.plist
編輯完成後 用 Ctrl +O 存檔,Ctrl+X 退出
sh /clean 執行清理腳本,操作完成
成功了,也把修改好的驅動備份一下把
復制內容到剪貼板代碼:

以下是unix的命令行,供參考
目錄操作
命令名
功能描述
使用舉例
mkdir
創建一個目錄
mkdir dirname
rmdir
刪除一個目錄
rmdir dirname
mvdir
移動或重命名一個目錄
mvdir dir1 dir2
cd
改變當前目錄
cd dirname
pwd
顯示當前目錄的路徑名
pwd
ls
顯示當前目錄的內容
ls -la
dircmp
比較兩個目錄的內容
dircmp dir1 dir2
文件操作
命令名
功能描述
使用舉例
cat
顯示或連接文件
cat filename
pg
分頁格式化顯示文件內容
pg filename
more
分屏顯示文件內容
more filename
od
顯示非文本文件的內容
od -c filename
cp
復制文件或目錄
cp file1 file2
rm
刪除文件或目錄
rm filename
mv
改變文件名或所在目錄
mv file1 file2
ln
聯接文件
ln -s file1 file2
find
使用匹配表達式查找文件
find . -name "*.c" -print
file
顯示文件類型
file filename
選擇操作
命令名
功能描述
使用舉例
head
顯示文件的最初幾行
head -20 filename
tail
顯示文件的最後幾行
tail -15 filename
cut
顯示文件每行中的某些域
cut -f1,7 -d: /etc/passwd
colrm
從標准輸入中刪除若干列
colrm 8 20 file2
paste
橫向連接文件
paste file1 file2
diff
比較並顯示兩個文件的差異
diff file1 file2
sed
非交互方式流編輯器
sed "s/red/green/g" filename
grep
在文件中按模式查找
grep "^[a-zA-Z]" filename
awk
在文件中查找並處理模式
awk '{print $1 $1}' filename
sort
排序或歸並文件
sort -d -f -u file1
uniq
去掉文件中的重復行
uniq file1 file2
comm
顯示兩有序文件的公共和非公共行
comm file1 file2
wc
統計文件的字元數、詞數和行數
wc filename
nl
給文件加上行號
nl file1 >file2
安全操作
命令名
功能描述
使用舉例
passwd
修改用戶密碼
passwd
chmod
改變文件或目錄的許可權
chmod ug+x filename
umask
定義創建文件的許可權掩碼
umask 027
chown
改變文件或目錄的屬主
chown newowner filename
chgrp
改變文件或目錄的所屬組
chgrp staff filename
xlock
給終端上鎖
xlock -remote
編程操作
命令名
功能描述
使用舉例
make
維護可執行程序的最新版本
make
touch
更新文件的訪問和修改時間
touch -m 05202400 filename
dbx
命令行界面調試工具
dbx a.out
xde
圖形用戶界面調試工具
xde a.out
進程操作
命令名
功能描述
使用舉例
ps
顯示進程當前狀態
ps u
kill
終止進程
kill -9 30142
nice
改變待執行命令的優先順序
nice cc -c *.c
renice
改變已運行進程的優先順序
renice +20 32768
時間操作
命令名
功能描述
使用舉例
date
顯示系統的當前日期和時間
date
cal
顯示日歷
cal 8 1996
time
統計程序的執行時間
time a.out
網路與通信操作
命令名
功能描述
使用舉例
telnet
遠程登錄
telnet hpc.sp.net.e.cn
rlogin
遠程登錄
rlogin hostname -l username
rsh
在遠程主機執行指定命令
rsh f01n03 date
ftp
在本地主機與遠程主機之間傳輸文件
ftp ftp.sp.net.e.cn
rcp
在本地主機與遠程主機 之間復制文件
rcp file1 host1:file2
ping
給一個網路主機發送 回應請求
ping hpc.sp.net.e.cn
mail
閱讀和發送電子郵件
mail
write
給另一用戶發送報文
write username pts/1
mesg
允許或拒絕接收報文
mesg n
Korn Shell 命令
命令名
功能描述
使用舉例
history
列出最近執行過的 幾條命令及編號
history
r
重復執行最近執行過的 某條命令
r -2
alias
給某個命令定義別名
alias del=rm -i
unalias
取消對某個別名的定義
unalias del
其它命令
命令名
功能描述
使用舉例
uname
顯示操作系統的有關信息
uname -a
clear
清除屏幕或窗口內容
clear
env
顯示當前所有設置過的環境變數
env
who
列出當前登錄的所有用戶
who
whoami
顯示當前正進行操作的用戶名
whoami
tty
顯示終端或偽終端的名稱
tty
stty
顯示或重置控制鍵定義
stty -a

查詢磁碟使用情況
-k subdir
df
顯示文件系統的總空間和可用空間
df /tmp
w
顯示當前系統活動的總信息

估計就這么多吧