Showing posts with label linux. Show all posts
Showing posts with label linux. Show all posts

Wednesday, September 7, 2022

Redis on Windows

 最近要在Windows起一個Redis:

先使用 Windows 子系統 Linux 版 安裝 Linux ,開一個Powershell。

輸入: wsl --install

按照指示進行安裝,自動重啓後就會進入ubuntu界面,如果之後要再入ubuntu,用cmd輸入bash即可。


安裝Redis:

  • curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
  • echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
  • sudo apt-get update
  • sudo apt-get install redis


設定路徑在︰/etc/redis/redis.conf

執行路徑在︰/etc/init.d/redis-server start


需要打開ubuntu防火牆︰sudo ufw allow 6379

Sunday, January 26, 2020

Linux: 系統檢查

# 查看OS及系統版本:
cat /etc/os-release

# cuda 版本
nvcc -V

Monday, December 2, 2019

Linux: batch rename file

將檔案名稱xxx-yyy.txt換為xxx.txt︰
預覽︰
for i in $(ls *-*); do echo $i;  echo "$(echo $i | sed -e 's/-.*//g').txt"; done
替換︰
for i in $(ls *-*); do echo $i;  mv $i "$(echo $i | sed -e 's/-.*//g').txt"; done

Linux: loop all subfolder

for f in $(find ./); do if [ -d "$f" ]; then echo $f; fi; done

使用範例,將所有檔案名稱中的空白字符替換為下劃線︰
for f in $(find ./); do if [ -d "$f" ]; then cd $f; sh ~/program/sh/renamefile_spaceToUnderscore.sh ok; cd -; fi; done

Linux: convert doc to txt file

sudo yum install libreoffice
libreoffice --cat xxx.doc > xxx.txt

使用範例,找出所有doc文件,然後生成txt (留意檔案名不能包括空白,如有,先用這個處理)︰
for i in $(find ./ -name *.doc); do echo $i; libreoffice --cat $i > $i.txt; done

Monday, November 4, 2019

Special chars replace

:%s/&/\&/g
:%s/'/\'/g
:%s/"/\"/g
:%s/\]/\]/g
:%s/\[/\[/g
:%s/>/\>/g
:%s/</\&lt;/g

Tuesday, September 10, 2019

Linux: check open/listen port

Ubuntu:
sudo lsof -i -P -n | grep LISTEN
sudo netstat -tulpn | grep LISTEN
sudo lsof -i:22 ## see a specific port such as 22 ##
sudo nmap -sTU -O IP-address-Here

Centos:
sudo ss -tulpn | grep LISTEN

Thursday, May 2, 2019

PHP: install composer

sudo apt update
sudo apt-get install php5-cli php5-curl php5-xmlrpc elinks
cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.php
HASH=48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
ls /usr/local/bin/sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
composer

Reference: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-composer-on-ubuntu-18-04

Tuesday, April 30, 2019

Moses: CentOS 的前置包安裝指令

ubuntu和centos裝包不同,所以切換到contos時需要使用下面這些︰
sudo yum install gcc-c++
sudo yum install boost-devel

安裝xmlrpc
wget http://www.achrafothman.net/aslsmt/tools/xmlrpc-c_1.33.14.orig.tar.gz
tar zxvf xmlrpc-c_1.33.14.orig.tar.gz
cd xmlrpc-c-1.33.14/
./configure
make
sudo make install

為moses安裝mosesserver
./bjam --with-xmlrpc-c=/Users/hieu/workspace/xmlrpc-c/xmlrpc-c-1.33.14

Monday, February 5, 2018

Linux: 創建用戶 Add user

創建一個新用戶︰
useradd USERNAME

建立目錄捷徑︰
ln -s FOLDER ACCESS_POINT
注意︰要用絕對路徑,例如FOLDER: /userdata/mkytap/,ACCESS_POINT: /home/mkytap/

為目錄加入權限︰
setfacl -m u:USERNAME:rwx FOLDER


Saturday, November 26, 2016

cuda: install option

Do you accept the previously read EULA? (accept/decline/quit): accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 352.39? ((y)es/(n)o/(q)uit): n
Install the CUDA 7.5 Toolkit? ((y)es/(n)o/(q)uit): y
Enter Toolkit Location [ default is /usr/local/cuda-7.5 ]: /home/mb45450/cuda-7.5
Do you want to install a symbolic link at /usr/local/cuda? ((y)es/(n)o/(q)uit): n
Install the CUDA 7.5 Samples? ((y)es/(n)o/(q)uit): y
Enter CUDA Samples Location [ default is /home/mb45450 ]:

Friday, November 25, 2016

linux: move all file under folder A contain name *.cn to folder B

find A -type f -iname *.cn -exec mv --backup=numbered -t B {} +

Reference: How do I move files out of nested subdirectories into another folder in ubuntu? (Trying to strip off many subfolders)

apache2: set default page

在Linux安裝apache後設定預設網頁,需要把︰/etc/apache2/sites-available/000-default.conf
裏面的︰DocumentRoot /var/www/html更改為自己想要的目錄,如 DocumentRoot /var/www/dokuwiki。
這樣設定的話,在進入到連結時就會調用dokuwiki文件內的index.php作為起始文件。

Wednesday, August 3, 2016

Linux: 解決/dev/out 無法使用的問題

在Linux系統中程式可以使用/dev/out作為輸出流,但有時候Server不允許程式使用這個輸出流,就會無法開啓而出錯。

簡單的解決方案為找到輸出的語句,類似以下︰
program args1 args2 ... > output_file
把它改為︰
program args1 args2 ... | tee output_file 2&>1

Monday, July 18, 2016

Linux: bashrc 的自訂函數

在Linux中可以自訂自己的函數而不需要使用sh xx.sh運行bash,做法很簡單。

  1. 首先回到自己目錄 cd ~
  2. 建立 .bashrc文件,注意前面真的是一個點,別漏了,這個是系統加載時自動運行的檔案。
  3. 把以下代碼寫進去做儲存吧︰
 function timer(){
   if [ $# -eq 0 ]
   then
     echo "Usage: $0 [display_seconds] [command]"
   else
     time=$1
     time="${time:-1}"
     shift
     while (true); do
       date
       eval $@
       sleep $time
       wait
     done;
   fi
 }

然後重啓一次terminal。輸入指令︰

timer 10 echo 'hello'

這樣它就會每10秒打印一次日期hello了。當然command部份可以改運行什麼都可以。
(謎之聲︰這篇不是記錄自訂函數嗎?) ((謎之回答︰隨便就好。))

Tuesday, April 26, 2016

linux: 批量更改檔案名稱

在linux 工作時,有時候有一批文件想要批量換名,例如有log.time, log.setting, log.result等等。
然後有一天,log的名稱太難看了,想要批量換名,就可以試試以下簡單的for loop啦!

for i in `ls log.*`; do mv -f $i `echo $i | sed -e 's/log/source/g'`; done

這個就是把log.*的文件中,log字串換成source字串,試試吧。