Linux使用筆記

# 將txt文件中的所有圖片路徑打包成一個壓縮檔cat image_path.txt | zip -@ image_compressed.zip
# 尋找任意檔案中,包含指定字串的功能
# https://stackoverflow.com/questions/16956810/how-do-i-find-all-files-containing-specific-text-on-linux
#當下目錄中,包含有.pth.tar的檔案或字串,並顯示出在第幾行$ grep -rnw './' -e '.pth.tar' -r or -R is recursive,-n is line number, and-w stands for match the whole word.-e is the pattern used during the search
# 將txt文件中的所有圖片路徑打包成一個壓縮檔cat image_path.txt | zip -@ image_compressed.zip

1.注意字母的大小寫

2.注意是否有輸入錯誤的字母

3.cd、ls、rm(rm -rf可以移除資料夾檔案)、mv

#update只更新安裝list的清單
#upgrade更新軟體到最新版本
cd /opt      #切換目錄到/opt            使用絕對路徑(由 / 寫起)
cd opt #切換到本目錄中的opt目錄 使用相對路徑(不是由 /寫起)
cd ../ #切換到上一層的目錄
cd .. .. #切換到上兩層的目錄
cd .. .. .. #切換到上三層的目錄

#絕對路徑正確度比較好
目錄的相關操作
. 代表此層目錄
.. 代表上一層目錄
- 代表前一個工作目錄
~ 代表目前使用者身分所在的家目錄

~account 代表account這個使用者的家目錄
$ sudo 你需要的指令$ sudo sh #進入super user模式
$ exit #離開super user模式
echo "<text>"
clear
或者
Ctrl+L
touch file2                 #建立file2touch file3 file4 file5     #同時建立多個檔案
curl -o google.html -L 'http://google.com'
sudo apt-get install nano #安裝nano編輯器
sudo select-editor #將預設編輯器改成nano
touch test.py #建立test.py
nano test.py #編輯test.py(若無此檔案,則建立test.py)
nano的快捷鍵
Ctrl+6開始複製
Alt+6完成複製
Ctrl+U貼上
Ctrl+X離開,Y存檔,Enter確定寫入
Ctrl+W搜尋
$ echo "file contents here" > test.txt
$ ls > myfiles.txt
vim test.txt     #建立text.txtvi和vim的差別:
編輯文檔時,vi無顏色;vim有顏色
其他功能無差別,故使用vi或vim都可以
vim編輯器的使用方式
vim進入檔案後
點擊「i」鍵編輯(insert模式)
編輯完後,點擊「ESC」回到(normal模式)
點擊「Shift+:」
輸入「wq」(存檔並離開)
cp file1 folder1/          #複製file1到folder1資料夾中
pwd    #相對路徑
pwd -P #絕對路徑
pwd是 print working directory的所寫
which      完整檔名(執行檔)
whereis 檔案名稱(任何檔案)
exit#或者使用Ctrl+C
history 5   #最近使用過的五個指令history | grep apt-get  #包含apt-get的指令##搜尋結果如下:
#6 sudo apt-get update
#7 sudo apt-get install bottle
#8 sudo apt-get install python-bottle
#55 history | grep apt-get
#!/usr/bin/python
#!/usr/bin/env python #在env(環境變數)中,找尋Python安裝路徑並且執行
echo $PATH                        #列出所有已經加到PATH的環境變數位置nano ~/.bashrc
export PATH=$PATH:/to/your/path #加在最後一行
source ~/.bashrc
$ sudo nano ~/.bashrc   #修改環境變數
$ alias L='ls -a' #以後輸入L就會有'ls -a'的效果
$ source .bashrc #生效環境變數
$ sudo nano /etc/rc.local#Add the following line after the first block of comment lines that begin with #:$ /usr/bin/python /home/pi/my_program.py &
#&是在背景執行的意思,一定要加
$ python program.py &    #&是在背景執行的意思,一定要加
$ fg #移到前景
help exit   #解釋exit指令的功能
ifconfig
ifconfig eth0 192.168.1.100  
#將IP地址更改到192.168.1.100
$ chmod u+x file2.txt #更改檔案使用權限
cat 檔案名稱            #從第一行開始顯是檔案內容
tac 檔案名稱 #從最後一行開始顯示,tac是cat倒著寫
nl 檔案名稱 #顯示的時候,順便顯出行號
cat /etc/hosts.allow #顯示/etc/hosts.allow的內容
$ gunzip myfile.gz
$ tar -xzf myfile.tar.gz
cat file_1.csv file_2.csv > target_file.csv
#將file_1.csv和file_2.csv合併成targer_file.csv,且file_2.csv緊接著於file_1的尾端
wc -l abc.txt
ls
ls /etc #列出etc底下的檔案
ls -a #列出目前目錄底下的檔案,包含隱藏檔
ls -l #詳細顯示檔案內容
ls -la #詳細顯示檔案內容,包含隱藏檔
mkdirmkdir data           #新增名為data的子目錄
mkdir data/data2 #在data子目錄新建data2的資料夾
mv file1 file2  #將檔案file1更名為file2
mv file1 /tmp/ #將檔案移動到/tmp之下
rm      檔案名稱
rmdir folder3 #移除空白資料夾
rm -rf folder3 #移除非空白資料夾
apt-get remove softwareName  #移除指定軟體
diff file1 file2  #比對檔案file1和file2的不同
date          #顯示日期
cal #顯示本月日曆
cal 2019 #顯示2019年的日曆
cal 6 2019 #顯示2019年6月的日曆
apt-get install rcconf #安裝rcconf
rcconf #執行rcconf
crontab指令:grep CRON /var/log/syslog*  #查看crontab運作情形crontab -e                  #編輯目前正在GCP上排程的程式(用來新增排程)crontab -l                  #查看目前有在GCP排程的程式crontab -r                  #刪除所有在GCP排程的程式#搭配crontab guru 看出程式實際執行的時間點為何
-------------------------------------------------------
自動排程步驟:
1.輸入crontab -e後,先刪除所有註解再進行以下步驟
2.新增指令(以下指令選一,用於設定時間)0 */3 * * * /usr/bin/python3 /home/ccs_nknu/pm25.py #3小時執行1次程式
*/1 * * * * /usr/bin/python3 /home/ccs_nknu/pm25.py #1分鐘執行1次程式
*/60 * * * * /usr/bin/python3 /home/ccs_nknu/pm25.py #60分鐘執行1次程式
3.按下Ctrl+X離開4.出現Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?
輸入Y(yes),進行保存。
5.出現File Name to Write: /tmp/crontab.IJMcp4/crontab。點擊Enter6.輸入grep CRON /var/log/syslog*進行檢查,若沒什麼異常,就是成功了。#注意路徑的設定要用/usr而不是/user,否則無法順利執行python程式-----------------------------------------------------
解決(CRON) info (No MTA installed, discarding output)
#加入>/dev/null 2>&1
例如:
*/1 * * * * /usr/bin/python /home/ccs_nknu/pm25.py >/dev/null 2>&1
yum install -y expect     #安裝expect軟體
mkpasswd #產生隨機密碼
mkpasswd -l 12 #產生長度12字的密碼
mkpasswd -l 12 -s 0 -d 3 #-s 指定特殊字元個數
#-d 指定數字的個數
$ cat /etc/os-release
df -h
ls -lh
du -hs *
free -m
top   #按q鍵可以退出top
yum install -y epel-release; yum install -y nload #安裝epel和nload
nload #查看網路流量

--

--

--

Machine Learning | Deep Learning | https://linktr.ee/yanwei

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Edge Persistence: living in the edge

Delphi package managers

Progress Update: Sleeping Guard Cutscene

Creating Custom Template Tags In Django Application

Data Protector — dpcom — a command line interface for advanced scripting

How to use Unity to develop Apps

Resize an Image in Python

CELEBRATION TIME!  (5 Things I Learnt from Our Mobile App’s Journey to Its First 1000 Downloads)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Yanwei Liu

Yanwei Liu

Machine Learning | Deep Learning | https://linktr.ee/yanwei

More from Medium

Linux Configure Xauthority

Basics of Assembly language : Part 1

LINUX LOOPS

Linux Command -Line Warmup !!