主頁 > 後端開發 > 01Linux常用指令

01Linux常用指令

2021-09-29 08:01:15 後端開發

所有的指令不要強制記憶,選項要多多查一下,多多練習使用即可,

文章目錄

  • 一、Linux簡單介紹
    • 1.1.Linux的目錄結構
    • 1.2.常見的具體目錄結構
      • /bin
      • /sbin
      • /root
      • /lib
      • /etc
      • /usr
      • /boot
      • /tmp
      • /dev
      • /media
      • /mnt
      • /opt
      • /usr/local
      • /var
    • 1.3.路徑
    • 1.4.空檔案的大小
  • 二、常用的指令
    • whoami
    • ls
    • pwd
    • cd
    • touch
    • mkdir
    • rmdir
    • rm
    • man
    • cp
    • mv
    • echo
    • cat
    • tac
    • more
    • less
    • head
    • tail
    • date
    • cal
    • find
    • which
    • grep
    • zip壓縮和unzip解壓
    • tar
    • bc
    • uname
    • file
    • clear
  • 三、高頻使用的按鍵(熱鍵)
  • 四、關機和重啟命令
  • 五、擴展命令
  • 六、shell命令以及運行原理


一、Linux簡單介紹

Linux是一種自由和開放源代碼的類UNIX作業系統,該作業系統的內核由林納斯托瓦茲在1991年首次發布,之后,在加上用戶空間的應用程式之后,就成為了Linux作業系統,嚴格來講, Linux只是作業系統內核本身,但通常采用“Linux內核”來表達該意思,而Linux則常用來指基于Linux內核的完整作業系統,它包括GUI組件和許多其他實用工具,

linux是一個開源、免費作業系統,其穩定性、安全性、處理多并發已經得到業界的認可,目前很多企業級的專案(c/c++/php/python/java/go)都會部署到Linux/unix系統上,
目前市面上常見的作業系統有Linux、Windows、iOS、Android等,

linux在服務器領域的應用是最強的,因為linux免費、穩定、高效等特點在這里得到了很好的體現,尤其在一些高端領域(C++/Java等)尤為廣泛,
同時在嵌入式領域、個人桌面領域、大資料/云計算也有廣泛的應用,

Linux安裝:Linux可以采用虛擬機或云服務器的方式來運行,并用Xshell遠程登錄,網上教程很多,在此省略,

在這里插入圖片描述

1.1.Linux的目錄結構

不同于Windows,linux的檔案系統是采用級層式的樹狀目錄結構,在此結構中的最上層是根目錄“/”,然后在此目錄下再創建其他的目錄,這些目錄的名字是不可以更改的,
在這里插入圖片描述

目錄結構和命令列對Linux的學習非常重要,因為在實際生產中是沒有圖形化界面的,只有一個控制臺視窗,如果對目錄結構不熟悉很容易蒙圈,

Linux下一切皆是檔案,對于硬體,Linux也會映射成檔案來進行管理,

1.2.常見的具體目錄結構

/bin

是binary的縮寫,這個目錄下存放著Linux下最經常使用的命令,

/sbin

s就是super user的意思,這個目錄下存放的是權限比較高的指令,也就是系統管理員(root)使用的指令,

/root

該目錄為系統管理員,也稱作超級權限者(root)的用戶主目錄,

/lib

系統開機所需要最基本的動態連接共享庫,其作用類似于Windows里的DLL檔案,幾乎所有的應用程式都需要用到這些共享庫,

/etc

所有的系統管理所需要的組態檔和子目錄,安裝的所有程式的組態檔默認放在這個目錄下面,

/usr

這是一個非常重要的目錄,用戶的很多應用程式和檔案都放在這個目錄下,類似與windows下的program files目錄,

/boot

存放的是啟動Linux時使用的一些核心檔案,包括一些連接檔案以及鏡像檔案

/tmp

用來存放一些臨時檔案,

/dev

類似于windows的設備管理器,把所有的硬體用檔案的形式存盤

/media

linux系統會自動識別一些設備,例如U盤、光驅等等,當識別I后,linux會把識別的設備掛載到這個目錄下.

/mnt

系統提供該目錄是為了讓用戶臨時掛載別的檔案系統的,我們可以將外部的存盤掛載在/mnt/上,然后進入該目錄就可以查看里的內容了,

/opt

這是給主機額外安裝軟體所存放的目錄,可以將安裝檔案放在這個目錄中,便于程式的管理,默認為空,

/usr/local

這是另一個給主機額外安裝軟體所安裝的目錄,一般是通過編譯原始碼方式安裝的程式,

/var

這個目錄中存放著在不斷擴充著的東西,習慣將經常被修改的目錄放在這個目錄下,包括各種日志檔案,

1.3.路徑

在Linux下目錄用分割符/分隔開來,就像Windows下用\將檔案夾分割開來,

在這里插入圖片描述
在這里插入圖片描述

同時,Linux下也存在絕對路徑和相對路徑,任何一個目錄都有從根目錄開始的唯一的絕對路徑,而相對路徑是有多個的,

1.4.空檔案的大小

空檔案也是占用磁盤空間的,檔案由檔案內容和檔案屬性(檔案大小,檔案名稱等)組成,對于一個空檔案,檔案屬性是存在的,所以這個空檔案也會占用磁盤空間,
所以,即使一個檔案的大小為0,它也是要占磁盤空間的,


二、常用的指令

whoami

語法: whoami
功能: 顯示用戶當前的身份,
在這里插入圖片描述

ls

ls的作用是顯示當前目錄的檔案和子目錄
語法: ls?選項?目錄或檔案
功能: 對于目錄,該命令列出該目錄下的所有子目錄與檔案;對于檔案,該命令列出檔案名以及其他資訊,
常用選項:

  • -a 列出目錄下的所有檔案,包括以 . 開頭的隱含檔案,

在這里插入圖片描述
每個目錄下默認存在兩個隱含檔案 . 和 . . ( . 代表當前目錄 . . 代表上級目錄),

  • -d 將目錄像檔案一樣顯示,而不是顯示其下的檔案, 如:ls –d 指定目錄

在這里插入圖片描述

  • -i 輸出檔案的 i 節點的索引資訊,

在這里插入圖片描述

  • -l 列出檔案的詳細資訊,
    ls -l可以簡寫為ll

在這里插入圖片描述

  • -n 用數字的 UID,GID 代替名稱,
    UID和GID相當于用戶和所屬組的身份資訊,就像身份證一樣,在系統中是唯一的,

在這里插入圖片描述

  • -F 在每個檔案名后附上一個字符以說明該檔案的型別,(“*”表示可執行的普通檔案,“/”表示目錄,“@”表示符號鏈接,“|”表示FIFOs,“=”表示套接字sockets)

在這里插入圖片描述

  • -r 對目錄反向排序,

在這里插入圖片描述

  • -t 以時間排序,
    在這里插入圖片描述

在t前面加r即可實作正序排序
在這里插入圖片描述

  • -s 在檔案名前輸出該檔案的大小,
    在這里插入圖片描述

  • -R 列出所有子目錄下的檔案,
    在這里插入圖片描述

  • -1 一行只輸出一個檔案,
    在這里插入圖片描述

pwd

語法: pwd

功能:顯示用戶當前從根目錄開始的所在目錄
在這里插入圖片描述

cd

語法:cd 目錄名
功能:改變作業目錄,將當前作業目錄改變到指定的目錄下,

目錄名可以按照絕對路徑或者相對路徑來寫,例如:

cd .. : 回傳上一級目錄
/home/hjl/9.24_test : 絕對路徑
cd ../9.25_test/ : 相對路徑 
cd ~:進入用戶家目錄(主作業目錄)
cd -:回傳最近訪問目錄
普通用戶的家目錄(主作業目錄)默認為 /home/xxx,root用戶的家目錄(主作業目錄)默認為 /root,

touch

該命令只能用來創建普通的文本檔案,其中檔案的后綴與檔案的屬性無關,但為了符合人的習慣還是應該加上檔案后綴,比如.c .txt等,

語法: touch?選項?檔案
功能: touch命令引數可更改檔案或目錄的日期時間,包括存取時間和更改時間,或者新建一個不存在的檔案,

常用選項

  • -a 更改Access和Change的時間,

在這里插入圖片描述

其中stat命令可以顯示檔案或檔案系統的詳細資訊,
Access:表示最后一次訪問(僅僅是訪問,沒有改動)檔案的時間
modify:表示最后一次修改檔案的時間
change:表示最后一次對檔案屬性改變的時間,包括權限,大小,屬性等等,

  • -c 或 --no-create 不建立任何檔案,
  • -d 使用指定的日期時間,而非現在的時間,

在這里插入圖片描述

  • -f 此引數將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題,
  • -m 或 --time=mtime 或–time=modify 只更改變動時間,
  • -r 把指定檔案或目錄的日期時間,統統設成和參考檔案或目錄的日期時間相同,
  • -t 使用指定的日期時間,而非現在的時間,

mkdir

該命令可以用來創建目錄
語法: mkdir?選項?dirname
功能: 在當前目錄下創建一個名為“dirname”的目錄,

常用選項

  • -p dirname可以是一個路徑名稱,此時若路徑中的某些目錄尚不存在,加上此選項后,系統將自動建立好那些尚不存在的目錄,即一次可以遞回建立多個目錄,

在這里插入圖片描述

rmdir

rmdir是一個與mkdir相對應的指令,mkdir是建立目錄,而rmdir是洗掉目錄,這個命令只能洗掉空目錄,

語法: rmdir?選項?dirname
功能: 洗掉空目錄
常用選項

  • -p 當子目錄被洗掉后如果父目錄也變成空目錄的話,就連同父目錄一起洗掉,

rm

rm可以洗掉所有目錄和檔案,對于目錄一般加上-r才能洗掉,

語法: rm?選項?dirname
功能: 洗掉檔案或目錄,
常用選項

  • -f 即使檔案屬性為只讀(即寫保護),也直接洗掉,不進行詢問
    在這里插入圖片描述

  • -i 洗掉前逐一詢問確認

在這里插入圖片描述

  • -r 遞回式洗掉目錄及其下所有檔案和目錄

rm -rf /則是從根目錄下不詢問式遞回洗掉所有檔案和目錄,這是一條刪庫跑路的指令,一定要慎用,

在這里插入圖片描述

man

man命令可以在man手冊中查看具體的命令用法,
語法: man?選項?指令
功能: 查看指令的使用規則等,
常用選項:

  • -k 根據關鍵字搜索聯機幫助
  • num 只在第num章節找
  • -a 將所有章節的都顯示出來

man手冊是英文的,還有中文的手冊cman,man和cman都需要自己安裝,

手冊分為8章:

  1. 普通的命令
  2. 系統呼叫(內核提供的函式),如open,write之類的(通過這個,至少可以很方便的查到呼叫這個函式,需要加什么頭檔案)
  3. 庫函式,如printf,fread4是特殊檔案,也就是/dev下的各種設備檔案
  4. 特殊檔案設備檔案
  5. 檔案的格式,比如passwd, 就會說明這個檔案中各個欄位的含義
  6. 是給游戲留的,由各個游戲自己定義
  7. 雜項,是附件還有一些變數,比如向environ這種全域變數在這里就有說明
  8. 系統管理命令(通常僅限于root用戶),這些命令只能由root使用,如ifconfi

cp

cp指令可以將檔案或目錄拷貝到另一個地方,
語法: cp?選項?源檔案或目錄?目標檔案或目錄
功能: 復制檔案或目錄,
常用選項

  • -f 或 --force 強行復制檔案或目錄, 不論目的檔案或目錄是否已經存在

  • -i 或 --interactive 如果檔案已經存在,則拷貝覆寫檔案之前先詢問用戶
    在這里插入圖片描述

  • -r或-R遞回處理,將指定目錄下的檔案與子目錄一并處理,若源檔案或目錄的形態,不屬于目錄或符號鏈接,則一律視為普通檔案處理
    在這里插入圖片描述

當拷貝的檔案為多個或者全部時,可以用到通配符進行拷貝,

通配符是一種特殊陳述句,主要有星號 (*)和問號 (?),用來模糊搜索檔案, 當查找檔案夾時,可以使用它來代替一個或多個真正字符;當不知道真正字符或者懶得輸入完整名字時,常常使用通配符代替一個或多個真正的字符,

在這里插入圖片描述

在這里插入圖片描述

mv

mv類似于剪切功能,講一個檔案或目錄移動到另一個目錄中,
語法: mv?選項?源檔案或目錄?目標檔案或目錄
功能
(1)當第二個引數是不存在的名稱時,mv指令完成檔案重命名或目錄重命名,
在這里插入圖片描述

(2)當第二個引數是已存在目錄名稱時,mv指令將檔案移動置該目錄中,
在這里插入圖片描述

echo

這個指令可以將字串顯示到顯示幕或者重定向輸入到檔案中,
語法: echo 字符或字串

在這里插入圖片描述

另外,在后面加上 >(格式化追加)檔案名或者 >>(在檔案末尾追加) 檔案名可以將字符或字串寫入檔案中:
在這里插入圖片描述

cat

cat命令可以將檔案的內容顯示到顯示幕中,
語法: cat?選項?檔案
功能: 查看目標檔案的內容,
常用選項

  • -b 對非空輸出行編號,
    在這里插入圖片描述

在這里插入圖片描述

  • -n 對輸出的所有行編號

在這里插入圖片描述

  • -s 不輸出多行空行,只會保留一行空行
    在這里插入圖片描述

tac

tac與cat相反,tac可以方向查看檔案的內容,
語法: cat?檔案
功能: 反向查看目標檔案的內容,

在這里插入圖片描述

注意: cat指令會將目標檔案內容全部列印到螢屏上,若是目標檔案內容過多,則會導致刷屏(直到將檔案內容全部列印到螢屏上),因此cat和tac指令一般僅適用于查看內容較少的檔案

more

cat適合查看內容較少的檔案,而more適合查看內容較多的檔案,因為它不會一下子全部顯示出來,而是可以進行翻頁,
語法: more?檔案
功能: 查看目標檔案的內容,
常用選項

  • -n 對輸出的所有行編號
  • q 退出more

在這里插入圖片描述

more指令只能通過按回車鍵進行下翻操作,無法進行上翻操作,并且more指令在查看之前會先加載整個檔案,

less

相比于more,less指令可以同時支持上翻和下翻操作,

語法: less?選項?檔案
功能: 既有查看目標檔案的內容的功能,又有搜索功能,

less指令可以通過按上下鍵進行上翻和下翻操作,并且less指令在查看之前不會加載整個檔案,

常用選項

  • -i 忽略搜索時的大小寫,
  • -N 顯示每行的行號,
  • /字串 向下搜索“字串”的功能,
  • ?字串 向上搜索“字串”的功能,
  • n 重復前一個搜索(與/或?有關),
  • N 反向重復前一個搜索(與/或?有關),

head

從頭開始查看指定行數的文本,
語法: head?選項?檔案
功能: 用于顯示檔案的開頭至標準輸出中,默認head指令列印其相應檔案的開頭10行,
選項

  • -n<行數> 顯示的行數
    在這里插入圖片描述

tail

從尾開始查看指定行數的文本,
語法: tail?選項?檔案
功能: 用于顯示檔案的末尾至標準輸出中,默認tail指令列印其相應檔案的末尾10行,
選項

  • -n<行數> 顯示的行數
    在這里插入圖片描述

提取中間的行數:
在這里插入圖片描述

|叫做管道,作用是將前面head -5010 file.txt的輸出寫到管道中,再將管道中的資料拿出來執行tail -10,這樣就可以輸出前5010行的后10行了,

date

date 指定格式顯示時間: date +%Y:%m:%d

1.在顯示方面,使用者可以設定欲顯示的格式,格式設定為一個加號后接數個標記,其中常用的標記串列如下

  • %H : 小時(00…23)
  • %M : 分鐘(00…59)
  • %S : 秒(00…61)
  • %X : 相當于 %H:%M:%S
  • %d : 日 (01…31)
  • %m : 月份 (01…12)
  • %Y : 完整年份 (0000…9999)
  • %F : 相當于 %Y-%m-%d

在這里插入圖片描述

2.在設定時間方面

  • date -s //設定當前時間,只有root權限才能設定,其他只能查看,
  • date -s 20080523 //設定成20080523,這樣會把具體時間設定成空00:00:00
  • date -s 01:01:01 //設定具體時間,不會對日期做更改
  • date -s “01:01:01 2008-05-23″ //這樣可以設定全部時間
  • date -s “01:01:01 20080523″ //這樣可以設定全部時間
  • date -s “2008-05-23 01:01:01″ //這樣可以設定全部時間
  • date -s “20080523 01:01:01″ //這樣可以設定全部時間

3.時間戳

  • date +%s 顯示當前時間的時間戳,
  • date -d @時間戳 將時間戳轉換為時間,

在這里插入圖片描述

cal

cal指令可以用于顯示公歷(陽歷)日歷,
語法: cal?選項?月份?年份
功能: 用于查看日歷等時間資訊,如只有一個引數,則表示年份(1~9999),如有兩個引數,則表示月份和年份,

常用選項

  • -3 顯示系統前一個月,當前月,下一個月的月歷,年份和月份不用輸入,
    在這里插入圖片描述

  • -j 顯示在當年中的第幾天(一年日期按天算,從1月1號算起,默認顯示當前月在一年中的天數)

在這里插入圖片描述

  • -y 顯示當前年份的日歷
    在這里插入圖片描述

find

語法: find?路徑?選項?…
功能: 用于在檔案樹中查找檔案,并作出相應的處理(可能訪問磁盤->效率比較低),

路徑不寫默認為當前路徑
常用選項

  • -name 按照檔案名查找檔案,
  • -size 按照檔案大小查找檔案,-50M 小于50M +50M 大于50M
  • -ctime 按最新修改的時間查找 -5位最近五天
  • -type 根據檔案型別查找

在這里插入圖片描述

which

查找某一條命令所在的路徑,
語法: which?指令
功能: 用于查找某一指令的程式檔案所在路徑,
命令實際上也是一個可執行程式,它所在的目錄可以不用讓執行這些命令時加路徑,直接使用命令即可,
在這里插入圖片描述

其中,alias的作用是起別名,ls是ls --color=auto的別名

因此如果把我們自己寫的可執行程式放到這個目錄下,也可以使用名字直接執行:

在這里插入圖片描述

在這里插入圖片描述

grep

grep是文本行過濾工具,它在過濾時以行為基本單位,將符合條件的行顯示出來,
語法: grep?選項?搜尋字串?檔案
功能: 在檔案中搜索字串,將找到的行列印出來,
在這里插入圖片描述

常用選項

  • -i :忽略大小寫的不同,所以大小寫視為相同
  • -n :順便輸出行號
  • -v :反向選擇,顯示出沒有 ‘搜尋字串’ 內容的那一行

在這里插入圖片描述

zip壓縮和unzip解壓

zip指令用于打包壓縮目錄或檔案,
語法: zip?選項?壓縮檔案 .zip?待打包目錄或檔案
功能: 將目錄或檔案打包壓縮成zip格式,
常用選項

  • -r 遞回處理,將指定目錄下的所有檔案和子目錄一并處理,

在這里插入圖片描述

打包壓縮目錄的時候要加通配符/*,要不然并不會打包壓縮目錄下的檔案,只是打包壓縮目錄,

語法: unzip?壓縮檔案.zip?選項?目錄
功能: 將壓縮檔案解壓到指定目錄當中,

在這里插入圖片描述

如果要解壓到指定目錄必須帶上-d選項
在這里插入圖片描述

tar

tar指令也可以用來打包壓縮和解壓檔案,并且還可以實作不解開壓縮包,直接查看里面內容的操作,以及只打包不壓縮等操作,

語法: tar?選項?壓縮檔案?…
功能: 打包/解包,不解開壓縮包,直接查看里面內容,

常用選項

  • -c 建立一個壓縮檔案的引數指令(create的意思),
  • -x 解開一個壓縮檔案的引數指令,
  • -t 查看tarfile里面的檔案,
  • -z 是否同時具有gzip屬性?即是否需要用gzip壓縮?
  • -j 是否同時具有bzip2屬性?即是否需要用bzip2壓縮?
  • -v 壓縮的程序中顯示檔案(常用),
  • -f 使用檔名,請留意,在f之后要立即接檔名,不要再加引數,
  • -C 解壓到指定目錄,

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

bc

bc相當于Linux下的計算器
語法: bc進入計算器 輸入運算式 按回車進行計算 Ctrl+C退出計算
功能: 進行運算,

在這里插入圖片描述

uname

語法: uname?選項
功能: 用于獲取電腦和作業系統的相關資訊,可顯示linux主機所用的作業系統的版本、硬體的名稱等基本資訊,

常用選項

  • -a或–all 詳細輸出所有資訊,依次為內核名稱,主機名,內核版本號,內核版本,硬體名,處理器型別,硬體平臺型別,作業系統名稱

在這里插入圖片描述

  • -r 輸出電腦和作業系統相關資訊,內核版本+CPU架構
    在這里插入圖片描述

file

語法: file
功能: 查看檔案的更多屬性資訊,

在這里插入圖片描述

clear

語法:clear
功能:清空螢屏,


三、高頻使用的按鍵(熱鍵)

  • [Tab]按鍵—具有『命令補全』和『檔案補齊』的功能
  • [Ctrl]-c按鍵—讓當前的程式『停掉』
  • [Ctrl]-d按鍵—退出當前命令列,相當于exit
  • 上下按鍵,上下按鍵在Linux當中存盤的是歷史命令,通過按上下鍵我們可以查看我們最近敲的命令,也可以使用history指令查看歷史命令,

四、關機和重啟命令

關機語法: shutdown?選項
重啟語法:reboot 選項
常見選項

  • -h 將系統的服務停掉后,立即關機,
  • -r 將系統的服務停掉之后就重新啟動,
  • -t sec 經過sec秒后關機,
    注: 所有關機指令只能由root用戶執行,所有的指令必須要在開機的情況下輸入,所以沒有開機命令,

五、擴展命令

  • 安裝和登錄命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last,
  • 檔案處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln,
  • 系統管理相關命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab,
  • 網路操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、nslookup,
  • 系統安全相關命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who,
  • 其他命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode,

六、shell命令以及運行原理

Linux內核(kernel)有兩種理解:

  1. 廣義上的作業系統:shell+kernel+配套的軟體(應用、驅動等)
  2. 狹義上的作業系統:指的就是內核,是純粹的作業系統部分,

我們很難直接使用內核,因為學習成本太大,所以在內核外嵌套了一個“外殼程式”,幫助我們和內核進行互動,同時也可以保護內核,

Linux使用shell命令列界面,而在Windows下則使用圖形化界面,這兩者都是內核外的“外殼程式”,相當于用戶和作業系統之間的媒介,

從技術角度, Shell的最簡單定義:命令列解釋器(command Interpreter)主要包含:將使用者的命令翻譯給內核(kernel)處理,同時,將核心的處理結果翻譯給使用者,
對比windows GUI,我們操作windows 不是直接操作windows內核,而是通過圖形介面,點擊,從而完成我們的操作(比如進入D盤的操作,我們通常是雙擊D盤盤符.或者運行起來一個應用程式),

簡單來講,shell相當于內核的一層“外殼程式”,主要的功能是對我們的指令進行決議,決議指令完成后發給Linux內核,內核運行出結果后通過shell輸出給用戶,如果我們輸入的命令是錯誤的或者不存在的,那么就不會將決議指令發給Linux內核,

所以,shell相當于用戶和作業系統之間的媒介,用來和用戶互動,提升用戶的操作體驗,同時用來保護作業系統,

在這里插入圖片描述
Shell運行原理:

  1. 創建子行程,讓子行程進行命令列解釋,
  2. 子行程出現任何問題,都不影響父行程Shell,

另外, Shell只是所有外殼程式的統稱,在centos 7當中的外殼程式名叫bash,bash相當于Shell的子集,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/303873.html

標籤:java

上一篇:“杜絕電子垃圾,我們需要軟體永遠更新下去!”

下一篇:千萬不要再這樣創建集合了!極容易記憶體泄露!

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more