linux/ubuntu 常用操作
阿新 • • 發佈:2019-01-01
1.按照程序名字 kill
一種方法是使用 pkill(pkill 按照名稱 pattern kill 掉), 但是, 有時候 pkill 不好使, 還是用最原始的方法吧,即
ps -ef | grep "name" | awk '{print $2}' | xargs kill -9
其中:
awk '{print $2}':
$2:表示第二個欄位,表示第2列,即程序號PID;
print $2 : 列印第二個欄位
awk '{print $2}' $fileName : 一行一行的讀取指定的檔案, 以空格作為分隔符,列印第二個欄位
比如有這樣一個檔案
a1 b1 c1 d1
a2 b2 c2 d2
執行的結果是,輸出
b1
b2
kill -9 強殺程序;
xargs 使用上一個操作的結果作為下一個命令的引數使用
注:本來就是針對字元操作的,無需使用XAGRS,直接管道即可.對於不是對字元進行操作的才需要用xargs!
結束同一個程式的多個例項:
for pid in $(ps -ef | awk '/some-search/ {print $2}'); do kill -9 $pid; done
2.安裝源裡提供的驅動
# 移除顯示卡驅動
sudo apt-get purge nvidia-*
# 新增第三方 repository
sudo add-apt-repository ppa:graphics-drivers/ppa
# 更新源 && 安裝對應版本的驅動
sudo apt-get update
sudo apt-get install nvidia-version
手動安裝顯示卡:過程比較簡單, 官網下載顯示卡驅動檔案, *.run 結尾的. 然後執行該檔案
核心升級後導致顯示卡驅動失效的解決辦法:
切換到 /usr/src/ 目錄下, 會看到該目錄下有各種核心檔案的原始碼和一個 NVIDIA 顯示卡驅動的資料夾. 該資料夾的命名方法為 nvidia-version, 例如, nvidia-367.44. 這個命名方式很重要, 後面會用到.
使用 dkms rebuild 該驅動
使用 dkms install 該驅動
例如:
cd /usr/src/
dkms build -m nvidia -v 367.44
dkms install -m nvidia -v 367.44
3.解決不能輸入中文的問題
ubuntu 輸入:sudo locale-gen zh_CN.UTF-8,然後修改環境變數 LANG 與本地相同
4.notebook 中顯示圖片
% matplotlib inline
# 設定顯示影象的尺寸
matplotlib.rcParams['figure.figsize']=[16, 9]
# 或者
matplotlib.rcParams["figure.dpi"] = 120
5.修改預設的文字編輯器
sudo update-alternatives --config editor
6.單機多 GPU 使用單個 GPU 的一種方式(TensorFlow)
CUDA_VISIBLE_DEVICES=0 python my_script.py
這種方式, TF 的計算和視訊記憶體再用都只是使用 0 號 GPU, 不需要對程式碼做出改動. 推薦使用.
7.儲存 numpy 資料
Python 的 pickle 方法在儲存的內容大於 4G 的時候會報錯, bug造成的, 如果是影象的 numpy 資料可以直接使用 numpy 的 savez 來儲存資料.
np.savez("dataset", train_data=train_data, train_label=train_label, val_data=val_data, val_label=val_label)
# 資料被儲存為 dataset.npz
# 讀取資料
dataset = np.load("./dataset")
train_data, train_label, val_data, val_label = dataset["train_data"], dataset["train_label"], dataset["val_data"], dataset["val_label"]
8.遍歷目錄下面的所有指定型別的檔案,包括子目錄的檔案
def mk_list(target=None):
"""create a list file of all images"""
matches = []
for root, dirnames, filenames in os.walk(target):
for filename in fnmatch.filter(filenames, '*.jpg'):
matches.append(os.path.join(root, filename))
f = open(__imglist__, w)
for img in matches:
f.write(img + '\n')
return matches
9.安裝依賴
安裝gcc等編譯工具:apt-get install build-essential
fortran編譯工具(安裝python wrapper 時候需要fortran編譯器):apt-get install gfortran
安裝git (下載 caffe的時候會用到):apt-get install git