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

首頁綜合 正文
目錄

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

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

http://yzkb.51969.com/

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

前言

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

知識(shí)點(diǎn):

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

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

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

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

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

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

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

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

找到一個(gè)文件必須找到一個(gè)路徑。路徑有兩種:絕對(duì)路徑和相對(duì)路徑。

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

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

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

使用場景的不同:

絕對(duì)路徑一般用于配置文件,因?yàn)槁窂讲粫?huì)失效(萬一相對(duì)路徑中為參照點(diǎn)的路徑不存在了就會(huì)出錯(cuò));相對(duì)路徑一般日常操作用得多(方便)。

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

9.命令本質(zhì)上就是系統(tǒng)當(dāng)中的文件,而且是普通文件。更進(jìn)一步說,命令的本質(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è)備文件也必須先被打開。但是我們沒有手動(dòng)打開就能直接用printf等,因?yàn)橄到y(tǒng)在啟動(dòng)程序時(shí)自己打開了。

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

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

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

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

? 為什么只打開這三個(gè)?因?yàn)橐话銇碚f就夠用,其他的自己打開。

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

比如echo “helloworld” > hello.txt

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

這就是輸出重定向。

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

而這說明了很關(guān)鍵的一點(diǎn),也就是后續(xù)我們?cè)傩陆ㄆ胀ㄎ募r(shí)不用再touch,可以直接用>:>log.txt, 這樣就創(chuàng)建出來log.txt了。如果我們想把文件清空,就可以>hello.txt(一個(gè)已經(jīng)存在的文件)

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

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

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

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

a方式就是在后面追加。

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

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

a方式就是在后面追加。

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

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

終端也是文件,如果多打開終端,就會(huì)多出這個(gè)文件。

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

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

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

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

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

15.文件類型

-開頭,普通文件;

d開頭,目錄文件;

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

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

l開頭,鏈接文件

p開頭,管道文件

……

b:

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

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

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

l:

Windows下的快捷方式就有點(diǎn)像鏈接文件。

p:

mkfifo pipe就可以建立一個(gè)管道文件pipe。

-:

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

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

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

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

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

17.補(bǔ)充小知識(shí):

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

并不是從網(wǎng)上查的,也不是因?yàn)殡娔X有電池。是因?yàn)橹靼迳嫌幸粋€(gè)紐扣電池。可以維持上兩周。讓系統(tǒng)主板一直記錄時(shí)間。

XShell 下的復(fù)制粘貼

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

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

clear

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

Alt+Enter(回車)

這個(gè)操作可以進(jìn)入或退出全屏。

stat

可以看到文件詳細(xì)的屬性介紹。

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

which

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

alias

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

但注意是一次性的。

ctrl+C

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

*****

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

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

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

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

上下鍵

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

echo

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

tac

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

比如aaaa bbbb會(huì)打印成bbbb aaaa

cat的使用場景在哪?

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

tac的使用場景在哪?

比如日志。因?yàn)閏at打印日志會(huì)從頭往后打完,而有時(shí)我們想看最開始的時(shí)候,就可以用tac來反向打印。

history

可以看歷史命令。

ls

語法: ls [選項(xiàng)] [目錄或文件]

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

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

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

ls的選項(xiàng)

ls -l

列出文件的詳細(xì)信息。

ls -a

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

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

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

ls -d

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

pwd

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

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

cd

change directory

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

語法:cd 目錄名

cd … : 返回上級(jí)目錄

cd /home/litao/linux/ : 絕對(duì)路徑

cd …/day02/ : 相對(duì)路徑

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

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

cd -:返回最近訪問目錄。可以在最近兩個(gè)目錄之間來回跳轉(zhuǎn)。

mkdir

語法:mkdir [選項(xiàng)] dirname…

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

常用選項(xiàng):

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

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

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

touch

新建一個(gè)普通文件。

touch后面跟一個(gè)文件名。如touch hello.txt

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

rmdir

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

rm

remove

在root賬號(hào)下,它會(huì)詢問是否要?jiǎng)h除,y代表yes,n代表no。

rm默認(rèn)只能刪普通文件。

rm -f

f代表force,所以這代表強(qiáng)制刪除。

這樣就可以避開刪除時(shí)的詢問。

rm -r

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

rm -rf 加上目錄名

就能強(qiáng)制刪除一個(gè)目錄。

rm -rf /

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

man

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

man的語法: man [選項(xiàng)] 命令

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

按q可以退出這個(gè)界面

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

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

cp

普通文件:

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

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

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

目錄拷貝:

要帶上-r選項(xiàng),比如cp -r dir dirbackup

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

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

cat

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

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

也就是默認(rèn)從鍵盤里讀,然后寫到顯示器里。

cat <

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

cat后面直接跟文件名

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

cat適合去看短文件。

mv指令

1.剪切

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

mv srcfile dstfile

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

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

2.重命名

mv src dst

比如mv test.c notest.c

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

more

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

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

按q可以退出。

less

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

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

head

如果文件太大,我們使用cat,刷到最后的時(shí)候,可能都過去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é)果交給后一句處理。

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

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

這樣我們還可以把這10行進(jìn)行逆序打印。

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

w代表word,l代表line。

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

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

date

date

date +%Y——年

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

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

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

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

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

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

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

這個(gè)時(shí)間會(huì)溢出嗎?(千年蟲)

不用太擔(dān)心。

這個(gè)有什么用呢?

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

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

時(shí)間戳怎么轉(zhuǎn)化成標(biāo)準(zhǔn)時(shí)間?(以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(這個(gè)8點(diǎn)是因?yàn)闀r(shí)差,因?yàn)槲覀冊(cè)跂|八區(qū))

cal(少用)

可以查看日歷:

cal:

cal 2024:

cal -3

就是查看這個(gè)月、上個(gè)月和下個(gè)月的日歷:

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

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

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

whereis(少用)

whereis man

用于查找文件。

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

該指令只能用于查找二進(jìn)制文件、源代碼文件和man手冊(cè)頁。

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

find

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

find ~ -name *.c

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

find ~ -name ls

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

find選項(xiàng)很多,先掌握-name

本文到此結(jié)束。

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

http://yzkb.51969.com/

文章鏈接

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

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

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

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

發(fā)布評(píng)論

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

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄