Lunski's Clutter

This is a place to put my clutters, no matter you like it or not, welcome here.

0%

Linux小技巧

工作上最常用到linux,這邊列出常會用到的一些指令。

22.04.3 balenaEtcher

優化

20.04 7z

1
2
3
$ sudo apt-get update
$ sudo apt-get install p7zip-full
$ 7z

20.04 chrome

1
2
3
4
$ sudo apt install gdebi-core wget
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo gdebi google-chrome-stable_current_amd64.deb
$ google-chrome

18.04 postman

1
2
3
4
5
6
wget https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gz  
sudo tar -xzf postman.tar.gz -C /opt
sudo ln -s /opt/Postman/Postman /usr/bin/postman
```

# 18.04 openjdk

sudo apt install openjdk-8-jdk
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
echo $JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin
echo $PATH
java -version

1
2

# 18.04 KVM permission denied error

$ sudo apt install qemu-kvm
$ sudo adduser kvm
$ sudo chown /dev/kvm

1
2

# 18.04 按enter 持續重複輸入

檢查
$ gsettings get org.gnome.desktop.peripherals.keyboard repeat
出現true 則輸入
$ gsettings set org.gnome.desktop.peripherals.keyboard repeat false

https://askubuntu.com/questions/1029776/keys-get-stuck-randomly-and-type-endless-line-of-a-particular-letter-command

1
2

# 14.04桌面時鐘消失

sudo apt-get install indicator-datetime
sudo dpkg-reconfigure –frontend noninteractive tzdata
sudo killall unity-panel-service

sudo restart lightdm

1
2

# 查電腦資訊

$ sudo apt install hardinfo
$ hardinfo | less
$ cat /etc/hostname
$ lscpu

架構: x86_64
CPU 作業模式: 32-bit, 64-bit
CPU(s): 8

1
2
3

$ cat /proc/cpuinfo

eric_lu@T-01009658UP:~$ cat /proc/cpuinfo | grep “model name”
model name : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
model name : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
model name : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
model name : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
model name : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
model name : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
model name : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
model name : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ cat /proc/meminfo  
$ lsblk # HD

# Clay-Technology World
https://clay-atlas.com/blog/2020/09/17/linux-cn-change-or-check-date/ 日期時間
https://clay-atlas.com/blog/2020/08/04/linux-cn-note-using-trash-rm-remove-delete/ 用trash取代rm避免誤刪
https://clay-atlas.com/blog/2020/05/21/linux-cn-note-shell-script-input-argument/ Shell Script 輸入參數$# 0 1 2 3
https://clay-atlas.com/blog/2020/03/21/linux-cn-note-copy-progress-bar/ 複製檔案顯示進度 gcp
https://clay-atlas.com/blog/2019/12/10/ubuntu-os-crontab-settings/ 定期執行 crontab
https://clay-atlas.com/blog/2020/01/16/linux-chinese-note-speedtest-cli/ 測網速sudo pip3 install speedtest-cli
https://clay-atlas.com/blog/2019/10/29/python-chinese-tutorial-jupyter-notebook/ 遠端jupyter
https://clay-atlas.com/blog/2020/01/11/linux-chinese-tutorial-command-du-check-file-size/ 顯示檔案大小du
https://clay-atlas.com/blog/2020/02/04/linux-ubuntu-chinese-note-remove-ppa/ 刪除ppa sudo ls /etc/apt/sources.list.d
https://clay-atlas.com/blog/2020/01/29/linux-chinese-notes-tree-command-visualization-folder/ tee 資料夾看階層

# 看網頁資訊

$ curl -v http://ec1ecdc57218.ngrok.io/

  • Trying 3.134.39.220…
  • TCP_NODELAY set
  • Connected to ec1ecdc57218.ngrok.io (3.134.39.220) port 80 (#0)

    GET / HTTP/1.1
    Host: ec1ecdc57218.ngrok.io
    User-Agent: curl/7.58.0
    Accept: /

    < HTTP/1.1 200 OK
    < Content-Length: 117
    < Content-Type: application/json
    < Date: Wed, 30 Sep 2020 06:52:11 GMT
    < Server: Werkzeug/1.0.1 Python/3.6.9
    <
  • Connection #0 to host ec1ecdc57218.ngrok.io left intact
    {“id”: “xidGidfid0idKidxid6idF”, “date”: “09/30/2020”, “choseNumber”: [8, 2, 0], “probability”: 0.008333333333333333}
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52

    # 在colab 安靜安裝的幾種方法
    !pip3 install vpython> /dev/null
    !pip3 install -q vpython

    %%capture
    !pip3 install vpython

    # alpine
    `極小的linux方便裝在docker`
    $ docker run -ti --rm -v ${HOME}:/root -v $(pwd):/git alpine/git
    $ docker run --name da1 -d -p 81:80 alpine/git
    b117b223cb2003f09b8d697967666744ab81e7686165ccbabbce825aad2392d9
    $ docker run alpine echo '123'
    123

    # 軟體
    Yakuake: 下拉式終端
    Terminator: 可以輸入指令到多個終端

    # 短指令
    which 找指令位置
    top 看目前執行程式
    free -h 看記憶體容量
    lsb_release -a 看作業系統
    ctrl+shift+t 開新terminal
    history | less 可以用PageUp Down
    curl -vvvv 網址 v越多內容顯示越多
    echo 檔案 | wc -l 顯示行數

    # 長指令
    cat a.txt | grep -A20 "Package \[com.google.android.gms" 抓gms package發出的訊息
    cat a.txt | awk '!/Something/' | grep 'B\|C\|D' 可以結合awk, grew
    rm -rf ~/.local/share/Trash/* 清垃圾桶
    cat .ssh/id_rsa.pub 印pub key

    # 快捷建
    Ctrl+Alt+T 開terminal

    # 硬碟
    lsblk
    blkid
    mount
    sudo fdisk -l

    # 格式化
    df -h # sdb1要清空
    sudo umount /dev/sdb1
    sudo mkfs.vfat /dev/sdb1

    ## Create a Desktop Entry
    cat > ~/.local/share/applications/postman.desktop <<EOL
    [Desktop Entry]
    Encoding=UTF-8
    Name=Postman
    Exec=postman
    Icon=/opt/Postman/app/resources/app/assets/icon.png
    Terminal=false
    Type=Application
    Categories=Development;
    EOL
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    # 清垃圾桶
    cd ~/. local/share/Trash/files/
    rm -rf *

    # 無法安裝軟體
    sudo chmod 7755 /usr/lib/policykit-1/polkit-agent-helper-1

    # 目錄中文轉英文
    $ export LANG=en_US
    $ xdg-user-dirs-gtk-update

    # 顯示跑掉
    1.先換條螢幕線
    https://www.ubuntu-tw.org/modules/newbb/viewtopic.php?topic_id=33458

    # 讓Windows遠端連線
    1.xface
    sudo apt update
    sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

    2.xrdp
    sudo apt install xrdp
    check: sudo systemctl status xrdp

    3.啟動
    可以用 systemctl 指令來啟動,輸入
    sudo systemctl restart xrdp
    並且確認在開機時自動啟動 xrdp
    sudo systemctl enable xrdp
    sudo vim /etc/xrdp/xrdp.ini
    在最後一行加上
    exec startxfce4
    儲存檔案並重新啟動 Xrdp 服務
    sudo systemctl restart xrdp

    4.設定防火牆
    要允許從特定 IP 或 IP 範圍連接 Xrdp 伺服器,在此範例中 192.168.1.0/24 運行以下命令
    sudo ufw allow from 192.168.1.0/24 to any port 3389
    如果您想允許從任何地方進行連線(基於安全原因不鼓勵),請輸入
    sudo ufw allow 3389

    5.遠端空白問題
    sudo apt-get install xorgxrdp
    https://c-nergy.be/blog/?p=13390

    6.重啟
    sudo service xrdp restart
    netstat -na | grep 3389

    # NoMachine
    https://briian.com/59310/

    # Tab
    1、pycharm使多行代碼同時縮進
    鼠標選中多行代碼後,按下Tab鍵,一次縮進四個字符

    2、pycharm使多行代碼同時左移
    鼠標選中多行代碼後,同時按住shift+Tab鍵,一次左移四個字符

    # 安全重啟
    1. 同時按住 Ctrl 和 Alt 鍵,按住不要放
    2. 按一下 SysRq 鍵
    3. 按一下 R 鍵
    4. 按一下 E 鍵
    5. 依次按下 I , S , U , B 鍵

    # Android Studio
    Ctrl+Alt+L 自動排版

    ## 可以Sh雙擊執行
    在桌面 vim androidstudio.desktop
    [Desktop Entry]
    Name=AndroidStudio
    Comment=open android studio
    Exec=sh /home/eric_lu/android-studio-ide-192.6392135-linux/android-studio/bin/studio.sh
    Icon=/home/eric_lu/android-studio-ide-192.6392135-linux/android-studio/bin/studio.png
    Terminal=false
    Type=Application
    1
    2
    3
    4
    5
    6
    7
    8
    9
    右鍵點擊程式,來到最下方的『屬性』,選擇『權限』  
    將『允許檔案作為程式執行(E)』打勾,然後關閉視窗

    cp androidstudio.desktop ~/.local/share/applications/
    將我們剛建立好的 .desktop 檔案移動至應用程式區,就可以在『搜尋』當中找到這個應用程式

    ## 在Ubuntu可以加速
    https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit

    sudo vim /etc/sysctl.conf
    fs.inotify.max_user_watches = 524288
    sudo sysctl -p –system
    1
    2
    3

    ## 裝完開啟很慢改記憶體大小
    ..\Android Studio\bin\*.vmoptions

-Xms5120m
-Xmx10240m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=440m
-XX:+UseCompressedOops
-XX:-HeapDumpOnOutOfMemoryError
-Dfile.encoding=UTF-8

1
2
3
4
5
6
7
之後在file>Invalidate caches  

## 載入慢要改設定
解決 androidstudio 在獲取Android sdk ...位置暫停導致androidstudio 啟動慢
打開android studio的bin目錄
修改idea.properties文件如下:


idea.fatal.error.notification = enabled
disable.android .first.run = true

1
2
3

# Python
## 2 to 3

$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt-get update
$ sudo apt-get install python3.6
$ sudo apt-get install python3.7
$ sudo apt install python3-pip
$ sudo update-alternatives - install /usr/bin/python3 python3 /usr/bin/python3.6 1
$ sudo update-alternatives - install /usr/bin/python3 python3 /usr/bin/python3.7 2

```

虛擬環境

python -m venv .venv
.venv\Scripts\activate.bat

換版本

  1. Check python version on terminal - python –version
  2. Get root user privileges. On terminal type - sudo su
  3. Write down the root user password
  4. Execute this command to switch to python 3.6 -
  5. update-alternatives –install /usr/bin/python python /usr/bin/python3 1
  6. Check python version - python –version

如果你覺得這篇文章很棒,請你不吝點讚 (゚∀゚)

Welcome to my other publishing channels