linux - 常用命令(一直更新)

修改文件權(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 -efps 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 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蚯妇,隨后出現(xiàn)的幾起案子敷燎,更是在濱河造成了極大的恐慌,老刑警劉巖箩言,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件硬贯,死亡現(xiàn)場離奇詭異,居然都是意外死亡陨收,警方通過查閱死者的電腦和手機饭豹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門鸵赖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拄衰,你說我怎么就攤上這事它褪。” “怎么了翘悉?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵茫打,是天一觀的道長。 經(jīng)常有香客問我妖混,道長老赤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任制市,我火速辦了婚禮抬旺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘祥楣。我一直安慰自己嚷狞,他們只是感情好,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布荣堰。 她就那樣靜靜地躺著床未,像睡著了一般。 火紅的嫁衣襯著肌膚如雪振坚。 梳的紋絲不亂的頭發(fā)上薇搁,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天,我揣著相機與錄音渡八,去河邊找鬼啃洋。 笑死,一個胖子當著我的面吹牛屎鳍,可吹牛的內(nèi)容都是我干的宏娄。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼逮壁,長吁一口氣:“原來是場噩夢啊……” “哼孵坚!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起窥淆,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤卖宠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后忧饭,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扛伍,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年词裤,在試婚紗的時候發(fā)現(xiàn)自己被綠了刺洒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鳖宾。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖逆航,靈堂內(nèi)的尸體忽然破棺而出鼎文,到底是詐尸還是另有隱情,我是刑警寧澤纸泡,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站赖瞒,受9級特大地震影響女揭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜栏饮,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一吧兔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧袍嬉,春花似錦境蔼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至罐监,卻和暖如春吴藻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弓柱。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工沟堡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人矢空。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓航罗,卻偏偏與公主長得像,于是被迫代替她去往敵國和親屁药。 傳聞我的和親對象是個殘疾皇子粥血,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容