Linux基礎(chǔ)知識(shí)?適合有Linux基礎(chǔ)的人群進(jìn)行復(fù)習(xí)。 禁止轉(zhuǎn)載!
文件管理與常用命令
Linux的文件的組成部分:
?????? 文件名、inode(i節(jié)點(diǎn))和block(真正存數(shù)據(jù)的區(qū)域)。
查看某個(gè)文件的屬性:
?????????? ls -lh???? #可看到有類似”-rw-r--r--”的屬性符號(hào)?????? ??? 第1個(gè)字符代表文件類型。
Linux的5種不同的文件類型及其符號(hào)表示?鏈接文件有哪兩種?
答:
普通文件、目錄文件、鏈接文件、設(shè)備文件和管道文件
?????? 符號(hào)表示:
?????? ?????? 普通文件:屬性的第一個(gè)符號(hào)是“-”
????????????? 目錄文件:屬性的第一個(gè)符號(hào)是“d”
????????????? 鏈接文件:屬性的第一個(gè)符號(hào)是“l(fā)”? (小寫的L)
????????????? 字符設(shè)備文件:屬性的第一個(gè)符號(hào)是“c”
? ? ? ? ? ? ? 塊設(shè)備文件:屬性的第一個(gè)符號(hào)是“b”
?????? ?????? 管道文件:屬性的第一個(gè)字符是“p”
?????? 鏈接文件的種類:硬鏈接和軟鏈接(符號(hào)鏈接)
Linux中路徑符號(hào):“.”和“..”表示法
答:
?????? ?????根目錄:?????? 用“/”表示
??? ????????當(dāng)前目錄:??? 用“.”表示
????????????父目錄:?????? 用“..”表示
????????????”.”代表目錄自己,“..”表示該目錄的父目錄。
?????? eg. 絕對(duì)路徑: /usr/src/linux-2.6?????? 相對(duì)路徑: ../usr/src/linux-2.6
Linux目錄結(jié)構(gòu)中的幾個(gè)常見目錄及用途:
/bin、/boot、/root、/mnt、/tmp、/usr、/lib、/dev、/etc、/var/log
Linux系統(tǒng)的目錄結(jié)構(gòu) 及各目錄用途詳解_羅四強(qiáng)的博客-CSDN博客
/bin:
????????存放著最經(jīng)常使用的命令。
/boot:
????????啟動(dòng)?Linux?時(shí)使用的一些核心文件,包括一些連接文件以及鏡像文件。
/root:
????????系統(tǒng)管理員的用戶主目錄。
/home目錄:
????????創(chuàng)建的新用戶的默認(rèn)主目錄。
/mnt:
????????用戶臨時(shí)掛載別的文件系統(tǒng)的目錄。
/dev:
????????存放的是 Linux 的外部設(shè)備,在 Linux 中訪問設(shè)備的方式和訪問文件的方式是相同的。
/etc:
????????存放所有的系統(tǒng)管理所需要的配置文件和子目錄。
Linux系統(tǒng)中隱藏某個(gè)文件:
?????? 以點(diǎn)"."開頭命名的文件在Linux系統(tǒng)中被視為隱藏文件,所以把文件名命名為點(diǎn)開頭。
目錄與文件的如下常用操作命令:
#顯示包含隱藏文件在內(nèi)的所有文件
????????ls? -a;?????????? ??????
#以長(zhǎng)格式顯示文件和目錄信息
????????ls? -l;???? ?????? ??????
#等價(jià)于ls -la 顯示目錄內(nèi)容命令
????????ll ??????????????????????
#顯示文件內(nèi)容??
????????cat hello.txt??????????
? #連接兩個(gè)或多個(gè)文件,形成新的文件
????????cat hello1.txt hello2.txt > hello.txt?????
#分頁(yè)顯示文本文件(只能向后翻閱)
????????more filename?????
#分頁(yè)顯示文本文件(可以前后翻閱)
????????less filename????????
#顯示指定文件hello.c前3行
????????head -3 hello.c?????
#顯示文件"hello.c"的最后三行內(nèi)容
????????tail -3 hello.c????????
grep ??????????? #文件內(nèi)容查詢命令
命令語(yǔ)法:grep? [option]? [search pattern] [file1, file2,……];???????? ??????
eg1.在文件/etc/default/grub中搜索匹配字符“GRUB”,比較時(shí)不區(qū)分大小寫,并輸出所在行的行號(hào)。
????????grep -in ‘GRUB’ /etc/default/grub
eg2.顯示目錄/etc/default下所有以a開頭的文件中包含“modules”的行內(nèi)容,并輸出匹配字符串所在行的行號(hào)(區(qū)分大小寫)。
????????grep -n ‘modules’ /etc/default/a*
eg3.顯示目錄/etc/default下acpid,alsa文件中匹配“before”的行數(shù)據(jù)內(nèi)容。
?????? cd /etc/default
?????? grep ‘before’ acpid alsa
eg4.將文件etc/default/grub中所有包含至少有8個(gè)連續(xù)小寫字符的行數(shù)據(jù)內(nèi)容顯示出來(lái)。
?????? grep ‘[a-z]\{8\}’ /etc/default/grub????????????? #可以用正則表達(dá)式
eg5.反向查找
?????? ps –aux | grep sshd | grep -v grep??????????? #查找除了grep sshd的sshd進(jìn)程
find ???????????? #文件查找命令
命令語(yǔ)法:find [路徑] [選項(xiàng)] [-print]
eg1.查找/boot目錄下的啟動(dòng)菜單配置文件grub.conf
?????? find /boot -name grub.conf
eg2.查找/目錄下所有以“.conf”為擴(kuò)展名的文件。
????????find / -name ‘*.conf’
eg3.列出/etc目錄及其子目錄下所有最近3天內(nèi)更新過的文件。
?????? find /etc -ctime 3
eg4.查找文件名不是“tmp”的所有文件。
?????? find ! -name ‘tmp’??????? #可以用邏輯運(yùn)算符
eg5.查找/usr下名為hello.c的文件并將其刪除。
?????? find /usr -name hello.c -exec rm {} \;
說(shuō)明:-exec參數(shù)后面跟的是command命令,它的終止是以;為結(jié)束標(biāo)志的,所以這句命令后面的分號(hào)是不可缺少的,考慮到各個(gè)系統(tǒng)中分號(hào)會(huì)有不同的意義,所以前面加反斜杠。 {} 花括號(hào)代表前面find查找出來(lái)的文件名,兩個(gè)括號(hào)間不能有空格。
sort??????? #對(duì)文件中的數(shù)據(jù)進(jìn)行排序
?????? 命令語(yǔ)法:sort [選項(xiàng)] [文件]
eg1.排序文件/etc/at.deny上的數(shù)據(jù),顯示在屏幕上。
??? ????????sort /etc/at.deny
eg2.讀取文件/etc/at.deny ,以倒序排序該文件并顯示在屏幕上。
??????????? sort -r /etc/at.deny????????????? # -r:按逆序輸出排序結(jié)果(--reverse )
wc ????????????? #文件內(nèi)容統(tǒng)計(jì)命令
?????? 命令語(yǔ)法:wc [選項(xiàng)] 文件
? ? ? ? ? ? ? ? -c 統(tǒng)計(jì)字節(jié)數(shù)
??????? ????????-l? 統(tǒng)計(jì)行數(shù)
??????? ????????-w? 統(tǒng)計(jì)字?jǐn)?shù)
eg1.統(tǒng)計(jì)文件/etc/default/grub的行數(shù)、單詞數(shù)和字符數(shù)。
??? ????????wc -lwc /etc/default/grub
eg2.統(tǒng)計(jì)目錄/etc下的文件nsswich.conf、pam.conf的行數(shù)、單詞數(shù)和字符數(shù)(多個(gè)文件的統(tǒng)計(jì))。
? ? ? ? ? ? wc -lwc /etc/nsswich.conf ?/etc/pam.conf
cp????????? ?????? #復(fù)制文件、復(fù)制目錄
?????? 命令語(yǔ)法:cp -r [源路徑] [目標(biāo)路徑]? ? ? ? ? ? ? ? -r? ?recursion遞歸
eg. 將當(dāng)前目錄 test/ 下的所有文件復(fù)制到新目錄 newtest 下
????????????? cp -r test/ newtest
mv???????? ?????? #文件或目錄的移動(dòng)、重命名
?????? 命令語(yǔ)法:mv [選項(xiàng)] [源文件|源文件夾] [目標(biāo)文件|目標(biāo)文件夾]
eg1. 將文件 aaa 改名為 bbb
????????????? mv aaa bbb
eg2. 將源文件名 source_file 改為目標(biāo)文件名 dest_file
????????mv source_file? dest_file
rm????????? ?????? #刪除非空目錄
?????? 命令語(yǔ)法:rm -rf [文件|文件夾]????????????????????????-r? ?recursion遞歸? ? ?-f? force強(qiáng)制性
??????????????????????刪除文件可以直接使用rm????若刪除目錄則必須配合選項(xiàng)"-r"??
eg1. 刪除文件"test.txt"
????????????????rm ?test.txt
eg2.目錄 "homework"
????????????????rm -rf? homework
eg3.刪除當(dāng)前目錄下的所有文件及目錄
? ? ? ? ? ? ? ? rm -rf?*
mkdir??????????? #遞歸建立目錄
?????? 命令語(yǔ)法:mkdir [選項(xiàng)] 目錄名
? ? ? ? ? ? ? ? mkdir -p (遞歸建立目錄)
eg. 在工作目錄下,建立一個(gè)名為 hello 的子目錄
????????????? mkdir hello
rmdir???????????? #刪除空目錄
?????? 命令語(yǔ)法:rmdir [選項(xiàng)] 目錄名
eg. 在工作目錄下,刪除空的子目錄hello
????????????? rmdir hello
touch??????????? #創(chuàng)建空文件
?????? 命令語(yǔ)法:touch [選項(xiàng)] 目錄名
eg. 在工作目錄下,創(chuàng)建文件a.txt
????????????? touch a.txt
cd????????? ?????? #改變當(dāng)前工作目錄
?????? 命令語(yǔ)法:cd?? [目標(biāo)目錄]
??????? ????????cd~或cd?????? 一次性進(jìn)入當(dāng)前用戶的主目錄
??????????????? cd -??????????????? 返回上一次的操作目錄
?????? eg1. 跳到 /usr/bin/
???????????????????? cd /usr/bin/
?????? eg2. 跳到自己的home目錄
???????????????????? cd~
?????? eg3. 跳到目前目錄的上上兩層
???????????????????? cd ../..
??????
pwd????????????? #顯示當(dāng)前工作目錄的路徑
?????? 命令語(yǔ)法:pwd
cal?? ?????????? #顯示計(jì)算機(jī)系統(tǒng)的日歷
?????? 命令語(yǔ)法: cal [選項(xiàng)] [月 [年]] ????????
????????????????-1 顯示一個(gè)月的月歷
????????????????-3 顯示系統(tǒng)前一個(gè)月,當(dāng)前月,下一個(gè)月的月歷
????????????????-s? 顯示星期天為一個(gè)星期的第一天,默認(rèn)的格式
????????????????-m 顯示星期一為一個(gè)星期的第一天
????????????????-j? 顯示在當(dāng)年中的第幾天(一年日期按天算,從1月1號(hào)算起,默認(rèn)顯示當(dāng)前月在一年中的天數(shù))
????????????????-y? 顯示當(dāng)前年份的日歷
?????? eg1. 顯示本月的月歷
???????????????????? cal
?????? eg2. 顯示公元2025年年歷
???????????????????? cal 2025
?????? eg3. 顯示公元2001年5月的月歷
???????????????????? cal 5 2001
?????? eg4. 以1月1日起的天數(shù)顯示今年的年歷
???????????????????? cal -jy
date???????????????????? #顯示和設(shè)置系統(tǒng)日期和時(shí)間 ???只有root用戶才能修改date
?????? 命令語(yǔ)法:date [參數(shù)] [顯示時(shí)間格式] (以+開頭,后面接格式)
????????????????-d? 顯示描述的日期? ? ?
?? ???? ????????-s? 設(shè)置描述的日期(set 設(shè)置)? ?
?? ???? ????????-u? 顯示或設(shè)置通用時(shí)間(--utc格式)? ? ?
?????? eg1. 顯示當(dāng)前計(jì)算機(jī)上的日期和時(shí)間
???????????????????? date
?????? eg2. 設(shè)置計(jì)算機(jī)日期和時(shí)間為2015年09月28日19點(diǎn)14分
???????????????????? date 092819142015? ? ? ? ? ? ? #月日時(shí)分年
?????? eg3. 設(shè)置計(jì)算機(jī)時(shí)間為上午9點(diǎn)16分
???????????????????? date -s 09:16:00
?????? eg4. 設(shè)置計(jì)算機(jī)時(shí)間為2015年4月14日
???????????????????? date -s 150414
echo????????????? ?????? #在顯示器上顯示文本
?????? 命令語(yǔ)法:echo [-n] [字符串]
??????? ????????-n表示輸出文字后不換行,字符串可以加引號(hào)也可不加引號(hào)。
?????? eg1. 將一段信息寫到標(biāo)準(zhǔn)輸出
???????????????????? echo hello Linux
?????? eg2. 將文本“hello Linux”添加到新文件notes中
???????????????????? echo "hello Linux" > notes
wall??????? ?????? #對(duì)全部已登錄用戶發(fā)送信息
?????? 命令語(yǔ)法:wall [消息]
?????? eg1. 向所有用戶發(fā)出“下班后請(qǐng)關(guān)機(jī)”的信息。
???????????????????? wall ‘下班后請(qǐng)關(guān)機(jī)’
查看PATH值的命令:
echo? $PATH
超級(jí)用戶登錄提示符:
#??????
普通用戶登錄提示符:
$
chmod?? ?????? #改變文件或目錄的訪問權(quán)限
?????? 命令語(yǔ)法:??? chmod? [who]? [+|-|=]? [mode]? filename?????? #文字設(shè)定法
??????????????????????????? chmod?? [mode]?? filename??????????????????????????????#數(shù)字設(shè)定法
????????????????chmod詳細(xì)用法 里面介紹了文字設(shè)定法和數(shù)字設(shè)定法https://www.runoob.com/linux/linux-comm-chmod.html
?????? eg1.使用文字設(shè)定法,給/目錄下的11.txt文檔的屬主(u)、同組用戶(g)、其他用戶(o)均增加執(zhí)行權(quán)限。
?????? ?????? chmod a+x 11.txt
?????? eg2.使用文字設(shè)定法,給/目錄下的11.txt文檔的屬主(u)、同組用戶(g)增加寫權(quán)限、其它用戶(o)刪除執(zhí)行權(quán)限。
????????????? chmod ug+w,o-x 11.txt
umask??? ?????? #更改文件/目錄的默認(rèn)權(quán)限
?????? 命令語(yǔ)法:??? umask nnn(默認(rèn)權(quán)限)??? //n為0~7之間的整數(shù)
? ? ? ? eg.? ?umask 755
chown??? ?????? #更改文件/目錄的所有權(quán)
?????? 命令語(yǔ)法:??? chown?? [option]??? [user|group]?? filename
????????????????-r? 遞歸地改變指定目錄及其下面的所有子目錄和文件的擁有者
????????????????-v?? 顯示chown命令所做的工作
?????? eg1.把文件11.txt 所有者改為stu。
?????? ?????? chown stu 11.txt
?????? eg2.把目錄/my的屬主改為stu,屬組改為users
????????????? chown stu:users /my
?????? eg3.把目錄/my及其下面的所有文件和子目錄的屬組改為users
????????????? chown -r :users /my? ? ? ? ? ? ? ? # 遞歸操作 -r? recursion
文件歸檔命令:
?????? 壓縮: tar? ?-zcvf??? hello.tar.gz(目標(biāo)文件)???? /etc文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-491086.html
?????? 解壓: tar?? -zxvf??? hello.tar.gz??? -C??? /home文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-491086.html
到了這里,關(guān)于Linux基礎(chǔ)知識(shí)點(diǎn)2的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!