欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:初學(xué)Linux(學(xué)習(xí)筆記)

柚子快報激活碼778899分享:初學(xué)Linux(學(xué)習(xí)筆記)

http://yzkb.51969.com/

初學(xué)Linux(學(xué)習(xí)筆記)

前言

本文跳過了Linux前期的環(huán)境準(zhǔn)備,直接從知識點和指令開始。

知識點:

1.目錄==文件夾(Windows)

2.文件=內(nèi)容+屬性

3.在Windows當(dāng)中區(qū)分文件類型是通過后綴,而Linux是通過ls -l后顯示的所有信息中第一個信息的首字母來區(qū)分,如果是d表示是目錄(directory);**-開頭的是普通文件;.**開頭的文件是隱藏文件。

4.Windows中反斜杠,也就是\,稱為路徑分割符;Linux下斜杠,也就是/是路徑分割符。

兩個斜桿之間的一定是目錄,但最后一個可能是目錄也可能是普通文件。

5.在Linux中任何一個目錄(即使空)默認自帶.和…目錄。.為當(dāng)前目錄;…為上級目錄。

6.整個路徑最開始的那個/,不是路徑分割符,而是Linux根目錄。

7.Linux的文件結(jié)構(gòu),是一顆從根目錄/開始的一個多叉樹。葉子結(jié)點是普通文件或者空目錄,非葉子結(jié)點一定是一個非空目錄。

找到一個文件必須找到一個路徑。路徑有兩種:絕對路徑和相對路徑。

絕對路徑就是從根目錄開始的路徑。/home/litao/linux/ : 絕對路徑

以非根目錄為參照點(起點)來定位一個文件的就是相對路徑?!?day02/ : 相對路徑

不過,比如當(dāng)我們要ls指定文件時,其實可以直接跟文件名就行,不用絕對路徑和相對路徑那么復(fù)雜。

使用場景的不同:

絕對路徑一般用于配置文件,因為路徑不會失效(萬一相對路徑中為參照點的路徑不存在了就會出錯);相對路徑一般日常操作用得多(方便)。

8.所有的操作系統(tǒng)全都是目錄結(jié)構(gòu),文件結(jié)構(gòu)全都是多叉樹。在Windows中的C、D盤并不是根目錄,它們其實不是盤符,其實是文件夾,真正的根目錄是此電腦。

9.命令本質(zhì)上就是系統(tǒng)當(dāng)中的文件,而且是普通文件。更進一步說,命令的本質(zhì)就是可執(zhí)行文件,也就是我們寫的C/C++程序。

我們把自己寫的程序拷貝到/usr/bin/后,也能像ls這樣不需要寫出路徑,像命令一樣使用了:cp mycmd /usr/bin/

10.cat顯示的是文件里面的內(nèi)容,echo是后面的內(nèi)容當(dāng)作字符串,printf類似echo但有格式化控制。

11.文件:

我自己建的文件;

鍵盤;

顯示器;

顯示器

printf是往顯示器打印,也就是說本質(zhì)上往文件里打印。

任何文件操作必須先被打開。所以這些設(shè)備文件也必須先被打開。但是我們沒有手動打開就能直接用printf等,因為系統(tǒng)在啟動程序時自己打開了。

如何理解系統(tǒng)幫我們打開?為什么要幫我們打開?為什么不打開其他文件?

? 程序在啟動時,默認要打開3個文件:stdin/stdout/stderr(鍵盤、顯示器、顯示器)(類型是FILE*)。為什么在使用printf等時沒有使用到這幾個文件?因為printf等函數(shù)進行了封裝。而fprintf就可以指定流。

? 程序在系統(tǒng)運行起來時要做很多工作。(學(xué)進程時理解)系統(tǒng)執(zhí)行時在main函數(shù)之前會調(diào)用一些接口……

? 為什么幫我們打開?方便操作。否則要自己打開顯示器鍵盤等。

? 為什么只打開這三個?因為一般來說就夠用,其他的自己打開。

12.重定向操作——只看操作

比如echo “helloworld” > hello.txt

本來應(yīng)該寫入到顯示器文件的內(nèi)容寫到了我們指定的一個普通文件(創(chuàng)建出了我們指定的這個文件)。

這就是輸出重定向。

而且如果我們此時再echo “hello” > hello.txt,hello.txt里的內(nèi)容就會被替換成hello,也就是說>的特點:如果后續(xù)文件不存在,就新建;如果后續(xù)文件已存在,把原始內(nèi)容先清空再寫入。

而這說明了很關(guān)鍵的一點,也就是后續(xù)我們再新建普通文件時不用再touch,可以直接用>:>log.txt, 這樣就創(chuàng)建出來log.txt了。如果我們想把文件清空,就可以>hello.txt(一個已經(jīng)存在的文件)

如果我們不想情況再寫入,而是想新增到后面,就改為兩個大于符號>>。這種叫做追加重定向。

<則是輸入重定向(往下看cat部分)

通過man fopen,我們可以看到文件相關(guān)的內(nèi)容:

w方式叫做寫入,不存在就新建,存在的話就清空。所以echo寫入文件其實就是相當(dāng)于C語言用w或w+的方式把文件打開。

a方式就是在后面追加。

通過man fopen,我們可以看到文件相關(guān)的內(nèi)容:

w方式叫做寫入,不存在就新建,存在的話就清空。所以echo寫入文件其實就是相當(dāng)于C語言用w或w+的方式把文件打開。

a方式就是在后面追加。

ll /dev/pts可以看到登錄時對應(yīng)的文件,dev即設(shè)備,pts一般是字符設(shè)備。當(dāng)我們打開一個設(shè)備時,就會在這個目錄下新建一個文件。

文件名叫0,文件類型是c,也就是字符文件。

終端也是文件,如果多打開終端,就會多出這個文件。

有意思的是:假如我們現(xiàn)在新打開一個終端,echo “hello” >/dev/pts/1可以寫給自己,echo “hello” >/dev/pts/0可以寫給另一個終端。

終端的本質(zhì)就是文件,/dev/pts/xxx,系統(tǒng)幫我們把這個文件打開就可以在鍵盤、顯示器上讀寫了。

我們還可以nano redir.c,寫一段程序:

然后在我們要寫入的目標(biāo)終端:

因為在Linux中一切皆文件,所以在Linux中的很多操作最后都變?yōu)槲募僮鳌?/p>

15.文件類型

-開頭,普通文件;

d開頭,目錄文件;

c開頭,字符文件,鍵盤,顯示器,終端。字符文件的特點是:輸入的數(shù)據(jù)有順序性。

b開頭,塊設(shè)備文件,磁盤

l開頭,鏈接文件

p開頭,管道文件

……

b:

通過ll /dev/vda*,我們可以查看磁盤

把這個文件打開寫東西就相當(dāng)于把物理盤直接打開,很危險。

其實在Windows中只有一塊磁盤,C、D是分區(qū)。

l:

Windows下的快捷方式就有點像鏈接文件。

p:

mkfifo pipe就可以建立一個管道文件pipe。

-:

普通文件都有哪些呢?文本、可執(zhí)行程序、庫、圖片、視頻等。

雖然Linux下區(qū)分文件類型不看后綴,但并不代表禁止使用后綴。

同時,系統(tǒng)不關(guān)心后綴不代表工具比如gcc不關(guān)心。

16.軟件領(lǐng)域,大型文件,必須有日志。

不同層面的日志記錄的內(nèi)容不同。

17.補充小知識:

計算機已經(jīng)關(guān)機了為什么開機之后時間還是對的?

并不是從網(wǎng)上查的,也不是因為電腦有電池。是因為主板上有一個紐扣電池。可以維持上兩周。讓系統(tǒng)主板一直記錄時間。

XShell 下的復(fù)制粘貼

復(fù)制: ctrl + insert (有的 insert可能需要配合 fn 來按)

粘貼: shift + insert。ctrl + c / ctrl + v 是不行的.

clear

顧名思義,就是清理屏幕。

Alt+Enter(回車)

這個操作可以進入或退出全屏。

stat

可以看到文件詳細的屬性介紹。

可以看到文件的三種時間:access modify change,簡稱ACM時間。access是最近訪問時間,modify和change有什么區(qū)別?以后再說。

which

基本作用是查找并顯示給定命令的完整路徑?。

alias

作用是給命令取別名。其實,ll就是ls -l的別名:

但注意是一次性的。

ctrl+C

如果在命令行中出現(xiàn)了異常情況,統(tǒng)一嘗試ctrl+C來終止異常

*****

ls test.*代表查看test.開頭的所有文件

ls *.c代表查看.c結(jié)尾的所有文件

要小心 rm -rf *,即把當(dāng)前目錄下所以文件(隱藏文件除外)刪掉(尤其是在根目錄時)。

printf

可以輸出我們指定的內(nèi)容

比如:

printf “hello %d,hello %s,hello %f\n” 100 “hello momo” 3.14

打印結(jié)果:

hello 100,hello hello momo,hello 3.140000

上下鍵

可以用這個找到我們的歷史命令,不用重新輸入。

echo

把后續(xù)的內(nèi)容當(dāng)作字符串直接打印。建議打印內(nèi)容用單引號括起來。

tac

和cat類似,也是顯示文件內(nèi)容,但是是倒著顯式文件內(nèi)容(從下往上),使用寫法如tac redir.c

比如aaaa bbbb會打印成bbbb aaaa

cat的使用場景在哪?

有時我們只想看一下配置文件,并不想修改,所以不用nano,直接用cat看一下,太長的文件不行。

tac的使用場景在哪?

比如日志。因為cat打印日志會從頭往后打完,而有時我們想看最開始的時候,就可以用tac來反向打印。

history

可以看歷史命令。

ls

語法: ls [選項] [目錄或文件]

只有l(wèi)s,就只顯示文件名。

ls -l則是顯示更多的屬性。

ls后面可以跟指定的目錄,就會打印指定目錄里的內(nèi)容。

ls的選項

ls -l

列出文件的詳細信息。

ls -a

a就代表all。列出目錄下的所有文件,包括以 . 開頭的隱含文件。

我們可以發(fā)現(xiàn)比起ls,多出了.和…文件。**.**開頭的文件是隱藏文件。

注意,可以寫成ls -a -l,ls -l -a,ls -al,ls -la(給了ls兩個選項),都不影響。

ls -d

將目錄像文件一樣顯示,而不是顯示其下的文件。 如:ls –d 指定目錄

pwd

這個指令就是顯示用戶當(dāng)前所在的目錄。

如果是以root登錄,那么打印出來此時應(yīng)該是/root;如果是以zhangsan用戶登錄,那么打印出來應(yīng)該是/home/zhangsan。

cd

change directory

改變工作目錄。將當(dāng)前工作目錄改變到指定的目錄下。

語法:cd 目錄名

cd … : 返回上級目錄

cd /home/litao/linux/ : 絕對路徑

cd …/day02/ : 相對路徑

cd ~:進入用戶家目錄。任何一個Linux用戶,用特定的用戶名登錄系統(tǒng)時,默認在什么路徑下呢?家目錄下。

Windows下是否有家目錄的概念呢?其實在Windows下可以新建用戶。(在C盤的用戶目錄下可以看)

cd -:返回最近訪問目錄??梢栽谧罱鼉蓚€目錄之間來回跳轉(zhuǎn)。

mkdir

語法:mkdir [選項] dirname…

功能:在當(dāng)前目錄下創(chuàng)建一個名為 “dirname”的目錄

常用選項:

-p, --parents 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項后,系統(tǒng)將自動建立 好那些尚不存在的目錄,即一次可以建立多個目錄

比如 mkdir -p a/b/c/d/e

除了一層層進去查看外,可以用tree來查看樹形結(jié)構(gòu)。

touch

新建一個普通文件。

touch后面跟一個文件名。如touch hello.txt

touch還能去更新一個文件的時間。如touch hello.txt,通過ll可以看到文件時間更新了。

rmdir

刪除目錄(只能刪空目錄)

rm

remove

在root賬號下,它會詢問是否要刪除,y代表yes,n代表no。

rm默認只能刪普通文件。

rm -f

f代表force,所以這代表強制刪除。

這樣就可以避開刪除時的詢問。

rm -r

r代表遞歸,這樣就能把目錄刪掉。

rm -rf 加上目錄名

就能強制刪除一個目錄。

rm -rf /

這個是把根目錄強制刪除,如果真的刪除了,就只能重裝系統(tǒng)了。

man

Linux的命令有很多參數(shù),我們不可能全記住,我們可以通過查看聯(lián)機手冊獲取幫助。訪問Linux手冊頁的命令是man

man的語法: man [選項] 命令

比如我們現(xiàn)在不知道which指令怎么用,就可以使用man which

按q可以退出這個界面

手冊像書一樣,分好幾章,如果不指定,默認查的是1里的內(nèi)容(也就是指令)

如果想查找C語言函數(shù),可以用man 3,比如man 3 printf

cp

普通文件:

同一個目錄下不能存在同名文件,所以cp hello.txt nohello.txt,就可以把hello.txt的內(nèi)容拷貝到nohello.txt

也可以拷貝到不是該目錄,而是其他路徑下,如cp hello.txt …/nohello.txt,就是拷貝到上級目錄下。

拷貝到指定路徑時,可以不指定拷貝后的文件名,這樣就會使用原本相同的文件名。

目錄拷貝:

要帶上-r選項,比如cp -r dir dirbackup

如果后面跟的是一個已存在的目錄,就會拷貝到這個目錄內(nèi)部。比如cp -r dir dirbackup(此時dirbackup已存在,且拷貝結(jié)果是在dirbackup內(nèi)拷貝了一個同樣名為dir的目錄)

如果不帶-f,有重復(fù)的會進行詢問。而對于超級用戶(root),即使帶了-f,也可能還是會詢問。

cat

默認是把文件內(nèi)容往顯示器里寫。

**如果后面什么也不跟,**就會讓當(dāng)前命令行阻塞在這,然后輸入什么內(nèi)容馬上就回顯什么內(nèi)容(使用ctr+c來結(jié)束):

也就是默認從鍵盤里讀,然后寫到顯示器里。

cat <

這是輸入重定向,后面跟的什么就是從哪里讀。

cat后面直接跟文件名

看起來結(jié)果和cat<文件名一樣,其實并不相同。以后再深入理解。

cat適合去看短文件。

mv指令

1.剪切

mv命令是move的縮寫,可以用來移動文件。比如mv redir.c …(移動到上級目錄)

mv srcfile dstfile

如果想將整個目錄移動到某個目錄下:mv dir /(移動到根目錄下)

所以srcfile可以是目錄也可以是文件,其實在Linux下一切皆文件。

2.重命名

mv src dst

比如mv test.c notest.c

如何區(qū)別剪切和重命名,如果dst不是目錄,那就是重命名?;蛘吣夸沝st不存在,也是重命名,所以也可以對目錄重命名。

more

more的功能類似于cat,在使用時它會先把一個屏幕打滿,然后回車再逐行查看。

但是more不能支持上翻下翻。

按q可以退出。

less

然而比起more,現(xiàn)在我們更推薦使用的是less。

less和more一樣,less /var/log/messgaes后也可以查看日志,也是先打滿一個屏幕,但是less可以支持上翻和下翻,所以使用更加方便。

head

如果文件太大,我們使用cat,刷到最后的時候,可能都過去5分鐘了,如果只想看開頭內(nèi)容,可以使用head。

head /var/log/messages

如果只想看開頭的一行內(nèi)容,可以head -1 /var/log/messages

如果只想看開頭的兩行內(nèi)容,可以head -2 /var/log/messages

tail

使用和規(guī)則同上。

拿中間部分

怎么查中間?比如我們現(xiàn)在想拿501-510這10行。

可以先把前510行拿到,然后重定向放到文件temp.txt:head -510 log.txt >temp.txt

然后再tail -10 temp.txt

這樣我們就拿到了501-510行。

整合成一行版:head -510 log.txt | tail -10

也就是把前一句指令的結(jié)果交給后一句處理。

這個豎劃線就是管道。一端是灌水的,一端是出水的。這個管道就是文件,前面這句往這個文件里寫,后面這句從這個文件里讀。

head -510 log.txt | tail -10 | tac

這樣我們還可以把這10行進行逆序打印。

head -510 log.txt | tail -10 | tac | wc -l

w代表word,l代表line。

這樣我們還可以看結(jié)果有多少行

時間相關(guān)的指令

date

date

date +%Y——年

date +%Y:%m——年:月

date +%Y-%m——年-月

date +%Y:%m:%d——年:月:日

date +%Y-%m-%d_%H:%M:%S——年-月-日__時:分:秒

date+%s——這是一個很大的數(shù)字,隨著查看不斷增加。大概間隔1s。

這個數(shù)字叫做格林威治時間戳。格林威治即世界時間的約定點。

它在每個計算機內(nèi)部會維持一個線性遞增的計數(shù)器。每隔一秒讓這個計數(shù)器++

這個時間會溢出嗎?(千年蟲)

不用太擔(dān)心。

這個有什么用呢?

可以通過算法轉(zhuǎn)化成我們平時看的時間。

在用戶級別上,日志不想寫年月日時間,不是給人讀的,是做數(shù)據(jù)處理的,就用時間戳。每條日志都帶上時間戳。就可以按時間戳去查找一個區(qū)間的日志。(區(qū)間查找)

時間戳怎么轉(zhuǎn)化成標(biāo)準(zhǔn)時間?(以1725974749為例)

date +%Y-%m-%d_%H:%M:%S -d @1725974749

結(jié)果:

2024-09-10_21:25:49

date +%Y-%m-%d_%H:%M:%S -d @0

我們就可以得到1970-01-01_08:00:00(這個8點是因為時差,因為我們在東八區(qū))

cal(少用)

可以查看日歷:

cal:

cal 2024:

cal -3

就是查看這個月、上個月和下個月的日歷:

查找相關(guān)的命令

之前的which就是查找相關(guān)的命令。

但是which只是用于在指定的目錄下去查找指定的命令。一般都是去/usr/bin/

whereis(少用)

whereis man

用于查找文件。

該指令會在特定目錄中查找符合條件的文件。這些文件應(yīng)屬于原始代碼、二進制文件,或是幫助文件。

該指令只能用于查找二進制文件、源代碼文件和man手冊頁。

也就是,會去系統(tǒng),非自己文件地方查找。

find

是在Linux的樹形結(jié)構(gòu)里去查。

find ~ -name *.c

就可以去找根目錄下以.c結(jié)尾的文件:

find ~ -name ls

就會很卡,因為會拿著給的名字,在整個系統(tǒng)從根目錄開始去查。是一種深度和廣度遍歷的方式,不斷去做字符串匹配。

find選項很多,先掌握-name

本文到此結(jié)束。

柚子快報激活碼778899分享:初學(xué)Linux(學(xué)習(xí)筆記)

http://yzkb.51969.com/

文章鏈接

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19450439.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄