date
date
date +%Y-%m-%d
date +%H:%M:%s
date +%H:%M:%S
cal
cal
cal 6 1999
#查詢1999年6月日歷
bc
bc
2+3
1/3
quit
bc
scale=3
#設(shè)置精度
1/3
[Tab]
ca[Tab] [Tab]
#ca后按兩次TAB
# 命令補(bǔ)全
ls -la ~/.bash[tab] [tab]
#文件補(bǔ)全
ctrl+c
中斷命令
ctrl+d
鍵盤輸入結(jié)束
linux文件屬性
ls -la
ls -l --full-time Desktop
修改文件屬性與權(quán)限
命令 | 解釋 |
---|---|
chgrp | 修改文件所屬用戶組 |
chown | 改變文件所有者 |
chmod | 改變文件的權(quán)限 |
(以上三者)-R | 進(jìn)行遞歸更改 |
更改用戶組厘灼,本地所在的用戶組有wjl和root
ls -la
chgrp root a.txt
# 權(quán)限不夠
chgrp wjl b.txt
改變文件所有者
chown [-R] 賬號名稱 文件或者目錄
ls -lA
# -A忽略隱藏目錄
chown wjl b.txt
ls -lA
將b.txt的所有者和用戶組改回root
ls -lA
chown root:root b.txt
ls -lA
改變權(quán)限 chmod
- 數(shù)字類型
r:4
w:2
x:1
每種身份各自的三個權(quán)限是需要累加的如[-rwxrwx---]
owner=rwx=4+2+1=7
group=rwx=4+2+1=7
others=---=0+0+0=0
命令則如下:
chmod 770 文件或者目錄
格式:chmod [-R] xyz 文件或者目錄
# b.txt為例
# -rw-r--r--
# 改為-rwxrwxrwx
chmod 777 b.txt
ls -lA
- 符號類型更改權(quán)限
格式:
chmod u/g/o/a +/-/= r/w/x 文件目錄
u=user
g=group
o=others
a=all
設(shè)置b.txt權(quán)限為-rwxr-xr-x
# -rwxrwxrwx
chmod go=rx b.txt
ls -lA
假如是-rwxr-xr--這樣的權(quán)限設(shè)置,可以使用chmod u=rwx,g=rx,o=r 文件名
如果不知道b.txt文件權(quán)限户侥,想要把b.txt的這個文件改為每個人可以寫入的權(quán)限
chmod a+w b.txt
#增加寫的權(quán)限
ls -lA
如果想去掉b.txt的x權(quán)限可以這樣寫
chmod a-x b.txt
ls -lA
查看文件與目錄 ls
參數(shù) | 解釋 |
---|---|
-a | 全部的文件連同隱藏文件一起列出來 |
-A | 列出全部文件連同隱藏文件,但不包括. 和.. |
-d | 僅僅列出目錄本身,而不是列出目錄內(nèi)的文件數(shù)據(jù) |
-f | 直接列出結(jié)果而不進(jìn)行排序ls以文件名默認(rèn)排序 |
-F | 根據(jù)文件目錄等信息給予附加目錄結(jié)構(gòu) |
-h | 將文件容量以人類較易讀的方式列出來 |
-i | 列出inode號碼 |
-l | 列出長數(shù)據(jù)串浆竭,包含文件屬性與權(quán)限 |
-n | 列出UID與GID而非用戶的UID與GID |
-r | 將結(jié)果方向輸出 |
-R | 連同子目錄內(nèi)容一起列出來 |
-S | 以文件容量大小排序 |
-t | 依據(jù)時(shí)間排序 |
--color=never | 不要依據(jù)文件特性給予顏色顯示 |
--color=always | 顯示顏色 |
--color=auto | 讓系統(tǒng)自行依據(jù)設(shè)置來判斷是否給予顏色顯示 |
--full-time | 以完整時(shí)間模式輸出 |
--time={atime,ctime} | 輸出訪問時(shí)間或者改變權(quán)限屬性 |
復(fù)制刪除與移動
cp
參數(shù) | 解釋 |
---|---|
-a | 相當(dāng)于-pdr的意思 |
-d | 如源文件為鏈接文件屬性則復(fù)制鏈接文件屬性而非文件本身 |
-f | 強(qiáng)制的意思,如果目標(biāo)文件已經(jīng)存在并且無法開啟惨寿,刪除后再嘗試一次 |
-i | 如果目標(biāo)文件已經(jīng)存在邦泄,再覆蓋時(shí)會先詢問操作的進(jìn)行 |
-l | 進(jìn)行硬鏈接的鏈接文件創(chuàng)建而非復(fù)制文件本身 |
-p | 連同文件的屬性一起復(fù)制過去,而非使用默認(rèn)屬性(備份常用) |
-r | 遞歸持續(xù)復(fù)制裂垦,用于目錄的復(fù)制行為 |
-s | 復(fù)制成為符號鏈接文件顺囊,即快捷方式文件 |
-u | destination比source舊才更新 |
用root身份將主文件夾下的.bashrc復(fù)制到/tmp下,并且更名為bashrc
cp /.bashrc /tmp/bashrc
cp -i /.bashrc /tmp/bashrc
# 會詢問是否覆蓋
切換到/tmp蕉拢,并且將/var/log/wtmp復(fù)制到/tmp并且查看屬性
cd /tmp
cp /var/log/wtmp .
# "." 代表當(dāng)前目錄
ls -l /var/log/wtmp wtmp
# 不加參數(shù)文件的屬性或者權(quán)限會被改變
cp -a /var/log/wtmp wtmp_2
ls -l /var/log/wtmp wtmp_2
#屬性就相同了
復(fù)制/etc目錄下所有文件到/tmp文件夾下
# 如果目標(biāo)是文件夾則需要加-r參數(shù)
cp -r /etc/ /tmp
將復(fù)制的bashrc創(chuàng)建一個鏈接文件
cp -s bashrc bashrc_slink
cp -l bashrc bashrc_hlink
ls -l bashrc*
如果~/.bashrc比/tmp/bashrc新才復(fù)制過來
cp -u ~./bashrc /tmp/bashrc
將bashrc_slink復(fù)制為bashrc_slink_1,bashrc_slink_2
cp bashrc_slink bashrc_slink_1
cp -d bashrc_slink bashrc_slink_2
ls -l bashrc_slink*
#沒有加任何參數(shù)時(shí)特碳,cp復(fù)制的是源文件诚亚,如果要復(fù)制鏈接文件的屬性就是用-d參數(shù)
將主文件夾下的.bashrc以及.bash_history復(fù)制到/tmp下面
cp ~/.bashrc ~/.bashrc_history /tmp
#最后一定是目錄
rm
參數(shù) | 解釋 |
---|---|
-f | 忽略不存在的文件,不會出現(xiàn)警告信息 |
-i | 交互模式午乓,在刪除之前會詢問 |
-r | 遞歸刪除站宗,最常用的是目錄刪除 |
通過通配符*將/tmp下的bashrc開頭的文件全部刪除
rm -i bashrc*
如果想刪除目錄不要詢問,可以這樣做
\rm -r /tmp/etc
# \忽略掉alias參數(shù)
刪除一個帶有-開頭的文件
touch ./-aaa-
rm -aaa-
#刪除不掉
rm ./-aaa-
mv
參數(shù) | 解釋 |
---|---|
-f | 目標(biāo)文件存在不詢問直接覆蓋 |
-i | 交互模式益愈,已經(jīng)存在文件夾時(shí)覆蓋之前詢問 |
-u | 如果目標(biāo)文件存在且source比較新才會更新 |
移動/home/wjl/a.txt到/tmp文件夾下
#wjl登錄
cd ~
mv a.txt /tmp
mkdir test
#將test改名為test2
mv test test2
# 將a.txt,b.txt移動到桌面
mv a.txt b.txt /home/wjl/Desktop/
當(dāng)文件路徑很長時(shí)份乒,獲取最后的文件夾名字或者路徑比太方便,可以使用下列命令
basename /home/wjl/Desktop
dirname /home/wjl/Desktop
文件內(nèi)容查閱
cat
由第一行顯示內(nèi)容
參數(shù) | 解釋 |
---|---|
-A | 相當(dāng)于-vE的整合參數(shù)腕唧,可以列出一些特殊字符 |
-b | 列出行號,僅僅針對非空白行做行號顯示瘾英,空白行不顯示行號 |
-E | 將結(jié)尾的斷行字符串$顯示出來 |
-n | 打印行號枣接,連同空白行也會有行號,與-b的參數(shù)不同 |
-T | 將TAB以^I顯示出來 |
-v | 列出一些看不出來的特殊字符 |
tac
反向列示
nl(添加行號打尤鼻础)
參數(shù) | 解釋 |
---|---|
-b | 指定行號樣式但惶,主要有兩種 |
-b a | 無論是否為空行,同樣列出行號 |
-b t | 沒有空行湿蛔,空的一行不列行號(默認(rèn)) |
-n | 列出行好的樣式 |
-n ln | 行號在屏幕的最左方顯示 |
-n rn | 行號在自己字段的最右方顯示膀曾,且不加0 |
-n rz | 行號在自己字段的最右方顯示,且加0 |
-w | 行號字段占用的位數(shù) |
列出所有行號阳啥,最右方顯示三位數(shù)的行號
nl -b a -n rz -w 3 a.txt
可翻頁查看
more
參數(shù) | 解釋 |
---|---|
空格 | 代表向下翻一頁 |
Enter | 代表向下滾動一行 |
/字符串 | 代表在這個顯示的內(nèi)容當(dāng)中向下查詢"字符串"這個關(guān)鍵字 |
:f | 立刻顯示出文件名以及目前顯示的行數(shù) |
q | 代表立刻離開more |
b或者ctrl+b | 代表往回翻頁添谊,不過這操作只針對文件有用,對管道無用 |
less
參數(shù) | 解釋 |
---|---|
空格 | 代表向下翻一頁 |
PageDown | 向下翻一頁 |
PageUp | 向上翻動一頁 |
/字符串 | 向下查詢“字符串”的功能 |
?字符串 | 向上查詢“字符串”功能 |
n | 重復(fù)前一個查詢 |
N | 反向重復(fù)前一個查詢 |
q | 離開less |
數(shù)據(jù)選取
head(取出前面幾行)
參數(shù) | 解釋 |
---|---|
-n | 后面接數(shù)字察迟,代表顯示幾行的意思 |
不加參數(shù)默認(rèn)顯示10行
-n -100代表列出前面的所有行數(shù)斩狱,但不包括后面100行
tail(去除后面幾行)
參數(shù) | 解釋 |
---|---|
-n | 后面接數(shù)字,代表顯示幾行的意思 |
-f | 表示持續(xù)監(jiān)測后面所接的文件名扎瓶,等到按下[TAB]-c才結(jié)束tail檢測 |
不加參數(shù)默認(rèn)顯示10行
-n +100 a.txt
列出100行以后的數(shù)據(jù)
持續(xù)監(jiān)測/var/log/messages
tail -f /var/log/messages
每當(dāng)messages有內(nèi)容寫入時(shí)所踊,就會顯示到屏幕,除非ctrl+c停止
顯示第11到第20行的命令
head -n 20 a.txt|tail -n 10
非純文本文件 od
參數(shù) | 解釋 |
---|---|
-t | 后面可以接各種類型(type)的輸出概荷,例如: |
a秕岛,利用默認(rèn)的字符串輸出 | |
c,使用ASCII字符串輸出 | |
d[size]利用十進(jìn)制來輸出數(shù)據(jù)误证,每個整數(shù)占用size bytes | |
f[size]利用浮點(diǎn)數(shù)來輸出數(shù)據(jù)继薛,每個數(shù)占用size bytes | |
o[size]利用八進(jìn)制來輸出數(shù)據(jù),每個整數(shù)占用size bytes | |
x[size]利用十六進(jìn)制來輸出數(shù)據(jù) |
將/usr/bin/passwd的內(nèi)容用ASCII方式輸出
od -t c /usr/bin/passwd
將/etc/issue這個文件內(nèi)容以八進(jìn)制列出存儲值與ASCII的對照表
od -t oCc /etc/issue
touch
三個主要變動時(shí)間
狀態(tài) | 觸發(fā) |
---|---|
modification time(mtime) | 當(dāng)該文件的內(nèi)容數(shù)據(jù)更改時(shí)就會更新這個時(shí)間 |
status time(ctime) | 當(dāng)該文件的狀態(tài)改變時(shí)雷厂,就會更新這個時(shí)間例如權(quán)限與屬性的更改 |
access time(atime) | 當(dāng)該文件的內(nèi)容被取用是惋增,就會更新這個讀取時(shí)間,例如用cat讀取文件時(shí) |
ls默認(rèn)顯示的時(shí)間是mtime
參數(shù) | 解釋 |
---|---|
-a | 僅僅修改訪問時(shí)間 |
-c | 僅僅修改文件的時(shí)間改鲫,如果文件不存在則不創(chuàng)建新文件 |
-d | 后面可以接欲修改的日期而不用目前的日期诈皿,也可以使用--date=日期或者時(shí)間 |
-m | 僅僅修改mtime |
-t | 后面可以接欲修改的時(shí)間而且不用目前的時(shí)間林束,格式為【YYMMDDhhmm】 |
文件默認(rèn)權(quán)限 umask
umask
umask -S
數(shù)字形式關(guān)注的是后面三位,代表的是減分制稽亏。
022代表u=rwx,g=rx,o=rx
即go被拿掉了w權(quán)限
新建文件時(shí)(-rw-rw-rw-) - (-----w--w-)=-rw-r--r--
新建目錄時(shí)(drwxrwxrwx) - (-----w--w-)=drwxr-xr-x
touch test1
mkdir test2
ll
umask 002
touch test3
mkdir test4
ll
chattr(設(shè)置文件的隱藏屬性)
chattr [+-=] [ASacdistu]
參數(shù) | 解釋 |
---|---|
+ | 增加某一參數(shù)其他原本的參數(shù)不變 |
- | 刪除某一個參數(shù)壶冒,原本參數(shù)不動 |
= | 僅僅有后面界的參數(shù) |
A | 當(dāng)設(shè)置了A這個屬性時(shí),若你有訪問此文件時(shí)截歉,他的訪問時(shí)間atime不會被修改胖腾,可避免I/O較慢的機(jī)器過度訪問磁盤。 |
S | 一般文件時(shí)異步寫入磁盤的瘪松,如果加上S這個屬性是咸作,當(dāng)你進(jìn)行任何文件修改,該修改會同步寫入磁盤中 |
a | 當(dāng)設(shè)置a之后宵睦,這個文件只能增加數(shù)據(jù)记罚,而不能刪除數(shù)據(jù)也不能更改數(shù)據(jù),只有root才能設(shè)置這個屬性 |
c | 這個屬性設(shè)置之后壳嚎,將會自動將此文件壓縮桐智,在讀取的時(shí)候?qū)詣咏鈮嚎s,但是在存儲的時(shí)候烟馅,將會先進(jìn)性壓縮后在存儲 |
d | 當(dāng)dump程序被執(zhí)行時(shí)说庭,設(shè)置d屬性可以將該文件不會被dump備份 |
i | 它可以讓一個文件不能被刪除、改名郑趁,設(shè)置連接也無法寫入或者添加數(shù)據(jù)刊驴。對于系統(tǒng)安全行有相當(dāng)大的幫助 |
s | 當(dāng)文件設(shè)置了s屬性是,如果這個文件被刪除穿撮,它會被完全從磁盤空間中刪除 |
u | 與s相反缺脉,當(dāng)使用u來配置文件時(shí)如果該文件被刪除了,則數(shù)據(jù)內(nèi)容其實(shí)還存在在磁盤中悦穿,可以使用來找回該文件 |
lsattr(顯示文件隱藏屬性)
參數(shù) | 解釋 |
---|---|
-a | 將隱藏文件的屬性也顯示出來 |
-d | 如果接的是目錄攻礼,僅僅列出目錄本身的屬性而非目錄內(nèi)的文件 |
-R | 連同子目錄的數(shù)據(jù)也一同列出 |
file產(chǎn)看文件類型
腳本文件名查詢 which(尋找執(zhí)行文件)
參數(shù) | 解釋 |
---|---|
-a | 將所有由PATH目錄中可以找到的命令均列出來 |
文件名查找 whereis(尋找特定文件)
參數(shù) | 解釋 |
---|---|
-b | 僅僅查找二進(jìn)制格式的文件 |
-m | 只找在說明文件manual路徑下的文件 |
-s | 只找source原文件 |
-u | 查找不在上述三個選項(xiàng)當(dāng)中的其他特殊文件 |
locate
參數(shù) | 解釋 |
---|---|
-i | 忽略大小寫的差異 |
-r | 后面可以接正則表達(dá)式的顯示方式 |
找出系統(tǒng)中所有與passwd相關(guān)的文件名
locate passwd
updatedb更新數(shù)據(jù)庫
這樣新安裝的庫就可以搜索到了
find
find [PATH] [option] [action]
參數(shù) | 解釋 |
---|---|
時(shí)間有關(guān) | mtime,atime栗柒,ctime |
-mtime n | n為數(shù)字礁扮,意義為在n天之前的一天之內(nèi)被改過的文件 |
-mtime +n | 列出n天之前不包括n天被更改的文件 |
-mtime -n | 列出在n天之內(nèi)含有n天被更改過的文件名 |
-newer file | file為一個存在的文件,列出比file還要新的文件 |
find / -mtime 0
#在過去系統(tǒng)上24小時(shí)內(nèi)有改動的文件
# 0代表目前時(shí)間
find / -mtime 3
#三天前24小時(shí)內(nèi)有改動的文件
find /etc -newer /etc/passwd
# 尋找/etc下面的文件瞬沦,如果文件日期比/etc/passwd新就列出
find /var -mtime -4
#四天內(nèi)被改動的文件名
find /var -mtime +5
# 五天前的文件名
參數(shù) | 解釋 |
---|---|
用戶有關(guān) | uid太伊,gid,user,group,nouser,nogroup |
-uid n | n為數(shù)字逛钻,數(shù)字時(shí)用戶的賬號ID僚焦,即UID。這個UID是記錄在/etc/passwd里面與賬號名稱對應(yīng)的數(shù)字 |
-gid n | 用戶組名的ID |
-user name | name為用戶賬戶 |
-group name | name為用戶組名 |
-nouser | 尋找文件的所有者不存在/etc/passwd的人 |
-nogroup | 尋找文件的所有用戶組不存在與/etc/group中的文件 |
find /home -user wjl
# 尋找/home下屬于wjl用戶的文件
find / -nouser
# 查找不屬于任何人的文件
參數(shù) | 解釋 |
---|---|
與文件權(quán)限以及名稱有關(guān)的參數(shù) | |
-name fielname | 查找文件名為filename的文件 |
-size [+-]size | 查找不size還要打或者小的文件曙痘,規(guī)格有c:byte芳悲,k:1204bytes |
-type TYPE | 查找文件類型為TYPE的類型主要有一般正規(guī)文件f立肘,設(shè)備文件b,c名扛,目錄d谅年,連接文件l,socket s以及FIFO p等屬性 |
-perm mode | 查找文件權(quán)限剛好等于mode的文件肮韧,mode相當(dāng)于chmod的屬性值融蹂,-rwxr-xr-x的屬性為4755 |
-perm -mode | 查找文件全必須要全部包括mode的權(quán)限 |
-perm +mode | 查找文件權(quán)限包含任一mode的權(quán)限文件 |
find / -name passwd
# 找出文件名為passwd的文件
find /var -type s
# 查找var文件夾下socket的文件名
find /bin /sbin -perm +600
#查找bin sbin這兩個目錄下只要具有SUID或者SGID的文件就列出來
參數(shù) | 解釋 |
---|---|
其他 | |
-exec command | command為其他命令,-exec后面可以再接其他命令來處理查詢的結(jié)果 |
將結(jié)果打印到屏幕上弄企,這個操作時(shí)默認(rèn)操作 |
find / -perm +700 -exec ls -l {} \;
# 查找bin sbin這兩個目錄下只要具有SUID或者SGID的文件就使用ls -l列出來
find / -size +1000k
# 查找系統(tǒng)中大于1m的文件
# M超燃,G代表MB個GB感興趣的可以試一下看看是否可以
find /etc【辛臁-name×芨佟"*httpd*"
#通配符查找符合規(guī)則的文件
列出文件系統(tǒng)的整體磁盤使用量 df
參數(shù) | 解釋 |
---|---|
-a | 列出所有文件系統(tǒng),包括特有的/proc等文件系統(tǒng) |
-k | 以kb的容量顯示各個文件系統(tǒng) |
-m | 以MB的容量顯示各個文件系統(tǒng) |
-h | 以人們?nèi)菀组喿x的GB院究,MB,KB等格式自行顯示 |
-H | 以M=1000k代替m=1024k顯示 |
-T | 連同該分區(qū)的文件系統(tǒng)名稱也列出 |
-i | 不用硬盤容量而用inode的數(shù)量顯示 |
df
# 以1kb的容量列出來本涕,/dev/shm是與內(nèi)存有關(guān)的掛載
df- h
df -h /etc
df -ih
評估文件系統(tǒng)的磁盤使用量 du
參數(shù) | 解釋 |
---|---|
-a | 列出所有的文件與目錄容量 |
-h | 以人們較易讀的格式顯示 |
-s | 列出總量 |
-S | 不包括子目錄下的統(tǒng)計(jì) |
-k | 以kb容量顯示 |
-m | 以mb容量顯示 |
du -sm /*
#列出根目錄下每個目錄所占用的容量
連接文件 ln
cd Desktop/
ls
mkdir test
ls
cd test
ln /etc/crontab .
ll -i /etc/crontab /home/wjl/Desktop/test/crontab
# 硬鏈接业汰,只是會多一個連接,不會增加inode和block數(shù)量菩颖,不可以鏈接目錄样漆,不能跨文件系統(tǒng)
ln -s /etc/crontab crontab2
ll -i /etc/crontab /home/wjl/Desktop/test/crontab2
#軟鏈接,相當(dāng)于windows的快捷方式
參數(shù) | 解釋 |
---|---|
-s | 如果不加任何參數(shù)進(jìn)行連接晦闰,那就是hard link放祟,-s就是symbolic link |
-f | 如果目標(biāo)文件存在時(shí),直接將目標(biāo)文件直接刪除后在創(chuàng)建 |
磁盤的分區(qū) fdisk
參數(shù) | 解釋 |
---|---|
-l | 輸出后面接的設(shè)備所有的分區(qū)內(nèi)容呻右,若僅有fdisk -l時(shí)跪妥,則系統(tǒng)會把整個系統(tǒng)中能夠找到的設(shè)備分區(qū)均列出來 |
添加一塊虛擬硬盤
點(diǎn)擊添加
選擇默認(rèn)即可
選擇第一個即可
選擇磁盤容量,一般默認(rèn)即可声滥,我這里選擇5G只是測試用
完成
fdisk -l
注意sdb是我們新添加的磁盤眉撵,有5G
fdisk /dev/sdb
輸入m查看幫助
d為刪除一個分區(qū),n為添加一個分區(qū)落塑,p在屏幕上顯示分區(qū)表纽疟,q不存儲直接離開,w將剛才的操作寫入分區(qū)表
p
q
#退出
新增磁盤分區(qū)練習(xí)
fdisk /dev/sdb
n
p
4
#默認(rèn)
+512M
p
新增擴(kuò)展分區(qū)練習(xí)
n
e
1
#默認(rèn)
#默認(rèn)
p
邏輯分區(qū)里面分出2GB分區(qū)
n
l
#默認(rèn)
+2048M
p
partprobe
#強(qiáng)制讓內(nèi)核重新照一次分區(qū)表