學習:Linux常用指令

總結一下常用的linux指令。

mark一個linux指令學習和速查的網站:http://man.linuxde.net/

(0) su和sudo:得到root權限

su 切換到root用戶
sudo command 切換到root用戶,執行command,然後切換回當前用戶
su liaohuqiang 切換回普通用戶

 

(1) apt:用於安裝軟件包

apt list 根據名稱列出軟件包
apt show 顯示軟件包細節
sudo apt install 安裝軟件包
sudo apt remove 卸載軟件包
sudo apt-get check 檢查依賴
sudo apt update 更新可用軟件包列表
sudo apt upgrade 通過安裝/升級軟件來更新系統

dpkg -i xxx.deb 運行deb程序進行安裝
sudo apt-get -f install 修復依賴

 (2) pip:用於安裝python模塊

pip install 安裝包
pip uninstall 卸載包
pip search 搜索能安裝的包
pip list 列出所有的已安裝的包
pip show 展示已安裝包的信息,可以指定單個包名展示
pip check 檢查依賴
pip --version 顯示pip版本和位置
pip help 查看幫助
pip help install 查看install指令的相關option介紹

(3) ssh和scp:主機間通信

ssh username@ip 登錄到遠程主機
scp local_file username@ip:remote_directory 複製本地文件到遠程主機
scp -r local_directory username@ip:remote_directory 複製本地文件夾到遠程主機
sudo ufw disable #關閉防火牆
sudo ufw enable #開啓防火牆

sudo apt-get install vsftpd # 安裝和啓動sftp
service vsftpd start

(4) 壓縮和解壓:zip, unzip, tar, rar, unrar, 7z

 

zip -r target.zip . 把當前目錄以及目錄下的子文件夾全部壓縮
zip target.zip 壓縮當前目錄,如果有文件夾則不會壓縮進去(因爲沒有加-r)

unzip source.zip -d 'folder' 解壓到folder目錄下
unzip source.zip 解壓到當前目錄下

tar -zcvf target.tar.gz sorceFoler c代表打包,z代表用gzip來壓縮/解壓,v詳細報告處理信息,f必選並且後帶文件名

tar -zxvf source.tar.gz -C 'folder' 解壓到folder目錄下,,其中z代表gzip屬性的,x代表解壓,v代表解壓時輸出相關信息,f必須有並且放最後並且後帶文件名。
tar -xvf source.tar.gz 試了一下,少了個z也可以,效果同上
tar -jxvf source.tar.bz2

rar a -r test.rar source/  將source文件夾的內容壓縮到test.rar中
unrar x ../test.rar 解壓父目錄中的test.rar到當前目錄

apt-get install p7zip-full
7z x file 

(5) 查看磁盤的存儲佔用:du;查看文件系統的存儲佔用:df。

 

du -s或--summarize 僅顯示總計,只列出最後加總的值。
du -c 除了顯示個別文件或目錄的大小外,還顯示一行目錄和文件的總和大小
du -h 以K,M,G爲單位,提高信息的可讀性。
du --max-depth=1 查看當前目錄所有(一級)文件的大小

對於-c和-s稍微區分一下
du -sh *.mkv 顯示每個mkv文件的大小
du -csh *.mkv 除了顯示每個mkv文件的大小,還顯示總和,這裏的s加不加都行,因爲只顯示普通文件

df -h 以K,M,G爲單位,提高信息的可讀性。
df -T x顯示文件系統類型

 

 (6) 查找命令

6.1 which 在PATH變量指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果。
6.2 whereis 只能用於程序名的搜索,而且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。如果省略參數,則返回所有信息。
6.3 locate 配合數據庫查看文件位置。linux會將系統內所有文件記錄在一個數據庫文件中,但是該數據庫並不是實時更新。
6.4 find 實際搜尋硬盤查詢文件名稱。

find . -name '*.conf' 當前目錄查找擴展名爲.conf的文件

updatedb 更新數據庫
locate 字符串 快速查找系統數據庫中指定的內容

whereis python
which python

 

(7) 文件權限

 

chmod [ugoa][+-=][rwx] 文件名或路徑 改變指定目錄或文件的權限

u代表該文件所有者,g代表該文件所有者的同組用戶,o代表其它
+代表增加權限,-代表取消權限,=代表唯一設定權限
r可讀,w可寫,x可執行
chmod u+x test  該文件所有者增加可執行的權限

用數字表示,規定r=4, w=2, x=1,
chmod 777 test 三種用戶都賦予可讀可寫可執行的權限

chown -R 用戶名[:組名] 文件名或目錄 改變指定目錄或文件的所屬用戶,-R代表遞歸地改變目錄下的所有文件

 

(8) 文件和文本操作

grep str /tmp/test 在文件/tmp/test中查找str
grep ^str /tmp/test 在文件/tmp/test中查找以str開始的行

ls -ld */ 顯示當前目錄的所有目錄文件
ls -l | grep '^d'  顯示當前目錄的所有目錄文件

wc -l 統計文件行數
wc -w 統計單詞數量

ls -l | wc -l 統計當前目前的文件數量,注意要減去“總用量”那一行

cp -a dir1 dir2 複製目錄
mv dir1 dir2 移動/重命名目錄
mkdir -p /tmp/dir1/dir2 創建一個目錄樹
rm -f file1 刪除文件
rm -rf dir1 刪除目錄

ln -s /real_file /soft_link  創建軟鏈接

 

 

(9) 進程

ps -e 顯示所有進程
ps -f  全格式顯示進程
ps -u 'liaohuqiang' | grep 'tmux' 顯示指定用戶執行的進程,並匹配出包含'tmux'的那一行進程
ps -ef | grep 'python' | grep -v grep 把grep命令排除掉
ps -ef | grep 'python' | grep -v grep  | awk '{print $2}' 提取進程號

kill -2 pid 類似ctrl+C,在程序結束之前能夠保存相關數據,再退出
kill -9 pid 直接強制結束進程

reboot 重啓
shutdown -r now 立刻重啓
shutdown -r 30 30分鐘後重啓
shutdown -r 23:00 晚上11點重啓

halt 立刻關機
poweroff 立刻關機
shutdown -h now 立刻關機
shutdown -h 30 30分鐘後關機

shutdown -c 取消shutdwon的重啓或關機

command & 使指令成爲後臺任務
nohup 不掛斷地運行命令,通常和&一起用,輸出將附加到目錄的nohup.out
jobs -l 列出任務列表,l表示顯示進程號(只查看當前終端的,關閉終端後無法看到)
fg 把最近一個job切換到前臺
fg n 把某個job切換到前臺
ctrl z 掛起某個前臺進程
bg 把作業放到後臺運行


top 動態顯示進程信息
top -i 不顯示任何閒置或無用的進程
k 殺死某進程
n 改變顯示的進程數量
u 顯示指定用戶
P 按CPU使用情況排序
q 退出

 

 

 (10) 網絡

netstat 顯示網絡情況
netstat -a 列出所有端口
netstat -l 只顯示監聽端口
netstat -t 列出所有tcp端口
netstat -p 顯示使用該端口的pid和程序名稱
netstat -n 直接使用ip地址,不通過域名服務器

找出程序運行的端口:netstat -anp | grep ssh

找出運行在指定端口的進程:netstat -anp | grep ':80'

ifconfig 查看網卡信息

 

 (11) 查看電腦配置

free -m  # 查看內存使用情況
df # 查看磁盤使用情況
cat /proc/cpuinfo # 查看cpu信息
lspci | grep VGA # 查看顯卡
nvidia-smi # 查看英偉達系列顯卡的使用情況
nvidia-smi -L # 查看顯卡型號
watch -n 1 -d nvidia-smi # 實時監控nvidia-smi,每隔一秒刷新一次,d表示高亮 
cat /proc/driver/nvidia/version # 查看顯卡驅動
cat /etc/issue # 查看ubuntu版本

 

(12) 其它

date 顯示時間
whoami 顯示當前用戶名
who 目前登錄系統的用戶信息
curl 'url' -O --progress 下載文件,-O代表保存文件(如果沒有則輸出到屏幕), --progress表示會顯示進度條 
(curl不是linux的默認自行,需自行安裝apt install curl)
echo $SHELL 查看系統使用的是哪種shell
echo $PATH 查看環境變量

xdg-open filename 用默認應用程序打開文件

python run_generation.py | tee vggTrainResult  重定向到文件 

cat /usr/local/cuda/version.txt 查看cuda版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 查看cudnn版本

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章