Linux常用命令大全(新手入門)

来源:https://www.cnblogs.com/Wenbin-hn/archive/2018/09/21/9684598.html
-Advertisement-
Play Games

系統信息: arch 顯示機器的處理器架構(1) uname -m 顯示機器的處理器架構(2) uname -r 顯示正在使用的內核版本 dmidecode -q 顯示硬體系統部件 - (SMBIOS / DMI) hdparm -i /dev/hda 羅列一個磁碟的架構特性 hdparm -tT ...


系統信息: 
  arch 顯示機器的處理器架構(1) 
  uname -m 顯示機器的處理器架構(2) 
  uname -r 顯示正在使用的內核版本 
  dmidecode -q 顯示硬體系統部件 - (SMBIOS / DMI) 
  hdparm -i /dev/hda 羅列一個磁碟的架構特性 
  hdparm -tT /dev/sda 在磁碟上執行測試性讀取操作 
  cat /proc/cpuinfo 顯示CPU info的信息 
  cat /proc/interrupts 顯示中斷 
  cat /proc/meminfo 校驗記憶體使用 
  cat /proc/swaps 顯示哪些swap被使用 
  cat /proc/version 顯示內核的版本 
  cat /proc/net/dev 顯示網路適配器及統計 
  cat /proc/mounts 顯示已載入的文件系統 
  lspci -tv 羅列 PCI 設備 
  lsusb -tv 顯示 USB 設備 
  date 顯示系統日期 
  cal 2007 顯示2007年的日曆表 
  date 041217002007.00 設置日期和時間 - 月日時分年.秒 
  clock -w 將時間修改保存到 BIOS 

關機 (系統的關機、重啟以及登出 ): 
  shutdown -h now 關閉系統(1) 
  init 0 關閉系統(2) 
  telinit 0 關閉系統(3) 
  shutdown -h hours:minutes & 按預定時間關閉系統 
  shutdown -c 取消按預定時間關閉系統 
  shutdown -r now 重啟(1) 
  reboot 重啟(2) 
  logout 註銷 

文件和目錄: 
  cd /home 進入 '/ home' 目錄' 
  cd .. 返回上一級目錄 
  cd ../.. 返回上兩級目錄 
  cd 進入個人的主目錄 
  cd ~user1 進入個人的主目錄 
  cd - 返回上次所在的目錄 
  pwd 顯示工作路徑 
  ls 查看目錄中的文件 
  ls -F 查看目錄中的文件 
  ls -l 顯示文件和目錄的詳細資料 
  ls -a 顯示隱藏文件 
  ls *[0-9]* 顯示包含數字的文件名和目錄名 
  tree 顯示文件和目錄由根目錄開始的樹形結構(1) 
  lstree 顯示文件和目錄由根目錄開始的樹形結構(2) 
  mkdir dir1 創建一個叫做 'dir1' 的目錄' 
  mkdir dir1 dir2 同時創建兩個目錄 
  mkdir -p /tmp/dir1/dir2 創建一個目錄樹 
  rm -f file1 刪除一個叫做 'file1' 的文件' 
  rmdir dir1 刪除一個叫做 'dir1' 的目錄' 
  rm -rf dir1 刪除一個叫做 'dir1' 的目錄並同時刪除其內容 
  rm -rf dir1 dir2 同時刪除兩個目錄及它們的內容 
  mv dir1 new_dir 重命名/移動 一個目錄 
  cp file1 file2 複製一個文件 
  cp dir/* . 複製一個目錄下的所有文件到當前工作目錄 
  cp -a /tmp/dir1 . 複製一個目錄到當前工作目錄 
  cp -a dir1 dir2 複製一個目錄 
  ln -s file1 lnk1 創建一個指向文件或目錄的軟鏈接 
  ln file1 lnk1 創建一個指向文件或目錄的物理鏈接 

文件搜索: 
  find / -name file1 從 '/' 開始進入根文件系統搜索文件和目錄 
  find / -user user1 搜索屬於用戶 'user1' 的文件和目錄 
  find /home/user1 -name \*.bin 在目錄 '/ home/user1' 中搜索帶有'.bin' 結尾的文件 
  find /usr/bin -type f -atime +100 搜索在過去100天內未被使用過的執行文件 
  find /usr/bin -type f -mtime -10 搜索在10天內被創建或者修改過的文件 
  find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 結尾的文件並定義其許可權 
  find / -xdev -name \*.rpm 搜索以 '.rpm' 結尾的文件,忽略光碟機、捷盤等可移動設備 
  locate \*.ps 尋找以 '.ps' 結尾的文件 - 先運行 'updatedb' 命令 
  whereis halt 顯示一個二進位文件、源碼或man的位置 
  which halt 顯示一個二進位文件或可執行文件的完整路徑 


磁碟空間: 
  df -h 顯示已經掛載的分區列表 
  ls -lSr |more 以尺寸大小排列文件和目錄 
  du -sh dir1 估算目錄 'dir1' 已經使用的磁碟空間' 
  du -sk * | sort -rn 以容量大小為依據依次顯示文件和目錄的大小 
  rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n 以大小為依據依次顯示已安裝的rpm包所使用的空間 (fedora, redhat類系統) 
  dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n 以大小為依據顯示已安裝的deb包所使用的空間 (ubuntu, debian類系統) 

用戶和群組: 
  groupadd group_name 創建一個新用戶組 
  groupdel group_name 刪除一個用戶組 
  groupmod -n new_group_name old_group_name 重命名一個用戶組 
  useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 創建一個屬於 "admin" 用戶組的用戶 
  useradd user1 創建一個新用戶 
  userdel -r user1 刪除一個用戶 ( '-r' 排除主目錄) 
  usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用戶屬性 
  passwd 修改口令 
  passwd user1 修改一個用戶的口令 (只允許root執行) 
  chage -E 2005-12-31 user1 設置用戶口令的失效期限 
  pwck 檢查 '/etc/passwd' 的文件格式和語法修正以及存在的用戶 
  grpck 檢查 '/etc/passwd' 的文件格式和語法修正以及存在的群組 
  newgrp group_name 登陸進一個新的群組以改變新創建文件的預設群組 

文件的許可權 - 使用 "+" 設置許可權,使用 "-" 用於取消: 
  ls -lh 顯示許可權 
  ls /tmp | pr -T5 -W$COLUMNS 將終端劃分成5欄顯示 
  chmod ugo+rwx directory1 設置目錄的所有人(u)、群組(g)以及其他人(o)以讀(r )、寫(w)和執行(x)的許可權 
  chmod go-rwx directory1 刪除群組(g)與其他人(o)對目錄的讀寫執行許可權 
  chown user1 file1 改變一個文件的所有人屬性 
  chown -R user1 directory1 改變一個目錄的所有人屬性並同時改變改目錄下所有文件的屬性 
  chgrp group1 file1 改變文件的群組 
  chown user1:group1 file1 改變一個文件的所有人和群組屬性 
  find / -perm -u+s 羅列一個系統中所有使用了SUID控制的文件 
  chmod u+s /bin/file1 設置一個二進位文件的 SUID 位 - 運行該文件的用戶也被賦予和所有者同樣的許可權 
  chmod u-s /bin/file1 禁用一個二進位文件的 SUID位 
  chmod g+s /home/public 設置一個目錄的SGID 位 - 類似SUID ,不過這是針對目錄的 
  chmod g-s /home/public 禁用一個目錄的 SGID 位 
  chmod o+t /home/public 設置一個文件的 STIKY 位 - 只允許合法所有人刪除文件 
  chmod o-t /home/public 禁用一個目錄的 STIKY 位 

文件的特殊屬性 - 使用 "+" 設置許可權,使用 "-" 用於取消: 
  chattr +a file1 只允許以追加方式讀寫文件 
  chattr +c file1 允許這個文件能被內核自動壓縮/解壓 
  chattr +d file1 在進行文件系統備份時,dump程式將忽略這個文件 
  chattr +i file1 設置成不可變的文件,不能被刪除、修改、重命名或者鏈接 
  chattr +s file1 允許一個文件被安全地刪除 
  chattr +S file1 一旦應用程式對這個文件執行了寫操作,使系統立刻把修改的結果寫到磁碟 
  chattr +u file1 若文件被刪除,系統會允許你在以後恢復這個被刪除的文件 
  lsattr 顯示特殊的屬性 

打包和壓縮文件: 
  bunzip2 file1.bz2 解壓一個叫做 'file1.bz2'的文件 
  bzip2 file1 壓縮一個叫做 'file1' 的文件 
  gunzip file1.gz 解壓一個叫做 'file1.gz'的文件 
  gzip file1 壓縮一個叫做 'file1'的文件 
  gzip -9 file1 最大程度壓縮 
  rar a file1.rar test_file 創建一個叫做 'file1.rar' 的包 
  rar a file1.rar file1 file2 dir1 同時壓縮 'file1', 'file2' 以及目錄 'dir1' 
  rar x file1.rar 解壓rar包 
  unrar x file1.rar 解壓rar包 
  tar -cvf archive.tar file1 創建一個非壓縮的 tarball 
  tar -cvf archive.tar file1 file2 dir1 創建一個包含了 'file1', 'file2' 以及 'dir1'的檔案文件 
  tar -tf archive.tar 顯示一個包中的內容 
  tar -xvf archive.tar 釋放一個包 
  tar -xvf archive.tar -C /tmp 將壓縮包釋放到 /tmp目錄下 
  tar -cvfj archive.tar.bz2 dir1 創建一個bzip2格式的壓縮包 
  tar -xvfj archive.tar.bz2 解壓一個bzip2格式的壓縮包 
  tar -cvfz archive.tar.gz dir1 創建一個gzip格式的壓縮包 
  tar -xvfz archive.tar.gz 解壓一個gzip格式的壓縮包 
  zip file1.zip file1 創建一個zip格式的壓縮包 
  zip -r file1.zip file1 file2 dir1 將幾個文件和目錄同時壓縮成一個zip格式的壓縮包 
  unzip file1.zip 解壓一個zip格式壓縮包 

查看文件內容: 
  cat file1 從第一個位元組開始正向查看文件的內容 
  tac file1 從最後一行開始反向查看一個文件的內容 
  more file1 查看一個長文件的內容 
  less file1 類似於 'more' 命令,但是它允許在文件中和正向操作一樣的反向操作 
  head -2 file1 查看一個文件的前兩行 
  tail -2 file1 查看一個文件的最後兩行 
  tail -f /var/log/messages 實時查看被添加到一個文件中的內容 

文本處理: 
  cat file1 | command( sed, grep, awk, grep, etc...) > result.txt 合併一個文件的詳細說明文本,並將簡介寫入一個新文件中 
  cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt 合併一個文件的詳細說明文本,並將簡介寫入一個已有的文件中 
  grep Aug /var/log/messages 在文件 '/var/log/messages'中查找關鍵詞"Aug" 
  grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"開始的辭彙 
  grep [0-9] /var/log/messages 選擇 '/var/log/messages' 文件中所有包含數字的行 
  grep Aug -R /var/log/* 在目錄 '/var/log' 及隨後的目錄中搜索字元串"Aug" 
  sed 's/stringa1/stringa2/g' example.txt 將example.txt文件中的 "string1" 替換成 "string2" 
  sed '/^$/d' example.txt 從example.txt文件中刪除所有空白行 
  sed '/ *#/d; /^$/d' example.txt 從example.txt文件中刪除所有註釋和空白行 
  echo 'esempio' | tr '[:lower:]' '[:upper:]' 合併上下單元格內容 
  sed -e '1d' result.txt 從文件example.txt 中排除第一行 
  sed -n '/stringa1/p' 查看只包含辭彙 "string1"的行 
  sed -e 's/ *$//' example.txt 刪除每一行最後的空白字元 
  sed -e 's/stringa1//g' example.txt 從文檔中只刪除辭彙 "string1" 並保留剩餘全部 
  sed -n '1,5p;5q' example.txt 查看從第一行到第5行內容 
  sed -n '5p;5q' example.txt 查看第5行 
  sed -e 's/00*/0/g' example.txt 用單個零替換多個零 
  cat -n file1 標示文件的行數 
  cat example.txt | awk 'NR%2==1' 刪除example.txt文件中的所有偶數行 
  echo a b c | awk '{print $1}' 查看一行第一欄 
  echo a b c | awk '{print $1,$3}' 查看一行的第一和第三欄 
  paste file1 file2 合併兩個文件或兩欄的內容 
  paste -d '+' file1 file2 合併兩個文件或兩欄的內容,中間用"+"區分 
  sort file1 file2 排序兩個文件的內容 
  sort file1 file2 | uniq 取出兩個文件的並集(重覆的行只保留一份) 
  sort file1 file2 | uniq -u 刪除交集,留下其他的行 
  sort file1 file2 | uniq -d 取出兩個文件的交集(只留下同時存在於兩個文件中的文件) 
  comm -1 file1 file2 比較兩個文件的內容只刪除 'file1' 所包含的內容 
  comm -2 file1 file2 比較兩個文件的內容只刪除 'file2' 所包含的內容 
  comm -3 file1 file2 比較兩個文件的內容只刪除兩個文件共有的部分 

字元設置和文件格式轉換: 
  dos2unix filedos.txt fileunix.txt 將一個文本文件的格式從MSDOS轉換成UNIX 
  unix2dos fileunix.txt filedos.txt 將一個文本文件的格式從UNIX轉換成MSDOS 
  recode ..HTML < page.txt > page.html 將一個文本文件轉換成html 
  recode -l | more 顯示所有允許的轉換格式 

文件系統分析: 
  badblocks -v /dev/hda1 檢查磁碟hda1上的壞磁塊 
  fsck /dev/hda1 修複/檢查hda1磁碟上linux文件系統的完整性 
  fsck.ext2 /dev/hda1 修複/檢查hda1磁碟上ext2文件系統的完整性 
  e2fsck /dev/hda1 修複/檢查hda1磁碟上ext2文件系統的完整性 
  e2fsck -j /dev/hda1 修複/檢查hda1磁碟上ext3文件系統的完整性 
  fsck.ext3 /dev/hda1 修複/檢查hda1磁碟上ext3文件系統的完整性 
  fsck.vfat /dev/hda1 修複/檢查hda1磁碟上fat文件系統的完整性 
  fsck.msdos /dev/hda1 修複/檢查hda1磁碟上dos文件系統的完整性 
  dosfsck /dev/hda1 修複/檢查hda1磁碟上dos文件系統的完整性 

初始化一個文件系統: 
  mkfs /dev/hda1 在hda1分區創建一個文件系統 
  mke2fs /dev/hda1 在hda1分區創建一個linux ext2的文件系統 
  mke2fs -j /dev/hda1 在hda1分區創建一個linux ext3(日誌型)的文件系統 
  mkfs -t vfat 32 -F /dev/hda1 創建一個 FAT32 文件系統 
  fdformat -n /dev/fd0 格式化一個軟盤 
  mkswap /dev/hda3 創建一個swap文件系統 

SWAP文件系統: 
  mkswap /dev/hda3 創建一個swap文件系統 
  swapon /dev/hda3 啟用一個新的swap文件系統 
  swapon /dev/hda2 /dev/hdb3 啟用兩個swap分區 

備份: 
  dump -0aj -f /tmp/home0.bak /home 製作一個 '/home' 目錄的完整備份 
  dump -1aj -f /tmp/home0.bak /home 製作一個 '/home' 目錄的互動式備份 
  restore -if /tmp/home0.bak 還原一個互動式備份 
  rsync -rogpav --delete /home /tmp 同步兩邊的目錄 
  rsync -rogpav -e ssh --delete /home ip_address:/tmp 通過SSH通道rsync 
  rsync -az -e ssh --delete ip_addr:/home/public /home/local 通過ssh和壓縮將一個遠程目錄同步到本地目錄 
  rsync -az -e ssh --delete /home/local ip_addr:/home/public 通過ssh和壓縮將本地目錄同步到遠程目錄 
  dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通過ssh在遠程主機上執行一次備份本地磁碟的操作 
  dd if=/dev/sda of=/tmp/file1 備份磁碟內容到一個文件 
  tar -Puf backup.tar /home/user 執行一次對 '/home/user' 目錄的互動式備份操作 
  ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 通過ssh在遠程目錄中複製一個目錄內容 
  ( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通過ssh在遠程目錄中複製一個本地目錄 
  tar cf - . | (cd /tmp/backup ; tar xf - ) 本地將一個目錄複製到另一個地方,保留原有許可權及鏈接 
  find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 從一個目錄查找並複製所有以 '.txt' 結尾的文件到另一個目錄 
  find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 '.log' 結尾的文件並做成一個bzip包 
  dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一個將 MBR (Master Boot Record)內容複製到軟盤的動作 
  dd if=/dev/fd0 of=/dev/hda bs=512 count=1 從已經保存到軟盤的備份中恢復MBR內容 

光碟: 
  cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一個可覆寫的光碟內容 
  mkisofs /dev/cdrom > cd.iso 在磁碟上創建一個光碟的iso鏡像文件 
  mkisofs /dev/cdrom | gzip > cd_iso.gz 在磁碟上創建一個壓縮了的光碟iso鏡像文件 
  mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd 創建一個目錄的iso鏡像文件 
  cdrecord -v dev=/dev/cdrom cd.iso 刻錄一個ISO鏡像文件 
  gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻錄一個壓縮了的ISO鏡像文件 
  mount -o loop cd.iso /mnt/iso 掛載一個ISO鏡像文件 
  cd-paranoia -B 從一個CD光碟轉錄音軌到 wav 文件中 
  cd-paranoia -- "-3" 從一個CD光碟轉錄音軌到 wav 文件中(參數-3) 
  cdrecord --scanbus 掃描匯流排以識別scsi通道 
  dd if=/dev/hdc | md5sum 校驗一個設備的md5sum編碼,例如一張 CD 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 添加引用. 綁定命令. ...
  • //定義原子變數 int mituxInt = -1; //原子級別+1值,如果>=0,說明當前鎖為空,可以執行,避免重覆執行 if (Interlocked.Increment(ref mituxInt) <= 0) { if (_serverThread == null || (_serverT... ...
  • 終本案件:http://zxgk.court.gov.cn/zhongben/new_index.html 綜合執行人:http://zxgk.court.gov.cn/zhixing/new_index.html 裁判文書:http://wenshu.court.gov.cn 終本案件和執行人爬取 ...
  • 先看看為什麼要用鎖 需求:多線程處理值的加減 static int NoLockData = 0; public static void NoLockNormalTest(int threadIndex) { while (true)//這是腦殘設計,while(true) { //lock (lo ...
  • 圖表能夠很直觀的表現數據在某個時間段的變化趨勢,或者呈現數據的整體和局部之間的相互關係,相較於大篇幅的文本數據,圖表更增加了我們分析數據時選擇的多樣性,是我們挖掘數據背後潛在價值的一種更為有效地方式。在做數據彙報時,常用到PPT幻燈片來輔助工作,下麵的示例中將演示如何通過C#編程在PPT幻燈片中創建 ...
  • 首先我們知道隊列是先進先出的機制,所以在處理併發是個不錯的選擇。然後就寫兩個隊列的簡單應用。 Queue 命名空間 命名空間:System.Collections,不在這裡做過多的理論解釋,這個東西非常的好理解。 可以看下官方文檔:https://docs.microsoft.com/zh-cn/d ...
  • 1、配置代理 1、 開發機開啟 Shadowsocks,允許其他設備連入 2、 臨時開代理命令 (根據實際修改IP和埠) export http_proxy="http://10.5.21.127:1080" export https_proxy="http://10.5.21.127:1080" ...
  • FluentApi總結 1.FluentApi簡介 EF中的FluentApi作用是通過配置領域類來覆蓋預設的約定。在EF中,我們通過DbModelBuilder類來使用FluentApi,它的功能比數據註釋屬性更強大。 使用FluentApi時,我們在context類的OnModelCreatin ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...