Time of Update: 2017-01-13
uptime命令: - * 使用uptime命令擷取主機已耗用時間和查詢linux系統負載資訊。資訊顯示依次為:現在時間、系統已已耗用時間、目前有多少登陸使用者、系統在過去的1分鐘、5分鐘和15分鐘內的平均負載。*ubuntu@ubuntu:~$ uptime 17:42:05 up 3 days, 7:58, 6 users, load average: 0.11, 0.10, 0.11 17:42:05 //系統目前時間 up 3 days, 7:58
Time of Update: 2017-01-13
在前面的文章裡介紹過shell判斷debian各個版本的方法,在實際的使用中,判斷系統是32位還是64位也經常用到,今天就來介紹下該內容。手動查看系統位元查看linux系統位元,可以分別執行以下兩個命令getconf WORD_BIT用於擷取word的位元getconf LONG_BIT用於擷取long的位元對於64位系統以上兩個命令應該分別得到32和64。判斷linux系統是32位還是64位有很多方法,推薦用getconf,然而有人認為getconf
Time of Update: 2017-01-13
位置參數可以用shift命令左移。比如shift 3表示原來的$4現在變成了$1,原來的$5現在變成了$2,原來的$1、$2、$3丟棄,$0不移動。不帶參數的shift命令相當於shift
Time of Update: 2017-01-13
本文準備了 70 個 shell 指令碼面試問題及解答,shell指令碼在 linux 工作中是必須掌握的技能。1) 如何向指令碼傳遞參數 ?./script argument 例子 : 顯示檔案名稱指令碼./show.sh file1.txtcat show.sh#!/bin/bashcat $1 2) 如何在指令碼中使用參數 ? 第一個參數 : $1,第二個參數 : $2 例子 : 指令碼會複製檔案(arg1) 到目標地址(arg2)./copy.sh file1.txt /tmp/
Time of Update: 2017-01-13
工作中字串操作舉例 filename='/home/admin/jobs/CnClickstat/DFSLoader/loader.cfg' #下面是使用shell字串操作 buName1=${filename#*/jobs/} #去除'/home/admin/jobs/CnClickstat/DFSLoader/loader.cfg'首碼得到'CnClickstat/DFSLoader/loader.cfg' buName1=${buName1%%/*}
Time of Update: 2017-01-13
查看進程在佔用swap分區的指令碼命令指令碼如下: 代碼如下複製代碼 for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -k2nr 查看佔用swap的進程 代碼如下複製代碼 #
Time of Update: 2017-01-18
兩個很詳細的shell 執行個體 一般編程步驟 現在我們來討論編寫一個指令碼的一般步驟。任何優秀的指令碼都應該具有協助和輸入參數。並且寫一個偽指令碼(framework.sh),該指令碼包含了大多數指令碼都需要的架構結構,是一個非常不錯的主意。這時候,在寫一個新的指令碼時我們只需要執行一下copy命令: cp framework.sh myscript 然後再插入自己的函數。 讓我們再看兩個例子: 二進位到十進位的轉換 指令碼 b2d 將位元 (比如 1101)
Time of Update: 2017-01-18
Linux 進程許可權分析在linux下,關於檔案許可權,大部分人接觸比較多,也比較熟悉瞭解.但是對進程許可權一般知之甚少。本文總結一下linux系統下進程許可權問題和現象。需要強調的是,本文是linux系統下討論,因為linux和unix有很多不同的地方,並且各個不同的unix系統也有很多不同。先開門見山的列出本文討論對象:ruid(實際使用者id: real userid)、euid(有效使用者使用者:effective userid), suid(儲存使用者id:saved userid)
Time of Update: 2017-01-18
一、建立測試檔案test.sh#!/bin/sh. /etc/profile# 參數:# args[0] ,資料日期,日期格式yyyy-MM-dd# 取30天以前的日期function get_date_30daysbefore(){ sec=`date -d $1 +%s` sec_30daysbefore=$((sec - 86400*30)) days_before=`date -d @$sec_30daysbefore +%F` echo $days_before}if [ $# ==
Time of Update: 2017-01-18
同事發了一道shell題,是求一個多維陣列中的最大和最小值如檔案 99file: 33 55 23 56 99234 234
Time of Update: 2017-01-18
對於使用者輸入日期的合法性檢驗,是個很重要的問題,這個例子是簡單得取得使用者輸入的日期,並轉換為相應的格式,但不完美,原因請看後文。#!/bin/sh# normdate -- Normalizes month field in date specification# to three letters, first letter capitalized. A helper# function for Script #7, valid-date. Exits w/ zero if no
Time of Update: 2016-02-15
標籤:一般來講,在android程式開發中進行需要判斷裝置類型和系統版本1、裝置類型判斷比如判斷屬於Google Nexus 5,Nexus 7,MIUI v5, MIUI v6,三星裝置,魅族裝置等;這類型的問題都使用的android.os.Build.MODEL來判斷,android.os.Build.MODEL是一個String變數,可以根據String中一些特殊欄位來判斷android裝置屬於什麼裝置,比如判斷Nexus 7,代碼入下public static boolean isN7(
Time of Update: 2015-10-26
標籤:在Mac上配置adb命令在Mac OS中使用adb命令時,應進行變數配置,步驟如下:一、終端中輸入 cd ~二、輸入touch .bash_profile 斷行符號touch:如果沒有,則建立檔案,如果有,更新一下檔案時間三、輸入open -e .bash_profileopen:開啟檔案斷行符號後會在TextEdit中開啟這個檔案(如果未配置過環境變數,應該是個空白檔案)。在檔案中加如以下內容export
Time of Update: 2015-06-22
標籤:一、查看協助命令,參數 --helpD:\>adb shell screenrecord --helpUsage: screenrecord [options] <filename>Android screenrecord v1.2. Records the device‘s display to a .mp4&
Time of Update: 2015-07-04
標籤:shell波浪號展開與萬用字元shell中兩種與檔案名稱相關的展開.第一種是波浪號展開,第二種是萬用字元展開式.波浪號展開如果命令列字串的第一個字元為波浪號(~),或者變數指定(例如PATH或CDPATH變數)的值裡任何未被引號括起來的冒號之後的第一個字元為波浪號(~)時,shell變回執行波浪號展開.波浪號展開的目的,將使用者根目錄的符號型表示方式,改為實際的目錄路徑.可以採用直接或間接的方式指定執行此程式的使用者,如未明白指定,則為當前的使用者:命令:vi ~/
Time of Update: 2015-06-13
標籤:指令碼是:nohup /mnt/Nand3/H2000G >/dev/null 2>&1 & 對於& 1 更準確的說應該是檔案描述符 1,而1 一般代表的就是STDOUT_FILENO,實際上這個操作就是一個dup2(2)調用.他標準輸出到all_result ,然後複製標準輸出到檔案描述符2(STDERR_FILENO),其後果就是檔案描述符1和2指向同一個檔案表項,也可以說錯誤的輸出被合并了.其中0 表示鍵盤輸入 1
Time of Update: 2015-06-15
標籤:本文介紹的這個shell指令碼,通過一個while-do迴圈,用ps -ef|grep 檢查loader進程是否正在運行,如果沒有運行,則啟動,確保崩潰掛掉的進程,及時自動重啟。 指令碼內容如下: #!/bin/shwhile :doecho "Current DIR is " $PWDstillRunning=$(ps -ef |grep "$PWD/loader" |grep
Time of Update: 2016-11-18
標籤:10個 bsp ring eth 伺服器 shell false ann 計算 /** * 由SshConfig配置擷取一個Session * @param conf
Time of Update: 2015-07-29
標籤: 接前一篇內網實現SVN外網發布,若想把SVN發布到外網上,必須在本機或者伺服器上裝上VisualSVN Server 。在實踐的過程中,我的SVN安裝一直報錯。報錯如下
Time of Update: 2015-07-13
標籤:SSH 為 Secure Shell 的縮寫,由 IETF 的網路工作小組(Network Working Group)所制定;SSH 為建立在應用程式層和傳輸層基礎上的安全性通訊協定。SSH 是目前較可靠,專為遠程登入工作階段和其他網路服務提供安全性的協議。利用 SSH