1. 程式人生 > 實用技巧 >100以內整數四則運算

100以內整數四則運算

top:檢視程序動態資訊,記憶體,執行緒等

grep:查詢檔案中的字串head:

檢視檔案的前N行 ,head -2 檔名

free: 檢視記憶體使用

cut:擷取第幾列,必須指定引數-b、-c 或 -f 標誌之一。

  -b :以位元組為單位進行分割。這些位元組位置將忽略多位元組字元邊界,除非也指定了 -n 標誌。
  -c :以字元為單位進行分割。
  -d :自定義分隔符,預設為製表符。

  -f :與-d一起使用,指定顯示哪個區域。
ln:硬連結。ln -s:軟連結,原始檔被刪除軟連結無效

date:檢視當前主機的時間

ps:檢視程序, ps aux| grep bash :過濾出某一個程序

  ps顯示和當前終端有關的程序資訊

  ps -u byhy顯示byhy使用者所建立的程序資訊

  ps -f詳細顯示每個程序資訊

  ps -e顯示所有正在執行的程序資訊

  ps -ef顯示當前系統所有的程序

  ps –ef|grep python查詢python程序

kill:殺死程序 ,kill PID

netstat:顯示各種網路相關的資訊

  -a(all)顯示所有選項,預設不顯示LISTEN相關

  -t(tcp)僅顯示tcp相關選項

  -u(udp)僅顯示udp相關選項

  -n不顯示埠協議名,顯示埠數字

  -l只顯示 Listen (監聽) 的狀態埠

  -p顯示建立相關連結的程序PID

  -r顯示路由資訊,路由表

netstat -tunlp | grep埠號:檢視埠號使用情況,佔用情況

-t :僅顯示tcp相關的
-u:僅顯示udp相關的
-n:拒絕顯示別名,能顯示數字的全部轉化為數字
-l:僅列出有在監聽的服務狀態
-p:顯示相關連結的程式名

ssh 遠端ssh連線某主機

  ssh 使用者@ip地址

  $ ssh user1@192.168.1.12

su 切換使用者

  su +使用者名稱 #切換到使用者
  sudo +命令 #在root使用者下執行一條命令
  sudo su #下面的命令都用root使用者執行
  su root #CentOS下切換root使用者的一種方式

tail -f 滾動檢視日誌

  tail -f tet 滾動檢視名字為tet的文件內容,不進入編輯介面
  tail -f 1000 tet 滾動檢視最後1000行文件內容

cat 檢視檔案內容

  cat +目標文字 #普通輸出
  cat -n 目標文字 #開頭顯示行號
  cat -E 目標文字 #以$結束
  cat -ns 目標文字 #去空行,加行號

  tac +目標文字 #反方向檢視檔案內容

find 查詢檔案/目錄

cd (change directory)切換目錄

  • cd #root根目錄
  • cd / #系統根目錄
  • cd ../../ #返回上上一層目錄

ls/dir (list)列出目錄下檔案

  • ls -a (--all) #列出所有檔案
  • ls -d (--directory) #列出目錄
  • ls -i (--inode) #顯示每個檔案的inode 號(索引節點號,可以理解為檔案的儲存地址)
  • ls -l (-long) #較長格式列出
  • ls -lh (--human-readable)與-l #人性化閱讀輸出

cp (copy)拷貝檔案

  cp -p +檔名 路徑 #將檔案拷貝到指定路徑,並且保留原檔案的屬性 例:cp -p test.rb /home/test 將test.rb拷貝到test目錄
  cp -r +源目錄名 目標目錄名 #將某目錄copy到目標目錄下 例:cp -r Dir/ /home/test 將Dir目錄copy到test目錄下
  cp -fr +源目錄下檔名 目標目錄名 #將源目錄下檔名檔案強制copy到目標目錄下 例:cp -fr Dir/* /home/test 將Dir下面的所有檔案強制copy到test目錄下
  cp test.rb{,.bak} #備份test.rb,並在尾部加上.bak字尾
  cp -u -v file1 file2 #複製檔案,只有原始檔較目的檔案的修改時間新時,才複製檔案
  cp file1 file2 #將檔案file1複製成檔案file2
  cp -i file1 file2 #採用互動方式將檔案file1複製成檔案file2
  cp -p a.txt tmp/ #複製時保留檔案屬性

  例子:

  cp test test1 複製一個test檔案命名為test1
  cp -rtest test1 複製test資料夾命名為test1

chmod 改變檔案/目錄的許可權

  chmod ugo+r 檔案 #所有人皆可讀取
  chmod a+r 檔案 #所有人皆可讀取
  chmod ug+w,o-w 檔案 #設為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入
  chmod u+x 檔案 #建立者擁有執行許可權
  chmod a-x 檔案 #收回所有使用者的對檔案的執行許可權
  chmod 777 檔案 #所有人可讀,寫,執行

clear清屏 

mv (move)移動或更名現有的檔案或目錄

  mv -b (--backup)+ 目標檔案或路徑   #移動到目標目錄,若覆蓋檔案,則先備份
  mv -f (--force )+ 目標檔案或路徑 #強制覆蓋,沒有目標檔案時相當於備份
  mv -i (--interactive)+ 目標檔案或路徑  #覆蓋前先行詢問使用者
  mv -u (--update)+ 目標檔案或路徑   #在移動或更改檔名時,若目標檔案已存在,且其檔案日期比原始檔新,則不覆蓋目標檔案。

  例子:

  mv test /root 將test檔案轉移到root路徑下

  mv test /root/test1將test檔案轉移到root 路徑下並重命名為test1

dirs 顯示目錄記錄

  dirs +n #顯示從左邊算起第n筆的目錄。
  dirs -n #退一級目錄的路徑
  dirs -l #顯示目錄完整的記錄。

touch 建立檔案

  touch +檔名 #將檔案的建立時間改為當前時間,檔案不存在則建之 例:touch test.php 將test.php的檔案時間改為,當前時間,檔案不存在建之
  touch -c -t 時間 +檔名 #將檔案時間改為特定時間 例:touch -c -t 05061803 test.php 將檔案時間改為,5月6日18點3分
  touch -r #參考檔名 目標檔名 將目標檔案檔案改成跟參考檔案一樣 例: touch -r abc.php test.php 將test.php檔案改成跟abc.php一樣
  touch d 時間 檔名 #將檔案日期改為特定天數時間 例:touch -d "2 days ago" test.php 將test.php日期修改為2天以前

  例子:
  touch test 在當前目錄建立名為test的檔案

mkdir (make directories) 建立目錄

  mkdir +檔名 #建立目錄
  mkdir -m (--mode)+a=許可權+目錄名 #設定目錄許可權(rwx)例:mkdir -m a=rw bbb 建立目錄bbb,許可權為rw(a是模式固定寫法)
  mkdir -p (--parents)+父目錄/子目錄 #若所要建立目錄的上層目錄目前尚未建立,則會一併建立上層目錄 例1:mkdir -p 111/abc 建立abc目錄,111為子目錄 例2:mkdir -p /ms/{sales,hr,web} 建立一個名為/ms的目錄,其中有sales、hr、web的子目錄
  mkdir -pv +目錄名 #批量建立目錄 例:mkdir -pv /tmp/test/{a1,b1}/{c1,d1}
  mkdir -v (--verbose) #建立目錄,並顯示詳細資訊

  例子:mkdir a 在當前目錄建立名字為a的資料夾

rmdir 刪除空目錄

  rmdir +目錄名 #刪除目錄,注意必須是空目錄
  rmdir -p +目錄/目錄/目錄 #刪除指定目錄及其上級資料夾 例:rmdir -p a/b/c

rm (remove)刪除檔案或目錄

  rm -d (-directory) #直接把欲刪除的目錄的硬連線資料刪成0,刪除該目錄
  rm -f (--force) #強制刪除檔案或目錄
  rm -i (interactive) #刪除既有檔案或目錄之前先詢問使用者
  rm -r或-R (--recursive) #遞迴刪除,防止目錄裡面有檔案不能刪除

  例子:rm test1 刪除test1檔案

  rm test/a 刪除test裡面的a檔案

  rm -f test1 強制刪除test1,不會有進一步的提示

  rm -r test/ 刪除名為test的資料夾

  rm -r test/a 刪除test下的a資料夾

  rm -rf test/ 強制刪除名為test的資料夾

echo 顯示一行文字 (可使用萬用字元,正則表示式)

  echo +文字內容 #顯示文字
  echo -n +文字內容 #顯示不帶尾部回車符的文字
  echo -e +"文字內容" #允許使用轉義字元輸出文字 例:echo -e "a\nb\nc"
  echo +新文字內容 > 檔名 #重定向,清除原始檔所有內容,並插入單行 例:echo "hello word" >jackonill.txt
  echo +新文字內容 >> 檔名 #追加重定向,在原有檔案基礎上末尾插入一行文字逐行

history 檢視使用者歷史操作

  history #檢視所有執行過的命令
  history n #顯示n條歷史記錄
  !n #執行編號歷史是n的命令,注意感嘆號 例:!4 執行編號是4的命令
  history -c #清除歷史記錄

id/who 檢視使用者

  man +命令 #檢視某命令手冊

  id/who #顯示當前使用者的資訊
  id 某使用者 #顯示某使用者的資訊
  who -a #顯示目前登入系統的使用者詳細資訊
  who -b #上次系統啟動時間

man 檢視幫助文件

  man +命令 #檢視某命令手冊

vi/vim(vi增強工具) 編輯文字

  vim 文字名 #編輯某文字
  set nu(number) #vi/vim模式下顯示行數
  進入文件後,點選 i 進入insert模式,在文件中輸入文字,在當前游標處編輯,文件下面會有insert的標識
  進入文件後,點選 a 可以編輯游標下一位
  退出編輯狀態後,輸入Shift+g即可立刻跳轉到本文件最後
  點選esc按鈕可以退出編輯狀態
  :輸入冒號可以輸入文件相關的指令
  wq 表示儲存並退出
  q 表示退出
  q! 強制退出,不儲存修改的內容

  退出編輯狀態,點選 x 鍵可以刪除1個字元,一次有效
  退出編輯狀態,點選 dd 可以刪除一行字元
  退出編輯狀態,點選 r + 要替換的內容,即可將當前內容替換

ifconfig/ip addr(CentOS) 顯示或設定網路裝置

  ifconfig #處於啟用狀態的網路介面
  ifconfig -a #所有配置的網路介面,不論其是否啟用

ping 檢測主機(127.0.0.1為主機,可以檢驗網絡卡,用於檢測內網

  ifconfig #處於啟用狀態的網路介面
  ifconfig -a #所有配置的網路介面,不論其是否啟用

tar (tape archive)解壓縮檔案

  -Cdir:指定壓縮/解壓縮的目錄dir

  壓縮:tar-jcv-ffilename.tar.bz2要被處理的檔案或目錄名稱

  查詢:tar-jtv-ffilename.tar.bz2

  解壓:tar-jxv-ffilename.tar.bz2-C欲解壓縮的目錄

  tar -czvf +壓縮檔名 原始檔名 #將a1檔案打包並且壓縮 例:tar -czvf a1 g.gz

  tar zxvf +目標檔案 #解壓 例: tar zxvf ar_test.tar.gz 解壓ar_test.tar.gz壓縮包

date 顯示系統時間

  date #列印時間
  date -s +時間 #設定時間 例:date -s '14:35:40'
  date +%m%d%H%M%S #按照格式輸出時間

history 檢視使用者歷史操作

  history #檢視所有執行過的命令
  history n #顯示n條歷史記錄
  !n #執行編號歷史是n的命令,注意感嘆號 例:!4 執行編號是4的命令
  history -c #清除歷史記錄

sleep 休眠

  sleep n;命令 #n秒後,執行某命令,注意分號

shutdown/poweroff/halt 關機/重啟命令

  shutdown -h now或/poweroff或halt #立刻關機
  shutdown -h 時間 #在特定時間關機
  shutdown -H now #立刻停機
  shutdown –r now或reboot #重啟

apt-get/yum/dnf 下載軟體包命令

  apt-get install 軟體/包 #安裝包
  apt-get update 軟體/包 #更新軟體
  apt-get remove 軟體/包 #解除安裝軟體
  apt-get upgrade #更新已安裝的包
  apt-get clean #清理無用的包

diff 比較兩個檔案的差異

  diff 檔案1 檔案2 #比較二個檔案的不同
  diff 資料夾1/ 資料夾2/ #比較二個資料夾的不同
  diff -r 資料夾1/ 資料夾2/ #遞迴比較二個資料夾的不同

df 報告檔案系統磁碟空間的使用情況

  df #列出各檔案系統的磁碟空間使用情況
  df -a #顯示所有檔案系統的磁碟使用情況
  df -ia #列出各檔案系統ionde使用情況
  df -h (--human)#目前磁碟空間和使用情況 以更易讀的方式顯示

lsof (list open files)是一個列出當前系統開啟檔案的工具

  lsof #列出所有正在使用檔案
  lsof 檔名 #找出誰在使用某個檔案
  lsof -c 程式 #查詢某個程式開啟的所有檔案
  lsof -i #列出所有網路連線
  lsof -i TCP #列出所有TCP網路連線
  lsof -i:埠號 #找到使用某個埠的程序