修改文件權(quán)限:
sudo chmod 666 xxx # 將xxx文件/文件夾的權(quán)限改為所有人可寫可讀阻肩。
更改當前工作目錄:
su - huangtiantian01 # 改到 [huangtiantian01@xxx]$ 用戶目錄下
查看磁盤用量
df -h
du -h --max-depth 1 /ssd2/ #查看文件夾大小
Linux查看物理CPU個數(shù)糟袁、核數(shù)灾炭、邏輯CPU個數(shù)
# 總核數(shù) = 物理CPU個數(shù) X 每顆物理CPU的核數(shù)
# 總邏輯CPU數(shù) = 物理CPU個數(shù) X 每顆物理CPU的核數(shù) X 超線程數(shù)
# 查看物理CPU個數(shù)
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每個物理CPU中core的個數(shù)(即核數(shù))
cat /proc/cpuinfo| grep "cpu cores"| uniq
# 查看邏輯CPU的個數(shù)
cat /proc/cpuinfo| grep "processor"| wc -l
# 查看CPU信息(型號)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
# 查看內(nèi)存信息
cat /proc/meminfo
軟連接
ln -s /ssd2/data /home/huangtiantian01/
# /ssd2/data為需要被鏈接的源文件目錄椅挣,/home/huangtiantian01/為創(chuàng)建軟鏈接的目標文件目錄
wget
下載目錄下所有文件:
wget -r -np -nH -R index.html http://url/including/files/you/want/to/download/
解釋一下各個參數(shù)的含義:
-r : 遍歷所有子目錄
-np : 不到上一層子目錄去
-nH : 不要將文件保存到主機名文件夾
-R index.html : 不下載 index.html 文件
scp傳文件
scp -r desUser@privateIp:desPath localFilePath # 從privateIp下載文件
scp -r localFilePath desUser@privateIp:desPath # 傳文件到privateIp
1逗扒、同一局域網(wǎng)下
scp -P 22 -r localFilePath desUser@privateIp:desPath
2、不同網(wǎng)絡
scp -P 8888 -r localFilePath desUser@publicIp:desPath
統(tǒng)計文件個數(shù)
ls -l |grep "^-"|wc -l # 統(tǒng)計某文件夾下文件的個數(shù)
ls -l | wc -l # 統(tǒng)計某文件夾下文件的個數(shù)
ls -l | grep "^d"|wc -l # 統(tǒng)計某文件夾下目錄的個數(shù)
ls -lR | grep "^-"|wc -l # 統(tǒng)計文件夾下文件的個數(shù)掰盘,包括子文件夾里的
如統(tǒng)計/home/han目錄(包含子目錄)下的所有js文件
ls -lR /home/han|grep js|wc -l # 或
ls -l "/home/han"|grep "js"|wc -l
grep "^-" # 這里將長列表輸出信息過濾一部分摄悯,只保留一般文件,如果只保留目錄就是 ^d
wc -l # 統(tǒng)計輸出信息的行數(shù)愧捕,因為已經(jīng)過濾得只剩一般文件了奢驯,所以統(tǒng)計結(jié)果就是一般文件信息的行數(shù),又由于一行信息對應一個文件次绘,所以也就是文件的個數(shù)瘪阁。
零碎
watch -n 0.2 nvidia-smi #查看GPU使用情況
head -n 1 /etc/issue # 查看操作系統(tǒng)版本
uname -a # 查看系統(tǒng)版本
nvidia-smi # 看用了多少內(nèi)存
lspci | grep -i vga # 顯示機器上的顯卡信息
lsmod | grep nvidia # which drivers are loaded.
ps -eo pid,start,cmd # 看進程開始時間
find
find是最常見和最強大的查找命令,你可以用它找到任何你想找的文件邮偎。
1管跺、find的使用格式如下:
$ find <指定目錄> <指定條件> <指定動作>
- <指定目錄>: 所要搜索的目錄及其所有子目錄。默認為當前目錄禾进。
- <指定條件>: 所要搜索的文件的特征豁跑。
- <指定動作>: 對搜索結(jié)果進行特定的處理。
如果什么參數(shù)也不加命迈,find默認搜索當前目錄及其子目錄贩绕,并且不過濾任何結(jié)果(也就是返回所有文件)火的,將它們?nèi)硷@示在屏幕上。
2、find的使用實例:
搜索當前目錄(含子目錄当犯,以下同)中款侵,所有文件名以my開頭的文件。
$ find . -name 'my*'
搜索當前目錄中湃累,所有文件名以my開頭的文件勃救,并顯示它們的詳細信息碍讨。
$ find . -name 'my*' -ls
搜索當前目錄中,所有過去10分鐘中更新過的普通文件蒙秒。如果不加-type f
參數(shù)勃黍,則搜索普通文件+特殊文件+目錄。
$ find . -type f -mmin -10
locate
locate
命令其實是find -name
的另一種寫法晕讲,但是要比后者快得多覆获,原因在于它不搜索具體目錄,而是搜索一個數(shù)據(jù)庫(/var/lib/locatedb)瓢省,這個數(shù)據(jù)庫中含有本地所有文件信息弄息。Linux系統(tǒng)自動創(chuàng)建這個數(shù)據(jù)庫,并且每天自動更新一次勤婚,所以使用locate
命令查不到最新變動過的文件摹量。為了避免這種情況,可以在使用locate
之前馒胆,先使用updatedb
命令缨称,手動更新數(shù)據(jù)庫。
locate命令的使用實例:
搜索etc
目錄下所有以sh
開頭的文件国章。
$ locate /etc/sh
搜索用戶主目錄下具钥,所有以m
開頭的文件。
$ locate ~/m
搜索用戶主目錄下液兽,所有以m開頭的文件骂删,并且忽略大小寫。
$ locate -i ~/m
ps
ps aux | grep python # 查看Python進程
Linux下顯示系統(tǒng)進程的命令ps
四啰,最常用的有ps -ef
和ps aux
宁玫。這兩個到底有什么區(qū)別呢?兩者沒太大差別柑晒,討論這個問題欧瘪,要追溯到Unix系統(tǒng)中的兩種風格,System V風格和BSD風格匙赞。
ps aux
最初用到Unix Style中佛掖,而
ps -ef
被用在System V Style中,兩者輸出略有不同涌庭。
現(xiàn)在的大部分Linux系統(tǒng)都是可以同時使用這兩種方式的芥被。
1、ps -ef
是用標準的格式顯示進程的坐榆、其格式如下
其中各列的內(nèi)容意思如下
UID //用戶ID拴魄、但輸出的是用戶名
PID //進程的ID
PPID //父進程ID
C //進程占用CPU的百分比
STIME //進程啟動到現(xiàn)在的時間
TTY //該進程在那個終端上運行,
//若與終端無關,則顯示?
//若為pts/0等匹中,則表示由網(wǎng)絡連接主機進程夏漱。
CMD //命令的名稱和參數(shù)
2、ps aux
是用BSD的格式來顯示顶捷、其格式如下
與
ps -ef
不同的有列有
USER //用戶名
%CPU //進程占用的CPU百分比
%MEM //占用內(nèi)存的百分比
VSZ //該進程使用的虛擬內(nèi)存量(KB)
RSS //該進程占用的固定內(nèi)存量(KB)(駐留中頁的數(shù)量)
STAT //進程的狀態(tài)
START //該進程被觸發(fā)啟動時間
TIME //該進程實際使用CPU運行的時間
其中STAT狀態(tài)位常見的狀態(tài)字符有
D //無法中斷的休眠狀態(tài)(通常 IO 的進程)挂绰;
R //正在運行可中在隊列中可過行的;
S //處于休眠狀態(tài)服赎;
T //停止或被追蹤扮授;
W //進入內(nèi)存交換 (從內(nèi)核2.6開始無效);
X //死掉的進程 (基本很少見)专肪;
Z //僵尸進程刹勃;
< //優(yōu)先級高的進程
N //優(yōu)先級較低的進程
L //有些頁被鎖進內(nèi)存;
s //進程的領導者(在它之下有子進程)嚎尤;
l //多線程荔仁,克隆線程(使用 CLONE_THREAD, 類似 NPTL pthreads);
+ //位于后臺的進程組芽死;
有關僵尸進程和Z狀態(tài)進程乏梁,見我這篇文章:垃圾進程之 D & Z 。
文件內(nèi)容查閱
cat # 由第一行開始顯示文件內(nèi)容
tac # 從最后一行開始顯示关贵,可以看出 tac 是 cat 的倒著寫
nl # 顯示的時候遇骑,順道輸出行號
more # 一頁一頁的顯示文件內(nèi)容
less # 與 more 類似,但是比 more 更好的是揖曾,他可以往前翻頁
head # 只看頭幾行
tail # 只看尾巴幾行
od # 以二進位的方式讀取文件內(nèi)容
shell
1落萎、查看shell
more /etc/shells # 查看目前我們的Linux有多少可以使用的shells
檢查/etc/shells
這個檔案,至少有底下這幾個可以用的 shells:
? /bin/sh (已經(jīng)被 /bin/bash 所取代)
? /bin/bash (就是 Linux 預設的 shell)
? /bin/ksh (Kornshell 由 AT&T Bell lab. 發(fā)展出來的,兼容于 bash)
? /bin/tcsh (整合 C Shell ,提供更多的功能)
? /bin/csh (已經(jīng)被 /bin/tcsh 所取代)
? /bin/zsh (基于 ksh 發(fā)展出來的,功能更強大的 shell)
2炭剪、切換shell:
chsh -s /bin/zsh # 設置zsh為你的默認的shell
chsh -s /bin/bash # 如果想切換回來bash练链,使用該命令即可
du
du -sh # 查看當前目錄總共占的容量。而不單獨列出各子項占用的容量
du -lh --max-depth=1 # 查看當前目錄下一級子文件和子目錄占用的磁盤容量奴拦。
零碎
sudo apt-get remove cuda
# 官網(wǎng)下載tgz媒鼓,解壓出一個cuda文件夾
sudo dpkg -i ***.deb
sudo apt-get install cuda-8.0
Use the following commands to uninstall a RPM/Deb installation:
sudo apt-get --purge remove <package_name> # Ubuntu
sudo apt autoremove
install CUDA 8.0 and add these to my .profile
file:
vim ~/.profile
# 添加這兩行:
export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64"
export CUDA_HOME=/usr/local/cuda-8.0
# 最后:
source ~/.profile
nvidia顯卡驅(qū)動與編譯器版本的查詢命令
轉(zhuǎn)自 http://www.linuxdiyf.com/linux/16687.html
1)首先驗證你是否有nvidia的顯卡(http://developer.nvidia.com/cuda-gpus這個網(wǎng)站查看你是否有支持gpu的顯卡):
$ lspci | grep -i nvidia
2)查看你的linux發(fā)行版本(主要是看是64位還是32位的):
$ uname -m && cat /etc/*release
3)看一下gcc的版本:
$ gcc –version
4)查看NVIDIA顯卡的驅(qū)動版本
$cat /proc/driver/nvidia/version
5)查看nvcc編譯器的版本
nvcc -V i
6)/dev/nvidia*這里的文件代表了本機的NVIDIA顯卡,如:
foo@bar-serv2:/dev$ ls -l nvidia*
crw-rw-rw- 1 root root 195, 0 Oct 24 18:51 nvidia0
crw-rw-rw- 1 root root 195, 1 Oct 24 18:51 nvidia1
crw-rw-rw- 1 root root 195, 255 Oct 24 18:50 nvidiactl
表示本機有兩塊NVIDIA顯卡
7)查看顯卡名稱以及驅(qū)動版本
nvidia-smi
nvidia-smi -a
mac 查看错妖、修改文件權(quán)限
1)查看權(quán)限
ls -l 文件夾名/文件名
2)修改文件的權(quán)限
chmod [<權(quán)限范圍><權(quán)限操作><具體權(quán)限>] [文件或目錄…]
<權(quán)限范圍>
u:User绿鸣,即文件或目錄的擁有者。
g:Group暂氯,即文件或目錄的所屬群組潮模。
o:Other,除了文件或目錄擁有者或所屬群組之外株旷,其他用戶皆屬于這個范圍再登。
a:All,即全部的用戶晾剖,包含擁有者锉矢,所屬群組以及其他用戶。
<權(quán)限操作>
+:表示增加權(quán)限
- :表示取消權(quán)限
=:表示唯一設定權(quán)限
<具體權(quán)限>
r:表示可讀取
w:表示可寫入
x :表示可執(zhí)行
如:讓其他用戶都可以對111.txt文件有寫的權(quán)限齿尽,則執(zhí)行
chmod o+w 111.txt
解壓沽损、壓縮
.zip
解壓:unzip FileName.zip
壓縮:zip FileName.zip DirName
.rar
解壓:rar x FileName.rar foldername/
壓縮:rar a FileName.rar DirName
MAC下安裝rar、unrar: https://blog.csdn.net/apple9005/article/details/55048241
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包循头,不是壓縮C喙馈)
.gz
解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
壓縮:gzip FileName
.tar.gz 和 .tgz
解壓:tar zxvf FileName.tar.gz
壓縮:tar zcvf FileName.tar.gz DirName
.bz2
解壓1:bzip2 -d FileName.bz2
解壓2:bunzip2 FileName.bz2
壓縮: bzip2 -z FileName
.tar.bz2
解壓:tar jxvf FileName.tar.bz2
壓縮:tar jcvf FileName.tar.bz2 DirName
.bz
解壓1:bzip2 -d FileName.bz
解壓2:bunzip2 FileName.bz
壓縮:未知
.tar.bz
解壓:tar jxvf FileName.tar.bz
壓縮:未知
.Z
解壓:uncompress FileName.Z
壓縮:compress FileName
.tar.Z
解壓:tar Zxvf FileName.tar.Z
壓縮:tar Zcvf FileName.tar.Z DirName
.lha
解壓:lha -e FileName.lha
壓縮:lha -a FileName.lha FileName
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
.deb
解包:ar p FileName.deb data.tar.gz | tar zxf -
SCP
https://www.vpser.net/manage/scp.html
scp常用的一些參數(shù):
-v 和大多數(shù) linux 命令中的 -v 意思一樣 , 用來顯示進度 . 可以用來查看連接,認證卡骂,或是配置錯誤国裳。
-C 啟用壓縮選項,
-r 傳遞目錄下的所有內(nèi)容
-P 選擇端口 . 注意 -p 已經(jīng)被 rcp 使用 .
-4 強行使用 IPV4 地址 .
-6 強行使用 IPV6 地址 .
scp是安全的文件拷貝全跨,基于ssh的登錄缝左。
假定你想把本地計算機/home下的一個名為a.tar.tz的文件拷貝到遠程服務器192.168.0.2上的/home/tmp。而且你在遠程服務器 上的帳號名為root浓若∶焐迹可以用這個命令:
scp /home/a.tar.tz root@192.168.0.2:/home/tmp/
如果把文件從遠程機器拷貝到本機當前目錄用這個命令:
scp root@192.168.0.2:/home/a.tar.tz
拷貝遠程機器的整個目錄下的文件
scp -r root@192.168.0.2:/home/* ./
ubuntu下用命令行安裝軟件
sudo dpkg -I iptux.deb # 查看iptux.deb軟件包的詳細信息,包括軟件名稱挪钓、版本以及大小等(其中-I等價于--info)
sudo dpkg -c iptux.deb # 查看iptux.deb軟件包中包含的文件結(jié)構(gòu)(其中-c等價于--contents)
sudo dpkg -i iptux.deb # 安裝iptux.deb軟件包(其中-i等價于--install)
sudo dpkg -l iptux # 查看iptux軟件包的信息(軟件名稱可通過dpkg -I命令查看是越,其中-l等價于--list)
sudo dpkg -L iptux # 查看iptux軟件包安裝的所有文件(軟件名稱可通過dpkg -I命令查看,其中-L等價于--listfiles)
sudo dpkg -s iptux # 查看iptux軟件包的詳細信息(軟件名稱可通過dpkg -I命令查看碌上,其中-s等價于--status)
sudo dpkg -r iptux # 卸載iptux軟件包(軟件名稱可通過dpkg -I命令查看倚评,其中-r等價于--remove)
注:dpkg命令無法自動解決依賴關系。如果安裝的deb包存在依賴包馏予,則應避免使用此命令蔓纠,或者按照依賴關系順序安裝依賴包。
修改屏幕分辨率
856 xrandr --output HDMI-1 --mode 3840x2160_60.00
857 sudo xrandr --newmode "3840x2160_60.00" 712.75 3840 4160 4576 5312 2160 2163 2168 2237 -hsync +vsync
858 xrandr --output HDMI-1 --mode 3840x2160_60.00
859 xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/"
860 sudo xrandr --addmode HDMI-1 3840x2160_60.00
861 xrandr --output HDMI-1 --mode 3840x2160_60.00
862 cvt 3840 2160 30
863 sudo xrandr --newmode "3840x2160_30.00" 338.75 3840 4080 4488 5136 2160 2163 2168 2200 -hsync +vsync
864 xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/"
865 sudo xrandr --addmode HDMI-1 3840x2160_60.00
866 sudo xrandr --addmode HDMI-1 3840x2160_30.00
867 xrandr --output HDMI-1 --mode 3840x2160_30.00
868 cvt 3840 2160 25
869 sudo xrandr --newmode "3840x2160_25.00" 278.75 3840 4064 4464 5088 2160 2163 2168 2194 -hsync +vsync
870 sudo xrandr --addmode HDMI-1 3840x2160_25.00
871 xrandr --output HDMI-1 --mode 3840x2160_25.00
重啟后出錯:
1050 xrandr --dpi 168
1054 sudo gedit /etc/lightdm/lightdm.conf.d/lightdm.conf
1055 sudo xrandr --newmode "3840x2160_25.00" 278.75 3840 4064 4464 5088 2160 2163 2168 2194 -hsync +vsync
1056 sudo xrandr --addmode HDMI-1 3840x2160_25.00
1057 xrandr --output HDMI-1 --mode 3840x2160_25.00
簡化版:
sudo xrandr --newmode "3840x2160_25.00" 278.75 3840 4064 4464 5088 2160 2163 2168 2194 -hsync +vsync
sudo xrandr --addmode HDMI-1 3840x2160_25.00
文件系統(tǒng)分辨率問題吗蚌,殺掉文件系統(tǒng)進程:
top # 查看nautilus的進程號腿倚,或者:
ps aux | grep nautilus
kill -9 process_id