Linux均以文件形式存在
本文出現(xiàn)的命令淺嘗輒止,具體使用參考文檔即可
解決一個任務(wù)的方法很多,本文僅淺試了一些簡單的命令
一、實驗?zāi)康?/h2>
要求掌握Linux基礎(chǔ)操作,熟悉Linux行界面,并明白操作的原理以及目的(難);熟悉Linux系統(tǒng)環(huán)境。
二、實驗要求
通過這個第一階段實驗,要求掌握以下操作與相關(guān)知識:
(一)啟動與關(guān)閉系統(tǒng);
(二)熟悉Linux操作系統(tǒng)的文件與目錄結(jié)構(gòu);
(三)文件/目錄管理命令;
(四)字符串處理命令;
(五)磁盤與進(jìn)程管理命令;
三、實驗內(nèi)容
?(1)使用超級用戶及普通賬戶登錄Linux系統(tǒng),查看shell提示符確定使用的shell程序類型;
$echo $SHELL
$echo $0 #(數(shù)字0,這個命令不是所有Shell都支持)
$ps #有一個進(jìn)程是bash,說明shell類型是bash。
#輸入一條不存在的命令,報錯信息的開頭就能看出來。
$cat /etc/passwd |grep <用戶名>
$cat /etc/passwd #命令查看文件的最后一行
$bash --version
如何查看當(dāng)前使用的Shell類型/CSDN@梅子1微酸
?(2)使用who命令查閱用戶與系統(tǒng)啟動狀態(tài)列表;
$who -H
$who -H -a #打印全面的信息
$who -l #打印系統(tǒng)登錄進(jìn)程
$who -q #顯示登錄系統(tǒng)的所有用戶名稱和總?cè)藬?shù)
Linux 命令之 who – 打印當(dāng)前登錄用戶/顯示目前登入系統(tǒng)的用戶信息。/CSDN@liaowenxiong
?(3)使用ls族命令查看文件系統(tǒng)的結(jié)構(gòu),查看系統(tǒng)的主要靜態(tài)與動態(tài)目錄,并配合管道線使用;
$ls -l #顯示當(dāng)前目錄所包含子目錄和文件的信息
$ls -a #顯示當(dāng)前目錄所包含的隱藏文件信息
?(4)目錄切換cd與路徑顯示命令pwd的使用;
$cd /etc
$pwd
$cd ..
$pwd
?(5)用戶文件的移動、復(fù)制、刪除、查找、比較類操作;
$touch 文件名 ##創(chuàng)建一個空文件
$mv 文件或目錄 新文件或目錄
$cp 源文件或目錄 目標(biāo)文件或目錄
$rm 文件名 #刪除文件
$find 目錄 -name 要查找的文件名
Linux基本命令之目錄文件基本操作(查看、創(chuàng)建、復(fù)制、移動、刪除、查找)/CSDN@那老誰家的小誰
?(6)創(chuàng)建和刪除用戶目錄,并對用戶目錄進(jìn)行移動、復(fù)制、刪除、查找類操作;
$mkdir 目錄名
$mv 文件或目錄 新文件或目錄
$cp -r 源文件或目錄 目標(biāo)文件或目錄
$rmdir 空目錄
?(7)使用ln命令創(chuàng)建軟鏈接和硬連接,并使用-il命令查看索引節(jié)點號的變化;
$ln [-s][-f] 源文件 目標(biāo)文件 #一個文件可以在多個目錄中登記,以達(dá)到多路徑訪問該文件的目的。
$ls -il
Linux下,ln、cp、mv、rm命令對文件鏈接數(shù)和索引節(jié)點號的影響/CSDN@Edward_Yam
硬鏈接和軟連接/CSDN@ChipArtist
??
軟鏈接是另一個文件,作用可以理解為一個指針,作用在這個文件上的操作除了刪除都直接轉(zhuǎn)向?qū)嶋H指向文件,由于是一個真實的文件所以占用磁盤空間
硬鏈接可以認(rèn)為不是一個文件,它只是實際文件的一個別名,它的作用是防止真實文件被誤操作,給一個文件建立硬鏈接后,他們互為別名,刪除其中任意一個,
只會刪除該別名,實際文件并不會被刪除。由于只是別名沒有任何其他信息,所以并不占用原始文件大小的磁盤空間。
?(8)輸入輸出重定向操作:定向符 >、>>、< 、<<的使用,以及使用管道線“|”連接兩個過濾器命令;
$touch file.md
$echo Hello > file.md
$cat file.md
$read h < file.md
$echo $h
#file.md文件的內(nèi)容是“Hello”,上述的例子就是把file.md的內(nèi)容重定向到h這個變量中,并把變量h打印出來。
$echo helloworld > test
$cat test
$echo 123456 > test
$cat test
#這個會把文件內(nèi)容清空,在把輸出內(nèi)容重定向到指定的文件里,并且如果文件不存在則創(chuàng)建
$echo Hello,China >> file
$cat file
$echo WangJingwang >> file
$cat file
#會把輸出的內(nèi)容追加到執(zhí)行的文件里,該文件不會清空,并且如果文件不存在則會創(chuàng)建
#輸入和輸出重定向也是可以組合使用的
$cat << 0 #以0為分界線結(jié)束輸入
$cat /proc/cpuinfo |grep name|cut -d : -f 2|uniq #查看當(dāng)前機器的CPU類型
Shell編程-輸入輸出重定向/CSDN@路上的追夢人
Linux重定向(輸入輸出重定向)詳解/C語言中文網(wǎng)
24 shell 管道命令與過濾器 /博客園@yuandian43
?(9)使用dd、tee命令進(jìn)行輸入輸出轉(zhuǎn)換;
#將指定的輸入文件拷貝到指定的輸出文件中,并可進(jìn)行格式轉(zhuǎn)換
dd conv=ucase #將標(biāo)準(zhǔn)輸入字母改為大寫格式到標(biāo)準(zhǔn)輸出
$dd if=/usr/lj/kkk of=/usr/hhh conv=ucase
#Linux tee命令用于讀取標(biāo)準(zhǔn)輸入的數(shù)據(jù),并將其內(nèi)容輸出成文件。
#tee指令會從標(biāo)準(zhǔn)輸入設(shè)備讀取數(shù)據(jù),將其內(nèi)容輸出到標(biāo)準(zhǔn)輸出設(shè)備,同時保存成文件。
$ tee file1 file2 #在兩個文件中復(fù)制內(nèi)容
$ 輸入內(nèi)容
My Linux #提示用戶輸入數(shù)據(jù)
My Linux #輸出數(shù)據(jù),進(jìn)行輸出反饋
Ctrl+C退出tee命令
Ctrl+D退出超級用戶
Linux dd 命令/菜鳥教程
?(10)使用chmod命令設(shè)置用戶目錄與用戶文件的存取權(quán)限,并思考原理;
該命令可對3層存取結(jié)構(gòu)的權(quán)限逐一修改:
+ 增加權(quán)限
-- 減少權(quán)限
= 設(shè)置權(quán)限(=右邊無任何設(shè)置值則相當(dāng)于取消相應(yīng)層的全部權(quán)限)
可指明修改哪一層(組)的權(quán)限(直接跟在chmod之后,空格相隔)
u 文件主 g 同組用戶
o 其他用戶 a 默認(rèn)值,表示所有用戶
chmod句法形式:
符號方式 $chmod u-x, g+rx, o=w filename
絕對方式 $chmod 630 filename
$chmod = filename 等同于 $chmod 000 filename
$mkdir test
$touch test2
$chmod 700 test
$ls -l
$chmod u-x, g+rx, o=w test #把test目錄的權(quán)限設(shè)置為700
$chmod 777 test2 #把test2文件的權(quán)限設(shè)置為777
$ls -l
Linux chmod命令/菜鳥教程
?(11)使用man命令查看命令文件的格式及說明;
man [命令] #可以使用 man [命令] 來查看各個命令的使用文檔
$man cp
?(12)cal、date、echo、find等常見命令的使用;
sudo apt install ncal
#顯示日歷
$cal 8 2000
$cal Aug 2000
#顯示當(dāng)前系統(tǒng)日期與時間
$date
$date +"%Y-%m-%d"
#顯示命令行中的所有參數(shù)(鍵入信息)
$echo Hello, World!
$echo 'Hello "World!"'
#find查找文件
$find . -type f #將當(dāng)前目錄及其子目錄中的所有文件列出
Linux date 命令/菜鳥教程
Linux常用命令13 - echo/知乎@叉叉棣
Linux find 命令/菜鳥教程
?(13)字符串類命令使用:匹配、排序、統(tǒng)計等;
sudo apt install vim
#匹配
$grep str 文件名
#排序
$sort 文件 #按照ASCII碼默認(rèn)排序
#統(tǒng)計
$grep -c str 文件名
Linux grep 命令/菜鳥教程
Linux sort 命令/菜鳥教程
如何在shell中統(tǒng)計某字符串的個數(shù)/博客園@whisper_hm
?(14)查閱當(dāng)前用戶及系統(tǒng)進(jìn)程,并發(fā)送殺死某進(jìn)程命令;
ps aux
#顯示其他用戶啟動的進(jìn)程(a);查看系統(tǒng)中屬于自己的進(jìn)程(x);啟動這個進(jìn)程的用戶和它啟動的時間(u)
#ps命令:顯示當(dāng)前用戶進(jìn)程或系統(tǒng)進(jìn)程
$ps -e #顯示當(dāng)前運行的所有進(jìn)程(包括shell)
$ps -u [name] #顯示用戶user的相關(guān)進(jìn)程信息
$ps -t [tty01] #顯示終端tty01的相關(guān)進(jìn)程信息
$ps -el #長格式顯示當(dāng)前所有進(jìn)程信息
$ps -elf #長格式顯示系統(tǒng)完整進(jìn)程信息
$pstree #樹結(jié)構(gòu)進(jìn)程
$top #實時進(jìn)程
#PS:Ctrl+C關(guān)閉
#熱鍵關(guān)閉/殺死進(jìn)程
#注意不要殺死自己!
kill [信號名或編號UID] [進(jìn)程號PID]
$kill -9 234 等同于 $kill -KILL 234 #強行終止進(jìn)程234
$kill -l #列出kill能識別的所有信號名
HUP(1) 掛起信號
INT(2) 中斷信號 $kill -2 234
QUIT(3) 退出信號
KILL(9) 殺死進(jìn)程信號 $kill -9 234
TERM(15) 軟件終止信號
但我試的幾個進(jìn)程都沒沒殺掉,不要殺死當(dāng)前終端的進(jìn)程??
LINUX查看進(jìn)程的4種方法(小結(jié))/騰訊云開發(fā)者社區(qū)@砸漏
Linux kill命令/菜鳥教程
??
Linux 的 kill 命令是向進(jìn)程發(fā)送信號,kill 不是殺死的意思,-9 表示無條件退出,但由進(jìn)程自行決定是否退出,這就是為什么 kill -9 終止不了系統(tǒng)進(jìn)程和守護進(jìn)程的原因。
Linux kill命令詳解:終止進(jìn)程/C語言中文網(wǎng)
??
使用 kill 命令一定可以終止一個進(jìn)程嗎?
答案是否定的。文章開頭說過,kill 命令只是“發(fā)送”一個信號,因此,只有當(dāng)信號被程序成功“捕獲”,系統(tǒng)才會執(zhí)行 kill 命令指定的操作;反之,如果信號被“封鎖”或者“忽略”,則 kill 命令將會失效。
?(15)文件歸檔命令tar和壓縮/解壓縮如gzip等同類命令;
#文件歸檔命令
tar
#命令格式:tar [options] filename.tar filename1 filename2 ...
tar命令使用 -z選項會同時完成歸檔及壓縮
使用格式:tar -zcf filename.tar.gz filename1 filename2 ...
解壓命令: tar -zxf filename.tar.gz
解壓命令: tar -zxvf 文件名.tar.gz
壓縮命令: tar -zcvf 文件名.tar.gz 待壓縮的文件名
z:通過gzip支持壓縮或解壓縮。還有其他的壓縮或解壓縮方式,比如j表示bzip2的方式。
x:解壓縮。
c:是壓縮,compress
v:在壓縮或解壓縮過程中顯示正在處理的文件名
f:f后面必須跟上要處理的文件名。
#壓縮
$gzip 待壓縮的文件名 #壓縮為.gz格式并刪除原文件
$bzip2 待壓縮的文件名 #壓縮為.bz2格式并刪除原文件
$xz 待壓縮的文件名 #壓縮為.xz格式并刪除原文件
$zip -p -r 文件名.zip 文件名 #壓縮為.zip格式
#解壓縮
$gunzip 待解壓的文件名 #解壓并刪除原壓縮包
$bzip2 -d 待解壓的文件名 #解壓并刪除原壓縮包
$xz -d 待解壓的文件名 #解壓并刪除原壓縮包
$unzip 文件名.zip
Linux命令 - gunzip命令/CSDN@EstherLty
其實函數(shù)使用man或–help等查詢用法即可,文章作用不大,除非是為了偷懶看看中文。
?(16)磁盤類命令的使用:格式化、文件拷貝、磁盤拷貝;(掛載等暫未理解)
$df #查看磁盤信息
$df -h
#格式化
format
format -v #格式化默認(rèn)軟驅(qū)中的磁盤
format -v /dev/rfd0135ds18 #格式化主驅(qū)動器中軟盤
#rfd—軟盤原始設(shè)備;0—主軟盤驅(qū)動器(1表示第二個軟驅(qū))
#135—每英寸135磁道(高密度)
#ds—double side
#18—每磁道18個扇區(qū)
#文件拷貝
dd
#將指定的輸入文件拷貝到指定的輸出文件中,并可進(jìn)行格式轉(zhuǎn)換
dd conv=ucase #將標(biāo)準(zhǔn)輸入字母改為大寫格式到標(biāo)準(zhǔn)輸出
dd if=/usr/kkk of=/usr/hhh conv=ucase
#磁盤拷貝
diskcp
#插入源盤,鍵入命令:
$diskcp
#系統(tǒng)提示再插入目標(biāo)盤,回車確認(rèn)
$diskcp -f #拷貝前先格式化目標(biāo)盤
$sudo apt-get install util-linux
$sudo su
$mkfs. #按Tab查看都有哪些文件類型
#格式化
$mkfs.ext3 /dev/sda1 #格式化根下的sda1分區(qū),格式化類型為.ext3
$ll /dev/sda1 #查看格式化完畢后的分區(qū)的文件類型信息
#sda5為一個塊設(shè)備文件。8表示主設(shè)備號,5表示的為從設(shè)備號。
#已經(jīng)格式化好的sda5不能直接使用,要想用這個磁盤還需要掛載。
#文件拷貝
$dd if=/dev/hdb of=/dev/hdd
#將本地的/dev/hdb整盤備份到/dev/hdd
$dd if=test.txt of=test1.txt conv=ucase
##將標(biāo)準(zhǔn)輸入字母改為大寫格式到標(biāo)準(zhǔn)輸出
#磁盤拷貝(備份)
$dd if=/dev/sda of=/root/sda.img
#sda.img 文件就是已經(jīng)備份的磁盤映像文件,里面存儲著 /dev/sda 整塊硬盤的內(nèi)容。
#假如 /dev/sda 硬盤真的出現(xiàn)了故障,我們就可以將曾經(jīng)備份的 sda.img 復(fù)制到另一臺電腦上,并將其恢復(fù)到指定的 sdb 盤中去。
$dd if=/root/sda.img of=/dev/sdb
#PS:sda磁盤備份很大,沒有用沒必要備份,可配合壓縮使用
一篇看懂!Linux磁盤的管理(分區(qū)、格式化、掛載),LVM邏輯卷,RAID磁盤陣列/知乎@字訣跳動
??
使用命令:mkfs.
然后用按TAB來查看都有哪些文件類型。
Linux命令之mkfs命令/CSDN@恒悅sunsite
??
mkfs是跟fdisk、fsck、mount等命令都是util-linux包的一部分
dd命令_Linux dd命令:復(fù)制(拷貝)文件,并對原文件進(jìn)行轉(zhuǎn)換/C語言中文網(wǎng)
四、實驗報告要求
(1)認(rèn)真撰寫實驗報告;
(2)綜合、客觀地進(jìn)行個人評定。
五、其他
每個終端都是一個進(jìn)程,模仿多用戶文章來源:http://www.zghlxwxcb.cn/news/detail-405252.html
PS:多看幾個字,多學(xué)幾個點文章來源地址http://www.zghlxwxcb.cn/news/detail-405252.html
到了這里,關(guān)于【Linux操作系統(tǒng)】【綜合實驗一 Linux操作基礎(chǔ)】【淺試Linux命令】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!